ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

嵌入式RTOS选型参考:从300行代码cola_os到Zephyr与NuttX,痞子衡嵌入式半月刊15款RTOS全盘点

嵌入式RTOS选型参考:从300行代码cola_os到Zephyr与NuttX,痞子衡嵌入式半月刊15款RTOS全盘点 嵌入式RTOS选型参考从300行代码cola_os到Zephyr与NuttX痞子衡嵌入式半月刊15款RTOS全盘点【免费下载链接】pzh-mcu-bi-weekly痞子衡嵌入式半月刊分享嵌入式领域有用有趣的工具或项目以及一些热点新闻。从2020年2月起每半个月发布一期项目地址: https://gitcode.com/gh_mirrors/pz/pzh-mcu-bi-weekly痞子衡嵌入式半月刊是一个持续更新的开源项目从 2020 年 2 月起每半个月分享一批嵌入式领域有用有趣的工具与项目。这篇文章把半月刊里收录过的 15 款主流嵌入式 RTOS 整理成一份选型参考清单从 300 行代码实现的 cola_os到 Zephyr 与 NuttX 这类功能完备的旗舰系统帮你快速判断哪款 RTOS 最适合自己的 MCU 项目。一、嵌入式RTOS选型三步法先想清楚 3 个问题在动手之前先花 2 分钟回答这 3 个问题能帮你排除一半的候选方案⏱️实时性要求多高只做 LED 呼吸灯 串口打印轮询式任务管理就够要做电机控制、通信协议栈才需要抢占式内核。RAM/Flash 预算多大8KB RAM 的 MCU 只能选极轻量内核几十 KB 以上才能考虑生态型 RTOS。生态与语言偏好需要连云平台选带物联网组件的系统喜欢 Lua/Python 脚本化开发则选支持脚本语言的 RTOS。二、15款嵌入式RTOS速览表一张表看懂定位RTOS一句话定位典型场景收录期cola_os300 行代码的轮询式多任务 OS简单 MCU 应用的轻量任务管理第063期AntOS适配 8051 的超轻量抢占式内核小家电、轻量物联网终端第036期uC/OS嵌入式工程师的 RTOS 启蒙老师教学入门、中端 MCU 产品第003期RT-Thread国产 RTOS 之光生态完善消费级 IoT、工业终端第003期TencentOS-tiny腾讯物联网 RTOS组件可裁剪STM32 全系列 IoT 终端第019期OneOS中国移动轻量级 OS兼容 POSIX/CMSIS智能穿戴、门锁、充电第019期LuatOS支持 Lua 脚本的物联网 RTOS模组快速开发、OTA第031期AliOS Things阿里出品高可伸缩物联网 OS云物端一体化应用第041期Mbed OSARM 官方物联网软件生态Cortex-M 低功耗产品第045期Lua-RTOS-ESP32基于 Lua 的三层架构 RTOSESP32 脚本化开发第062期Embox复用 Linux 开源组件的可配置 RTOS资源受限系统的 Linux 风格开发第075期NuttX强调 POSIX/ANSI 标准的成熟 RTOS中高端 MCU、接近 Linux 的开发体验第084期At-RTOS面向 Cortex-M 的用户友好型 RTOS固件快速开发第094期CHERIoT RTOS面向安全物联网的 RISC-V RTOS高安全要求的隔离应用第096期Zephyr可扩展的小型物联网 RTOS 标杆智能手表、传感器节点、BLE 设备第111期三、轻量级RTOS推荐小内存MCU的务实之选cola_os300行代码搞定多任务管理很多 MCU 功能简单、实时性要求不强上 RTOS 显得浪费任务多了管理不当又很乱——cola_os 正是这种场景下简单好用的轮询式任务管理方案核心代码只有 300 行阅读源码本身就是学习任务调度思想的好材料。详见 docs/issue-063.md。AntOS8051 内核也能跑 RTOSAntOS 是专为小型家电及轻量物联网终端设计的超轻量级抢占式内核运行在 8051 内核的 MCU 上。它提供内核层、服务层、应用层三级分层服务可以任意裁剪让老 51 平台也能获得基本的实时能力。uC/OS中国工程师的 RTOS 启蒙老师源于 1992 年的 uC/OS是中国大部分嵌入式工程师的 RTOS 启蒙老师。除了简单易用和开源特性邵贝贝老师翻译的《嵌入式实时操作系统 uC/OS-II》对其推广起到了很大作用至今仍是学习抢占式内核调度机制的经典教材。RT-Thread国产RTOS生态标杆RT-Thread 是国产 RTOS 之光生态体系建设越来越完善用户群也越来越庞大。配套的一站式开发工具 RT-Thread Studio 是构建其软件生态的重要一环适合希望开箱即用的消费级与工业终端项目。四、大厂物联网RTOS云物端一体化开发TencentOS-tiny腾讯出品的物联网实时操作系统TencentOS tiny 具有低功耗、低资源占用、模块化、安全可靠等特点内核组件可裁剪可配置可快速移植到 STM32 全系列等主流 MCU。其内置 CoAP/MQTT/TLS/DTLS/LoRaWAN/NB-IoT 等主流协议栈可助力物联网终端快速接入腾讯云物联网平台。OneOS中国移动的轻量级操作系统OneOS 具有可裁剪、跨平台、低功耗、高安全等特点支持 ARM Cortex-M/R/A、MIPS、RISC-V 等主流 CPU 架构兼容 POSIX、CMSIS 标准接口还支持 Micropython 语言开发。作为新晋 RTOS其行业定位精准面向智能穿戴、智能门锁、智慧充电、环境监测等智慧系统。AliOS Things阿里出品的高可伸缩物联网 OSAliOS Things 发布于 2017 年云栖大会面向 IoT 领域具备极致性能、极简开发、云端一体三大特点。它支持 ARM、C-Sky、MIPS、RISC-V 等多种 CPU 架构所有模块都以组件形式存在通过 yaml 配置即可方便地选择应用所需组件。Mbed OSARM 官方的物联网软件生态Mbed OS 是 ARM 打造、主打 IoT 的一整套软件解决方案是面向 ARM Cortex-M 系列处理器的嵌入式开源生态。它将安全、通信传输与设备管理等物联网所需基础组件整合为完整软件协助开发低功耗、产品级的物联网设备并实现量产。LuatOS 与 Lua-RTOS-ESP32用 Lua 脚本玩转 RTOS合宙 LuatOS 让用户只写 Lua 代码就能完成各种功能内存需求最低 32KB、Flash 96KB硬件抽象层兼容 M3/ARM/RISC-V/Win32支持 QEMU 模拟与在线升级非常适合物联网模组快速开发。Lua-RTOS-ESP32 同样是基于 Lua 的 RTOS采用三层设计顶层 Lua 5.3.4 解释器提供 PIO/ADC/I2C 等硬件模块和 MQTT 等中间件服务中间层是由 FreeRTOS 驱动的实时微内核对 FLASH 和 RAM 的要求最低目前可用于 ESP32、ESP8266 和 PIC32MZ。五、功能完备型RTOSZephyr、NuttX与更多Zephyr面向物联网的小型可扩展RTOSZephyr 是物联网领域公认的 RTOS 标杆主打小型、可扩展配套 Kconfig 配置系统、West 命令行管理工具等完善的构建体系见 docs/issue-111.md在 BLE 设备、传感器节点上应用广泛。基于 Zephyr 的 ZSWatch 是一个从零开始的全开源智能手表项目硬件和软件全部开源是体验 Zephyr RTOS 开发流程的绝佳案例见 docs/issue-073.md。NuttX风格接近 Linux 的成熟实时操作系统NuttX 是一个实时操作系统强调标准遵从性和小占用空间可从 8 位到 64 位的微控制器环境扩展主要遵循 POSIX 和 ANSI 标准。它的驱动和应用开发在结构、接口、风格上都非常像 Linux但又加入了 Linux 不具备的元素和实时特性是从 Linux 团队转向 RTOS 开发的理想选择。Embox没有 Linux 也能复用 Linux 软件Embox 是为资源受限和嵌入式系统设计的可配置实时操作系统核心思想是在没有 Linux 的情况下使用 Linux 软件——直接复用大量 Linux 开源组件让开发者以更低的适配成本获得类 Linux 的开发体验。CHERIoT RTOS面向安全物联网的 RISC-V 新选择CHERIoT RTOS 建立在 CHERI 与 RISC-V 之上提供 ISA 和软件模型让依赖对象粒度空间的软件在内存释放后依然具有确定性和安全性并支持扩展到大量隔离空间——即便在 SRAM 低于 256KB 的系统上也能运行。适合对内存安全有严苛要求的物联网设备。At-RTOS面向 Cortex-M 的用户友好型RTOSAt-RTOS 专为 ARM Cortex-M 系列架构设计具备良好实时性能提供简洁清晰的接口和丰富的文档覆盖任务管理、内存管理、通信协议等常用能力目标是简化嵌入式固件开发、帮助新手快速上手。六、RTOS选型延伸调试工具与更多新锐内核选好了 RTOS配套的可视化工具同样重要。Tracealyzer 是用于 RTOS 与 Linux 嵌入式系统的可视化跟踪调试软件支持 FreeRTOS、RTX5、ThreadX、uC/OS-III、VxWorks 等能加快固件开发与系统验证见 docs/issue-052.md。半月刊后续期次还收录了更多值得关注的实时内核可继续翻阅LK专为小型系统设计的双核 SMP 内核docs/issue-114.mdSKRTOS_sparrow极其微小的实时操作系统内核docs/issue-114.mdCosyOS主打零中断延迟的 RTOSdocs/issue-116.md七、嵌入式RTOS选型建议速查按资源规模对号入座你的情况建议优先考虑RAM 不足 8KB任务简单cola_os、AntOS 这类超轻量内核刚入门想系统学调度原理uC/OS 读源码 cola_os 上手实践物联网终端要快速量产、接云平台RT-Thread、TencentOS-tiny、AliOS Things团队熟悉 Linux想复用现有组件NuttX、EmboxBLE 手表/传感器节点等新式 IoT 产品Zephyr参考 ZSWatch 项目喜欢脚本化开发快速迭代LuatOS、Lua-RTOS-ESP32安全合规要求高、RISC-V 平台CHERIoT RTOS 小贴士选型不必一步到位。可以先用轻量内核跑通业务流程再根据实时性瓶颈决定是否换用功能完备的 RTOS——半月刊每一期的原始介绍都在 docs/ 目录下欢迎按图索骥找到最适合你的那一款嵌入式 RTOS。【免费下载链接】pzh-mcu-bi-weekly痞子衡嵌入式半月刊分享嵌入式领域有用有趣的工具或项目以及一些热点新闻。从2020年2月起每半个月发布一期项目地址: https://gitcode.com/gh_mirrors/pz/pzh-mcu-bi-weekly创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表