内核服务概述
Zephyr内核位于每个Zephyr应用程序的核心。它提供了一个低占用、高性能、多线程执行环境,具有丰富的可用特性。Zephyr生态系统的其余部分,包括设备驱动程序、网络堆栈和特定于应用程序的代码,它们使用内核的特性来创建一个完整的应用程序。
内核的可配置特性允许您只合并应用程序所需的那些特性,这使其非常适合内存有限的系统(仅为2KB!)或者使用简单的多线程需求(例如一组中断处理程序和单个后台任务)。这类系统的例子包括:嵌入式传感器hub、环境传感器、简单的LED可穿戴设备和存储库存标签。
需要更多内存(50到900KB)、多个通信设备(如Wi-Fi和蓝牙低能耗)和复杂的多线程的应用程序,也可以使用Zephyr内核来开发。这类系统的例子包括:健身可穿戴设备、智能手表和物联网无线网关。
调度、中断和同步
本文涵盖了与线程调度和同步相关的基本内核服务。
- 线程
- 调度
- CPU空闲
- 系统线程
- 工作队列线程
- 没有线程的操作
- 中断
- 轮询API
- 信号量
- 互斥量
- 条件变量
- 事件
- 对称多核处理器
数据传递
本文涵盖了可用于在线程和isr之间传递数据的内核对象。
下表总结了它们的高级特性。