FreeRTOS:
核心功能: 任务调度(固定优先级抢占式 + 时间片轮询)、队列、信号量(二进制、计数)、互斥锁(带优先级继承)、软件定时器、事件组(事件标志)、任务通知(高效轻量级的信号量/事件标志替代)。
内存管理: 提供多种内存分配方案(heap_1 到 heap_5)供选择,开发者也可以轻松集成自己的内存分配器。
Tickless 模式: 支持低功耗的 Tickless 空闲模式。
多核支持 (FreeRTOS SMP): 有官方对称多处理 (SMP) 版本,支持多核处理器。
MPU 支持: 支持内存保护单元 (MPU),用于任务隔离和提升可靠性/安全性。
POSIX 兼容层: 可选组件,提供部分 POSIX 接口兼容。
功能扩展: 通过项目(如亚马逊的 FreeRTOS)提供丰富的连接(WiFi, BLE)、安全(TLS)、文件系统、OTA 更新等中间件库(部分可能需要遵守 AWS 条款)。
uC/OS-II:
核心功能: 任务调度(固定优先级抢占式 + 时间片轮询)、信号量、互斥锁(带优先级继承)、消息邮箱、消息队列、事件标志、内存分区管理、软件定时器。
内存管理: 提供内存分区(固定大小块)管理机制,高效且避免碎片(但灵活性不如动态堆分配)。也可以集成自己的内存分配器。
严谨性: 以其高可靠性和确定性著称,代码经过严格的验证和测试(包括航空/医疗等关键领域),具有 MISRA-C 合规版本。
证书与认证: 历史上提供多种安全关键领域的认证包(如 DO-178B, IEC 61508, ISO 26262 等),是其传统优势领域。开源后,认证可能需依赖 Silicon Labs 或第三方。
多核支持: 本身设计为单核 RTOS。多核需求通常需升级到 uC/OS-III(专门设计支持多核)或使用其他方案。
|
|