实时操作系统
对于许多物联网项目而言,基于 main() 简单循环的裸机设计不再是一个可行的选择。随着开发人员要求实施复杂通信协议,并遵循严格的时间限制,使用实时操作系统 (RTOS) 的多任务处理能力的优势愈加明显。多年来,Silicon Labs 一直支持推广采用 RTOS,并提供快速启动和运行新的多任务项目所需的所有工具。
Simplicity Studio 中的 RTOS 支持
手动将 RTOS 添加到全新的软件项目可能面临着挑战,尤其是对不太熟悉 RTOS 源文件、配置参数、典型构建设置等的人而言,这就是为什么 Silicon Labs 通过 Simplicity Studio IDE 提供 RTOS 代码的原因所在。利用 Simplicity Studio IDE 进行物联网项目的开发人员将找到预封装的示例和有用的配置工具,可加快基于 RTOS 开发工作的初始阶段。
Simplicity Studio RTOS 选项
FreeRTOS
FreeRTOS 是一款根据开源许可条款提供的轻量、易于使用的实时内核。自近二十年前问世以来,FreeRTOS 积累了庞大的用户群,并已成功研制出各种嵌入式设计。Silicon Labs 的 Simplicity Studio IDE 提供了简化创建基于 FreeRTOS 新项目的示例项目和配置工具。
Amazon FreeRTOS
2017 年末,Amazon 正式接管了 FreeRTOS 的开发和维护职责。自此,Amazon 通过一系列库集扩展了原有的代码库,其中许多库致力于在最初由 FreeRTOS 内核锁定的资源受限设备类型中实现连接。Silicon Labs 在 Simplication Studio 中构建了对 Amazon 库的支持,为开发连接设备提供了直观框架。
Micrium OS
借助 Micrium OS,开发人员拥有一套完整的 RTOS 组件,有助于应对当今物联网设计带来的众多挑战。虽然 Micrium OS 来源于商业 RTOS 领域,但可在 EFR32 和 EFM32 设备中免费使用。该 OS 仅通过 Simplicity Studio 交付,其中包括许多基于 Micrium 的有用示例,这些示例可简化早期阶段的新开发工作。
Simplicity Studio RTOS 对比
FreeRTOS | Micrium OS | ||
内核 | API | 专有无线带 CMSIS-RTOS2 层 | 专有无线带 CMSIS-RTOS2 层 |
调度算法 | 优先级的、抢占式,支持时间切片 | 优先级的、抢占式无线,支持时间切片 | |
资源保护 | 互斥量和信号量 | 互斥量和信号量 | |
信令和通信 | 信号量、事件标志、队列(按副本)和任务通知 | 信号量、任务信号量、事件标志、队列(按引用)和任务队列 | |
软件定时器 | 单次和定期 | 单次和定期 | |
内置统计 | 是 | 是 | |
所有权 | 亚马逊管理的开源项目 |
由 Silicon Labs 开发和维护 | |
许可 | MIT | 专有 (Simplicity Studio MSLA),在 EFR32 和 EFM32 上无许可费用 | |
无线协议栈支持 | 蓝牙、连接(专有无线)、OpenThread、Wi-SUN 和 Z-Wave | 蓝牙、连接(专有无线)、Wi-SUN 和 Zigbee | |
其他组件 (在 Simplicity Studio 中交付) |
Amazon FreeRTOS 库,包括 BLE 和通用 I/O | Micrium OS 文件系统、IO 模块和协议栈(TCP/IP、USB 和 CAN) |
其他 RTOS 选项
Azure RTOS
Microsoft 为联网设备开发人员提供了多种软件解决方案,Azure RTOS 是物联网巨头产品组合的最新产品之一。而 Windows IoT 和 Azure Sphere OS 等其他 Microsoft 产品的内存和处理需求超出了许多资源受限的 Cortex-M 类设备的能力。Azure RTOS 正是完全面向此类硬件。开发人员选择 Azure RTOS,能够使物联网设计获得经过完整测试的、高效和可靠的基础。
Zephyr
Zephyr 是一款综合性开源软件产品,包括内核、设备驱动程序和协议栈。该平台由 Linux 基金会负责维护,由许多不同的芯片供应商、工具提供商以及其他对开源软件感兴趣的公司提供支持。通过 Zephyr 官方 GitHub 存储库可以获得特定 Silicon Labs 套件示例,帮助开发人员开始使用该操作系统。