驅動程序(Driver)是一種可以使應用軟件和硬件通信的特殊底層軟件,其功能是為上層軟件提供調用接口,控制硬件設備的工作。固定是指被硬件廠商固化在硬件內部的驅動程序。
系統芯片軟硬件構架自下而上可分為硬件設備,硬件驅動和上層軟件,其中硬件驅動又可分為硬件依賴層(Hardware Dependent Layer)和硬件抽象層(Hardware Abstraction Layer),如圖5-98(a)所示。作為系統架構的重要組成部分,硬件驅動主要完成以下的功能:初始化和釋放設備;讀取上層軟件傳送給硬件設備的請求數據和回送硬件設備的響應數據;檢測錯誤和處理中斷。
由于硬件驅動程序與硬件設備緊密相關,硬件驅動程序通常由系統芯片廠商提供。硬件廠商根據硬件特性編寫硬件驅動程序。硬件驅動程序所需實現的接口和功能由硬件特性決定。從系統芯片軟件框架的角度看,硬件驅動程序向下控制硬件設備運行,向上提供標準的調用接口方便上層軟件使用。對于上層軟件,硬件驅動程序是一個個獨立的“黑盒子”,其功能是使特定硬件以標準化應用接口的方式對上層軟件提供服務,隱藏設備的工作過程中的細節操作。只要保證驅動層調用接口相同,軟件設計者就可以讓應用程序在不同的硬件上運行,硬件設計者可以不斷升級硬件而不影響舊軟件在新設備上運行。當上層軟件需要使用某個硬件功能,上層軟件會先發送相應指令到外設驅動程序,外設驅動程序接收指令后,將其翻譯成外設控制器能讀懂的電子信號命令。
在操作系統中,硬件依賴層通常由硬件廠商以固件的形式提供,而硬件抽象層被集成到操作系統中,由操作系統廠商以標準設備驅動的形式提供,如圖5-98(b)所示。目前,市場占有率領先的Windows和Linux操作系統內核中均集成了硬件抽象層。然而,不同操作系統的設備驅動上層接口不一致,且不同設備廠商的固件接口也存在差異,導致軟件開發者無法隨意選擇設備廠商。未來,標準設備驅動接口與固件接口將進一步標準化,使得軟件開發者可以在不同設備廠商的設備間無縫切換。
審核編輯 :李倩
-
控制器
+關注
關注
112文章
16198瀏覽量
177398 -
驅動程序
+關注
關注
19文章
826瀏覽量
47957 -
系統芯片
+關注
關注
0文章
38瀏覽量
18367
原文標題:系統芯片設計—驅動程序
文章出處:【微信號:Semi Connect,微信公眾號:Semi Connect】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論