电子说
驱动程序(Driver)是一种可以使应用软件和硬件通信的特殊底层软件,其功能是为上层软件提供调用接口,控制硬件设备的工作。固定是指被硬件厂商固化在硬件内部的驱动程序。
系统芯片软硬件构架自下而上可分为硬件设备,硬件驱动和上层软件,其中硬件驱动又可分为硬件依赖层(Hardware Dependent Layer)和硬件抽象层(Hardware Abstraction Layer),如图5-98(a)所示。作为系统架构的重要组成部分,硬件驱动主要完成以下的功能:初始化和释放设备;读取上层软件传送给硬件设备的请求数据和回送硬件设备的响应数据;检测错误和处理中断。
由于硬件驱动程序与硬件设备紧密相关,硬件驱动程序通常由系统芯片厂商提供。硬件厂商根据硬件特性编写硬件驱动程序。硬件驱动程序所需实现的接口和功能由硬件特性决定。从系统芯片软件框架的角度看,硬件驱动程序向下控制硬件设备运行,向上提供标准的调用接口方便上层软件使用。对于上层软件,硬件驱动程序是一个个独立的“黑盒子”,其功能是使特定硬件以标准化应用接口的方式对上层软件提供服务,隐藏设备的工作过程中的细节操作。只要保证驱动层调用接口相同,软件设计者就可以让应用程序在不同的硬件上运行,硬件设计者可以不断升级硬件而不影响旧软件在新设备上运行。当上层软件需要使用某个硬件功能,上层软件会先发送相应指令到外设驱动程序,外设驱动程序接收指令后,将其翻译成外设控制器能读懂的电子信号命令。
在操作系统中,硬件依赖层通常由硬件厂商以固件的形式提供,而硬件抽象层被集成到操作系统中,由操作系统厂商以标准设备驱动的形式提供,如图5-98(b)所示。目前,市场占有率领先的Windows和Linux操作系统内核中均集成了硬件抽象层。然而,不同操作系统的设备驱动上层接口不一致,且不同设备厂商的固件接口也存在差异,导致软件开发者无法随意选择设备厂商。未来,标准设备驱动接口与固件接口将进一步标准化,使得软件开发者可以在不同设备厂商的设备间无缝切换。
审核编辑 :李倩
全部0条评论
快来发表一下你的评论吧 !