Zephyr项目介绍
Zephyr内核是为资源受限的系统专门设计的资源需求与占用很小的内核:从简单的嵌入式环境传感器与LED可穿戴设备到复杂的智能手表和IoT无线网关。
Zephyr被设计为能够支持不同的硬件架构,包括ARM Cortex-M、Intel X86以及ARC。其所支持的全部处理器平台列表可以在这里找到。
许可证
Zephyr项目的内核允许用户和开发者在Apache 2.0许可下使用。
Zephyr内核特色
Zephyr内核提供了许多与其它低资源占用系统完全不同的特点:
- 单一地址空间系统:将应用程序相关的特定代码和定制的系统内核结合,创建一个单一的映像文件用以被系统硬件加载和执行。应用程序相关的代码和内核代码在相同的地址空间中执行。
- 高度可定制:允许应用程序在需要某种能力时,仅集成它们所需的这些功能,并指定其规模和数量。
- 编译时定义资源使用量:所需的系统资源应该编译时就被定义,用以减小代码尺寸和提高系统性能。
- 最小化错误检查:为了减小代码尺寸和提升系统性能,系统提供了最小化的运行时错误检查机制。此外系统还提供了一个可选的错误检查基础组件用以帮助开发者在应用开发时调试错误。
- 广泛的服务套件:为开发提供了大量的常用服务:
- 多线程服务,提供了基于优先级的非抢占式多线程和基于优先级的可抢占式多线程以及可选的时间片轮转调度。
- 中断服务,提供了编译时和运行时的中断服务注册功能。
- 线程间同步服务,提供了二进制信号量,计数信号量以及互斥信号量。
- 线程间数据传递服务,提供了基本的消息队列,增强型消息队列以及字节流。
- 内存分配服务,提供了动态分配和回收定长/变长尺寸内存块的功能。
- 电源管理服务,提供了如无滴答空闲(tickless idle)和高级空闲基础设施(Advanced idling infrastructure)等功能。