完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>
標簽 > 驅(qū)動
驅(qū)動程序即添加到操作系統(tǒng)中的一小塊代碼,其中包含有關(guān)硬件設(shè)備的信息。有了此信息,計算機就可以與設(shè)備進行通信。驅(qū)動程序是硬件廠商根據(jù)操作系統(tǒng)編寫的配置文件,可以說沒有驅(qū)動程序,計算機中的硬件就無法工作。
文章:1149個 瀏覽:88740次 帖子:1118個
從misc子系統(tǒng)到3+2+1設(shè)備識別驅(qū)動框架
misc子系統(tǒng)在Linux中是一個非常簡單的子系統(tǒng),但是其清晰的框架結(jié)構(gòu)非常適合用來研究設(shè)備識別模型。
在linux源碼樹的驅(qū)動目錄增加自己的驅(qū)動目錄,比如:現(xiàn)在新增一個網(wǎng)絡(luò)設(shè)備驅(qū)動
Linux驅(qū)動技術(shù)之一:內(nèi)存申請
kmalloc申請的內(nèi)存在物理內(nèi)存上是連續(xù)的,他們與真實的物理地址只有一個固定的偏移,因此存在簡單的轉(zhuǎn)換關(guān)系。
Linux驅(qū)動技術(shù)之一:訪問I/O內(nèi)存
ARM是對內(nèi)存空間和IO空間統(tǒng)一編址的,所以,通過讀寫SFR來控制硬件也就變成了通過讀寫相應(yīng)的SFR地址來控制硬件。這部分地址也被稱為I/O內(nèi)存。
字符設(shè)備是Linux三大設(shè)備之一(另外兩種是塊設(shè)備,網(wǎng)絡(luò)設(shè)備),字符設(shè)備就是字節(jié)流形式通訊的I/O設(shè)備,絕大部分設(shè)備都是字符設(shè)備,常見的字符設(shè)備包括鼠標...
在gcc 3.4之前的編譯器被展開成__attribute__((unused))來禁止編譯器彈出有關(guān)函數(shù)沒有被用到的的警告信息
Linux驅(qū)動技術(shù)技術(shù)之一:DMA編程
DMA即Direct Memory Access,是一種允許外設(shè)直接存取內(nèi)存數(shù)據(jù)而沒有CPU參與的技術(shù),當外設(shè)對于該塊內(nèi)存的讀寫完成之后,DMAC通過中...
在硬件上,中斷源可以通過中斷控制器向CPU提交中斷,進而引發(fā)中斷處理程序的執(zhí)行,不過這種硬件中斷體系每一種CPU都不一樣,而Linux作為操作系統(tǒng),需要...
需要了解Linux驅(qū)動技術(shù)之一的并發(fā)控制技術(shù)
為了實現(xiàn)對臨界資源的有效管理,應(yīng)用層的程序有原子變量,條件變量,信號量來控制并發(fā),同樣的問題也存在與驅(qū)動開發(fā)中,比如一個驅(qū)動同時被多個應(yīng)用層程序調(diào)用,此...
Ramdisk是一種模擬磁盤,其數(shù)據(jù)實際上是存儲在RAM中,它使用一部分內(nèi)存空間來模擬出一個磁盤設(shè)備,并以塊設(shè)備的方式來組織和訪問這片內(nèi)存。對于用戶來說...
linux內(nèi)核將所有的中斷統(tǒng)一編號,使用一個irq_desc[NR_IRQS]的結(jié)構(gòu)體數(shù)組來描述這些中斷:每個數(shù)組項對應(yīng)著一個中斷源(可能是一個中斷,也...
需要了解Linux驅(qū)動子系統(tǒng)之一的I2C
I2C總線驅(qū)動是I2C適配器的軟件實現(xiàn),提供I2C適配器與從設(shè)備間完成數(shù)據(jù)通信的能力,比如起始,停止,應(yīng)答信號和master_xfer的實現(xiàn)函數(shù)。
從misc子系統(tǒng)到3+2+1設(shè)備識別驅(qū)動框架
misc子系統(tǒng)在Linux中是一個非常簡單的子系統(tǒng),但是其清晰的框架結(jié)構(gòu)非常適合用來研究設(shè)備識別模型。本文從misc子系統(tǒng)的使用出發(fā),通過了解其機制來總...
Linux usb子系統(tǒng):USB設(shè)備驅(qū)動usb-skeleton.c
usb驅(qū)動分為通過usbfs操作設(shè)備的用戶空間驅(qū)動,內(nèi)核空間的內(nèi)核驅(qū)動。兩者不能同時進行,否則容易引發(fā)對共享資源訪問的問題,死鎖!使用了內(nèi)核驅(qū)動,就不能...
linux內(nèi)核是一個整體是結(jié)構(gòu).因此向內(nèi)核添加任何東西.或者刪除某些功能 ,都十分困難.為了解決這個問題. 引入了內(nèi)核機制.從而可以動態(tài)的想內(nèi)核中添加或...
Linux eMMC子系統(tǒng)之主機控制器驅(qū)動
MMC的host driver,是用于驅(qū)動MMC host控制器的程序,位于“drivers/mmc/host”目錄。從大的流程上看,編寫一個這樣的驅(qū)動...
Linux的設(shè)備驅(qū)動模型,或者說,Linux的設(shè)備驅(qū)動框架,都是同一個意思。應(yīng)該這樣理解,(Linux的設(shè)備)驅(qū)動框架,即某類設(shè)備對應(yīng)的驅(qū)動的框架。
主設(shè)備號--驅(qū)動模塊與設(shè)備節(jié)點聯(lián)系的紐帶
當我們open一個設(shè)備節(jié)點時,告訴了kernel要操作的是是主設(shè)備號為XX的節(jié)點,然后kernel會通過過XX來尋找合適的內(nèi)存模塊,進而調(diào)用內(nèi)存模塊中定...
控制臺驅(qū)動是linux重要的設(shè)備驅(qū)動之一
CONFIG_VT:是指配置虛擬終端.即我們所說的控制臺.在此可以看到TTY_MAJOR(4),0對應(yīng)的設(shè)備節(jié)點操作集為console_fops.
換一批
編輯推薦廠商產(chǎn)品技術(shù)軟件/工具OS/語言教程專題
| 電機控制 | DSP | 氮化鎵 | 功率放大器 | ChatGPT | 自動駕駛 | TI | 瑞薩電子 |
| BLDC | PLC | 碳化硅 | 二極管 | OpenAI | 元宇宙 | 安森美 | ADI |
| 無刷電機 | FOC | IGBT | 逆變器 | 文心一言 | 5G | 英飛凌 | 羅姆 |
| 直流電機 | PID | MOSFET | 傳感器 | 人工智能 | 物聯(lián)網(wǎng) | NXP | 賽靈思 |
| 步進電機 | SPWM | 充電樁 | IPM | 機器視覺 | 無人機 | 三菱電機 | ST |
| 伺服電機 | SVPWM | 光伏發(fā)電 | UPS | AR | 智能電網(wǎng) | 國民技術(shù) | Microchip |
| Arduino | BeagleBone | 樹莓派 | STM32 | MSP430 | EFM32 | ARM mbed | EDA |
| 示波器 | LPC | imx8 | PSoC | Altium Designer | Allegro | Mentor | Pads |
| OrCAD | Cadence | AutoCAD | 華秋DFM | Keil | MATLAB | MPLAB | Quartus |
| C++ | Java | Python | JavaScript | node.js | RISC-V | verilog | Tensorflow |
| Android | iOS | linux | RTOS | FreeRTOS | LiteOS | RT-THread | uCOS |
| DuerOS | Brillo | Windows11 | HarmonyOS |