• 正文
  • 相关推荐
申请入驻 产业图谱

从 µC/OS 到 Cs/OS,一代“巨星”的陨落,到底经历了什么?

3小时前
312
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

作者 | 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 (1992) µC/OS-II (1998) µC/OS-III (2009)
最大任务数 64 255 无限制
每优先级任务数 1 1 无限制
时间片轮转 不支持 不支持 支持
互斥信号量 不支持 支持(可嵌套) 支持(可嵌套)
事件标志 不支持 支持 支持
软件定时器 不支持 支持 支持

四、µ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/USBH µC/USB-Host
Cs/FS µC/FS
Cs/Modbus µC/Modbus

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照这个趋势发展下去,终将消失在人们的视野。。。

相关推荐

作者黄工,从事嵌入式软件开发工作8年有余,高级嵌入式软件工程师,业余维护公众号『strongerHuang』,分享嵌入式软硬件、单片机、物联网等内容。