附录01 Zephyr
约 779 字大约 3 分钟
2026-04-25
1 概述
Zephyr 是一款由 Linux 基金会 托管、Apache 2.0 许可证 授权的开源实时操作系统(RTOS),面向资源受限的嵌入式设备(如 MCU、传感器、可穿戴设备、IoT 网关等)。项目始于 2016 年,由 Intel、NXP、Nordic 等行业巨头联合发起,采用中立社区治理模式,不属于单一厂商控制。
2 官方地址
- 官网:https://www.zephyrproject.org/
- GitHub 仓库:https://github.com/zephyrproject-rtos/zephyr
- 官方文档:https://docs.zephyrproject.org
3 核心技术特点
轻量可裁剪
- 极小资源需求:最小内核仅需 2KB RAM + 10KB Flash,可运行于 8KB RAM 的低端 MCU。
- 高度模块化:通过 Kconfig 配置系统 按需裁剪功能,无冗余代码。
跨架构与设备树(DTS)
- 支持多硬件架构:ARM (Cortex‑M/A/R)、RISC‑V、x86、ARC 等,兼容数百种开发板。
- 设备树(Device Tree):用文本文件描述硬件引脚、外设(如 LED、UART),无需修改代码即可适配不同硬件,大幅提升可移植性。
实时调度与多任务
- 灵活调度策略:抢占式 / 协作式混用、时间片轮转、32 级动态优先级,支持优先级继承。
- 多任务管理:原生支持多线程、中断线程化、多核 SMP/AMP。
内置丰富协议栈与驱动
- 无线通信:蓝牙 5.x(BLE/Mesh)、WiFi、LoRa、Zigbee(OpenThread) 完整支持。
- IoT 协议:内置 MQTT、CoAP、LwM2M、TCP/IP(IPv4/IPv6),开箱即用。
- 外设驱动:传感器、显示屏、USB、CAN 等数百种驱动原生集成。
安全与低功耗
- 安全机制:内存保护 (MPU/MMU)、线程隔离、安全启动、固件加密 (PSA Crypto)。
- 电源管理:多级休眠、动态功耗调节、外设时钟门控,适合电池供电的低功耗设备。
商用友好许可证
- Apache 2.0:允许商业产品免费使用、修改、分发,无需开源应用代码,无 GPL 传染性风险。
4 Zephyr 与 FreeRTOS 核心区别
| 对比维度 | Zephyr RTOS | FreeRTOS |
|---|---|---|
| 开发主体 | Linux 基金会(中立社区,多厂商共治) | Amazon(单一厂商收购维护) |
| 许可证 | Apache 2.0(商用友好) | MIT(宽松,但生态组件可能有商业限制) |
| 硬件适配 | 设备树 (DTS) 自动配置,跨硬件移植便捷 | 手动移植 port 层,换硬件工作量大 |
| 调度能力 | 抢占/协作/时间片,32 级动态优先级,支持 SMP | 纯抢占式,固定优先级,无原生 SMP |
| 协议栈 | 内置蓝牙 5.x、WiFi、MQTT、CoAP 等 | 仅基础内核,需额外集成第三方库 |
| 适用场景 | 复杂 IoT 设备、蓝牙/WiFi 多协议、工业控制 | 资源极度受限的简单 MCU 项目 |
5 在本项目中的应用
本项目使用 Zephyr 的以下能力:
- LED Strip 驱动:通过设备树配置 WS2812 SPI 驱动
- BLE Mesh:完整的 Bluetooth Mesh 协议栈,含 OnOff/Lightness/Vendor 模型
- GPIO 中断:按键输入检测与软件去抖
- Kconfig:按需启用功能模块(Mesh、NVS、RTT 等)
- Iterable Sections:实现灯效编译期自动注册
