移植RT-Thread到STM32

本文参考自[野火EmbedFire]《RT-Thread内核实现与应用开发实战——基于STM32》,仅作为个人学习笔记。更详细的内容和步骤请查看原文(可到野火资料下载中心下载)

目录

一、获取STM32裸机工程模板

二、下载 RT-Thread Nano 源码

三、安装 RT-Thread Package

四、将RT-Thread源码添加到工程

五、指定RT-Thread头文件路径

六、修改rtconfig.h

七、修改board.c

        1、添加"board.h"头文件

扫描二维码关注公众号,回复: 16924282 查看本文章

        2、屏蔽系统时钟的配置函数

        3、屏蔽原系统时钟配置函数的调用,在后面添加本芯片对应的系统时钟配置

八、编译


一、获取STM32裸机工程模板

从野火的资料里拷贝一份STM32裸机工程模板,我的芯片型号为STM32F103VET6(指南者),以固件库点亮LED灯实验的工程作为工程模板:

二、下载 RT-Thread Nano 源码

链接:Arm Keil | RealThread RT-Thread

 下载最新版本即可

三、安装 RT-Thread Package

.pack文件下载完成后,直接安装,记住安装的路径,待会需要在该路径拷贝RT-Thread源码。

四、将RT-Thread源码添加到工程

从刚刚的路径中,把RT-Thread文件夹拷贝到裸机工程根目录,如下图:
拷贝board.c和rtconfig.h到user/目录下

在工程中添加board.c和rtconfig.h文件

新建rtt/source和rtt/ports组

将RT-Thread下的src文件添加到rtt/source

由于我的开发板型号是M3系列,将RT-Thread->libcpu->ARM->cortex-m3 文件夹中的context_rvds.S和cpuport.c添加到rtt/ports

最终结果如图所示,如果文件带有小钥匙,把只读取消掉,重新打开项目即可。

 五、指定RT-Thread头文件路径

 六、修改rtconfig.h

七、修改board.c

1、添加"board.h"头文件

 

2、屏蔽系统时钟的配置函数

3、屏蔽原系统时钟配置函数的调用,在后面添加本芯片对应的系统时钟配置
SysTick 初始化函数由固件库文件 core_cm3/4/7 里面的 SysTick_Config()函数替代。

八、编译

编译之后会出现3个错误,这些都是重复定义造成的

 

 解决方法是将Usr/stm32f10x_it.c里的这三个函数都进行注释,再进行编译运行,就成功了。

猜你喜欢

转载自blog.csdn.net/weixin_51244415/article/details/131592179