【瑞萨RA4系列开发板体验】开发环境搭建和新手点灯指南
作者:xusiwei1236
修改记录: - 2022-11-20 初版开始
- 2022-11-24 初版完成
本文介绍将如何从零搭建RA4M2 Keil开发环境,以及如何点亮RA-Eco-RA4M2-100PIN开发板上的一个LED灯。开发环境搭建部分,详细介绍了不依赖额外硬件调试器的开发环境,即搭建一个只是用使用开发板自带USB口进行烧录的开发环境。新手点灯指南部分,以点灯为例,详细记录了创建项目、编写代码、编译代码、烧录固件、运行程序的完整操作步骤,即便你此前完全没有使用过瑞萨MCU,参考这里的步骤也可以完成整个过程。 一、简单的开箱 感谢电子发烧友组织的试用活动,感谢瑞萨生态社区提供的 RA-Eco-RA4M2-100PIN开发板 。 上周一(14号)收到了快递,鸽了一周,今天周天(20号)终于开始写环境搭建的帖子了。 拆开塑料快递包装袋,里面是朴实无华的包装盒: 拆开包装盒,可以看到防静电袋包装的板子和一根Type-C数据线: 拆开包装袋,就是开发板了: 开发板也很简洁,几乎是正方形的,可以看到: - 上方两个USB Type-C口、一个电源指示灯(POWER);
- 下方是三个按键、两个触摸按键和三个LED灯;
- 中间偏上两边各有一个PMOD扩展接口;
- 中间偏下两边各有一个40pin的扩展接口;
- 正中间是主控MCU——R7FA4M2AD3CFP;
二、芯片简介 RA4M2系列MCU关键特性: - 支持 TrustZone 的 100MHz Arm Cortex-M33
- 安全芯片的功能
- 256kB - 512kB 闪存、64kB SRAM(支持奇偶校验)以及 64kB ECC SRAM
- 8KB 数据闪存,提供与 EEPROM 类似的数据存储功能
- 1kB 休眠用 SRAM
- 从 48 引脚封装扩展至 100 引脚封装
- 电容式触摸传感单元 (CTSU)
- 全速 USB 2.0,支持主机模式和设备模式
- CAN 2.0B
- 四线 SPI
- SCI(UART、简单 SPI、简单 I2C)
- 独立SPI/I2C 多主接口
- SDHI 和 MMC
主控芯片特写,可以清楚的看到型号: 三、开发环境搭建 这里搭建的是硬件依赖最少的开发环境,即使用开发板的USB烧录口进行固件烧录。如果你准备使用JLink或DAP-Link其他硬件调试器进行烧录,部分操作步骤略有差异,这里不再介绍。 2.1 安装FSP(RASC)Flex Software Package ,简称 FSP ,它包含了HAL库和配置工具;其中,配置工具叫 RA Smart Configurator ,简称 RASC 。 安装没啥难度,一路“下一步”就好了,安装完成界面如下: 2.2 安装Keil MDKMDK安装,默认设置,一路下一步就好了,没啥难度,不再详细介绍。 2.3 安装RA4M2 Keil PackKeil默认不支持RA系列MCU,需要安装瑞萨RA系列MCU Keil支持包才能支持RA系列MCU。 瑞萨RA系列MCU Keil支持包,可以在瑞萨生态社区提供的网盘中找到,网盘链接如下: https://pan.baidu.com/s/1h-qcTIGobEBK88NgHODUhg?pwd=odqe 2.4 安装RFP(瑞萨烧录工具)安装程序运行后界面如下: 接受协议,一路下一步即可,不再赘述。三、新手点灯指南 这里以点灯为例,详细记录了创建项目、编写代码、编译代码、烧录固件、运行程序的完整操作步骤,即便你此前完全没有使用过瑞萨MCU,参考这里的步骤也可以完成整个过程。本节名为“新手点灯指南”即为此意,即便你是完完全全的新手,也可以顺利点灯。 3.1 创建RASC项目开始菜单,打开“Renesas RA Smart Configurator 4.1.0”,开始创建RASC项目: 其中,项目名称、保存路径可以修改,默认的项目名称是FSP_Project,我这里没有修改。 接下来是选择设备: 本次试用的RA-Eco-RA4M2-100PIN开发板主控MCU型号是R7FA4M2AD3CFP; 接下来选择IDE: 本次试用的RA-Eco-RA4M2-100PIN开发板主控MCU型号是R7FA4M2AD3CFP; 接下来选择IDE: 这里不使用TrustZone,因此选择第一个。 接下来是RTOS类型选择: 这里不使用TrustZone,因此选择第一个。 接下来是RTOS类型选择: 这里不使用TrustZone,因此选择第一个。 接下来是RTOS类型选择: 这里需要注意的是这几个地方: 3.2 查阅开发板原理图开发板LED相关原理图: 可以看到,三个LED对应引脚分别为: - LED1:P415
- LED2:P404
- LED3:P405
3.3 设置LED1引脚为输出接下来回到FSP软件,点击pins标签,切换到引脚配置视图,找到P415引脚: 修改mode配置: 修改后,Ctrl+S保存,再点击右上角的“Generate Project Content”生产Keil项目。 3.4 编写LED1闪烁的代码FSP生成Keil项目后,可以切回到Summary视图,查看项目位置。点击右侧的小箭头按钮,可以在文件管理器中打开位置: 双击打开Keil项目文件FSP_Project.uvprojx,项目结构如下图: 打开hal_entry.c开始编写代码: 在/* TODO: add your own code here */代码下方添加代码: - R_BSP_PinAccessEnable();
- while(1) {
- R_BSP_PinWrite(BSP_IO_PORT_04_PIN_15, BSP_IO_LEVEL_HIGH);
- R_BSP_SoftwareDelay(500, BSP_DELAY_UNITS_MILLISECONDS);
- R_BSP_PinWrite(BSP_IO_PORT_04_PIN_15, BSP_IO_LEVEL_LOW);
- R_BSP_SoftwareDelay(500, BSP_DELAY_UNITS_MILLISECONDS);
- }
复制代码PS:API参考对后续开发非常有用,毕竟这么多底层接口不可能全部记住。 比如,可以查阅上面点灯代码用到的: 另外,点灯使用如下代码也可以: - while(1) {
- R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_15, BSP_IO_LEVEL_HIGH);
- R_BSP_SoftwareDelay(500, BSP_DELAY_UNITS_MILLISECONDS);
- R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_15, BSP_IO_LEVEL_LOW);
- R_BSP_SoftwareDelay(500, BSP_DELAY_UNITS_MILLISECONDS);
- }
复制代码二者差别是: - 使用R_BSP_PinWrite之前,需要先调用R_BSP_PinAccessEnable,否则后续的R_BSP_PinWrite不起作用;
- R_BSP_PinWrite是两个参数,而R_IOPORT_PinWrite是三个参数,前者更方便、更优雅一些;
接下来就可以准备 编译、烧录、运行 了。 3.5 设置Keil生成hex文件添加完了代码之后,就可以编译项目了。 由于我准备使用开发板的USB烧录口进行烧录,瑞萨烧录工具需要使用hex文件,因此需要让Keil生成hex文件。 具体设置为: - 右击选择“Options for Target 1”;
- 点Output标签页;
勾选“Create HEX File”,如下图:
4. 点OK确认设置。 3.6 编译Keil项目接下来是Keil中编译项目,可以直接点击编译按钮,或者按F7键;编译完成后,build output视图输出如下: 3.8 准备烧录——切换开发板MODE跳线刚拿到的开发板,MODE跳线默认为“Internal Flash”,开始烧录前需要将其切换为“SCI/USB Boot”,切换后如下图: 跳线切换完成后,将开发板USB烧录口连接到PC。 此时,将会被识别为虚拟串口设备,可以通过“设备管理器”查看: 3.7 创建RFP项目瑞萨烧录工具(Renesas Flash Programmer,简称RFP)安装后,通过开始菜单“Renesas Flash Programmer V3.08”可以将其打开。初次打开后界面如下: 该烧录工具也要创建项目,由于初次使用没有创建项目,因此Start按钮是灰色的。 接下来,点击File -> New Project菜单,开始创建RFP项目: 其中, - Microcontroller为MCU系列,选择RA;
- Project Name为项目名,可以自行命名,这里填写LED1;
- Project Folder为项目文件夹,可以修改,这里保持默认;
- Tool下拉为烧录设备端口,选择COM port,如果有多个串口设备可以通过Tool按钮选择;
填写完如下图: 此时点击Connect,将会创建项目,并连接设备: 可以看到,已经成功读出了设备信息。 3.8 使用RFP烧录hex接下来就可以使用RFP烧录hex了。首先点击Browse按钮,选择hex文件: 可以看到,已经成功读出了设备信息。 3.8 使用RFP烧录hex接下来就可以使用RFP烧录hex了。首先点击Browse按钮,选择hex文件: 可以看到,已经成功读出了设备信息。 3.8 使用RFP烧录hex接下来就可以使用RFP烧录hex了。首先点击Browse按钮,选择hex文件: 四、参考链接 - [color=rgb(12, 147, 228) !important]GitHub FSP最新版
- [color=rgb(12, 147, 228) !important]e² studio | Renesas
- [color=rgb(12, 147, 228) !important]RA4M2 - 100MHz Arm® Cortex®-M33 TrustZone®,具有高集成度和低功耗 | Renesas
- [color=rgb(12, 147, 228) !important]RA Flexible Software Package Documentation: MCU Board Support Package (renesas.github.io)
- [color=rgb(12, 147, 228) !important]RA SC User Guide for MDK and IAR
- [color=rgb(12, 147, 228) !important]RA4M2 - 瑞萨 RA MCU 生态社区
- [color=rgb(12, 147, 228) !important]灵活配置软件包 (FSP) | Renesas
|