原文地址:
https://www.zephyrproject.org/doc/about_zephyr.html
Zephyr kernel是一个为资源有限系统设计的一个为内核:从简单的嵌入式环境检测传感器、LED穿戴设备到复杂的智能手表和物联网无限网关。
Zephyr被设计支持多体系架构,包含ARM Cortex-M,intel X86和ARC等等:
Supported Boards
The following boards are currently supported:
Note
Developers can create additional board configurations which allow Zephyr-based applications to run on other target systems.
x86 Instruction Set
Arduino 101
Quark D2000 CRB
Galileo Gen1/Gen2
Minnowboard Max
X86 Emulation (QEMU)
ARM (v7-M and v7E-M) Instruction Set
ARM Cortex-M3 Emulation (QEMU)
Arduino Due
Freescale FRDM-K64F
ARC EM4 Instruction Set
Arduino 101
For details on how to flash a Zephyr image, see the respective board reference documentation.
许可证
Apache License, version 2.0
特性
Zephyr 内核提供了一些列与其他微内核系统不同的特性:
1.Single address-space OS(独立地址空间的操作系统)
将面向应用的代码和定制内核结合来生产一个可以在系统硬件上加载和执行的整体镜像。应用代码和内核代码在一个独立的共享地址空间执行
2.Highly configurable(高度可配置)
允许应用只包含需要包含的功能并指定其数量和大小
3.Resources defined at copile-time(编译时资源指定)
要求所有系统资源在编译时就被指定,这能减少代码量并提升性能
4.Minimal error checking(小粒度异常检测)
提供小粒度的运行时异常检测来减少代码量和提升性能。一个可选的异常检测工具被提供用来在开发应用时进行debug
5.Extensive suite of services(一系列服务)
为开发提供一系列相似的系统服务
- 指定轮询次数的基于优先级非抢占和抢占式任务调度的多线程(任务调度)服务
- 编译时和运行时注册的中断句柄对应的中断服务
- 为二进制信号量,计数器信号量和互斥信号量服务的线程内同步服务
- 为消息队列,增强消息队列和字节流服务的线程内数据传输服务
- 时钟空转(tickless idle)和高级空转基础结构(advanced idling infrastructure)之类的电源管理服务