移植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"头文件

        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里的这三个函数都进行注释,再进行编译运行,就成功了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值