一、RA产品家族简介

RA 产品家族单片机 (MCU) 于 2019 年 10 月推出, 丰富了瑞萨的 32 位 MCU 系列产品。 在此之前,瑞萨拥有基于 Arm® Cortex®-M 内核的 Renesas Synergy™ 平台, 该平台将 MCU 与商业级、有品质保证的软件和开发工具融于一体。 瑞萨的另一条产品线 Renesas eXtreme (RX) 产品家族则采用自有的 RX 内核,具有业界领先的32 位 CoreMark®/MHz 性能以及大容量代码闪存和 SRAM。 瑞萨 RA 家族单片机,将 Synergy 平台与 RX 产品的优势有机融合,使该产品能够满足客户的不同需求并为助力客户创造价值。全新 RA 产品家族包括: RA2 系列,适用于低功耗应用; RA4 系列,适用于需要低功耗、高性能和高安全性的设备; RA6 系列,具有卓越的连接性能和安全性能; RA8 系列,可以为采用人机界面、连接、安全和模拟功能的应用提供出色性能。

RA 产品家族的工具生态系统可为工程师提供支持,这套系统提供了基于 Eclipse 的 e2 studio 集成开发环境(IDE)、编译器、片上调试器、 评估板、设计文件、原理图、印刷电路板 (PCB) 布线和物料清单 (BOM)。 瑞萨开发了易于使用的灵活配置软件包 (FSP),可提供一种开放式架构,允许设计人员重用其原有代码,并将这些代码与瑞萨的软件示例相结合。此外, 瑞萨还构建了一个全面的 RA 合作伙伴生态系统,以提供开箱即用的其他软件和硬件构建模块。

瑞萨 RA 产品家族单片机包括四个系列——已经发布的 RA2、 RA4 和 RA6 系列,以及计划发布的 RA8 系列——适用于从小型电池供电的传感器应用到高性能、处理密集型的嵌入式终端产品。借助用于模拟、连接、人机界面、安全、电机和逆变器控制等的片内外设,该产品家族非常适合快速扩张的物联网 (IoT) 和边缘计算应用领域,但并不仅限于此。所有 RA MCU 均基于 32 位的 Arm® Cortex®-M 内核: RA2 系列基于 M23 内核,而 RA4 和 RA6 系列器件基于M4F 内核或带有 Arm v8-M TrustZone® 的 M33F 内核。所有这些器件均包含 Arm 的标准外设,如嵌套矢量中断控制器 (NVIC)、 Arm 存储器保护单元 (MPU) 或串行线调试 (SWD) 和嵌入式跟踪缓冲器 (ETB),非常便于开发。此外, 瑞萨还在 Arm 没有解决方案和需要额外性能或功能的领域加入了自己的知识产权 (IP) 模块。这些额外的 IP 模块基于瑞萨的成熟技术,可满足 RA 产品家族的需求。



RA 产品家族产品型号中的不同数字和字母并不容易,因此下图解释了不同字段的含义

灵活配置软件包

适用于 RA 产品家族单片机的瑞萨灵活配置软件包 (FSP) 提供了一种快速的通用方法,可创建智能物联网安全互联设备所需的软件,并已专门针对 RA 单片机的架构进行过优化。 FSP 具有开箱即用的中间件-和协议(例如 TCP/IP 协议或安全功能协议)、板级支持包 (BSP)(可为瑞萨的 MCU 和开发板提供启动和初始化代码),以及用于所有外设的硬件抽象层 (HAL) 驱动程序。这些驱动程序不仅性能高,而且占用的存储空间也极小。
所有驱动程序、 协议栈和中间件功能均可通过易于使用的应用程序编程接口 (API) 进行访问,从而轻松实现互换,并可与实时操作系统 (RTOS) 以及裸机实现搭配使用。此外,软件的各个层均内置了对 Arm 的 TrustZone的感知,并使用 Arm 的统一 API 来保证安全。 FSP 是开源软件,提供完整的源代码,但仅限用于瑞萨的硬件。除了上述软件外, FSP 还采用 Amazon 的 FreeRTOS® 作为实时操作系统。此系统可通过符合 Cortex 微控制器软件接口标准 (CMSIS) 的 Arm RTOS 接口进行访问。借助此标准接口,软件工程师能够使用其选择的任何RTOS,而不会失去 FSP 的优势。

灵活配置软件包 (FSP) 专门针对 RA 产品家族 MCU 的架构进行优化, RA 产品家族 MCU 的开发也充分兼顾该软件的特性。在开发 FSP 的过程中,首要目标是为工程师提供简单高效的功能和驱动程序,以简化嵌入式系统中常见用例(如通信和安全)的实现。它们构成了一个开放的软件生态系统,可以灵活使用旧代码并与第三方工具结合使用。

FSP 集成了中间件协议栈、独立于 RTOS 的硬件抽象层 (HAL) 驱动程序(适用于生产),以及作为所有这些组件基础工具的板级支持包 (BSP),还有广泛使用的来自 Amazon Web Services® 的 FreeRTOS™ 实时操作系统 (RTOS)。以此为嵌入式系统设计提供了一个经过优化且易于使用的高质量软件包,该软件包可扩展,并且可以通过操作简单而功能强大的应用程序编程接口 (API) 调用来访问所有功能,从而轻松实现互换性。整个 FSP 完全由瑞萨公司提供支持,开发人员可以从集成开发环境或 FSP 的 GitHub® 库 (https://github.com/renesas/fsp/releases) 查看
或下载 FSP 的源代码,从而全面了解 FSP。

如前文所述,灵活配置软件包 (FSP) 是一款综合性软件,旨在以较低的内存占用量提供快速高效的驱动程序和协议栈,可满足嵌入式系统软件开发阶段的大多数需求。 FSP 中包括以下部分:

板级支持包 (BSP),针对每个硬件评估板和 RA 产品家族的微控制器进行定制。它为所有支持的模块提供起始代码并作为这些模块的基础,以确保 FSP 模块顺利运行。使用自定义硬件的开发人员也可以充分利用BSP,因为开发人员可以借助 e2 studio 中内置的 User Pack Creator 针对其最终产品和电路板来定制 BSP。

  • 独立于 RTOS 的硬件抽象层 (HAL) 驱动程序,以较少的内存占用量为所有片上外设和系统服务提供高效的驱动程序。它们可以从您的硬件中提取位设置和寄存器地址,因此无需对微控制器中底层硬件的文档进行大量的深入研究。

  • 中间件栈和协议,可以独立使用或与 RTOS 结合使用,使用 Arm® 提供的统一 API。它们简化了连接功能的实现,如 WiFi、 Bluetooth® 低功耗或到云服务的 MQTT 连接。还包括其他协议栈,例如支持 USB 传输、图形处理或电容式触摸的协议栈。

  • FreeRTOS™ 实时操作系统提供可进行多任务处理的实时内核(采用抢占式调度形式), 面向对象的灵活RAM 分配,以及用于任务通知、队列、信号量和缓冲区的不同实现方法。 FreeRTOS+FAT 和 FreeRTOS+TCP库为需要网络连接的应用提供额外的功能。 用户可自行选择是否使用 FreeRTOS; FSP 也可以与裸机系统或任何其他 RTOS 一起使用。

  • FSP 中还包含其他第三方软件解决方案。例如, Arm® Cortex® 微控制器软件接口标准(CMSIS) 硬件抽象层、 Arm Mbed™ Crypto 和 TLS 加密库、 Arm Littlefs 故障安全文件系统、 emWin 嵌入式图形库和 Segger的 J-Link® 调试器软件,以及 TES D/AVE 2D 图形渲染库。

在 FSP 开发过程中要实现的一个目标是,创建简单易用的软件以及条理清晰、整齐划一的 API,并进行规范的文档记录。工程师针对每个模块都编制了详细的用户文档(包括示例代码),位于 GitHub 资源库中或通过e2 studio 的智能手册功能,可在需要的位置(即开发环境内部)显示信息。 FSP 使用 Doxygen 作为默认的文档工具,因此各模块源代码的 Doxygen 注释中也提供了其他详细信息

灵活配置软件包的 API 简介

瑞萨的设计人员在为 RA 产品家族单片机开发灵活配置软件包 (FSP) 时,考虑到了易用性。 FSP 功能十分强大,但使用却极其简单,这是因为它的应用程序编程接口 (API) 架构非常简单和全面,在封装了 FSP 复杂性的同时,可由程序员完全控制各种功能。即使对诸如 USB 传输之类的复杂任务进行编程,也只需几行代码就可以实现,无需阅读厚厚的手册或研究指定单片机外设的寄存器组的每一个特性,让开发人员可以专注于开发应用程序的函数集,而不是编写对设计毫无价值但编写和测试却相当耗时的低级代码,因此极大地减轻了他们的负担。我们来了解一下 API 的一些详细信息!

在深入了解 API 的详细信息之前,我们应大致了解不同 API 和文件的命名约定。了解后,不仅应用程序编程变得更容易,而且数月之后,也更容易理解其他程序员的代码或自己的代码。后面这一点不容小觑,但我们往往会低估它的作用。掌握这些知识后,灵活配置软件包 (FSP) 所提供的清晰结构会大有裨益。
一般来说,内部函数遵循“NounNounVerb”(名词名词动词)的命名约定,例如 communicationAbort()。所有数据均在函数的输出参数中返回,并且第一个参数始终是指向其控制结构的指针。由于此结构存储了模块实例的内存地址,因此用户应用程序可以灵活地决定将其放置在何处。
下面是 FSP 中常用前缀的列表:


来源:《瑞萨 RA MCU 基础》

瑞萨 RA MCU 基础知识相关推荐

  1. 【瑞萨RA MCU创意氛围赛】基于FSP库开发 --- Qt遥控小车

    文章目录 引言 一.产品功能介绍 二.硬件清单 三.软件设计 1. RASC 2. Keil 2. Qt 四.视频展示 引言 很高兴能够加入"野火"这个大家庭中,且能有机会参加第一 ...

  2. 瑞萨RA MCU立创EDA训练营——自制瑞萨开发板

    自制瑞萨开发板 前言 硬件制作 照猫画虎原理图 电源电路 晶振电路 复位电路 MD(BOOT)选择电路 外设电路 原理图一览 PCB一览 焊接 代码调试 实物效果 总结 前言 本着学习(bai pia ...

  3. 快速入手瑞萨RA系列MCU指南

    关注+星标公众号,不错过精彩内容 来源 | 野火电子 关于瑞萨RA系列MCU 瑞萨RA MCU基于32位Arm®Cortex®-M高性能处理器,提供强大的嵌入式安全功能.卓越的 CoreMark® 性 ...

  4. 【瑞萨RA系列FSP库开发】RASC+Keil的环境搭建

    文章目录 一.获取资源包 二.安装 Keil 软件.RA 芯片包和 RASC 三.RASC 集成到 Keil 四.使用 RASC 生成 Keil 工程 五.通过 Keil 打开 RASC 的 FSP ...

  5. 【致敬未来的攻城狮计划】— 连续打卡第一天:提前对CPK_RA2E1是瑞萨RA系列开发板的初体验,了解一下(文字上的初理解)

    系列文章目录 系列文章目录 前言 一.瑞萨MCU(CPK_RA2E1是瑞萨RA系列开发板)是什么? 首先引入是什么? 他的优势在哪? 瑞萨CPK_RA2E1 对标stm32 相似之处和不同之处? 瑞萨 ...

  6. 瑞萨RA系列 bootloader使用MCUBoot模块更新升级应用的实例

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 本文描述瑞萨RA系列 bootloader 使用MCUBoot模块以覆盖方式更新升级应用的实例. 一.设计Bootlo ...

  7. 【瑞萨RA系列FSP库开发】串口烧录(Renesas Flash Programmer)

    文章目录 一.瑞萨RA芯片的Boot模式 二.串口烧录配置(Renesas Flash Programmer) 1. 改变芯片DLM状态 2. 设置安全边界 三.烧录芯片程序 为节省学习成本,本人未购 ...

  8. 电子时钟制作(瑞萨RA)(3)----使用J-Link烧写程序到瑞萨芯片

    概述 这一节主要讲解如何使用J-Link对瑞萨RA芯片进行烧录. 硬件准备 首先需要准备一个开发板,这里我准备的是芯片型号R7FA2E1A72DFL的开发板: 视频教程 https://www.bil ...

  9. 瑞萨RA系列mcu学习笔记--RTT-pwm驱动

    方案1:Studio 2.2.6和使用了RASC3.5下使用pwm驱动 开发环境必须说一下,本人在在开发环境的问题上栽了一个跟头, 使用最新版的RTT Studio 2.2.6和使用了RASC4.0的 ...

最新文章

  1. EdgeBERT:极限压缩bert
  2. 链表问题13——删除无序单链表中值重复出现的节点
  3. android switcher控件,Android ViewSwitcher 的功能与用法
  4. 2017-2018-1 20155327 实验四 外设驱动程序设计
  5. 【Linux】一步一步学Linux——ls命令(29)
  6. Leet Code OJ 328. Odd Even Linked List [Difficulty: Easy]
  7. 100+ 值得收藏的 Web 开发资源
  8. Linux系统编程15:进程控制之如何创建进程和写时拷贝技术
  9. pthon-递归实战-操作文件
  10. mysql 维护文档_mysql数据库维护文档
  11. [codewars] - int32 to IPv4 二进制十进制 ip地址转换
  12. sap事务代码_SAP成本模块常用事务代码清单
  13. 854. 相似度为 K 的字符串(每日一难phase2--day20)
  14. fgo国服登陆显示服务器错误,命运冠位指定安装失败怎么办 FGO国服安装失败解决办法...
  15. 正弦余弦怎么用计算机计算公式,关于正弦函数和余弦函数的计算公式
  16. filtic函数 matlab_matlab求相位函数
  17. 云服务器+Dock+搭建个人博客网站
  18. Carsim安装教程-破解carsim2016.01和Carsim2018
  19. 3.Elasticsearch-查询的多种方式
  20. 华为路由器:ospf协议入门介绍

热门文章

  1. 乐视笔试算法题美团算法笔试题
  2. 2022 裁员风潮着实有点大,席卷全球~
  3. 《设计模式之禅》笔记
  4. 小学计算机表格制作教学,《制作表格》~试讲稿~小学信息技术
  5. 函数极限什么时候可以拆分
  6. html 占两行,css – 将html页面分成两行50%的高度
  7. 对豆瓣电影Top250榜单的一些探索性分析
  8. JS去除输入文本的所有空格、逗号、换行符等空白字符
  9. 人工智能机器人标准化建设的意义
  10. 根据性别自动切换用户图标——DAY4