RT-Thread 体验教程:1.STM32CubeMX与RT-Thread的简易化学反应

基于STM32CubeMX与RT-Thread的入门体验教程

本入门体验教程将指导你如何基于 STM32CubeMX 生成的工程,手动移植 RT-Thread 源码,并进行基础开发。关于如何使用 STM32CubeMX 创建工程,可以参考网上的相关教程,也可以参考本博客的文章《STM32CubeMX创建MDK工程》。

1. 创建RT-Thread工程目录

首先,新建一个文件夹来存放RT-Thread的文件,这里我们将其命名为 rtos
image.png

2. 拷贝RT-Thread Nano源码

RT-Thread官网上下载 RT-Thread Nano 源码,将以下必要的文件夹拷贝到上一步新建的 rtos 文件夹中:
image.png
相关文件夹说明如下:

  • bsp:板级支持包(在当前示例中,只使用到board.crtconfig.h,其他文件可以删除)
  • components:组件文件夹
  • include:头文件目录
  • libcpu:处理器相关的启动文件(对于STM32F103,只需保留cortex-m3文件夹,其他文件可以删除)
  • src:内核源码
3. 添加源码到工程中

将上述五个文件夹的所有内容添加到新建的 rtos 文件夹中,并将其添加到Git版本控制中。
image.png

4. 精简工程

删除上述文件夹中与当前芯片平台无关的文件和板级支持包,以精简工程。
image.png

5. 设置只读属性

RT-Thread相关的不需要修改的文件(除 board.crtconfig.h 外)设置为只读属性,以确保这些文件不会被误修改。(可选)
image.png

6. 添加RT-Thread源文件到MDK工程

MDK工程中,添加RT-Thread的源文件。
Kernel:
image.png
Ports:
image.png
命令行组件 Finsh
image.png
boardConfig:
image.png

7. 添加头文件路径

MDK工程中,添加RT-Thread的头文件路径。
image.png
image.png

8. 编译工程

编译工程时,可能会遇到重复定义的错误。
image.png

  • 解决方案:删除、注释或预编译掉 stm32f10x_it.c 中的相关函数。
    image.png
    image.png
9. 解决重定义错误

解决上述错误后,再次编译,确保工程编译成功。
image.png

10. 解决找不到RTE_Components.h的问题

如果编译时遇到找不到 RTE_Components.h 头文件的错误,可以在 rtconfig.h 中注释掉包含该头文件的行或直接删除。
image.png

11. 烧写与测试

编译成功后,将程序烧写到开发板。如果只有一次串口信息输出,需要修改为使用RT-Thread内定义的延时函数。
image.png
image.png

12. 包含RT-Thread头文件

在工程的头文件中,添加RT-Thread的头文件包含。
image.png
image.png
image.png

13. 创建线程管理文件

添加一个新的 C 文件,用于统一创建线程。
image.png

14. 包含新增头文件

将新增的头文件包含到主头文件中。
image.png

15. 声明并实现动态线程创建函数

实现动态线程创建函数。
image.png

16. 调用动态线程创建函数

在主函数中,调用动态线程创建函数。
image.png

17. 编译与烧写

编译通过后,将程序烧写到开发板,确认线程正常启动,每隔1秒输出一次调试信息。
image.png

18. 声明静态线程创建函数

添加静态线程创建相关函数声明。
image.png

19. 实现静态线程创建函数

添加静态线程创建相关函数实现。
image.png

20. 调用静态线程创建函数

在主函数中,调用静态线程创建函数。
image.png

21. 编译与烧写确认

最后,编译工程并烧写到开发板,确认线程正常运行。
image.png

以上就是基于STM32CubeMXRT-Thread的入门体验教程,通过这些步骤,您可以成功地将RT-Thread移植到您的STM32工程中,并实现基本的线程动态和静态创建、管理。希望这篇教程能为您的嵌入式开发之路提供帮助。

对应的 demo 源码, 请点击 RtosExPro at rtt_try_to_experience

也可扫码关注博主同名公众号"不解之榬",回复 “RTT” 获取
不解之榬

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值