打印
[应用相关]

RT-Thread移植到STM32

[复制链接]
4258|43
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
准备工作: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 文件夹目录如下:

使用特权

评论回复
板凳
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文件夹。

使用特权

评论回复
5
gaoke231|  楼主 | 2019-5-28 13:25 | 只看该作者
将路径RT-Thread/3.0.3/文件夹下面的 rtconfig.h和board.c文件复制到到user文件夹下。

使用特权

评论回复
6
gaoke231|  楼主 | 2019-5-28 13:25 | 只看该作者
将RT-Thread/3.0.3/src文件夹下的所有文件复制到新建的RT-Thread-Source文件夹中。

使用特权

评论回复
7
gaoke231|  楼主 | 2019-5-28 13:26 | 只看该作者
RT-Thread-Source文件夹的内容

使用特权

评论回复
8
gaoke231|  楼主 | 2019-5-28 13:26 | 只看该作者
将路径RT-Thread/3.0.3/libcpu/arm/cortex-m0/文件夹下的context_rvds.S文件与cpuport.c复制到新建的RT-Thread-Port文件夹中。

使用特权

评论回复
9
gaoke231|  楼主 | 2019-5-28 13:26 | 只看该作者
RT-Thread-Port文件夹的内容

使用特权

评论回复
10
gaoke231|  楼主 | 2019-5-28 13:27 | 只看该作者
将路径RT-Thread\3.0.3\components\finsh文件夹复制到新建的RT-Thread-Include文件夹中。

使用特权

评论回复
11
gaoke231|  楼主 | 2019-5-28 13:27 | 只看该作者
将路径RT-Thread\3.0.3\include文件夹下的内容复制到新建的RT-Thread-Include文件夹中。

使用特权

评论回复
12
gaoke231|  楼主 | 2019-5-28 13:27 | 只看该作者
RT-Thread-Include文件夹内容如下

使用特权

评论回复
13
gaoke231|  楼主 | 2019-5-28 14:43 | 只看该作者
Keil新建RT-Thread-Source与RT-Thread-Port分组。

使用特权

评论回复
14
gaoke231|  楼主 | 2019-5-28 14:44 | 只看该作者
向RT-Thread-Source分组添加文件,将RT-Thread-Source文件夹的内容全部添加进去。

使用特权

评论回复
15
gaoke231|  楼主 | 2019-5-28 14:44 | 只看该作者
向RT-Thread-Port分组添加文件,将RT-Thread-Port文件夹的内容全部添加进去,不要忘记添加context_rvds.S文件哦!

使用特权

评论回复
16
gaoke231|  楼主 | 2019-5-28 14:45 | 只看该作者
向User分组中添加 rtconfig.h 和board.c 文件。

使用特权

评论回复
17
gaoke231|  楼主 | 2019-5-28 14:45 | 只看该作者
最后就是将对应的头文件添加进去,将RT-Thread-Include文件夹的头文件路径添加进去。

使用特权

评论回复
18
gaoke231|  楼主 | 2019-5-28 14:45 | 只看该作者
第一次尝试编译,看是否会报错,不出意料肯定很多错误,这里提示不能打开RTE_Components.h 头文件。

使用特权

评论回复
19
gaoke231|  楼主 | 2019-5-28 14:46 | 只看该作者
原因是头文件 RTE_Components.h 是在 MDK 中添加 RT-Thead Package 时由 MDK 自动生成的,目前我们没有使用 MDK 中自带的 RT-Thread 的 Package,所以这个头文件不存在,如果包含了该头文件,编译的时候会报错,需要注释掉该头文件。

使用特权

评论回复
20
gaoke231|  楼主 | 2019-5-28 14:46 | 只看该作者
再次编译,就剩下2处错误了,这样看着比刚才舒服多了,哈哈!这,这个提示很简单,一看就是stm32f10x_it.c和系统重复定义了中断函数。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

54

主题

1310

帖子

5

粉丝