0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

系統(tǒng)芯片設(shè)計(jì)—驅(qū)動(dòng)程序(Driver)

倩倩 ? 來(lái)源:Semi Connect ? 作者:Semi Connect ? 2022-08-12 14:48 ? 次閱讀

驅(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ò)誤和處理中斷。

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

由于硬件驅(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)投訴
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    16361

    瀏覽量

    178071
  • 驅(qū)動(dòng)程序
    +關(guān)注

    關(guān)注

    19

    文章

    836

    瀏覽量

    48040
  • 系統(tǒng)芯片
    +關(guān)注

    關(guān)注

    0

    文章

    38

    瀏覽量

    18371

原文標(biāo)題:系統(tǒng)芯片設(shè)計(jì)—驅(qū)動(dòng)程序

文章出處:【微信號(hào):Semi Connect,微信公眾號(hào):Semi Connect】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    USB音頻過(guò)濾器驅(qū)動(dòng)程序安裝

    電子發(fā)燒友網(wǎng)站提供《USB音頻過(guò)濾器驅(qū)動(dòng)程序安裝.pdf》資料免費(fèi)下載
    發(fā)表于 12-19 14:28 ?0次下載
    USB音頻過(guò)濾器<b class='flag-5'>驅(qū)動(dòng)程序</b>安裝

    Linux驅(qū)動(dòng)程序程序員指南

    電子發(fā)燒友網(wǎng)站提供《Linux驅(qū)動(dòng)程序程序員指南.pdf》資料免費(fèi)下載
    發(fā)表于 11-22 15:53 ?0次下載
    Linux<b class='flag-5'>驅(qū)動(dòng)程序</b><b class='flag-5'>程序</b>員指南

    pcie設(shè)備驅(qū)動(dòng)程序安裝步驟

    設(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)程序

    arduino 6軸同步電機(jī)驅(qū)動(dòng)程序。含加加減速。
    發(fā)表于 11-09 14:09 ?0次下載

    TSC2003 WinCE 5.0驅(qū)動(dòng)程序

    電子發(fā)燒友網(wǎng)站提供《TSC2003 WinCE 5.0驅(qū)動(dòng)程序.pdf》資料免費(fèi)下載
    發(fā)表于 10-23 10:33 ?0次下載
    TSC2003 WinCE 5.0<b class='flag-5'>驅(qū)動(dòng)程序</b>

    硬盤電機(jī)怎么驅(qū)動(dòng)程序?它有什么典型特征?

    硬盤電機(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次閱讀

    LSP 2.10 DaVinci Linux驅(qū)動(dòng)程序

    電子發(fā)燒友網(wǎng)站提供《LSP 2.10 DaVinci Linux驅(qū)動(dòng)程序.pdf》資料免費(fèi)下載
    發(fā)表于 10-09 09:30 ?0次下載
    LSP 2.10 DaVinci Linux<b class='flag-5'>驅(qū)動(dòng)程序</b>

    Linux設(shè)備驅(qū)動(dòng)程序分類有哪些

    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驅(qū)動(dòng)程序如何加載進(jìn)內(nèi)核

    在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)程序主要有哪些功能

    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)程序的編譯方法是什么

    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)程序運(yùn)行在什么空間

    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)程序源碼

    音頻編解碼芯片 es8311 驅(qū)動(dòng)程序源碼
    發(fā)表于 07-13 09:22 ?21次下載

    虹科技術(shù) Linux環(huán)境再升級(jí):PLIN驅(qū)動(dòng)程序正式發(fā)布

    Linux驅(qū)動(dòng)程序領(lǐng)域再添新成員,PLIN驅(qū)動(dòng)程序現(xiàn)已正式發(fā)布。
    的頭像 發(fā)表于 06-28 13:34 ?365次閱讀
    虹科技術(shù) Linux環(huán)境再升級(jí):PLIN<b class='flag-5'>驅(qū)動(dòng)程序</b>正式發(fā)布

    怎么編寫Framebuffer驅(qū)動(dòng)程序

    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次閱讀
    怎么編寫Framebuffer<b class='flag-5'>驅(qū)動(dòng)程序</b>