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

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

3天内不再提示

系统芯片设计—驱动程序(Driver)

倩倩 来源:Semi Connect 作者:Semi Connect 2022-08-12 14:48 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

驱动程序(Driver)是一种可以使应用软件和硬件通信的特殊底层软件,其功能是为上层软件提供调用接口,控制硬件设备的工作。固定是指被硬件厂商固化在硬件内部的驱动程序。

系统芯片软硬件构架自下而上可分为硬件设备,硬件驱动和上层软件,其中硬件驱动又可分为硬件依赖层(Hardware Dependent Layer)和硬件抽象层(Hardware Abstraction Layer),如图5-98(a)所示。作为系统架构的重要组成部分,硬件驱动主要完成以下的功能:初始化和释放设备;读取上层软件传送给硬件设备的请求数据和回送硬件设备的响应数据;检测错误和处理中断。

fe1dad14-19f6-11ed-ba43-dac502259ad0.jpg

由于硬件驱动程序与硬件设备紧密相关,硬件驱动程序通常由系统芯片厂商提供。硬件厂商根据硬件特性编写硬件驱动程序。硬件驱动程序所需实现的接口和功能由硬件特性决定。从系统芯片软件框架的角度看,硬件驱动程序向下控制硬件设备运行,向上提供标准的调用接口方便上层软件使用。对于上层软件,硬件驱动程序是一个个独立的“黑盒子”,其功能是使特定硬件以标准化应用接口的方式对上层软件提供服务,隐藏设备的工作过程中的细节操作。只要保证驱动层调用接口相同,软件设计者就可以让应用程序在不同的硬件上运行,硬件设计者可以不断升级硬件而不影响旧软件在新设备上运行。当上层软件需要使用某个硬件功能,上层软件会先发送相应指令到外设驱动程序,外设驱动程序接收指令后,将其翻译成外设控制器能读懂的电子信号命令。

操作系统中,硬件依赖层通常由硬件厂商以固件的形式提供,而硬件抽象层被集成到操作系统中,由操作系统厂商以标准设备驱动的形式提供,如图5-98(b)所示。目前,市场占有率领先的Windows和Linux操作系统内核中均集成了硬件抽象层。然而,不同操作系统的设备驱动上层接口不一致,且不同设备厂商的固件接口也存在差异,导致软件开发者无法随意选择设备厂商。未来,标准设备驱动接口与固件接口将进一步标准化,使得软件开发者可以在不同设备厂商的设备间无缝切换。

审核编辑 :李倩

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

    关注

    114

    文章

    17921

    浏览量

    195870
  • 驱动程序
    +关注

    关注

    19

    文章

    874

    浏览量

    50938
  • 系统芯片
    +关注

    关注

    0

    文章

    39

    浏览量

    18594

原文标题:系统芯片设计—驱动程序

文章出处:【微信号:Semi Connect,微信公众号:Semi Connect】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何在 EB Tresos 工作区中升级 RTD 驱动程序

    我目前在 S32G274A 板上有一个工作项目,使用 LLCE CAN 驱动程序 (v1.0.2) 和 RTD 驱动程序(以太网、端口、平台等)版本 2.0.0。这些驱动程序的 EB Tresos
    发表于 04-27 07:22

    32g3 有适用于 linux 的 vr5510 驱动程序吗?

    HI 我正在运行带有linux_yocto映像的 s32g3 VNP-RDB3 板。 s32g3 有适用于 linux 的 vr5510 驱动程序吗? 我可以看到有支持驱动程序https
    发表于 04-15 07:14

    摩尔线程发布图形显卡驱动程序v330.140

    3月20日,摩尔线程正式发布版本号为v330.140的图形显卡驱动程序。本次更新重磅引入MTVSR实时视频超分技术,并针对多款热门游戏及专业软件进行了深度优化,进一步增强了摩尔线程图形显卡在视频播放、游戏体验及专业创作等场景中的综合表现,为用户带来更流畅、更清晰的视觉体验。
    的头像 发表于 03-24 09:52 419次阅读

    如何制作 rt117x 闪存驱动程序

    我目前正在做一个 rt1170 UDS 引导加载程序升级项目。由于闪存驱动程序在 Pflash 中固化,因此可能存在安全风险。因此,我想创建一个flashdriver文件,从上位机下载到rt1170
    发表于 03-04 06:38

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

    device *dev); struct driver_private *p; }; device_driver结构体是任何设备驱动程序的基本元素 设备声明——填充设备 struct
    发表于 02-03 21:57

    麻烦提供以下cse7761的驱动程序,用的串口

    麻烦提供以下cse7761的驱动程序,用的串口
    发表于 11-17 14:02

    哪些Windows作系统支持Nu-Link-Me的VCOM功能?是否需要安装任何其他驱动程序

    哪些Windows作系统支持Nu-Link-Me的VCOM功能?是否需要安装任何其他驱动程序
    发表于 08-26 06:06

    摩尔线程发布图形显卡驱动程序v310.120

    8月20日,摩尔线程发布版本号为v310.120的图形显卡驱动程序。本次更新带来多项重大技术升级:新增对Windows 11 24H2版本的正式支持,WDDM驱动同步升级至3.2版本。同时,新驱动
    的头像 发表于 08-21 16:07 1752次阅读

    如何使 ML56-TK 驱动程序适应 Linux 内核?

    如何使 ML56-TK 驱动程序适应 Linux 内核
    发表于 08-20 07:57

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

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

    zephyr设备驱动程序模型

        1:Zephyr 内核支持多种设备驱动程序驱动程序是否可用取决于board 和驱动程序。 Zephyr 设备模型为配置作为系统一部分的驱动
    的头像 发表于 07-29 10:34 919次阅读
    zephyr设备<b class='flag-5'>驱动程序</b>模型

    请问USB2CAN驱动程序在哪里?

    USB2CAN驱动程序在哪里?它没有像说明书中所说的那样附带 SSCB 演示 GUI。CH341SER.exe 在哪里?我在您令人沮丧的支持网站上找不到它。我无法连接到我的 REF_SSCB_AC_DC_1PH_SiC
    发表于 07-24 07:09

    求助,关于55513 Linux驱动程序问题求解

    ; 我们使用 linux 内核 5.4 来构建 fmac 驱动程序,但是当 insmod ko 文件时 brcmfmac 将失败:brcmfmac:brcmf_sdio_htclk:访问关闭时钟失败
    发表于 07-09 08:02

    摩尔线程发布图形显卡驱动程序v300.110.1

    近日,摩尔线程发布版本号为v300.110.1的图形显卡驱动程序。本次更新针对近期上市的高人气游戏《剑星》进行了专项优化,MTT S80在该游戏中的平均帧率提升近80%。
    的头像 发表于 06-24 18:01 1386次阅读

    如何安装 CY7C65213 的驱动程序

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