STM32F103系列移植rtthread3.1.3完整版详细过程

这段时间在学习rtthread,在移植的过程中遇到挺多问题,现在对移植3.1.3版本做一个移植记录


本人申明,整个文章过程都是本人亲自走过一边,有不懂的地方可以私信,感谢支持


移植前准备:Keil5、STM32CubeMX、ENV工具


1、获取源码

源码获取的渠道主要是从官方提供的链接下载,主要渠道有码云、GitHub、百度云等
下载链接:下载 - RT-Thread物联网操作系统
选择源代码下载,在以下链接中下载rtthread3.1.3版本


2、复制模板

本文主要使用STM32系列的stm32cbt6进行rtthread移植,进入下载好的源码文件夹,打开以下路径 rt-thread\bsp\stm32\libraries\templates
选择stm32f10x文件夹复制到rt-thread\bsp\stm32路径下


3、搭建工程
3.1 STM32CubeMX配置

打开复制的模板下的board\CubeMX_Config路径下找到CubeMX_Config.ico文件,使用STM32CubeMX打开对工程项目进行配置

首先我们需要选择自己开发板所对应的芯片,我使用的是STM32F103CBT6,于是选择对应的芯片

接下来就是对需要的引脚进行选择配置,最基本的需要时钟、串口以及打开SWD下载模式

然后便是时钟配置,我们直接在HCLK时钟处填写最大时钟就行了,系统将自动配置

第三步就是项目工程配置

工程配置中其他的应该都没有问题,但是我们使用的STM32 hal库需要是1.7.0版本的,不能使用最新的版本,否则finsh组件没法启用,版本更改的办法如下:

下载好1.7.0版本以后就可以在库的选择中看到1.7.0版本了。
最后点击生成代码覆盖原有的工程就好了。

3.2 Board文件修改

接下来的修改复制于官方文档

3.2.1修改board.c

在 board.c 文件中存放了函数 SystemClock_Config(),该函数负责初始化系统时钟。当使用 CubeMX 工具对系统时钟重新配置的时候,需要更新这个函数。
该函数由 CubeMX 工具生成,默认存放在board/CubeMX_Config/Src/main.c 文件中。但是该文件并没有被包含到我们的工程中,因此需要将这个函数从 main.c 中拷贝到 board.c 文件中。在整个 BSP 的制作过程中,这个函数是唯一要要拷贝的函数。

3.2.2修改board.h
3.2.3修改 Kconfig 选项
3.2.4修改链接脚本

使用MDK只需要修改link.sct即可

3.2.5修改构建脚本SConscripy
3.2.6修改工程模板

主要修改芯片信息即可,后续的下载方式以及编译关联可以在项目工程中临时更改。

3.3 ENV重新生成工程

打开ENV,进入到工程文件夹下,输入命令 menuconfig 对工程进行配置,并生成新的 rtconfig.h 文件。如下图所示:

确定串口打开以后就可以按ESC退出,系统会提示是否保存,确定即可
再使用 env 工具输入命令 scons --target=mdk5重新生成工程,出现以下提示即成功生成

随后可以打开工程项目,编译程序,可能会出现以下问题:

提示stm32f1xx_hal_exti.h不存在,我们双击报错文件夹名即可定位到代码处,注释掉这段代码即可:

将程序下载至芯片中,连接串口就可以看到以下界面:

  • 6
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

弓长于水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值