Zephyr(RTOS) 编程 XIAO SAMD21
什么是RTOS
当今嵌入式系统最重要的组件之一是RTOS,也称为实时操作系统,它负责从任务调度到执行应用程序的所有事务。
RTOS 旨在提供可预测的执行模式。当处理必须满足系统的时间限制时,使用RTOS。因此,与GPOS(通用操作系统)相比,RTOS通常重量轻、体积小,并且一般只提供在特定硬件上运行特定类型应用程序所需的功能。在某些情况下,开发人员可以修改现有的 RTOS,缩小范围以仅提供特定应用程序所需的功能,和/或自定义其功能或性能特征。
什么是Zephyr
Zephyr 操作系统基于小型内核,设计用于资源受限的嵌入式系统:从简单的嵌入式环境传感器和 LED 可穿戴设备到复杂的嵌入式控制器、智能手表和物联网无线应用。
特征
Zephyr 提供了大量且不断增长的功能,包括:
广泛的内核服务套件:
Zephyr 提供了许多熟悉的开发服务:
- 多线程服务,用于协作、基于优先级、非抢占式和抢占式线程,具有可选的循环时间切片。包括 POSIX pthreads 兼容 API 支持。
- 中断服务用于中断处理程序的编译时注册。
- 内存分配服务用于动态分配和释放固定大小或可变大小的内存块。
- 用于二进制信号量、计数信号量和互斥信号量的线程间同步服务。
- 用于基本消息队列、增强消息队列和字节流的线程间数据传递服务。
- 电源管理服务,例如总体、应用程序或策略定义的系统电源管理和细粒度、驱动程序定义的设备电源管理。
多种调度算法
Zephyr 提供了一套全面的线程调度选择:
- 协作式和抢占式调度
- 最早的截止时间优先(EDF算法)
- 实现“中断下半部分”或“tasklet”行为的元IRQ调度
- Timeslicing: 在同等优先级的可抢占线程之间启用时间切片
- 多种排队策略:
- 简单的链表就绪队列
- 红/黑树就绪队列
- 传统的多队列就绪队列
低功耗蓝牙5.0支持
兼容蓝牙5.0 (ESR10),支持蓝牙低功耗控制器(LE链路层)。包括蓝牙网格和蓝牙合格蓝牙控制器。
- 所有可能的LE角色的通用访问配置文件(GAP)
- 通用属性配置文件(GATT)
- 配对支持,包括蓝牙4.2的安全连接功能
- 干净的HCI驱动抽象
- 原始的HCI接口来运行Zephyr作为控制器,而不是完整的主机堆栈
- 使用多个流行的控制器进行验证
- 高度可配置
Mesh组网支持:
- 中继,朋友节点,低功耗节点(LPN)和GATT代理功能
- 两种供应持有者都支持(PB-ADV和PB-GATT)
- 高度可配置,适合至少16k RAM的设备
开始
技术支持和产品讨论
感谢您选择我们的产品!我们在这里为您提供不同的支持,以确保您使用我们的产品的体验尽可能顺利。我们提供多种沟通渠道,以满足不同的喜好和需求。