RT-Thread Nano移植_STM32F103

本文详细指导如何将RT-Thread Nano源码移植到STM32F1平台,涉及裁剪源码、添加文件、配置调整及仿真验证,旨在实现PA0,PA1灯周期性亮灭作为移植成功的标志。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RT-Thread Nano移植(添加源码)

该篇针对的是向STM32F1主板的移植。

1、源码文件内容

最重要的是bsp、components、include、libcpu、src文件夹。

源码工程文件结构

2、对Nano源码进行相应地选择性裁剪

删除libcpu内的risc-v架构有关文件而只留下arm架构的支持文件,以及只保留arm架构文件夹内想要的内核文件:cortex-m3和cortex-m4,其实随便,根据需要保留。

3、裁剪后的Nano源码添加到32裸机工程

(1)在裸机工程下Source文件夹下或自己设定的文件夹下 创建 RT-Thread文件夹。

在这里插入图片描述

向[RTthread]文件夹中添加componentsincludelibcpusrc

向[Main]文件夹添加bsp文件夹内的board.c和rtconfig.h;

(2)添加文件后,打开STM32要移植的裸机工程,分别将之前复制的文件添加到工程,以及添加相应h文件的路径

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

(3)这之后,对工程代码进行一些修改。

包括:

rtconfig.h中取消对RTE_Components.h文件的引用;

删除裸机工程下写的冲突的原来的串口配置;

删除stm32f10x_it.c中的HardFault_Handler(void)和PendSV_Handler(void);因为在RT源码中提供了相应函数,32里的与RT的冲突了,这里用RT给的;

在这里插入图片描述
在这里插入图片描述

删除逻辑工程中原来写的系统滴答延时、而是用RT提供的滴答延时;

在这里插入图片描述
注释board.c里有关系统滴答寄存器和一些函数,而是用固件库里提供的
在这里插入图片描述
在这里插入图片描述
修改一下系统滴答定时器初始化函数:
在这里插入图片描述

4、仿真模式下运行Debug

在这里插入图片描述
发现PA0,PA1每隔500ms亮灭。

移植成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值