很高兴在elecfans网站中申请到了Renesas RA4M2-SENSOR
开发板,以前没有使用Renesas 芯片,因此花了很多时间来探索和试错,特别是·看了很多此网站大佬的测试报告,受益很多。
1. 开发板简介
RA4M2-SENSOR 是一款基于 RA4M2 系列微控制器的评估套件,支持 TrustZone 技术和片内安全加密引擎(SCE),提供硬件级安全保护,确保敏感数据安全。RA4M2 MCU 采用 40nm 工艺,具有出色的低功耗性能(CoreMark®功耗低至 81µA/MHz)。
. 下图为开发板示意图:

2. 软件安装和建立模板
安装rensas RASC,keil,和 Renesas.RA_DFP.6.1.0,在keil 软件中结合RASC配置进行编程,具体可参考以下链接:
如何安装e2 studio/Keil开发环境 — [野火]瑞萨RA系列FSP库开发实战指南——基于野火启明开发板 文档
https://doc.embedfire.com/mcu/re ... pter2/chapter2.html
使用RASC生成Keil工程 — [野火]瑞萨RA系列FSP库开发实战指南——基于野火启明开发板 文档
https://doc.embedfire.com/mcu/re ... pter6/chapter6.html
因为此开发板有IC CH340C 来进行UART
通信,建议用SWD接口和USB 转TTL下载器进行编程下载。
3. 在keil中编程跑马灯程序。
先在keil中调用RASC配置引脚和时钟,将LED1-3对应的p002,p103,p104为输出高或低电平,将时钟频率改为12M,使用SWD P300 SWCLK,P108 SWDIO接口.

hay.entry.c*程序如下:
#include "hal_data.h"
#include "bsp_api.h"
void hal_entry(void)
{
/* TODO: add your own code here */
R_BSP_SoftwareDelay(3000, BSP_DELAY_UNITS_MILLISECONDS);//延时3秒因为预设GPIO高电平点亮了LED1-3.
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_00_PIN_02, BSP_IO_LEVEL_LOW);
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_03, BSP_IO_LEVEL_LOW);
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_04,BSP_IO_LEVEL_LOW);
while(1)
{
R_IOPORT_PinWrite(&g_ioport_ctrl,BSP_IO_PORT_00_PIN_02, BSP_IO_LEVEL_HIGH);
R_IOPORT_PinWrite(&g_ioport_ctrl,BSP_IO_PORT_01_PIN_03, BSP_IO_LEVEL_LOW);
R_IOPORT_PinWrite(&g_ioport_ctrl,BSP_IO_PORT_01_PIN_04, BSP_IO_LEVEL_LOW);
R_BSP_SoftwareDelay(1000,BSP_DELAY_UNITS_MILLISECONDS);
R_IOPORT_PinWrite(&g_ioport_ctrl,BSP_IO_PORT_01_PIN_03, BSP_IO_LEVEL_HIGH);
R_IOPORT_PinWrite(&g_ioport_ctrl,BSP_IO_PORT_01_PIN_04, BSP_IO_LEVEL_LOW);
R_IOPORT_PinWrite(&g_ioport_ctrl,BSP_IO_PORT_00_PIN_02, BSP_IO_LEVEL_LOW);
R_BSP_SoftwareDelay(1000,BSP_DELAY_UNITS_MILLISECONDS);
R_IOPORT_PinWrite(&g_ioport_ctrl,BSP_IO_PORT_01_PIN_04, BSP_IO_LEVEL_HIGH);
R_IOPORT_PinWrite(&g_ioport_ctrl,BSP_IO_PORT_00_PIN_02, BSP_IO_LEVEL_LOW);
R_IOPORT_PinWrite(&g_ioport_ctrl,BSP_IO_PORT_01_PIN_03, BSP_IO_LEVEL_LOW);
R_BSP_SoftwareDelay(1000,BSP_DELAY_UNITS_MILLISECONDS);
}
#if BSP_TZ_SECURE_BUILD
/* Enter non-secure code */
R_BSP_NonSecureEnter();
#endif
}
#if BSP_TZ_SECURE_BUILD
FSP_CPP_HEADER
BSP_CMSE_NONSECURE_ENTRY void template_nonsecure_callable();
/* Trustzone Secure Projects require at least onenonsecure callable func
tion in order to build (Remove this if it is notrequired to build). */
BSP_CMSE_NONSECURE_ENTRY voidtemplate_nonsecure_callable ()
{
}
FSP_CPP_FOOTER
# endif
在下载中使用Keil MDK环境对瑞萨RA4M2系列MCU(型号如R7FA4M2AB3CFM)进行程序烧录时,遇到了 Insufficient RAMfor Flash Algorithms ! 和 Error: Flash Download failed -"Cortex-M33" 的问题。需要flash Download界面,查看并增大 RAM for Algorithm 的配置值。默认值太小。将 Start: 设置为 0x20000000(RAM起始地址),Size: 设置为 0x2000 (8KB 大(如 0x4000/16KB)。这为Flash操作算法提供了足够的运行空间。
运行结果如下:
