文章目录
- [攻城狮计划]|如何优雅的在RA2E1上运行RT_Thread
- 准备阶段
- 🚗开发板
- 🚗开发环境
- 🚗下载BSP
- 🚗编译烧录
- 连接串口
- 总结
[攻城狮计划]|如何优雅的在RA2E1上运行RT_Thread
🚀🚀开启攻城狮的成长之旅!这是我参与的由 CSDN博客专家 架构师李肯和 瑞萨MCU 联合发起的「 致敬未来的攻城狮计划 」的第 1 天,点击查看活动计划详情
🚀🚀首先非常感谢李老师能给我参加这个计划的机会,让我有机会接触到许多的开发板,同时也感谢瑞萨官方 为我们提供的开发板。在参加活动的期间,结识了许多的大佬,让我收获了许多的知识,我感觉短短的几天,收获的知识与开发经验比自己独自学习几个月的收获还要多。所以,希望各位大佬们也能加入李老师的这个活动 ,而且,李老师水平真的很高,而且非常耐心,谁来谁知道!!!!
🚀🚀好了,接下来我们开始进入今天的主题,如何在在RA2E1上优雅地运行RT_Thread!
🚀🚀同时本文会介绍大量在移植过程中遇到的问题,争取做到大家都能完美复现。
准备阶段
🚗开发板
🚀🚀首先,我们得准备一块RA2E1开发板,大致就是下图这样,有一说一,感觉瑞萨的板子还是蛮好看的。RA2E1 产品群是 RA 系列的入门级单芯片微控制器,基于48 MHz Arm® Cortex®-M23 内核,具有高达 128 kB 的代码闪存以及 16 kB 的 SRAM 。
🚀🚀主要的特点如下所示:
- 48MHz Arm® Cortex®-M23
- 高达 128kB 的闪存以及 16kB SRAM
- 4kB 数据闪存,提供与 EEPROM 类似的数据存储功能
- 从 25 引脚封装扩展至 64 引脚封装
- 1.6V - 5.5V 的宽工作电压范围
- 增强型电容式触摸感应单元 (CTSU)
- 12 位 ADC,LPACMP,温度传感器
- 32 位通用 PWM 定时器,16 位通用 PWM 定时器,低功耗异步通用定时器
- 实时时钟
- SCI(UART、简单 SPI、简单 I2C)
- 独立的 SPI 接口/I2C 多主接口
- 安全功能
- 加密功能
- 多种封装选择(LQFP、QFN、LGA、BGA 及 WLCSP)
🚗开发环境
🚀🚀准备好了开发板,我们就要开始准备开发环境了,我们使用的环境是keil+RASC+env,但是大家如果只是想要在开发板上运行RT的话,暂时只需要keil环境即可。
🚀🚀首先我们需要下载keil,下载链接如下所示。这里特别需要注意的是:MDK的版本最好是5.35及以上版本,不然就会报如下的错误:
https://www.123pan.com/s/g8ibVv-ZXH8d.html提取码:Uvqb
🚀🚀安装好了keil之后,我们就需要下载芯片的支持包了,在上方的文件中我已经提供了,官方说只能用3.5的版本,但是我用的3.7版本也可以,所以都上传了。这个的安装只需要一路next就可,没什么难度。
🚗下载BSP
🚀🚀接下来我们就需要下载我们的RT_Thread的代码了,这个地方因为官方没有为这款芯片做专门的BSP包,所以我们是基于RA2L1进行修改的,在这过程中遇到了许多的问题,其中最困难的地方就在于两个芯片的内存不一样,所以就直接在这给出下载链接,不再折磨大家了,如果大家对这方面的故事感兴趣,可以参考李老师写的文章:终于在RA2E1上跑通了RT_Thread。
🚀🚀BSP包地址:下载这个即可 (找到bsp/ra2e1)
🚗编译烧录
🚀🚀不出意外的话,大家下载下来的文件经过解压之后,再按照下图找到相应的keil工程(路径可能不一样,但就是要找ra2e1-cpk),就可以开始愉快地开始编译了!
🚀🚀然后我们按照下图的步骤选择相应的芯片(xxFM),点击OK即可。值得说明的是,在选择我们需要的芯片之前先选择一下其他芯片,再切回我们的芯片点击OK,这样有助于我们后期的操作。
🚀🚀之后我们来解决一下烧录的问题,首先的话,我本人是没有jlink的,所以就没有使用jlink 去烧录。然后st link又烧录失败,报错大概如下所示,就没去尝试了。
Error: Unable to read device id from ROM table
Error: Cannot identify the device
🚀🚀最后的解决办法就是使用SWD来烧录,使用的是野火的CMSIS烧录工具,如果需要的话大家可以自行淘宝。接线的话如图所示,大家也可按照原理图自行接线,也在文件里面。
🚀🚀然后我们就开始配置一下烧录所需要的准备。
🚀🚀这里如果未识别到芯片的话,大概率是没接好线。
🚀🚀最后我们可以看一下我们的算法有没有配置好,如果没有,可以自行add。
🚀🚀然后我们就可以开始编译了,这样配置下来应该就没什么问题了,因为李老师都帮我们搞好了。然后我们点击LOAD按钮,就可以烧录了。之后我们按下复位键,灯就开始每隔一秒开始闪烁了。
🚀🚀如果在编译过程中报错,特别是-m,cpu,-m23什么的,大概率就是版本的问题,大家更新就可。
连接串口
🚀🚀之后我们拿出我们的USB转TTL工具拿出来,连接我们的串口9,(TXD——J2-3;RXD——J2-2;GND——J2-8),大家看原理图也可。
🚀🚀然后打开我们的串口工具,我用的是Xcom,也在包里,大家可以自行下载,当然了,其他的工具也是可以的。
🚀🚀到此,我们的移植算是完成了。整个过程,要是没有李老师的帮助。特别是内存那部分,我不可能搞出来的,再次感谢李老师,还有我们的瑞萨。
总结
🚀🚀因为是第一次测评开发板,所以一开始有点摸不着头,但是在反复的试错之后,终于是成功了,特别是心心念念的RT移植成功,这更加坚定了我学习的信心了。躬身入局者,乃有成事之可冀,因为确实喜欢RT,所以准备一直在这学习下去了,虽然我力量有限,但是还是会一直坚持下去的,加油!