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

被折叠的 条评论
为什么被折叠?



