瑞萨单片机论坛
直播中

qiuxiaoxiong

12年用户 12经验值
擅长:制造/封装
私信 关注

【RA4M2-SENSOR】 Keil开发环境建立和跑马灯运行

本帖最后由 qiuxiaoxiong 于 2025-9-24 11:09 编辑

  很高兴在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 function 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操作算法提供了足够的运行空间。

  运行结果如下:


Renesas RA4M2-SENSOR开发板:跑马灯

更多回帖

发帖
×
20
完善资料,
赚取积分