选择实时操作系统并不是一件简单的事情: RTOS 决定性能, 可靠性 以及成本 整个嵌入式项目。FreeRTOS、VxWorks、QNX 和 Zephyr 之间存在着截然不同的理念、许可证和生态系统,值得彻底了解。
近年来,论坛和社区中的讨论变得激烈起来:有人认为 FreeRTOS 已经足够,有人则认为 当有认证和支持时,商业 RTOS 就会发挥作用。 危在旦夕。我们在这里收集并比较所有信息,以便您能够做出决定,而无需胡乱猜测。
我们比较什么以及为什么它很重要
除了具体的基准之外,值得比较的是 内核架构、许可证、认证、生态系统和开发经验具有 BLE 的可穿戴设备与 DAL A 飞机系统或符合 ISO 26262 要求的电机控制器不同。
市场非常活跃:FreeRTOS 现已被亚马逊收购,ThreadX 正在发展成为 Eclipse ThreadX,Zephyr 等开放倡议得到了 Linux Foundation,以及拥有数十年关键部署经验的 VxWorks 或 QNX 等传统领导者。
此外,还有一些细微的差别会改变游戏规则:一些 RTOS 他们按单位收取版税,其他的是 MIT/Apache;一些依赖于带有 POSIX 的微内核,还有一些依赖于最小内核和模块化扩展。
RTOS 的当前全景
市场研究(AspenCore 嵌入式市场研究、VDC 研究)和技术清单一致认为: FreeRTOS 是部署最广泛的 RTOS 按 MCU 覆盖范围计算,其数量领先,而 VxWorks 和 QNX 在受监管领域处于领先地位。Zephyr 正在发展成为物联网的“生态系统平台”。
制造商和社区列举了各种各样的 流行的选择:Deos (DDC-I)、embOS (SEGGER)、FreeRTOS (Amazon)、INTEGRITY (Green Hills)、Keil RTX (Arm)、LynxOS/LynxOS-178 (Lynx)、MQX (NXP)、Nucleus (Mentor/Siemens)、Neutrino/QNX (BlackBerry)、PikeOS (SYSGO)、SAFERTOS (WITTENSTEIN)、ThreadX (Microsoft/Eclipse)、µC/OS (Micrium/Silicon Labs)、VxWorks (Wind River) 和 Zephyr (Linux Foundation) 等。
在硬实时环境中使用 Linux 时要小心:对于功能安全层, 通常是 RTOS 或安全分区以及通过虚拟机管理程序实现丰富并行功能的 Linux;这种混合架构广泛应用于工业、汽车和国防工业。
RTOS 的类型以及何时使用它们
在硬实时系统中,错过最后期限是系统故障: 航空电子设备、ABS刹车、 机器人 产业. 决心和认证是关键,Deos、INTEGRITY、VxWorks、QNX 或 LynxOS-178 等 RTOS 很常见。
在软实时中,小的延迟会降低质量,而不是安全性: 流、路线规划、信息娱乐轻量级内核或具有扩展的通用操作系统具有发展空间。
在公司实时事务中,截止日期很重要,但错过截止日期并不会带来灾难性的后果: 工厂自动化、多媒体选择围绕可预测性、成本和可维护性展开。
关键组件以及 RTOS 的运行方式
RTOS 提供确定性调度程序(RMS、EDF、固定优先级), 有限的延迟和中断处理 非常高效。目标是确保最坏情况,而不仅仅是平均情况。
同步使用信号量、互斥量和队列;任务之间的通信使用 消息队列和事件;内存管理最大限度地减少碎片和抖动,以保持可预测的时间。
此外,硬件基础通过 HAL 或可移植 API 进行抽象;在现代平台上,你会看到 部分或完整 POSIX以及框架 引导 安全、加密和 OTA更新 融合的。
FreeRTOS、VxWorks、QNX 和 Zephyr 的正面交锋
FreeRTOS的 它是一个极简、模块化且高度可移植的内核。自 2017 年以来,它一直受到亚马逊的支持,并与 AWS(例如 Greengrass)集成,并拥有庞大的社区。
- 最好的:最小的开销, MCU SDK 的强大支持 (ESP-IDF 集成了 Espressif 和 Amazon 的 SMP 变体),并且可以自由地“只放入您需要的内容”。在 ESP32 项目中,您可以受益于 SMP、部分 POSIX 原语以及跨平台 C/C++ 库支持。
- 最不理想的是:它缺乏一个统一的“标准堆栈”(驱动程序、文件系统、连接性)和 集成取决于供应商. 如果您需要开箱即用的安全认证,这是不够的。
VxWorks的 它代表着拥有数十年服务经验的工业级实时操作系统 (RTOS)。它以其先进的调试工具、专业的支持和 认证选项。它存在于航空航天、国防、医疗和工业领域,支持多种架构(ARM、x86、POWER、RISC-V)和SMP/AMP/混合模式模型。
- 优点:RT 性能非常出色,生态系统成熟, 清晰的认证途径缺点:商业许可需要按单位收取版税,并且用户修改核心的灵活性较低。
QNX(中微子) 它依赖于高度健壮且可靠的 POSIX 微内核,该微内核在汽车和工业控制行业中已得到广泛认可。它是一个典型的微内核: 用户空间中的服务、隔离和容错。
- 优点:可预测性、稳定性和认证;缺点: 已关闭并付款并且比开放式 RTOS 更不易被黑客入侵。它是发动机和信息娱乐系统的标杆,拥有良好的汽车行业记录。
和风由 Linux 基金会托管,它不仅仅是一个内核:它是一个完整的生态系统,包含 Devicetree、Kconfig、驱动程序、BLE/Wi‑Fi、shell、日志记录、MCUBoot 和 现代工具 (west 用于多仓库,twister 用于测试)。
- 优点:标准化 API、集成安全性和 真正的跨 MCU 可移植性缺点:学习曲线陡峭(Devicetree/Kconfig)、工具 Python 以及一种要求纪律性的“Zephyr 方式”。当项目需要严格的连接、测试和 CI/CD 时,它就会大放异彩。
您不容错过的商业和开源 RTOS
- ThreadX / Azure RTOS / Eclipse ThreadX:减少占用空间,部署在数十亿台设备上,并具有高级调度(抢占阈值)、事件链和跟踪功能。在 Azure 阶段之后, 在 Eclipse 中发展,这可能为更加透明的OSS模型铺平道路。
- 安全实时操作系统 (WITTENSTEIN):专为功能安全而设计 IEC 61508 SIL3 和 ISO 26262 ASIL D 预认证。它与 FreeRTOS 共享功能模型并提供支持的迁移路径。
- 浮雕 (SEGGER):经验丰富,高度优化, 免版税商业广告它特别适合汽车和工业领域;它提供零中断延迟、最小内存使用量,并支持 8/16/32 位版本。
- Keil RTX (手臂):自由和 免版税 对于 Cortex-M,具有灵活的调度(循环、抢占、合作)和 MDK-ARM 中良好的调试集成;它不是 Arm 未来的核心战略重点。
- MQX (恩智浦半导体):基础稳固,但与硅片制造商有密切关系, 锁定担忧 在一些OEM中。在NXP环境中,它非常实用。
- 核 (Mentor/Siemens):几年前,它是模型下的“RTOS”。 免版税源代码;如今,随着 Mentor 转向其他软件产品线,其影响力已有所缩小。
- LynxOS 和 LynxOS‑178 (Lynx Software Technologies):原生 POSIX,硬实时,并具有 DO‑178B/C DAL A 认证. LynxOS-178 拥有 FAA RSC,这是可认证可重用性的罕见 COTS avis。
- 派克操作系统 (SYSGO):分区和管理程序重点; 非常注重认证 RTOS 和 Linux/其他客户机共存的混合系统。
- 除臭剂 (DDC-I):符合 DO-178 的航空航天/国防目标;符合 每单位特许权使用费 以及非常具体的 A&D 重点。
- µC/OS / Micrium 操作系统 (Silicon Labs):历史上广泛应用于医疗和工业应用;如今它的可用性和 Silabs 宇宙之外的地址 引起一些球队的怀疑。
- 实时操作系统 (德州仪器):通过 RTOS 内核 + 中间件和驱动程序加速 TI MCU 的开发; 促进能源效率 并快速退出 IT 生态系统。
- Contiki-NG:物联网堆栈,重点关注网络;推广 Docker 和可重复的环境, 非常适合面向连接的项目 和实验。
- RIOT:GNU Make、标准工具链和大量文档; 不错的 OSS 替代品 当您需要介于裸机和完整 Zephyr 之间的某种东西时。
- 坚果X:非常强大且具有 POSIX 风格,但它的 使用 Kconfig 和环境要求可能会使某些集成和流程变得复杂 Windows.
- ChibiOS/RT:轻便、快速;在某些流程中似乎 押注特定的 IDE/工具,这可能会与已经建立的管道发生冲突。
- DuinOS:兼容主板的多线程 Arduino的 基于 FreeRTOS;适用于教育或原型开发 从Arduino进化而来 走向真正的 RTOS。
开发经验:工具链、CI/CD 和移植
团队经验与数据表同样重要:具有平滑曲线的 RTOS 和 标准工具 它可以节省数周的工作时间。FreeRTOS 几乎可以与任何语言进行编译,并且“使自身隐形”,从而简化了 C/C++ 和简单编辑器的工作流程。
Zephyr 闪耀着 west、twister、Devicetree 和 Kconfig,非常适合 持续交付实践 并在板场上进行验证。作为回报,它需要学习他们描述硬件和配置功能的方式,并且它依赖于Python。
在 ESP-IDF 中,FreeRTOS 提供了集成良好的 SMP 变体、部分 POSIX 和庞大的社区;如果您重用跨平台库(例如 POCO),您可以 分享大部分代码 对于桌面,限制启动和外围设备的具体细节。
在商业广告中,价值在于支持、线索和 问题诊断 在低水平上。当截止日期和标准遵守不留任何意外余地时,拥有供应商的支持会改变游戏规则。
认证、安全性和混合架构
如果您的目标是医疗、汽车或航空电子领域,请从一开始就查看以下内容: 证明证据 适用标准:DO‑178C(航空电子)、IEC 61508(工业)、ISO 26262(汽车)。LynxOS‑178、VxWorks、INTEGRITY、Deos 或 SAFE RTOS 等产品已建立路径。
在安全方面,Zephyr 集成了 MCUBoot、mbedTLS 和 PSA 加密,并保持良好的配置实践;FreeRTOS 提供 AWS 就绪包和安全启动选项(具体取决于供应商)。
要将 Linux 和 RTOS 结合起来,自然的方式是使用虚拟机管理程序/分区(例如 PikeOS、LYNX MOSA.ic)。所以 保留关键部分 到 RTOS,并将 UI、连接性和丰富的功能留给 Linux。
特许权使用费、许可证和总成本
在流行的选择中,他们通常携带 每单位特许权使用费:VxWorks、QNX/Neutrino、INTEGRITY、PikeOS、LynxOS、Deos。免版税:FreeRTOS(MIT)、Zephyr(Apache)、embOS(免版税商业模式)、Keil RTX、MQX、Nucleus、µC/OS、SAFE RTOS 以及 ThreadX 及其各种型号。
总成本不仅仅是许可证:它还包括 集成时间、验证、支持和风险如果支持服务能让您免去数周因认证或难以捉摸的漏洞而产生的不确定性,那么支付支持费用就很便宜。
如何决定:平台、要求和设备
如果您的硬件是 Cortex-A/x86 并且需要复杂的驱动程序,那么使用完整的操作系统或 采用 POSIX 的商业 RTOS 和支持。如果是内存受限的 MCU,FreeRTOS 或 embOS 是不错的选择。
如果您的项目需要 BLE、Wi‑Fi、FS、shell、自动化测试和可重复构建,Zephyr 可以减轻集成的痛苦,这得益于 一致的 API 和工具如果您受到监管,请在输入第一行代码之前先检查认证路径。
按团队文化:如果每个人都精通 CMake/GNU Make 并避免 Python 依赖,那么像 FreeRTOS 这样的“隐形”内核更适合;如果你的团队生活在 CI / CD和DevOps,Zephyr 会让你在中期内感到快乐。
记住硅片和工具的“锁定”:RTOS 与制造商或 封闭式套房 可能会使未来的迁移变得复杂。初期,应尽可能采用标准 HAL 和 API。
按行业划分的用例
- 汽车:发动机控制、ADAS 和信息娱乐通常由 认证 RTOS 和 POSIX 微内核;QNX 和 VxWorks 占主导地位,SAFE RTOS/INTEGRITY 出现在安全链中,Linux 在信息娱乐领域共存。
- 工业:CNC、机器人、PLC 和网关将确定性 RTOS 与 Linux 用于连接。这包括 VxWorks、INTEGRITY、LynxOS-178、PikeOS 和 FreeRTOS/Zephyr 等 OSS 选项,具体取决于风险和成本。
- 医生:输液泵、监护仪和植入式设备需要 可追溯性和证据。SAFE RTOS、VxWorks、QNX、INTEGRITY 和 µC/OS 具有很大的吸引力。
- 物联网和消费:可穿戴设备、传感器和智能家居通常优先考虑占地面积、连接性和成本: FreeRTOS 和 Zephyr 很常见,ThreadX 存在于许多商用电池中。
社区笔记和经验教训
在技术社区中,人们有强烈的意见:据说 如果你没看过广告,FreeRTOS“看起来不错”,而其他人则以其在 MCU 和供应商支持方面的真正灵活性(ESP-IDF 就是一个很好的例子)来反驳。
在 ThreadX 上,向 Eclipse 的过渡为 更加透明尽管有些团队报告 Azure 阶段的文档比较零散。关键在于:评估 repo 及其示例在 MCU 中的当前状态。
对于 Zephyr,反复出现的批评是 学习曲线 (Devicetree、Kconfig),但从长远来看,回报是项目更易于维护,自制的“胶水”更少。
在 FreeRTOS 中,“只放你需要的东西”避免了二进制文件过载,并允许您轻松自定义调度程序、堆和驱动程序。
只坚持一个食谱是自欺欺人: 每个 RTOS 都在其特定的环境中闪耀如果您需要认证和支持,销售代表是最佳选择;如果您追求最小占用空间或标准化的 OSS 生态系统,FreeRTOS 或 Zephyr 是不错的选择。对于重视 CI/CD 和可移植性的团队来说,Zephyr 提供了非常可靠的一体化解决方案;而对于那些优先考虑细粒度控制和最小摩擦的团队来说,FreeRTOS 则为他们开辟了道路。
对字节世界和一般技术充满热情的作家。我喜欢通过写作分享我的知识,这就是我在这个博客中要做的,向您展示有关小工具、软件、硬件、技术趋势等的所有最有趣的事情。我的目标是帮助您以简单而有趣的方式畅游数字世界。
