开发环境:
Keil版本:V5.30
RT-Thread版本:3.1.5
STM32cubeMX:V6.0.1
开发板MCU:STM32F103
机智云平台生成的应用代码是裸机版本的,而在实际应用过程中,通常会有多个功能,这个时候就需要用到实时系统,比如FreeRTOS, AzureRTOS ThreadX, RT-Thread等,笔者这里推荐RT-thread。
RT-Thread是一个极简版的硬实时内核,它是由 C 语言开发,采用面向对象的编程思维,具有良好的代码风格,是一款可裁剪的、抢占式实时多任务的 RTOS。其内存资源占用极小,功能包括任务处理、软件定时器、信号量、邮箱和实时调度等相对完整的实时操作系统特性。适用于家电、消费电子、医疗设备、工控等领域大量使用的 32 位 ARM 入门级 MCU 的场合。
RT-Thread Nano 以软件包的方式集成在 Keil MDK 与 CubeMX 中,可以直接在软件中下载 Nano 软件包获取源码,关于RT-Thread Nano移植详情请参看笔者文章:
Keil版本:https://bruceou.blog.csdn.net/article/details/109549430
STM32cubeMX版本:https://bruceou.blog.csdn.net/article/details/109607302
3.1 Nano Pack 安装
进入打开 CubeMX,从菜单栏help 进入 Manage embeddedsoftware packages 界面,点击 From Url 按钮,进入 User DefinedPacks Manager 界面,其次点击 new,填入上述网址,然后点击 check,如下图所示:

check 通过后,点击 OK 回到 User Defined Packs Manager 界面,再次点击 OK,CubeMX 自动连接服务器,获取包描述文件。

回到 Manage embedded softwarepackages 界面,就会发现 RT-Thread Nano 3.1.5软件包,选择该软件包,点击 InstallNow,安装之后,弹出 Licensing Agreement ,同意协议,然后点击 Finish,等待安装完成,成功安装后,版本前面的小蓝色框变成填充的黄绿色,如下图所示:

至此,RT-Thread Nano 软件包安装完毕,退出 Manage embeddedsoftware packages 界面。
3.2添加 RT-Thread Nano 到工程
打开基础工程,点击 SelectSoftwares,选择Select Components界面,在 Pack Vendor 中选择 RealThread, 然后根据需求选择 RT-Thread 组件(此处只移植 Nano,只选择 kernel 即可),然后点击 OK 按钮,如下图所示:

选择组件之后,对组件参数进行配置。在工程界面 Pinout&Configuration 中,进入所选组件参数配置区,按照下图进行配置。

由于HardFault_Handler()和SysTick_Handler() 中断服务例程在RT-Thread的 board.c 中重新实现,做了系统 OS Tick,所以还需要删除工程里中原本已经实现的HardFault_Handler()和 SysTick_Handler() ,避免在编译时产生重复定义。如果此时对工程进行编译,没有出现函数重复定义的错误,则不用做修改。

最后保存生成工程即可。
成功编译后下载到MCU即可。
关于线程的创建与使用可以参看笔者文章:
RT-Thread Nano 线程讲解:https://bruceou.blog.csdn.net/article/details/112157693
最后的效果就不在演示了,和上一章是一样的,到这里,机智云设备端基本玩的差不多,后面就可以使用所学知识做一些项目开发了。
-
STM32
+关注
关注
2313文章
11191浏览量
374599
发布评论请先 登录
RT-Thread 中设备树的适配方法 | 技术集结
恩智浦亮相RT-Thread 20周年开发者大会
移植最新版的rt-thread nano时程序进入到entry就报错,为什么?
基于RT-Thread的EK-RA2E2 设备驱动移植与应用 | 技术集结
使用RT-Thread studio 开发RT-Thread Nano项目的时候 串口的驱动是要自己写吗?
CubeMX移植RT-Thread 3.1.5文件重复怎么解决?
rt-thread studio 2.2.9如何使用最新的RT-Thread v5.2.0 released?
【好书推荐】RT-Thread第20本相关书籍!《嵌入式实时操作系统RT-Thread原理与应用》| 技术集结
恩智浦MCU教程 基于MCUXpresso和FRDM-MCXA346的RT-Thread Nano移植
如何移植 RT-Thread Nano 并创建 2 个线程?
RT-Thread Nano硬核移植指南:手把手实现VGLite图形驱动适配 | 技术集结
RT-Thread荣获2025优秀开源项目 | 新闻速递
揭秘RT-Thread上的AUTOSAR CP系统
STM32与机智云连接实现步骤与技巧(下篇):机智云代码移植与优化
RT-Thread审核团招募: 深度参与开源RTOS社区治理与演进
机智云设备移植RT-Thread
评论