当MCU的处理能力和内存组够用时,项目的实时安全性不是那么苛刻,任务又可能处于多个循环运行状态时,可以考虑为MCU移植一个RTOS系统,满足各个子任务雨露均霑的效果,让MCU化身时间管理大师。
常用的RTOS有著名的Free RTOS,国产的RT_Thread等,当然熟悉的任务调度的话可以自己手写一个任务调度器。我之前使用的是RT_Thread,开始基本上提出需求,芯片供应商负责移植。自从换了一家小公司之后就不再有压榨供应商这个说法,基本上都要自己来,在这里记录一下前段时间搞的基于stm32 的RT_Thread工程移植。
RT_Thread提供了调试和代码生成工具RT-Thread Studio,IDE风格类Eclipse,不过比其他的很多使用Eclipse框架的IDE好用很多,软件完成度很高。
首先配置工作空间,新建RT-Threa 项目,
选择工程位置、系统版本、芯片系列、调试工具就好。确定之后就生成了一个RT-Thread的工程,直接点击编译,不出意外编译通过,就可以连接开发板和调试器进行下载调试了。我选择的芯片的stm32F407VET6,下载的芯片SDK是0.2.3的,直接编译时串口驱动的函数报错,我的解决方案是吧报错的那一段switch代码屏蔽掉,好像正经的解决方法是使用0.2.2 的SDk或高版本的RT-Thread,总之问题不大。
Studio创建的初始工程所有的芯片外设都是默认的,实际项目中我们需要定制芯片资源,因此底层配置可能要自行修改,ST公司提供的芯片配置工具STM32CubeMx可以与RT-Thread Studio联合开发。
点击左侧文件树的CubeMX Settings,电脑提前安装了CubeMX的话就会弹出对应的CubeMX工程配置界面。
STM32移植RT_Thread
于 2023-07-28 21:31:26 首次发布