Introduction
The Zephyr OS is based on a small-footprint kernel designed for use on resource-constrained and embedded systems: from simple embedded environmental sensors and LED wearables to sophisticated embedded controllers, smart watches, and IoT wireless applications.
The Zephyr kernel supports multiple architectures, including ARM Cortex-M, Intel x86, ARC, NIOS II, Tensilica Xtensa and RISC-V 32.
Zephyr is permissively licensed using the Apache 2.0 license.
Zephyr是一个面向物联网的嵌入式实时操作系统(RTOS),是Linux基金会旗下的一个项目,具有以下特点:
1.安全的,灵活、高可扩展性,支持多种硬件平台(ARM、ARC、X86、xtensa、nois2、riscv32);
2.基于Apache 2.0许可,完全开源,代码托管在github;
3.主要用C语言编写,代码风格、框架与Linux十分相似;
4.支持多种开发环境(Windows、Linux、MacOS);
Zephyr 是 Linux 基金会于 2016 年 2 月发布的物联网操作系统,其内核源自大名鼎鼎的Wind River 公司的商用VxWorks系统,Intel收购Wind River后,牵头组织开发了Zephyr,目前会员有NXP、Nordic、Synopsys等。
Zephyr主要面向资源受限的物联网设备。类似这样的 RTOS 其实不在少数,像比较知名就有 µC/OS, FreeRTOS, Contiki, mbed OS 等等,作为后来者的 Zephyr,有以下几个特点:
1.轻量级
Zephyr 可在 RAM 大小为 8KB 的 MCU 上流畅运行,经过裁剪甚至可在 RAM 为最小的 2KB 时运行
2.支持多种硬件架构,方便移植
Zephyr大部分代码几乎不加修改,就可以在其支持的多种硬件上运行
Zephyr支持的单片机如下:
https://docs.zephyrproject.org/latest/boards/index.html
3.可裁剪、配置灵活
Zephyr 为了灵活配置,在内核编译配置上借鉴了 Linux 的 Kconfig 机制,使用该机制能够很方便地选择编译哪些功能。在终端,通过运行以下命令,可利用界面操作的方式对内核选项进行配置:
make [BOARD=<type>] menuconfig
4.支持多种物联网协议
物联网没有统一的通信协议,现状是多种协议并存,主流的协议就有:ZigBee, Thread, 6LoWPAN, BLE, Wi-Fi, NFC, 3GPP 等等。
作为一个很有野心的物联网操作系统,Zephyr能够很好地支持这些协议。
5.支持 JavaScript和Python
JerryScript和MicroPython都可以很方便的移植到Zephyr上