瑞萨RA MCU众测宝典 | 环境搭建之【RA-Eco-RA4M2】基于SCI的程序下载(使用Renesas Flash Progammer烧录)

描述

 

开启宝典

电路原理图,可以看到开发板上有三颗用户LED,分别连接到微控制器的不同引脚:

LED1:P405

LED2:P404

LED3:P002

以LED1(P405)为例,来介绍如何通过e² studio和FSP配置工具来点亮并使其闪烁。

RA

点击可查看大图


 

实现LED闪烁的具体步骤


 

配置GPIO引脚

首先,我们需要在FSP(Flexible Software Package)配置工具中将P405引脚配置为GPIO输出模式。


 

切换到FSP配置界面:

在e² studio的项目资源管理器中,双击configuration.xml文件,打开FSP图形化配置界面。

RA

点击可查看大图


 

进入引脚配置:

点击界面下方的“Pins”标签页,进入引脚配置界面。

RA

点击可查看大图


 

配置P405引脚:

在引脚配置界面中,找到P405。可以通过左侧的“Peripherals”列表,依次展开Ports>P4>P405来快速定位。

RA

点击可查看大图

RA

点击可查看大图


 

点击P405,在右侧的“Pin (P405) Properties”窗口中进行如下设置:

Mode:将其设置为GPIO Output。

Symbolic Name:为这个引脚起一个有意义的别名,例如LED1。这个名称后续会在代码中用到。

Initial Output Level:根据原理图,LED的阳极接3.3V,阴极通过电阻连接到MCU引脚。因此,当引脚输出低电平(Low)时,LED点亮;输出高电平(High)时,LED熄灭。我们将初始电平设置为High,让程序启动时LED处于熄灭状态。

RA

点击可查看大图


 

生成项目代码


 

完成引脚配置后,需要让FSP工具将这些图形化的配置转换成实际的初始化C代码。

点击FSP配置界面右上角的“Generate Project Content”按钮(绿色箭头图标)。

稍等片刻,e² studio会在后台自动更新项目代码,包括引脚的初始化函数等。

RA

点击可查看大图


 


 

编写应用程序代码


 

代码生成后,我们就可以编写业务逻辑了。用户的应用程序代码主要在src/hal_entry.c文件中编写。


 

RA

点击查看大图


 

打开hal_entry.c:

在左侧的项目资源管理器中,展开src文件夹,双击打开hal_entry.c文件。

RA

点击可查看大图


 

编写闪烁逻辑:

找到文件中的hal_entry(void)函数。所有的用户代码都将从这里开始执行。在该函数内的/* TODO: add your own code here */注释下方,添加一个while(1)无限循环,并在循环中控制LED1引脚的电平状态。


 

将以下代码复制并粘贴到hal_entry函数中:

左右滑动查看完整内容

 

  •  

#include"hal_data.h"FSP_CPP_HEADERvoidR_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.**********************************************************************************************************************/voidhal_entry(void){    /* TODO: add your own code here */    while(1)    {       R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_05, BSP_IO_LEVEL_LOW);        R_BSP_SoftwareDelay(500, BSP_DELAY_UNITS_MILLISECONDS);       R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_05, BSP_IO_LEVEL_HIGH);       R_BSP_SoftwareDelay(500, BSP_DELAY_UNITS_MILLISECONDS);    }#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**********************************************************************************************************************/voidR_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_BUILDBSP_CMSE_NONSECURE_ENTRY voidtemplate_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 voidtemplate_nonsecure_callable(){}#endif


 


 

编译、下载和运行


 

最后一步就是将代码编译并下载到开发板上运行。


 

编译项目:

点击工具栏上的“构建”按钮(锤子图标),或者使用快捷键Ctrl+B编译项目。请确保编译过程没有错误,可以在下方的“控制台(Console)”窗口中查看编译结果。

RA

点击可查看大图


 

原理图显示了微控制器(MCU)的P201/MD引脚,这个引脚是模式选择引脚。它决定了MCU在上电或复位后从哪里开始执行代码:

INTERNAL FLASH(内部闪存模式):当MD引脚为高电平(通过R8上拉到3.3V)时,MCU会从其内部的Flash存储器启动。这是程序正常运行的模式。

SCI/USB BOOT(串行/USB启动模式):当MD引脚为低电平(通过R7下拉到GND)时,MCU会进入Bootloader模式。在此模式下,它会等待通过SCI(UART)或USB接口接收新的固件程序

RA

点击可查看大图


 

在开发板上找到与P201/MD引脚相连的跳线帽或拨码开关。


 

切换到SCI/USB BOOT模式:将跳线帽连接到图中标示的SCI/USB BOOT位置。这通常意味着将MD引脚和GND连接在一起。


 

连接开发板:使用USB线将开发板连接到电脑。此时,开发板上的板载USB转串口芯片(如 CH340)会被电脑识别为一个 COM 端口。


 

复位 MCU:在切换完模式后,按一下开发板上的复位按键,或者重新给开发板上电。这一步至关重要,它能确保MCU在新的引脚电平下启动,从而进入Bootloader模式。


 


 

软件工具


 

Renesas Flash Programmer(RFP)


 

打开Renesas Flash Programmer

新建工程:在RFP中创建一个新工程。

配置工程:
 

Microcontroller:选择RA系列,并找到您的具体型号R7FA4M2AD3CFP。

Tool:选择COM Port。

Port:选择您的开发板在设备管理器中显示的COM端口号。

Baud Rate:选择一个合适的波特率,可以从一个较低的值(如115200 bps)开始尝试。
 

连接:点击“Connect”按钮。如果硬件设置正确,RFP应该能成功连接到MCU。

加载固件:在RFP的主界面,浏览并选择您在上一步中找到的.srec固件文件。

开始烧录:点击“Start”或“Program”按钮,RFP 会将固件文件通过串口发送给MCU的 Bootloader,并写入到内部Flash中。等待进度条走完,提示烧录成功。

RA

点击可查看大图

RA

点击可查看大图


 


 

恢复正常模式并运行程序


 

烧录完成后,MCU还处于Bootloader模式,不会自动运行新程序。您需要:

断开开发板电源。

将模式选择跳线切换回INTERNAL FLASH模式(将MD引脚设置为高电平)。

重新给开发板上电。


 

如果你在模式切换、端口选择、烧录工具配置上遇到小问题,欢迎在评论区交流~


 

环境搭建专题会持续更新,关注瑞萨嵌入式小百科,后续还有更多RA开发板上手干货!

 

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分