[应用相关] RT-Thread移植到STM32

[复制链接]
5110|43
 楼主| gaoke231 发表于 2019-5-28 12:22 | 显示全部楼层 |阅读模式
准备工作:RT-Thread源码、STM32基础工程。
RT-Thread Nano源码获取,Nano去除了各种开发板的BSP,保留了OS核心功能。下载地址:https://github.com/RTThread/rt-thread
 楼主| gaoke231 发表于 2019-5-28 12:23 | 显示全部楼层
下载好的RT-Thread Package,RT-Thread Package 容量很小,我们直接将安装在 KEIL PACK 目录下,然后将整个 RT-Thread 文件夹拷贝到我们的STM32 裸机工程里面。RT-Thread 文件夹目录如下:
445795cecb7b62a179.png
 楼主| gaoke231 发表于 2019-5-28 13:24 | 显示全部楼层
BSP:板级支持包
components/finsh:RT-Thread组件
include:头文件
libcpu:与处理器相关的接口文件
src:RT-Thread 内核源码
 楼主| gaoke231 发表于 2019-5-28 13:25 | 显示全部楼层
在基础工程上新建RT-Thread文件夹,并在该文件夹下新建RT-Thread-Port、RT-Thread-Source和RT-Thread-Include文件夹。
528515cecc63de3861.png
 楼主| gaoke231 发表于 2019-5-28 13:25 | 显示全部楼层
将路径RT-Thread/3.0.3/文件夹下面的 rtconfig.h和board.c文件复制到到user文件夹下。
809615cecc65087b77.png
 楼主| gaoke231 发表于 2019-5-28 13:25 | 显示全部楼层
将RT-Thread/3.0.3/src文件夹下的所有文件复制到新建的RT-Thread-Source文件夹中。
688595cecc662647bc.png
 楼主| gaoke231 发表于 2019-5-28 13:26 | 显示全部楼层
RT-Thread-Source文件夹的内容
636745cecc671b26af.png
 楼主| gaoke231 发表于 2019-5-28 13:26 | 显示全部楼层
将路径RT-Thread/3.0.3/libcpu/arm/cortex-m0/文件夹下的context_rvds.S文件与cpuport.c复制到新建的RT-Thread-Port文件夹中。
463635cecc6851509b.png
 楼主| gaoke231 发表于 2019-5-28 13:26 | 显示全部楼层
RT-Thread-Port文件夹的内容
157215cecc6945737e.png
 楼主| gaoke231 发表于 2019-5-28 13:27 | 显示全部楼层
将路径RT-Thread\3.0.3\components\finsh文件夹复制到新建的RT-Thread-Include文件夹中。
302125cecc6a3f1c03.png
 楼主| gaoke231 发表于 2019-5-28 13:27 | 显示全部楼层
将路径RT-Thread\3.0.3\include文件夹下的内容复制到新建的RT-Thread-Include文件夹中。
366465cecc6b95e6ef.png
 楼主| gaoke231 发表于 2019-5-28 13:27 | 显示全部楼层
RT-Thread-Include文件夹内容如下
921585cecc6caf32f6.png
 楼主| gaoke231 发表于 2019-5-28 14:43 | 显示全部楼层
Keil新建RT-Thread-Source与RT-Thread-Port分组。
320085cecd8a397948.png
 楼主| gaoke231 发表于 2019-5-28 14:44 | 显示全部楼层
向RT-Thread-Source分组添加文件,将RT-Thread-Source文件夹的内容全部添加进去。
915465cecd8ba5ce97.png
 楼主| gaoke231 发表于 2019-5-28 14:44 | 显示全部楼层
向RT-Thread-Port分组添加文件,将RT-Thread-Port文件夹的内容全部添加进去,不要忘记添加context_rvds.S文件哦!
85155cecd8cf8ea5a.png
 楼主| gaoke231 发表于 2019-5-28 14:45 | 显示全部楼层
向User分组中添加 rtconfig.h 和board.c 文件。
750765cecd8f36c629.png
 楼主| gaoke231 发表于 2019-5-28 14:45 | 显示全部楼层
最后就是将对应的头文件添加进去,将RT-Thread-Include文件夹的头文件路径添加进去。
748115cecd9041353f.png
 楼主| gaoke231 发表于 2019-5-28 14:45 | 显示全部楼层
第一次尝试编译,看是否会报错,不出意料肯定很多错误,这里提示不能打开RTE_Components.h 头文件。
771425cecd9157cc9c.png
 楼主| gaoke231 发表于 2019-5-28 14:46 | 显示全部楼层
原因是头文件 RTE_Components.h 是在 MDK 中添加 RT-Thead Package 时由 MDK 自动生成的,目前我们没有使用 MDK 中自带的 RT-Thread 的 Package,所以这个头文件不存在,如果包含了该头文件,编译的时候会报错,需要注释掉该头文件。
754205cecd928152ec.png
 楼主| gaoke231 发表于 2019-5-28 14:46 | 显示全部楼层
再次编译,就剩下2处错误了,这样看着比刚才舒服多了,哈哈!这,这个提示很简单,一看就是stm32f10x_it.c和系统重复定义了中断函数。
749805cecd9420dbcb.png
您需要登录后才可以回帖 登录 | 注册

本版积分规则

54

主题

1310

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部