0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

zephyr设备驱动程序模型

HOHO_ 2025-07-29 10:34 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

wKgZO2iIMnSAIVm5AAEUGNYdu18770.png

wKgZPGiIMqSASKo0AAEfKJEMEqw537.png

1:Zephyr 内核支持多种设备驱动程序。驱动程序是否可用取决于board 和驱动程序。


Zephyr 设备模型为配置作为系统一部分的驱动程序提供了一致的设备模型。设备型号负责初始化配置到系统中的所有驱动程序。


每种类型的驱动程序(例如 UART、SPII2C)都由通用类型 API 支持。


在此模型中,驱动程序在驱动程序初始化期间填充指向包含指向其 API 函数的函数指针的结构的指针。这些结构按初始化级别顺序放入 RAM 部分。

2:标准驱动程序

下面列出了所有受支持的板配置上存在的设备驱动程序。

中断控制器 :此设备驱动程序由内核的中断管理子系统使用。

定时器 :此设备驱动程序由内核的系统时钟和硬件时钟子系统使用。

串行通信 :此设备驱动程序由内核的系统控制台子系统使用。

Entropy: This device driver provides a source of entropy numbers for the random number generator subsystem.(此设备驱动程序为随机数生成器子系统提供熵数源,对随机值使用随机 API 函数 。 熵函数不应直接用作随机数生成器源,因为某些硬件实现被设计为随机数生成器的熵种子源,并且不会提供加密安全的随机数流)

3:同步调用

Zephyr 为多个板提供了一组设备驱动程序。每个驱动程序都应支持基于中断的实现,而不是轮询,除非特定硬件不提供任何中断。


通过特定于设备的 API 访问的高级调用,例如 i2c.h 或 spi.h,通常用作同步。因此,这些调用应该被阻止。

驱动API/device.h 为设备驱动程序提供了以下 API。这些 API 仅用于设备驱动程序,不应在应用程序中使用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 驱动程序
    +关注

    关注

    19

    文章

    872

    浏览量

    50728
  • BLE技术
    +关注

    关注

    0

    文章

    35

    浏览量

    6959
  • Zephyr
    +关注

    关注

    1

    文章

    61

    浏览量

    6629
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何在 Yocto 中集成由 HID 设备控制的 I2C 触摸驱动程序

    我使用的是汇顶科技触摸,它通过 hid-ft260 等 hid 设备连接到 imx 处理器。 如何在 Yocto 中集成由 HID 设备控制的 I2C 触摸驱动程序。目前,我正在 HID 设备
    发表于 04-23 07:22

    Zephyr OS上启用NPU的实用方案

    今天,我们将正式在 Zephyr中加入NPU软件支持,让模型不仅能“跑起来”,还能“跑得飞快”。是的,本期开始就是实战环节!
    的头像 发表于 03-09 10:37 1038次阅读
    在<b class='flag-5'>Zephyr</b> OS上启用NPU的实用方案

    在 VisionFive 2 上尝试 Zephyr 时没有输出是怎么回事?

    我按照指示进行作官方文档在 VisionFive 2 上测试 Zephyr hello_world demo,虽然我成功编译了目标程序,但发送到 UART 后,我在 tty 上没有看到任何输出
    发表于 02-05 06:49

    【「Linux 设备驱动开发(第 2 版)」阅读体验】Linux内核平台抽线共和设备驱动程序

    ;&CRG 0xe4 0>; }; 处理SPI和I2C设备寻址 SPI和I2C设备都属于非内存映射设备,因为它们的地址对CPU来说是不可访问的,相反,父设备
    发表于 02-03 21:57

    【瑞萨FPB-RA6E2试用】GPIO-Zephyr RTOS 闪烁程序设备树理解

    GPIO-Zephyr RTOS 闪烁程序设备树理解 0、项目简介 B站视频教程地址: https://www.bilibili.com/video/BV1eqitBtEqm/?vd_source
    发表于 01-13 14:37

    【瑞萨RA × Zephyr评测】ADC、DAC和PWM

    本文章旨在评估使用 Zephyr RTOS 在 Renesas FPB-RA6E2 开发板上实现 ADC(模数转换器)、DAC(数模转换器)和 PWM(脉宽调制)功能的应用。评估内容包括设备树配置、驱动初始化流程、主
    的头像 发表于 01-10 10:22 2668次阅读
    【瑞萨RA × <b class='flag-5'>Zephyr</b>评测】ADC、DAC和PWM

    当RA MCU遇见Zephyr系列(4)——闪灯程序的构建与调试

    Zephyr集成开发环境在上一篇文章中我们成功了搭建了环境,那么接下来就用闪灯程序来认识一下编译和调试工具吧!点击Project加号右边的文件,创建新项目,在导航栏中选择
    的头像 发表于 01-06 18:05 7472次阅读
    当RA MCU遇见<b class='flag-5'>Zephyr</b>系列(4)——闪灯<b class='flag-5'>程序</b>的构建与调试

    为FreeRTOS增加新的设备驱动程序

    如果你正在使用FreeRTOS构建嵌入式系统,并且考虑添加新的设备驱动程序,那么这篇文章很适合你。高效的设备集成不仅仅是让设备功能正常运行——更关乎模块化、可靠性和安全性。
    的头像 发表于 08-06 15:44 1109次阅读
    为FreeRTOS增加新的<b class='flag-5'>设备</b><b class='flag-5'>驱动程序</b>

    全网最全学习Zephyr开发教程资料汇总-从基础文档视频到上手实操示例

    Zephyr 开发之路,我们不断迭代终于有了这份上手学习Zephyr的开发教程资料汇总。这里面涵盖了从 Zephyr 基础知识讲解,到构建系统、设备
    发表于 07-04 11:13

    使用Percepio View免费跟踪工具分析Zephyr应用

    Percepio View免费跟踪工具现在可以针对Zephyr应用程序进行跟踪和可视化分析了。Percepio View可以帮助开发人员理解和调试Zephyr中的固定优先级的多线程行为及复杂的线程交互。
    的头像 发表于 05-27 15:08 990次阅读
    使用Percepio View免费跟踪工具分析<b class='flag-5'>Zephyr</b>应用

    如何安装 CY7C65213 的驱动程序

    无法连接 teraterm。 我尝试安装 CypressDriverInstaller_1,但是驱动程序没有更新。 你能指导如何安装 CY7C65213 的驱动程序吗?
    发表于 05-27 07:58

    如何处理FX3 USB驱动程序与MFI相关接口的安装?

    USB 电缆将设备(没有 PMODE 的 SPI 引脚)连接到 PC(USB 2.0)并为 WestBridge 设备安装驱动程序时,在断开设备与 PC 的连接并重新连接后,
    发表于 05-23 07:54

    CY4500 EZ-PD协议分析仪缺少驱动程序怎么解决?

    Win10 CY4500 Analyzer 4.0.0 安装程序似乎不包含硬件驱动程序。固件更新实用程序或 CY4500 产品页面上的支持部分也是如此。显然没有驱动程序
    发表于 05-23 06:43

    3014 USB驱动程序无法检测到USB设备是怎么回事?

    我已将我的 USB 设备连接到运行 Windows 10 X64 的计算机,我已尝试使用 1.2.3 和 1.3.0 版本的 cyapi 和 USB 驱动程序。 有时CYPRESS™ API 的设备
    发表于 05-09 06:11

    是否有办法用标准Windows驱动程序控制GPIO吗?

    关于 CY7C65213-28PVXI 的控制, 我正在考虑更改 VenderID 并使用标准 Windows 驱动程序对其进行控制。 但是,使用标准 Windows 驱动程序存在一个
    发表于 05-08 07:05