Zephyr 项目简介

Zephyr RTOS 是一款专为安全、低功耗、互联的嵌入式设备设计的实时操作系统(RTOS),旨在为物联网(IoT)、可穿戴设备、工业控制、智能家居和医疗设备等广泛应用场景提供一个安全、可靠且可扩展的软件平台。 Zephyr 具备出色的可扩展性,其配置范围可从适用于资源极度受限设备的紧凑型内核,无缝扩展至支持高性能、复杂应用的全功能系统。

Zephyr 项目由 Linux 基金会托管,是一个采用 Apache 2.0 许可证的开源项目。项目采用供应商中立的治理模式,由 Zephyr 项目社区共同维护,这促进了广泛的行业协作与快速的技术创新。

除了现代化的实时内核外,Zephyr 还提供了一个功能丰富的生态系统,包括:

  • 中间件与网络协议栈

  • 加密与安全特性

  • 文件系统支持

  • 安全引导程序(Secure Bootloader)

  • Shell 交互式命令行

  • 追踪(Tracing)与日志记录(Logging)功能

  • 对 200+ 多种传感器驱动的原生支持,且支持列表持续扩展

主要优势

  • 超越内核的丰富生态系统:提供完整的软件栈,简化开发。

  • 卓越的可扩展性:支持从最小的微控制器到瑞昱 Ameba 产品系列中最先进的设备。

  • 供应商中立的治理模式:开放的协作环境,促进跨行业创新。

  • 强大的开源社区基础:推动软件复用,加速产品开发周期,并实现快速的问题发现与修复。

  • 对安全性、可维护性及现代开发工具的专注:满足现代嵌入式系统开发的高标准要求。

Realtek 积极参与 Zephyr 项目的开源生态,为社区提供开发支持与贡献。公司致力于持续增强和优化 Zephyr RTOS,确保其在 Realtek 硬件平台上实现深度集成与无缝运行,从而为多样化的物联网设备提供广泛的技术支持。

Zephyr 架构

Zephyr 是一个多功能、全面的实时操作系统(RTOS),支持多种硬件供应商。它通过专门开发的硬件抽象层(HAL)来支持不同厂商的各种设备。 使用 Zephyr 的开发者可以直接利用标准的 Zephyr API 进行应用程序开发,而无需深入了解底层硬件的具体细节。

Zephyr OS 的系统架构如图所示:

../../../_images/zephyr_architecture.svg

Zephyr OS 整体框架

内核 / 硬件抽象层 (HAL)

  • 内核服务:提供线程管理、同步机制、数据传递、中断处理、时间管理、内存管理等功能。

  • 任务调度:采用基于优先级的抢占式调度算法,支持协作式调度。

  • 电源管理:实现系统的节能策略,支持多种低功耗模式。

  • 平台相关的特殊驱动:包括看门狗定时器、传感器、加密硬件、Flash 存储等。

操作系统服务 (OS Services)

  • 统一的设备驱动模型:定义标准化的 API 和框架,用于开发和集成各类硬件设备驱动。

  • 文件系统、日志记录、Shell 与线程间通信 (IPC):提供文件操作、日志记录、交互式命令行(Shell)及线程间通信机制。

  • 网络链路层 (L2) 支持:提供对多种链路层技术(如 Ethernet, IEEE 802.15.4, BLE)的驱动和抽象,实现与物理层的解耦。

  • 网络核心协议栈:实现 IPv4/IPv6、6LoWPAN 等网络层和传输层协议,并提供统一的 BSD Sockets API 接口。

应用服务 (Application Services)

  • 高层网络协议:提供对 HTTP、CoAP、MQTT、TLS、DTLS 等应用层协议的支持,便于创建联网应用。

  • 协议与数据格式支持:集成对关键物联网通信协议和安全协议的支持,简化应用开发。

Zephyr HAL

瑞昱提供的硬件抽象层 (HAL) 通过标准化接口和 API,简化了 Ameba 微控制器 (MCU) 的底层硬件细节,使开发者能够与操作系统 API 交互,避免了直接访问底层硬件的复杂性。

../../../_images/Zephyr_hal.svg

Zephyr Boot

待补充