关注+星标公众号,不错过精彩内容
作者 | strongerHuang
公众号 | strongerHuang
70、80后用 RTOS 做过项目的朋友,应该对 µC/OS 不会陌生,曾经的它可以说无人能敌(可能很多00后没有听说过 µC/OS)。
在2000 ~ 2010年期间,可以说是 µC/OS 最辉煌的十年,当年能与之抗衡的 RTOS 少之又少,要点名的话,可能只有 VxWorks 这款闭源的RTOS。
现在大家熟悉的很多RTOS(比如:FreeRTOS、RT-Thread、Thread、NuttX等)大多是在2000 ~ 2010年期间发展起来的,这些RTOS在那个时候还处于无人问津的萌芽阶段。甚至还有很多RTOS是2010年之后才慢慢发展起来的,比较典型的就是Zephyr 在 2016 年才正式推出,仅用了十年时间,已经进入RTOS第一梯队!

回到今天话题,从 µC/OS 到 Cs/OS,从曾经无人能敌的RTOS,到今天无人问津的RTOS,到底经历了什么?
一、µC/OS 的诞生(1992)
1989年,µC/OS作者 Jean J. Labrosse 在为一个控制项目开始编写实时内核,最初是针对特定CPU开发,当时只是一个结构相对简单的实时内核。
1992 年,他在《Embedded Systems Programming》杂志上发表了三篇关于µC/OS的系列文章,并配套出版了《µC/OS The Real-Time Kernel》一书,把这个用 C 语言写的抢占式实时内核公之于众。
µC/OS的吸引力在于:
代码用 ANSI C 编写,结构清晰;
内核小巧、可移植、可裁剪;
适合教学和中小型嵌入式项目;
源码公开,便于学习 RTOS 原理。
他最初只是想讲解一个自己用的可移植 OS 的内部原理,没想到竟成了整个嵌入式行业最有影响力的教学内核。
二、µC/OS-II 与 Micrium 公司(1998–2000)
1998 年:µC/OS-II 发布,这是一个相对成熟的版本。
它在第一代基础上大幅增强了功能,例如支持的任务数量从64个提升至255个,并引入了互斥信号量(可嵌套)、事件标志、软件定时器等关键特性,并补充了堆栈检查、HOOK 函数、安全的动态内存分配等功能。使其成为一个更健壮、功能更完整的RTOS。
因为源码公开、并配套书籍,它很快成为全世界嵌入式学生的"启蒙 RTOS"。
1999 年 9 月:Labrosse 正式成立 Micrium 公司(Micro + ium,意为"微处理器宇宙")。
2000 年 7 月:搭载 µC/OS-II 的航空电子产品通过 DO-178B A 级认证(航空软件最高安全等级),随后又获得 FDA 医疗器械认证(510(k)/PMA)和工业 IEC-61508 认证——这奠定了它在安全关键领域的地位。
三、µC/OS-III(2009)
2009年,在 µC/OS-II 基础上扩展了更加完善的功能,并正式推出 µC/OS-III。
这是内核架构上的一次重要飞跃。它打破了前两代的诸多限制,任务数量变为无限制,且每个优先级上可以支持无限个任务,并引入了时间片轮转调度,使系统在实时性保证下具备了更好的公平性。此外,它还增加了向任务直接发送消息、防止死锁等高级特性。
还配套有书籍以 STM32F107(Cortex-M3)为实验平台,赶上了 ARM Cortex-M 生态爆发的时代。
与此同时,行业格局也在变化:FreeRTOS(2003年推出、RT-Thread(2006 年推出)、 mbed OS 等免费/开源替代品不断侵蚀商业 RTOS 的市场,Micrium 的利润空间被压缩,这也为后来的被收购埋下了伏笔。

以上就是从 µC/OS 到 µC/OS-III 辉煌发展历程。
这里汇总一下µC/OS、µC/OS-II 和 µC/OS-III 的区别:
| 最大任务数 | 无限制 | ||
| 每优先级任务数 | 无限制 | ||
| 时间片轮转 | 支持 | ||
| 互斥信号量 | |||
| 事件标志 | |||
| 软件定时器 |
四、µC/OS被 Silicon Labs 收购(2016)
µC/OS 转折点发生在2016年。
2016 年 10 月:Silicon Labs(芯科科技)收购 µC/OS(Micrium公司),目的是把商业级 RTOS 与自己的 IoT 芯片(EFR32/EFM32)整合。当然,收购后 µC/ 系列仍支持第三方硬件。
这一步很关键:µC/OS 从“独立 RTOS 厂商产品”变成了 Silicon Labs 生态的一部分。此后,µC/OS 在市场上的曝光度逐渐降低,社区讨论也不如以前活跃。
2020 年 2 月:Silicon Labs 将 µC/OS-II、µC/OS-III 以及全部组件(TCP/IP、USB、文件系统、CAN、Modbus 等)以 Apache 2.0 许可证开源,停止对外商业支持;同时自家芯片专用的 Micrium OS 保持闭源但免费。
五、Cs/OS (Cesium RTOS)到来(2020)
µC/OS开源之后,一批原 Micrium 老员工(包括创始人Labrosse 本人)成立了 Weston Embedded Solutions,在开源版 µC/OS 的基础上做了一个闭源商业分支,取名 Cesium RTOS——内核就叫 Cs/OS2 和 Cs/OS3,正好对应 µC/OS-II 和 µC/OS-III。可以理解为 µC/OS 同宗同源的商业升级版。
它俩内核和组件命名也接近,以下表格是对应关系:
Cesium RTOS | Micrium µC/OS |
Cs/OS2 | µC/OS-II |
Cs/OS3 | µC/OS-III |
Cs/NET | µC/TCP-IP |
Cs/USBD | µC/USB-Device |
Cs/OS 的API 与 µC/OS 完全兼容,可以无缝替换老项目而无需重新学习,由 Weston Embedded 提供商业维护和技术支持——这正好填补了 Silicon Labs 停止外部支持后留下的空白。
Cs/OS和 µC/OS 的主要区别是:
| 维度 | µC/OS | Cesium RTOS(Cs/OS) |
|---|---|---|
| 定位 | 开源经典版 | 商业专业版 |
| 授权 | Apache 2.0 开源 | 商业闭源授权 |
| 维护方 | Silicon Labs / Weston Embedded | Weston Embedded |
| API | 经典 µC/OS API | 高度兼容 µC/OS |
| 适用场景 | 学习、低成本项目 | 工业、医疗、汽车等需长期支持/认证的项目 |
Micrium µC/OS = 开源免费的基础版。
Cesium RTOS = 商业支持、安全认证、持续更新的 µC/OS “专业版”;
µC/OS 和 Cs/OS 现状
Micrium µC/OS自2020年开源之后,µC/OS内核及其组件开源在GitHub上几乎就没更新,还停留在几年前的版本。


当然,从代码库更新记录来看,还是有“微小”的更新,但可以忽略不计。
Cesium RTOS(Cs/OS)目前是商业收费RTOS,由原 Micrium 核心团队维护,也在不定期更新:

Cs/OS及其组件虽然在更新,但更新频率以及修改幅度很小很小,感觉这个团队都没花心思维护这个RTOS。

反观FreeRTOS、Zephyr,更新的速度是非常快,你看更新日志,基本都有较大升级。同时,FreeRTOS、Zephyr发展速度越来越快,用户量也是急剧上升。
µC/OS照这个趋势发展下去,终将消失在人们的视野。。。
------------ END ------------