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

    文章

    863

    浏览量

    49223
  • BLE技术
    +关注

    关注

    0

    文章

    34

    浏览量

    6771
  • Zephyr
    +关注

    关注

    0

    文章

    39

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Linux环境再升级:PLIN驱动程序正式发布

    PLIN驱动程序现已正式发布,本文将展示如何安装PLIN驱动程序,以及如何在Linux环境下进行基本的PLIN通信操作,确保您能够快速掌握并应用这一新工具。
    的头像 发表于 04-21 15:29 ?406次阅读
    Linux环境再升级:PLIN<b class='flag-5'>驱动程序</b>正式发布

    AN3761-KSZ DSA驱动程序的使用

    电子发烧友网站提供《AN3761-KSZ DSA驱动程序的使用.pdf》资料免费下载
    发表于 01-22 16:28 ?0次下载
    AN3761-KSZ DSA<b class='flag-5'>驱动程序</b>的使用

    Linux驱动程序程序员指南

    电子发烧友网站提供《Linux驱动程序程序员指南.pdf》资料免费下载
    发表于 11-22 15:53 ?0次下载
    Linux<b class='flag-5'>驱动程序</b><b class='flag-5'>程序</b>员指南

    pcie设备驱动程序安装步骤

    PCIe(Peripheral Component Interconnect Express)是一种高速串行计算机扩展总线标准,用于计算机内部硬件组件之间的连接。安装PCIe设备驱动程序是确保硬件
    的头像 发表于 11-13 10:32 ?3488次阅读

    arduino 6轴同步电机驱动程序

    arduino 6轴同步电机驱动程序。含加加减速。
    发表于 11-09 14:09 ?0次下载

    TSC2003 WinCE 5.0驱动程序

    电子发烧友网站提供《TSC2003 WinCE 5.0驱动程序.pdf》资料免费下载
    发表于 10-23 10:33 ?0次下载
    TSC2003 WinCE 5.0<b class='flag-5'>驱动程序</b>

    TSC2101 WinCE 5.0驱动程序

    电子发烧友网站提供《TSC2101 WinCE 5.0驱动程序.pdf》资料免费下载
    发表于 10-23 10:25 ?0次下载
    TSC2101 WinCE 5.0<b class='flag-5'>驱动程序</b>

    TSC2100 WinCE通用驱动程序

    电子发烧友网站提供《TSC2100 WinCE通用驱动程序.pdf》资料免费下载
    发表于 10-23 10:15 ?0次下载
    TSC2100 WinCE通用<b class='flag-5'>驱动程序</b>

    硬盘电机怎么驱动程序?它有什么典型特征?

    硬盘电机的驱动程序是硬盘中一个非常重要的组成部分,它负责控制硬盘电机的启动、停止、转速调节等操作。硬盘电机驱动程序的设计和实现涉及到电机控制理论、电子技术、计算机编程等多个领域的知识。 一、硬盘电机
    的头像 发表于 10-22 11:10 ?1230次阅读

    LSP 2.10 DaVinci Linux驱动程序

    电子发烧友网站提供《LSP 2.10 DaVinci Linux驱动程序.pdf》资料免费下载
    发表于 10-09 09:30 ?0次下载
    LSP 2.10 DaVinci Linux<b class='flag-5'>驱动程序</b>

    Linux设备驱动程序分类有哪些

    Linux设备驱动程序是操作系统与硬件设备之间的桥梁,负责实现硬件设备与操作系统之间的通信和控制。Linux设备
    的头像 发表于 08-30 15:11 ?1325次阅读

    linux驱动程序如何加载进内核

    ,需要了解Linux内核的基本概念和API。以下是一些关键概念: 1.1 内核模块:Linux内核模块是一种动态加载和卸载的代码,可以在不重新启动系统的情况下加载和卸载。驱动程序通常以内核模块的形式实现。 1.2 设备模型:Li
    的头像 发表于 08-30 15:02 ?1171次阅读

    linux驱动程序主要有哪些功能

    Linux驱动程序是操作系统与硬件设备之间进行通信的桥梁,负责实现硬件设备与操作系统之间的数据交换和控制。Linux驱动程序的主要功能包括以下几个方面:
    的头像 发表于 08-30 14:47 ?961次阅读

    linux驱动程序的编译方法是什么

    Linux驱动程序的编译方法主要包括两种: 与内核一起编译 和 编译成独立的内核模块 。以下是对这两种方法的介绍: 一、与内核一起编译 与内核一起编译意味着将驱动程序的源代码直接集成到Linux内核
    的头像 发表于 08-30 14:46 ?1307次阅读

    linux驱动程序运行在什么空间

    Linux 驱动程序是操作系统的一部分,负责管理硬件设备与操作系统之间的交互。驱动程序运行在内核空间(Kernel Space),这是操作系统的核心部分,与用户空间(User Space)相对。内核
    的头像 发表于 08-30 14:37 ?952次阅读