zephyr系统总体架构

一、总体简介

        Zephyr是一种微型物联网实时操作系统,为所有资源受限设备,构建了针对低功耗、小型内存微处理器设备而进行优化的物联网嵌入式小型、可扩展的实时操作系统(RTOS),支持多种硬件架构及多种开发板。
它支持多种硬件平台:ARM Cortex-M、Intel x86 和 ARC,详细可以上Zephyr官网查看。

1.Zephyr官网

Zephyr官网详细介绍了该系统支持的硬件平台、开发步骤、配置、OS系统架构等。
官网地址:
https://docs.zephyrproject.org/latest/services/index.html
官方代码地址:
https://github.com/zephyrproject-rtos/zephyr

2.内核系统

        Zephyr是一个轻量级的操作系统。它提供了两种内核:微内核 microkernel 和超微内核 nanokernel,用户可以在编译时通过配置文件配置使用哪种内核:同时使用微内核和超微内核,或者只使用超微内核。
超微内核具有内核的一系列基础特征,是一个高性能、多线程的执行环境。超微内核适用于内存很少(最少为 2KB)的系统或者简单的多线程系统(比如只有一些列中断处理和单后台 task)。这样的系统主要包括:嵌入式传感器 hub、传感器、简单 LED 可穿戴设备以及商店库存的标签。
       微内核比超微内核做了更多功能上的扩展。微内核适用于内存更多(50 ~ 900 KB)、多通信设备(比如WIFI、低功耗蓝牙)、多 task是我系统。这样的系统主要包括:可穿戴设备、智能手表、物联网无线网关。

二、Zephyr架构

系统架构:


Zephyr融入了功耗控制,支持多种物IoT技术协议,也支持HAL层


无线连接架构:


1.关键特性
支持多线程服务,包括基于优先级的、非抢占式的fiber和基于优先级的、抢占式的task(提供可选的时间片)
中断服务
线程间同步服务,包括二进制信号、互斥信号和计数信号
线程间数据传递服务,包括消息队列、字节流
内存分配服务
电源管理服务,包括无滴答CPU空转和高级CPU空转
高可配置性,允许应用仅加入所需功能
Zephyr在编译时定义所需系统资源,以减小代码大小并提升性能
提供最小运行时错误检查,减小代码规模提升性能


2. Zephyr源码目录结构

      ├── arch                      包含和硬件体系结构相关的代码,每种平台占一个相应的目录
      ├── boards                  板级代码及相关的配置文件,如 nRF9160_pca10090 等
      ├── cmake                   构建 Zephyr 需要额外的构建脚本
      ├── doc                       系统文档目录
      ├── drivers                  设备驱动,每个不同的驱动占用一个子目录
      ├── dts                        devicetrree 源文件,用于描述特定板子的设备细节,如外设寄存器数量及寄存器地址
      ├── ext                        其他功能的支持
      ├── include                 包括所有公共 api 的文件,除了在 lib 下定义的部分
      ├── kernel                   与架构无关的内核代码
      ├── lib                         库代码,包括最小的标准 C 库
      ├── misc                     不属于任何其他顶级目录的杂项代码
      ├── modules               提供特定芯片系列的一些外设配置选项
      ├── samples                演示使用 Zephyr 特性的示例应用程序
      ├── scripts                   用于构建和测试 Zephyr 应用程序的各种程序和其他文件。
      ├── soc                        SoC 相关代码和配置文件,如 nRF9160 soc
      ├── subsys                   zephyr 子系统,包括 USB,网络,文件系统及蓝牙等
      ├── tests                      测试 Zephyr 特性的代码
      ├── CMakeLists.txt      CMake 构建系统的顶层文件,包含构建 Zephyr 所需的大量逻辑
      ├── Kconfig                 顶层 Kconfig 文件,它引用 Kconfig.zephyr 文件。也可以在顶级目录中找到
      ├── west.yml               West 清单,列出由 West 命令行工具管理的外部存储库

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值