独望枫

人在尘世间,有缘自相见,变化千千万,未开窍,已迷恋
posts - 43, comments - 0, trackbacks - 0, articles - 1
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

RT-Thread Nano 入门体验

Posted on 2021-07-13 18:15 小菜枫 阅读(180) 评论(0)  编辑 收藏 引用 所属分类: 学习笔记
本入门体验示例,主要基于STM32CubeMX生成的工程,再手动移植RT-Thread源码的方式实现。关于如何使用STM32CubeMX创建对应工程,网上有很多教程,亦可参考blog内的教程《[STM32CubeMX创建MDK工程]》

1、新建存放rtt文件的文件夹,这里命名为rtos

2、将从rtt网站指导下下载下来的rtt-nano源码拷贝必要的文件夹到上一步新建的rtos文件夹

bsp:板级支持包(当前示例stm32例子中只使用到board.c及rtconfig.h,其他可以删掉)
components:组件文件夹
include:头文件目录
libcpu:处理器相关的启动文件(stm32f103属于cortex-m3系列,只要保留cortex-m3文件夹即可,其他都可以删除)
src:内核源码
3、添加上述五个文件夹的所有内容到新建的rtos,并将其添加到git管控

4、将上述描述到没有用到的芯片平台相关文件件和板级支持包删除,精简工程

5、将rtt相关的不需要修改的文件(除board.c和rtconfig.h外)都设置为只读属性,确保rtt相关的文件不会被误修改

6、添加rtt源文件到MDK工程




7、添加rtt的头文件到MDK工程


8、添加完文件后,编译一下。会提示重复定义的错误



删掉/注释掉/预编译原本stm32f10x_it.c的相关函数

9、解决重定义之后,编译成功

10、如果遇到找不到RTE_Components.h头文件的错误,则可以在rtconfig.h中注释掉这一行或者删掉

11、编译成功后烧写,只有一次串口信息输出。则需要修改使用rtt内定义的延时函数


12、添加rtt头文件包含



13、添加一个c文件方便统一创建线程

14、将新增的头文件包含到主头文件

15、动态创建线程函数声明

16、动态创建线程实现

17、动态创建线程调用

18、编译通过,烧写后线程正常启动,每隔1s输出一次调试信息

19、添加静态线程创建相关函数声明

20、添加静态线程创建相关函数实现

21、静态线程函数调用

22、编译及烧写确认

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理