- 背景
目前正在做一个对比RA个系列之间移植的难易程度的对比,手头上有RA6M5和RA2L1两片板子。刚好遇到RA4M2做活动,就顺势申请了该板子,用于一起对比。
对比的第一步,即为移植RTT。
- 移植步骤
- rt-thread代码拉取
执行以上步骤后,在本地使用git命令将代码拉取下来
- 复制bsp模版
从./bsp/renesas/libraries目录下拷贝 bsp-template文件夹至./bsp/renesas/目录下,并重命名为ra4m2-eco:
3. 配置template工程
4. 运行rasc.exe,配置项目参数
5. 打开串口
6. 确认晶振和主频(24M和100M)
7. 打开串口配置
板卡上有将P110 和P109作为串口引出至CH340上,如下图:
![image.png](
因此进行如下配置如下:
-
打开LED灯
- RA4M2-ECOECO灯资源
-
rasc配置
另外两个灯采用同样的方式配置
- RTT配置
- 增加芯片选择
由于之前RTT并无RA4M2芯片配置,因此需手动添加RA4M2芯片配置,具体配置如下:
- 增加驱动选择
由于上面选的是uart9,因此Kconfig配置成uart9
- 增加变量适配层
由于RA6M4和RA2L1,发现配置几乎相同,因此先直接拷贝RA6M4并重命名为RA4M2,之后检查其中的uart部分
添加完毕后,修改drv_config.h文件
- 修改main入口
- 根据芯片手册修改SRAM大小
RA4M2 SRAM大小为128K,因此设为128
- 修改中断表
对比RASC pin中断分配表编写
- 修改应用代码(hal_entry.c)
#include
#include "hal_data.h"
#include
#define LED_PIN BSP_IO_PORT_04_PIN_04
void hal_entry(void)
{
rt_kprintf("\nHello RT-Thread!\n");
while (1)
{
rt_pin_write(LED_PIN, PIN_HIGH);
rt_thread_mdelay(500);
rt_pin_write(LED_PIN, PIN_LOW);
rt_thread_mdelay(500);
}
}
- 修改rtconfig.py
- 运行scons,配置串口和GPIO
在bsp更目录下运行env,并在弹出界面中输入 menuconfig 进行配置
- 重新生成工程
在env中运行 scons --target=mdk5
-
修改工程配置
- 修改编译生成的目标文件
- 修改和关闭部分编译警告
去掉三个参数:“-Wextra“、”-Wconversion“、”-Wshadow ”
- 勾选 ‘Use Ecternal Tool for Flash Programming’
10. 初步效果
-
注意事项
- rtconfig.py中的CPU不能配置成cortex-m33,只能配置cortex-m4原因暂不确定。
-
参考资料
RA系列BSP制作教程.md
将就看吧,实在是搞不定markdown排版
|