首先感谢论坛提供瑞萨RA0E1开发板试用的机会,今天已经收到开发板,本次收到开发板后计划制作一个电子秤项目,目前从最基础的配置开发环境和尝试编写一个程序开始记录
注意,需要自行准备好J-Link或者瑞萨的E2 / E2-Lite 调试器,这边目前用的是J-Link用作调试下载。
下载E2 Studio
瑞萨提供了单片机的IDE,也就是集成开发环境,下载地址是https://www.renesas.cn/cn/zh/software-tool/e-studio#downloads
注意下载要求登录,可以先进行账号注册,用邮箱注册好账号登录后才能进行下载。
下载完成后双击打开安装包,此时会进行自解压,等待解压完成后开始进入安装流程
在开始安装前会询问安装到哪个账户下,如果是个人电脑默认选择第一个,单位电脑可以选择只安装在自己账户下
由于我已经安装过,再次打开安装包选择安装位置会显示已安装,在画红框的上面可以自己选择安装位置,画红框是配置代理服务器,这是可选的,但是最好配置一下代理安装过程会额外下载一些数据,如果不使用代理安装过程会无限延长
下一步选项RA是必选的,因为当前试用的开发板搭载芯片RA系列,其余可直接不选
再下一步这里可以直接勾选一个扩展语言包,如果什么都不选默认是英文,目前有日文、简体中文、繁体中文可供选择,下图勾选的为简体中文语言包,除了语言包外还有其他扩展包可供选择,目前用不上可以不选。
下一步后的操作保持默认勾选不要动,直接下一步,直到来到Licenses同意选项
此时已经准备就绪,开始进行安装
注意如果你没有配置代理的话,安装过程会比较长。
开始编写程序
安装完成后首次打开IDE会要求设置一个工作目录,这里可以随意自定义一个路径,注意路径不要有中文,配置好工作目录后,就可以进行创建项目了。
启动IDE后,按照下图流程进行新建项目,注意第3步由于我又安装了Risc-V MCU,所以这里会有这个选项,本次试用选择RA
选择默认项目模版
自定义一个项目名称,项目默认存在你的工作目录下
这里配置直接这样选择即可,不要在Board那里选择EA0E1,如果选择了引脚分配和目前试用的这款开发板不一样,直接选择正确的MCU型号即可【R7FA0E1073CFJ】,其余选项保持默认。
下一步保持默认,暂时用不到
紧接着下一步创建完项目,稍等片刻后即可加载完成,首次打开项目时会询问是否打开透视图,这里要选择打开,如果没有点击打开的话,双击项目中的这个文件也能打开透视图
初次打开时注意观察右侧,默认系统已经配置好调试接口,
如果你不小心关掉了FSP Visualization窗口,看不到引脚使用情况的话,可以通过这里的搜索按钮,搜索FSP...关键词再次打开
首先我们先配置两个引脚,观察开发板的原理图我们得知板载的两个LED由P1.03和P1.12这两个引脚控制
所以我们切换到Pins进行引脚配置,下图是分别配置好了P1.03和P1.12两个引脚为输出模式
到这一步配置基本就完成了,更多的对于点灯程序暂时用不上,直接点击这里生成代码
生成完毕后透视图可以关闭了,这里说一下瑞萨的程序入口文件,这里因为没有选用RTOS,程序会加载src/hal_entry.c文件下的hal_entry方法,所以我们直接在这个文件的hal_entry方法里编写程序,这个hal_entry方法就相当于Main方法。
ps: 实际上固件第一次加载入口文件在这里,从这里的startup.c开始执行Reset_Handler方法,然后在这里再执行一个main方法,在main方法里面会加载上一步说到的hal_entry方法。这里只是简单提一下加载路径,我们只需要关心上面说的hal_entry文件即可。
在hal_entry方法内加入以下代码,即可实现开发板上丝印为D1的LED,每500毫秒翻转一次
/*******************************************************************************************************************//**
* 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 */
while(1)
{
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_03, BSP_IO_LEVEL_LOW); //配置为低电平
R_BSP_SoftwareDelay(500, BSP_DELAY_UNITS_MILLISECONDS);
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_03, 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
}
编写完成之后,点击菜单中的编译按钮进行固件编译,此时我们就得到了闪烁一个LED灯的固件程序。
固件烧录和调试
烧录固件需要用到J-Link,把J-Link的SW接口分别接入到开发板顶部的SW接口,接线完成之后,点击窗口上面的调试按钮,稍等片刻会自动将编译好的固件烧录到开发板的单片机中,此时也开始了调试状态,在调试时我们也可以观察代码运行状态,当我们一直点击继续按钮时,当调试程序加载到hal_entry方法时,此时开发板会按照上面固件所写开始每500毫秒进行翻转一次。
当收到开发板时通电默认是两个LED一起闪烁,这里我们就通过重新烧录固件改为了只闪烁一个LED灯