本文由RT-Thread论坛用户@jiao96 原创发布:https://club.rt-thread.org/ask/article/3020.html
摘要
因为项目需要,使用了复旦微FM33LC026单片机,移植了RT_Thread系统。正好赶上rt官方的【国产MCU移植】活动,顺路参与一下。
芯片参数:
硬件 | 描述 |
---|---|
CPU | Cortex-M0 |
主频 | 64MHz |
SRAM | 24KB |
Flash | 128KB |
移植主要步骤:
1.工程搭建
2.添加复旦微官方库
3.板级初始化
4.对接串口驱动
开发工具:
Keil5、Env工具、Scons
工程搭建
芯片为ARM Cortex M0内核,可以用M0内核的其它BSP修改一个出来。
因为平时使用STM32比较多,同时rt官方适配的较好,所以使用了stm32f072-st-nucleo进行修改。
将stm32f072-st-nucleo复制到bsp目录下,改名为fm33lc026。
Stm32的libraries一起挪到新工程目录下。
只搞了keil5的工程,其它没用的删掉。
修改keil5工程。
项目工程是工具通过template模板生成的,所以,修改型号只需要修改template.uvprojx就可以了。
打开template.uvprojx
修改芯片型号为FM33LC02X,其余大部分会根据选择的芯片自动修改。
再进入linker,分散加载文件修改一下。
template模板修改完成,接下来需要用模板生成工程,由于工程是STM32拷贝出来的,一些相对路径等会有变化,脚本会有问题,先进行一下修改。
修改fm33lc026文件夹下SConstruct文件,文本文档打开,这里路径改为如图的路径。
修改fm33lc026文件夹下Kconfig文件,修改如下。
修改好了,通过env工具,menuconfig,啊哈,报错了。
根据报错信息,还需要修改board/Kconfig下libraries的路径。
修改完成,menuconfig打开,现在还是原来工程的配置,接下来还需要继续修改,退出,生成一下keil5工程,打开工程,各配置正常,文件路径都可以找到,工程搭建完毕。
添加复旦微官方库
接下来,添加复旦微FM33LC0XX的官方库函数到路径下。
需要替换掉原本STM32的官方HAL库。
STM32的库函数和驱动文件都在\libraries文件夹下,也就是刚才我们复制到工程内的文件夹。
我们只需要进入\libraries文件夹下,把官方库函数文件夹添加进来,通过修改脚本,让它自己添加就OK了。
打开\li