开启攻城狮的成长之旅!这是我参与的由 CSDN博客专家 架构师李肯和 瑞萨MCU 联合发起的「 致敬未来的攻城狮计划 」的第 1 天,点击查看活动计划详情
首先非常感谢李老师能给我参加这个计划的机会,让我有机会接触到许多的开发板,同时也感谢瑞萨官方 为我们提供的开发板。在参加活动的期间,结识了许多的大佬,让我收获了许多的知识,我感觉短短的几天,收获的知识与开发经验比自己独自学习几个月的收获还要多。所以,希望各位大佬们也能加入李老师的这个活动 ,而且,李老师水平真的很高,而且非常耐心,谁来谁知道!!!!
好了,接下来我们开始进入今天的主题,如何在在RA2E1上优雅地运行RT_Thread!
同时本文会介绍大量在移植过程中遇到的问题,争取做到大家都能完美复现。
首先,我们得准备一块RA2E1开发板,大致就是下图这样,有一说一,感觉瑞萨的板子还是蛮好看的。RA2E1 产品群是 RA 系列的入门级单芯片微控制器,基于48 MHz Arm® Cortex®-M23 内核,具有高达 128 kB 的代码闪存以及 16 kB 的 SRAM 。
主要的特点如下所示:
准备好了开发板,我们就要开始准备开发环境了,我们使用的环境是keil+RASC+env,但是大家如果只是想要在开发板上运行RT的话,暂时只需要keil环境即可。
首先我们需要下载keil,下载链接如下所示。这里特别需要注意的是:MDK的版本最好是5.35及以上版本,不然就会报如下的错误:
https://www.123pan.com/s/g8ibVv-ZXH8d.html提取码:Uvqb
安装好了keil之后,我们就需要下载芯片的支持包了,在上方的文件中我已经提供了,官方说只能用3.5的版本,但是我用的3.7版本也可以,所以都上传了。这个的安装只需要一路next就可,没什么难度。
接下来我们就需要下载我们的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来烧录,使用的是最近发现的“神级”烧录工具创芯工坊的DAP-link,如果需要的话大家可以自行淘宝。接线的话如图所示,大家也可按照原理图自行接线,也在文件里面。(SWCLK——J1_32;SWDIO——J2_1;GND——J2_8)
然后我们就开始配置一下烧录所需要的准备。
这里如果未识别到芯片的话,大概率是没接好线。“这是之前的图,如果是现在的DAPlink的话,只有CMSIS-DAP这个标志。”
最后我们可以看一下我们的算法有没有配置好,如果没有,可以自行add。
然后我们就可以开始编译了,这样配置下来应该就没什么问题了,因为李老师都帮我们搞好了。然后我们点击LOAD按钮,就可以烧录了。之后我们按下复位键,灯就开始每隔一秒开始闪烁了。
如果在编译过程中报错,特别是-m,cpu,-m23什么的,大概率就是版本的问题,大家更新就可。
之后我们拿出我们的USB转TTL工具拿出来,没错,还是那个工具,它还可以作为串口,这就是我说他是神级工具的原因,一个东西,两种用途,现在我们用它连接我们的串口9,(TXD——J2-3;RXD——J2-2;GND——J2-8),大家看原理图也可。
“这个地方也就是我们的RX和TX。”
然后打开我们的串口工具,我用的是Xcom,也在包里,大家可以自行下载,当然了,其他的工具也是可以的。
到此,我们的移植算是完成了。整个过程,要是没有李老师的帮助。特别是内存那部分,我不可能搞出来的,再次感谢李老师,还有我们的瑞萨。
因为是第一次测评开发板,所以一开始有点摸不着头,但是在反复的试错之后,终于是成功了,特别是心心念念的RT移植成功,这更加坚定了我学习的信心了。躬身入局者,乃有成事之可冀,因为确实喜欢RT,所以准备一直在这学习下去了,虽然我力量有限,但是还是会一直坚持下去的,加油!