1. Zephyr OS 简介

Zephyr OS 是一个面向资源受限设备的实时操作系统(RTOS),由 Linux 基金会托管,旨在为物联网(IoT)、嵌入式系统提供安全、可扩展、模块化的开源解决方案。本章将带你了解 Zephyr 的发展脉络、核心特性、支持的硬件生态以及社区治理模式。

学习目标: 理解 Zephyr OS 的定位与优势,为后续搭建开发环境和编写驱动打下认知基础。

1.1 Zephyr OS 的历史

Zephyr 项目起源于 2016 年,由 Wind River 将其内部 RTOS 产品“Rocket”开源贡献给 Linux 基金会。此后,Intel、NXP、Nordic Semiconductor、Synopsys 等厂商陆续加入,推动其快速发展。2020 年,Zephyr 成为 Linux 基金会下的顶级项目,社区贡献者超过 1000 人。

关键里程碑:

  • 2016 — 项目开源,发布 1.0 版本,支持 ARM Cortex-M 和 x86 架构。
  • 2018 — 引入 Devicetree 和 Kconfig 构建系统,支持多板级配置。
  • 2020 — 成为 Linux 基金会顶级项目,发布 LTS 版本(v2.4)。
  • 2023 — 发布 v3.5 LTS,支持超过 500 种开发板,引入安全子系统。
  • 2025 — 最新稳定版 v4.0,强化多核 SMP 支持和 Zephyr SDK 统一工具链。
Zephyr OS 发展时间线 2016 开源 2018 Devicetree 2020 LTS 2023 v3.5 2025 v4.0 从单一架构到 500+ 板卡支持,Zephyr 已成为嵌入式 RTOS 领域增长最快的项目之一

1.2 核心特性

Zephyr OS 的设计围绕三个核心维度:实时性、模块化和安全性。下表总结了这些特性的具体体现:

特性维度 具体能力 技术实现
实时性 抢占式多线程、中断嵌套、优先级继承 基于优先级的调度器,支持 Tickless 内核,最小调度延迟 < 1μs
模块化 Kconfig 配置、Devicetree 硬件描述、子系统解耦 构建时裁剪,按需启用驱动/协议栈,最小镜像可低至 8KB
安全性 用户态/内核态隔离、栈保护、加密库集成 基于 MPU/MMU 的内存保护,支持 PSA Certified Level 1
可移植性 统一 HAL 层、板级支持包(BSP)抽象 一套 API 跨架构,驱动代码无需修改即可移植到新板卡
连接性 BLE、Wi-Fi、Thread、Zigbee、Ethernet、CAN 原生协议栈,支持 CoAP/MQTT/HTTP 应用层协议
模块化优势: 开发者可以通过 west build -t menuconfig 命令可视化地开关功能模块,只编译需要的组件,从而减小固件体积并降低攻击面。
Zephyr OS 核心特性架构 Zephyr 内核 实时调度 模块化构建 安全隔离 多协议栈 硬件抽象层 (HAL) + Devicetree + Kconfig 所有特性均通过 Kconfig 开关控制,最小系统仅需 8KB RAM

1.3 支持的架构与板卡

Zephyr 是目前支持硬件架构最广泛的 RTOS 之一,覆盖从低功耗 MCU 到高性能 MPU 的完整范围。下表列出主要架构及代表板卡:

架构 代表厂商 典型板卡 应用场景
ARM Cortex-M ST, NXP, Nordic, TI STM32F4 Discovery, nRF52840 DK IoT 传感器、可穿戴设备
ARM Cortex-A NXP, Rockchip i.MX8M Mini EVK 边缘网关、HMI 显示
x86 Intel Intel Galileo, QEMU x86 工业控制、原型验证
RISC-V SiFive, Bouffalo Lab HiFive1 Rev B, BL808 开源硬件、AIoT
Xtensa Espressif ESP32, ESP32-S3 Wi-Fi/BLE 无线产品
ARC Synopsys ARC EM Starter Kit 嵌入式 DSP、音频处理
注意: 不同架构的驱动开发流程基本一致,但底层 HAL 实现和中断控制器存在差异。本课程将以 ARM Cortex-M 为主要平台,兼顾 RISC-V 和 Xtensa 的移植要点。
Zephyr 支持的处理器架构 ARM Cortex-M RISC-V x86 Xtensa ARC 500+ 官方支持板卡 | 社区贡献板卡 200+

1.4 社区与许可证

Zephyr 项目采用 Apache 2.0 许可证,允许商业使用、修改和再分发,无需公开私有代码修改。这使得 Zephyr 成为企业级产品的理想选择。

社区治理结构:

  • 技术指导委员会(TSC) — 由主要贡献厂商代表组成,负责技术方向决策。
  • 维护者(Maintainers) — 每个子系统(如蓝牙、网络、驱动)有专门维护者,审核 PR。
  • 贡献者(Contributors) — 全球开发者通过 GitHub 提交代码、报告问题、参与讨论。
  • Zephyr 开发者邮件列表 & Discord — 日常技术交流与问题求助渠道。
参与社区: 你可以通过 https://github.com/zephyrproject-rtos/zephyr 提交 Issue 或 Pull Request。建议从 good first issue 标签开始,逐步熟悉代码规范。
Zephyr 社区治理结构 技术指导委员会 (TSC) 子系统维护者 板级维护者 安全维护者 全球贡献者 (1000+)

1.5 本章小结