【 RA4M2开发板环境搭建1】
- 1. 前言
- 1.1 活动来源
- 1.2 开发环境
- 1.3 RA4M2开发板
- 2. MDK环境准备
- 2.1 keil 5下载安装
- 2.2 安装RA4M2的软件支持包
- 2.3 Renesas Flash Programmer安装
- 3. RA Smart Configurator配置
- 3.1 下载RA Smart Configurator
- 3.2 安装RA Smart Configurator
- 4. 新建RA4M2工程
- 4.1 RA Smart Configurator构建工程
- 4.2 Keil编译
- 5. 程序下载调试
- 5.1 配置keil hex文件
- 5.2 使用Renesas Flash Programmer 下载hex文件
- 6. 总结
- 6.1 优点:
- 6.2 缺点:
- 6.3 建议:
1. 前言
1.1 活动来源
本次参加的是RA4M2开发板实战项目挑战赛,以“课程学习+实践挑战”方式,带领开发者了解瑞萨ARM内核MCU,设计完整项目,提升实践动手能力。官网地址:https://bbs.elecfans.com/jishu_2325079_1_1.html
1.2 开发环境
本次RA4M2开发板环境搭建是基于Windows 11平台。基于RA4M2开发板,通过RA Smart Configurator配置,采用MKD 5.35编程。我原先玩过STM32使用过Keil,这种搭建比较快速配置,因此本文将基于MDK+RA Smart Configurator搭建开发环境。
-
IDE:MKD 5.35
-
开发板:RA-Eco-RA4M2
测评用的开发板是RA-Eco-RA4M2,主控芯片为R7FA4M2AD3CFP,和官方的开发板EK-RA4M2是同一个型号,512KB 代码闪存,128KB SRAM,100 引脚,LQFP 封装,板载USB转TTL模块,可用于串口通信和烧录,板载SWD接口,方便用户调试与下载。
1.3 RA4M2开发板
瑞萨电子 RA4M2 32 位微控制器 (MCU) 产品群使用支持 TrustZone 的高性能 Arm® Cortex®-M33 内核。 与片内的 Secure Crypto Engine (SCE) 配合使用,可实现安全芯片的功能。 RA4M2 采用高效的 40nm 工艺,由灵活配置软件包 (FSP) 这个开放且灵活的生态系统概念提供支持,FSP 基于 FREERTOS 构建,并能够进行扩展,以使用其他实时操作系统 (RTOS) 和中间件。 RA4M2 适用于物联网应用的需求, 如多样化的通信功能、面向未来应用的安全功能、大容量嵌入式 RAM 和较低的运行功耗(从闪存运行 CoreMark® 算法时功耗低至 81µA/MHz)。
从上图可以看出,RA4M2的性能和资源都是非常丰富,可玩性很强。
2. MDK环境准备
目前市面通用的MDK for ARM版本有Keil 4和Keil 5:使用Keil 4建议安装4.74及以上;使用Keil 5建议安装5.20以上版本。截止2023年2月16日,最新的是MDK-ARM Version 5.38a,笔者的MDK是5.35。
2.1 keil 5下载安装
从MDK的官网可以下载得到MDK的安装包,然后安装即可,关于的MDK安装请看这个大佬的教程。
MDK安装教程:https://blog.csdn.net/bruceoxl/article/details/108548573
MDK下载地址:https://www.keil.com/download/product/
安装完成后会自动打开,我们将其关闭。
2.2 安装RA4M2的软件支持包
接下来我们下载RA4M2的软件支持包。
下载地址:https://www.keil.com/dd2/pack/
下载好后双击Renesas.RA_DFP.4.2.0.pack运行即可:
点击[Next]即可安装完成。
安装成功后,重新打开Keil,则可以在File->Device Database中出现RA4M2的下拉选项,点击可以查看到相应的型号。
2.3 Renesas Flash Programmer安装
Renesas Flash Programmer是本次下载HEX程序的工具。
windows官网地址
直接无脑安装,同意安装驱动
安装完成后,在菜单搜索
3. RA Smart Configurator配置
3.1 下载RA Smart Configurator
官网地址:https://www.renesas.com/us/en/software-tool/ra-smart-configurator
github:https://github.com/renesas/fsp/releases
3.2 安装RA Smart Configurator
笔者这里下载的是setup_fsp_v4_2_0_rasc_v2022-10.exe,双击即可开始安装。首先会检查依赖,检查完成即可点击[Next],当然这里也可以修改安装路径。
接下来同意条款,然后点击[Next]。
然后[Install]即可开始安装。
然后等待安装完成即可。
安装完成后点击[OK]即可。
安装完毕之后,打开软件安装目录:C:\Renesas\RA_Smart_Configurator\eclipse。
4. 新建RA4M2工程
4.1 RA Smart Configurator构建工程
打开RA Smart Configurator,选择File->New->FSP Project,即可新建工程。
首先选择工程路径,笔者这里使用默认的路径(选择其他位置会报错🤣🤣🤣)。
接下来配置FSP版本,MCU型号等信息,根据实际情况选择吧。
然后就是选择安全策略,尽管RA4M2支持 TrustZone,但这里暂时不选。
接下来选择RTOS的支持,FSP 4.0.0支持FreeRTOS、Threadx,这里选择No RTOS。
接下来就是选择工程模板。
最后配置完成后就可生成工程了。
接下来不进行任何配置,直接生成工程。
最后,打开工程目录,信息如下。
4.2 Keil编译
用Keil 5打开软件,接口尝试编译工程。
main.c
/* generated main source file - do not edit */
#include "hal_data.h"
int main(void) {
hal_entry();
return 0;
}
hal_entry.c
#include "hal_data.h"
FSP_CPP_HEADER
void R_BSP_WarmStart(bsp_warm_start_event_t event);
FSP_CPP_FOOTER
/*******************************************************************************************************************//**
* main() is generated by the RA Configuration editor and is used to generate threads if an RTOS is used. This function
* is called by main() when no RTOS is used.
**********************************************************************************************************************/
void hal_entry(void)
{
/* TODO: add your own code here */
#if BSP_TZ_SECURE_BUILD
/* Enter non-secure code */
R_BSP_NonSecureEnter();
#endif
}
/*******************************************************************************************************************//**
* This function is called at various points during the startup process. This implementation uses the event that is
* called right before main() to set up the pins.
*
* @param[in] event Where at in the start up process the code is currently at
**********************************************************************************************************************/
void R_BSP_WarmStart (bsp_warm_start_event_t event)
{
if (BSP_WARM_START_RESET == event)
{
#if BSP_FEATURE_FLASH_LP_VERSION != 0
/* Enable reading from data flash. */
R_FACI_LP->DFLCTL = 1U;
/* Would normally have to wait tDSTOP(6us) for data flash recovery. Placing the enable here, before clock and
* C runtime initialization, should negate the need for a delay since the initialization will typically take more than 6us. */
#endif
}
if (BSP_WARM_START_POST_C == event)
{
/* C runtime environment and system clocks are setup. */
/* Configure pins. */
R_IOPORT_Open(&g_ioport_ctrl, g_ioport.p_cfg);
}
}
#if BSP_TZ_SECURE_BUILD
BSP_CMSE_NONSECURE_ENTRY void template_nonsecure_callable ();
/* Trustzone Secure Projects require at least one nonsecure callable function in order to build (Remove this if it is not required to build). */
BSP_CMSE_NONSECURE_ENTRY void template_nonsecure_callable ()
{
}
#endif
此项目没有任何打印输出,只能作为环境验证。
MDK编译工程,如果没有报错与警告,说明生成工程成功。
5. 程序下载调试
编译成功后,下面就介绍程序和调试,提供多种下载方式,笔者这里只介绍串口在线下载,jlink我没有调通。
5.1 配置keil hex文件
修改工程,设置生成hex文件用于串口下载
5.2 使用Renesas Flash Programmer 下载hex文件
打开Renesas Flash Programmer,点击File->New Project,做如下配置。
主要是配置微控制器类型,工程名字,工程目录以及串口端口。
配置完成之后点击Connect,此时会连接失败,如下图
需要按住Reset按钮,之后点击Connect,在松手。
配置Boot
如果使用串口下载,需要配置一下单片机上面的boot跳线帽,切换为SCI/USB BOOT模式如下:
开发板上也有描述,下载完成之后需要将跳线帽变回Interrnal Flash模式。
下载hex文件到单片机
如下图,选择hex文件,然后按下Reset按钮,电机Start,松开Reset按钮,等待下载完成即可。
没有任何效果展示,main函数是空的
6. 总结
通过复杂配置的使用,对RA4M2单片机有了初步的了解,浅谈一下。
6.1 优点:
有FSP配套配置工具,开发省时省力,事半功倍,等效stm32 cubeMX;
软件集成度好,资料丰富;
6.2 缺点:
这款板子不带板载调试器,使用串口下载很不方便,费时费力,之前用R6M4就有板载调试器,很方便。
6.3 建议:
期待后期都有板载调试器,有一套调试下载的软件,让开发者减减负起来!!!🥳🥳🥳
参考文献:
【瑞萨RA4系列开发板体验】1. 新建工程+按键控制LED
【瑞萨RA4系列开发板体验】1 RA4M2开发环境搭建