驅(qū)動(dòng)程序(Driver)是一種可以使應(yīng)用軟件和硬件通信的特殊底層軟件,其功能是為上層軟件提供調(diào)用接口,控制硬件設(shè)備的工作。固定是指被硬件廠商固化在硬件內(nèi)部的驅(qū)動(dòng)程序。
系統(tǒng)芯片軟硬件構(gòu)架自下而上可分為硬件設(shè)備,硬件驅(qū)動(dòng)和上層軟件,其中硬件驅(qū)動(dòng)又可分為硬件依賴層(Hardware Dependent Layer)和硬件抽象層(Hardware Abstraction Layer),如圖5-98(a)所示。作為系統(tǒng)架構(gòu)的重要組成部分,硬件驅(qū)動(dòng)主要完成以下的功能:初始化和釋放設(shè)備;讀取上層軟件傳送給硬件設(shè)備的請(qǐng)求數(shù)據(jù)和回送硬件設(shè)備的響應(yīng)數(shù)據(jù);檢測(cè)錯(cuò)誤和處理中斷。
由于硬件驅(qū)動(dòng)程序與硬件設(shè)備緊密相關(guān),硬件驅(qū)動(dòng)程序通常由系統(tǒng)芯片廠商提供。硬件廠商根據(jù)硬件特性編寫硬件驅(qū)動(dòng)程序。硬件驅(qū)動(dòng)程序所需實(shí)現(xiàn)的接口和功能由硬件特性決定。從系統(tǒng)芯片軟件框架的角度看,硬件驅(qū)動(dòng)程序向下控制硬件設(shè)備運(yùn)行,向上提供標(biāo)準(zhǔn)的調(diào)用接口方便上層軟件使用。對(duì)于上層軟件,硬件驅(qū)動(dòng)程序是一個(gè)個(gè)獨(dú)立的“黑盒子”,其功能是使特定硬件以標(biāo)準(zhǔn)化應(yīng)用接口的方式對(duì)上層軟件提供服務(wù),隱藏設(shè)備的工作過(guò)程中的細(xì)節(jié)操作。只要保證驅(qū)動(dòng)層調(diào)用接口相同,軟件設(shè)計(jì)者就可以讓應(yīng)用程序在不同的硬件上運(yùn)行,硬件設(shè)計(jì)者可以不斷升級(jí)硬件而不影響舊軟件在新設(shè)備上運(yùn)行。當(dāng)上層軟件需要使用某個(gè)硬件功能,上層軟件會(huì)先發(fā)送相應(yīng)指令到外設(shè)驅(qū)動(dòng)程序,外設(shè)驅(qū)動(dòng)程序接收指令后,將其翻譯成外設(shè)控制器能讀懂的電子信號(hào)命令。
在操作系統(tǒng)中,硬件依賴層通常由硬件廠商以固件的形式提供,而硬件抽象層被集成到操作系統(tǒng)中,由操作系統(tǒng)廠商以標(biāo)準(zhǔn)設(shè)備驅(qū)動(dòng)的形式提供,如圖5-98(b)所示。目前,市場(chǎng)占有率領(lǐng)先的Windows和Linux操作系統(tǒng)內(nèi)核中均集成了硬件抽象層。然而,不同操作系統(tǒng)的設(shè)備驅(qū)動(dòng)上層接口不一致,且不同設(shè)備廠商的固件接口也存在差異,導(dǎo)致軟件開(kāi)發(fā)者無(wú)法隨意選擇設(shè)備廠商。未來(lái),標(biāo)準(zhǔn)設(shè)備驅(qū)動(dòng)接口與固件接口將進(jìn)一步標(biāo)準(zhǔn)化,使得軟件開(kāi)發(fā)者可以在不同設(shè)備廠商的設(shè)備間無(wú)縫切換。
審核編輯 :李倩
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
控制器
-
驅(qū)動(dòng)程序
-
系統(tǒng)芯片
原文標(biāo)題:系統(tǒng)芯片設(shè)計(jì)—驅(qū)動(dòng)程序
文章出處:【微信號(hào):Semi Connect,微信公眾號(hào):Semi Connect】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
相關(guān)推薦
電子發(fā)燒友網(wǎng)站提供《USB音頻過(guò)濾器驅(qū)動(dòng)程序安裝.pdf》資料免費(fèi)下載
發(fā)表于 12-19 14:28
?0次下載
電子發(fā)燒友網(wǎng)站提供《Linux驅(qū)動(dòng)程序程序員指南.pdf》資料免費(fèi)下載
發(fā)表于 11-22 15:53
?0次下載
設(shè)備能夠正常工作的重要步驟。 1. 準(zhǔn)備工作 在開(kāi)始安裝PCIe設(shè)備驅(qū)動(dòng)程序之前,需要做一些準(zhǔn)備工作: 確認(rèn)設(shè)備兼容性 :確保你的PCIe設(shè)備與你的操作系統(tǒng)兼容。 備份數(shù)據(jù) :在安裝任何驅(qū)動(dòng)程序之前,備份重要數(shù)據(jù)以防萬(wàn)一。 獲取
發(fā)表于 11-13 10:32
?748次閱讀
arduino 6軸同步電機(jī)驅(qū)動(dòng)程序。含加加減速。
發(fā)表于 11-09 14:09
?0次下載
電子發(fā)燒友網(wǎng)站提供《TSC2003 WinCE 5.0驅(qū)動(dòng)程序.pdf》資料免費(fèi)下載
發(fā)表于 10-23 10:33
?0次下載
硬盤電機(jī)的驅(qū)動(dòng)程序是硬盤中一個(gè)非常重要的組成部分,它負(fù)責(zé)控制硬盤電機(jī)的啟動(dòng)、停止、轉(zhuǎn)速調(diào)節(jié)等操作。硬盤電機(jī)驅(qū)動(dòng)程序的設(shè)計(jì)和實(shí)現(xiàn)涉及到電機(jī)控制理論、電子技術(shù)、計(jì)算機(jī)編程等多個(gè)領(lǐng)域的知識(shí)。 一、硬盤電機(jī)
發(fā)表于 10-22 11:10
?317次閱讀
電子發(fā)燒友網(wǎng)站提供《LSP 2.10 DaVinci Linux驅(qū)動(dòng)程序.pdf》資料免費(fèi)下載
發(fā)表于 10-09 09:30
?0次下載
Linux設(shè)備驅(qū)動(dòng)程序是操作系統(tǒng)與硬件設(shè)備之間的橋梁,負(fù)責(zé)實(shí)現(xiàn)硬件設(shè)備與操作系統(tǒng)之間的通信和控制。Linux設(shè)備驅(qū)動(dòng)程序的分類繁多,可以根據(jù)不同的標(biāo)準(zhǔn)進(jìn)行分類。 按硬件類型分類 Lin
發(fā)表于 08-30 15:11
?567次閱讀
在Linux系統(tǒng)中,驅(qū)動(dòng)程序是內(nèi)核與硬件設(shè)備之間的橋梁。它們?cè)试S內(nèi)核與硬件設(shè)備進(jìn)行通信,從而實(shí)現(xiàn)對(duì)硬件設(shè)備的控制和管理。 驅(qū)動(dòng)程序的編寫 驅(qū)動(dòng)程序的編寫是Linux
發(fā)表于 08-30 15:02
?474次閱讀
Linux驅(qū)動(dòng)程序是操作系統(tǒng)與硬件設(shè)備之間進(jìn)行通信的橋梁,負(fù)責(zé)實(shí)現(xiàn)硬件設(shè)備與操作系統(tǒng)之間的數(shù)據(jù)交換和控制。Linux驅(qū)動(dòng)程序的主要功能包括以下幾個(gè)方面: 設(shè)備識(shí)別與初始化 Linux
發(fā)表于 08-30 14:47
?367次閱讀
Linux驅(qū)動(dòng)程序的編譯方法主要包括兩種: 與內(nèi)核一起編譯 和 編譯成獨(dú)立的內(nèi)核模塊 。以下是對(duì)這兩種方法的介紹: 一、與內(nèi)核一起編譯 與內(nèi)核一起編譯意味著將驅(qū)動(dòng)程序的源代碼直接集成到Linux內(nèi)核
發(fā)表于 08-30 14:46
?577次閱讀
Linux 驅(qū)動(dòng)程序是操作系統(tǒng)的一部分,負(fù)責(zé)管理硬件設(shè)備與操作系統(tǒng)之間的交互。驅(qū)動(dòng)程序運(yùn)行在內(nèi)核空間(Kernel Space),這是操作系統(tǒng)
發(fā)表于 08-30 14:37
?415次閱讀
音頻編解碼芯片 es8311 驅(qū)動(dòng)程序源碼
發(fā)表于 07-13 09:22
?21次下載
Linux驅(qū)動(dòng)程序領(lǐng)域再添新成員,PLIN驅(qū)動(dòng)程序現(xiàn)已正式發(fā)布。
發(fā)表于 06-28 13:34
?365次閱讀
Framebuffer 驅(qū)動(dòng)程序框架
分為上下兩層:
fbmem.c:承上啟下
實(shí)現(xiàn)、注冊(cè) file_operations 結(jié)構(gòu)體
把 APP 的調(diào)用向下轉(zhuǎn)發(fā)到具體的硬件驅(qū)動(dòng)程序
發(fā)表于 03-22 09:13
?565次閱讀
評(píng)論