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操作系统内核中均集成了硬件抽象层。然而,不同操作系统的设备驱动上层接口不一致,且不同设备厂商的固件接口也存在差异,导致软件开发者无法随意选择设备厂商。未来,标准设备驱动接口与固件接口将进一步标准化,使得软件开发者可以在不同设备厂商的设备间无缝切换。

审核编辑 :李倩

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

    关注

    112

    文章

    16347

    浏览量

    177914
  • 驱动程序
    +关注

    关注

    19

    文章

    836

    浏览量

    48032
  • 系统芯片
    +关注

    关注

    0

    文章

    38

    浏览量

    18369

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

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

收藏 人收藏

    评论

    相关推荐

    Linux驱动程序程序员指南

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

    pcie设备驱动程序安装步骤

    设备能够正常工作的重要步骤。 1. 准备工作 在开始安装PCIe设备驱动程序之前,需要做一些准备工作: 确认设备兼容性 :确保你的PCIe设备与你的操作系统兼容。 备份数据 :在安装任何驱动程序之前,备份重要数据以防万一。 获取
    的头像 发表于 11-13 10:32 696次阅读

    arduino 6轴同步电机驱动程序

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

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

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

    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设备驱动程序的分类繁多,可以根据不同的标准进行分类。 按硬件类型分类 Lin
    的头像 发表于 08-30 15:11 545次阅读

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

    在Linux系统中,驱动程序是内核与硬件设备之间的桥梁。它们允许内核与硬件设备进行通信,从而实现对硬件设备的控制和管理。 驱动程序的编写 驱动程序的编写是Linux
    的头像 发表于 08-30 15:02 457次阅读

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

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

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

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

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

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

    音频编解码芯片es8311驱动程序源码

    音频编解码芯片 es8311 驱动程序源码
    发表于 07-13 09:22 21次下载

    虹科威廉希尔官方网站 Linux环境再升级:PLIN驱动程序正式发布

    Linux驱动程序领域再添新成员,PLIN驱动程序现已正式发布。
    的头像 发表于 06-28 13:34 361次阅读
    虹科威廉希尔官方网站
 Linux环境再升级:PLIN<b class='flag-5'>驱动程序</b>正式发布

    怎么编写Framebuffer驱动程序

    Framebuffer 驱动程序框架 分为上下两层: fbmem.c:承上启下 实现、注册 file_operations 结构体 把 APP 的调用向下转发到具体的硬件驱动程序
    的头像 发表于 03-22 09:13 559次阅读
    怎么编写Framebuffer<b class='flag-5'>驱动程序</b>

    使用TSIP驱动程序(Azure RTOS)的TLS实现示例

    电子发烧友网站提供《使用TSIP驱动程序(Azure RTOS)的TLS实现示例.pdf》资料免费下载
    发表于 01-31 10:13 3次下载
    使用TSIP<b class='flag-5'>驱动程序</b>(Azure RTOS)的TLS实现示例

    ch341a驱动程序无法使用

    ,以帮助用户顺利使用ch341a驱动程序。 第一部分:问题背景和可能原因 首先,我们来介绍一下ch341a驱动程序。ch341a驱动程序是一种通用的USB转串口芯片
    的头像 发表于 12-26 14:17 4030次阅读