1 概述
这是一个针对RT-Thread国产操作系统的μCOS-II操作系统兼容层,可以让基于美国Micriμm公司的μCOS-II操作系统的项目快速、无感地迁移到RT-Thread操作系统上。在兼容层的设计、编写上尊重原版μC/OS-II,保证原版μC/OS-II的原汁原味。
uCOS-II兼容层的设计和编写融合了uCOS-III兼容层的编写经验,同时与uCOS-III兼容层进行交叉检查,确保两个兼容层的可靠性。
支持版本:μC/OS-II 2.00-2.93全部版本
代码仓库地址:
https://github.com/mysterywolf/RT-Thread-wrapper-of-uCOS-II
欢迎star!
1.1 RT-Thread的其他RTOS兼容层
RT-Thread操作系统的μCOS-III兼容层:https://github.com/mysterywolf/RT-Thread-wrapper-of-uCOS-III
1.2 本兼容层适合于
之前学习过μCOS-II操作系统,意图转向学习RT-Thread国产操作系统。本兼容层可以帮您用已有的μCOS-II编程经验和习惯快速将项目跑起来,日后在应用过程中深入熟悉RT-Thread的API函数,逐步向RT-Thread过度,降低您的学习门槛和时间成本。有了本兼容层,对RT-Thread API以及编程风格的不熟悉再也不是您学习RT-Thread的阻力!
现有任务(线程)模块采用μCOS-II编写,想要用在基于RT-Thread的工程上
老项目需要从μCOS-II操作系统向RT-Thread操作系统迁移
当需要快速基于RT-Thread开发产品,但是工程师之前均采用μC/OS开发,从未用过RT-Thread的开发经验。本兼容层可以帮助让工程师快速基于μC/OS-II开发经验开发产品,简化软件的重用、缩短微控制器新开发人员的学习过程,并缩短新设备的上市时间。
避免在从μCOS-II迁移到RT-Thread时,由于μCOS-II的编程经验导致的思维定式引发的错误,这种错误一般很难被发现
例如:
软件定时器参数的不同
任务堆栈的数据类型不同
1.3 版本详细信息
1.4 官网
RT-Thread:
https://www.rt-thread.org/
文档中心:
https://www.rt-thread.org/document/site/tutorial/nano/an0038-nano-introduction/
μCOS-II:
https://www.micrium.com/
文档中心:
https://doc.micrium.com/pages/viewpage.action?pageId=10753158
2 使用
2.1 Keil-MDK仿真工程
本仿真工程是基于STM32F103平台。
Keil工程路径:rt-thread-3.1.3/bsp/stm32f103/Project.uvprojx
需要提前安装好RT-Thread Nano-3.1.3 Keil支持包.
注意:调试串口使用的是USART2,不是USART1
2.2 迁移步骤
(如果使用的是RT-Thread Nano版请参见以下步骤;若使用RT-Thread完整版可以直接跳转至Env工具自动化配置到工程中章节)
将uCOS-II文件夹内的所有文件都加入到你的工程中,最好保持原有文件夹的结构。相较于原版μCOS-II增加了
os_rtwrap.c
文件,负责对RT-Thread和μCOS-II的转换提供支持。配置
os_cfg.h
每个选项的配置说明和原版μCOS-II一致,若有不同,我已经在注释中有所解释。
原版μCOS-II配置说明可参见:
a)《嵌入式实时操作系统μC/OS-II(第二版)》北京航空航天大学出版社 邵贝贝等译
b) Micriμm公司μCOS-II在线文档</