如果驅(qū)動(dòng)模塊之間有依賴,需要更改模塊掛載順序,有三種方式:
1、增加一個(gè)優(yōu)先級(jí),比如 8。或者把自己的驅(qū)動(dòng)模塊聲明成其他優(yōu)先級(jí),也就是不用 module_init 去聲明,可以用 fs_initcall
去聲明。
2、對于同一優(yōu)先級(jí)的驅(qū)動(dòng)模塊,可以在 Makefile 中更改其編譯和鏈接的順序,就會(huì)切換其掛載的順序。(靜態(tài)編譯)
3、動(dòng)態(tài)加載驅(qū)動(dòng)模塊:等 Linux 系統(tǒng)起來以后,手動(dòng)執(zhí)行 insmod 和 rmmod
即可掛載和卸載驅(qū)動(dòng),順序自己決定。測試成功后,再搞到內(nèi)核中靜態(tài)編譯。
雖然可以更改掛載順序,但還是希望大家寫驅(qū)動(dòng)模塊的時(shí)候,能夠做到高內(nèi)聚、低耦合,自己的模塊最好不要依賴其他模塊,防止其他模塊加載失敗導(dǎo)致自己的模塊不可用。
如何看驅(qū)動(dòng)掛載順序?有兩種方式:
1、找到編譯后的 Linux 內(nèi)核源碼,根目錄下面有個(gè) System.map 文件,這里記載了 Linux
內(nèi)核所做的所有的事情,是按順序記載的(也有可能在其他輸出目錄)。
一共有三列:地址、區(qū)域、操作。在操作中我們可以看到我們聲明的驅(qū)動(dòng)的名字。
2、如果你驅(qū)動(dòng)模塊有加一些打印,可以直接看 log。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報(bào)投訴
相關(guān)推薦
Linux模塊相關(guān)命令 Linux驅(qū)動(dòng)模塊的編寫與掛載
發(fā)表于 10-01 12:20
?517次閱讀
電源驅(qū)動(dòng)模塊
深圳艾克思科技有限責(zé)任公司
發(fā)布于 :2023年11月02日 16:09:12
打開/dev/cmem設(shè)備失敗。想請教下,DDR大小更改后,上面四個(gè)模塊為什么掛載失敗?是不是因?yàn)閮?nèi)存大小更改后,需要重新配置cmem模塊?
發(fā)表于 02-21 12:44
高亮度LED驅(qū)動(dòng)動(dòng)態(tài)及電路集錦高亮度LED驅(qū)動(dòng)動(dòng)態(tài)及電路集錦
發(fā)表于 02-25 15:57
?10次下載
隨著光通訊、數(shù)據(jù)中心的發(fā)展,光模塊的應(yīng)用越來越廣泛。而光模塊類型、傳輸數(shù)據(jù)也是越來越多樣化。40G光模塊、100G光模塊;單模光模塊、多模光
發(fā)表于 05-03 10:36
?3.1w次閱讀
什么是電機(jī)驅(qū)動(dòng)芯片和電機(jī)驅(qū)動(dòng)模塊? 電機(jī)驅(qū)動(dòng)芯片是集成有CMOS 控制電路和DMOS 功率器件的芯片,利用它可以與主處理器、電機(jī)和增量型編碼器構(gòu)成一個(gè)完整的運(yùn)動(dòng)控制系統(tǒng)。可以用來
發(fā)表于 07-18 14:46
?1.8w次閱讀
智能功率模塊(IPM)的驅(qū)動(dòng)(人工智能技術(shù)應(yīng)用專業(yè)主要就業(yè)崗位)-智能功率模塊(IPM)的驅(qū)動(dòng)與保護(hù),僅提供參考!!
發(fā)表于 09-30 13:18
?88次下載
ESP8266有三種模式可以選擇,AP/STA/AP+STA,下面我們要實(shí)現(xiàn)的是模塊與模塊之間點(diǎn)對點(diǎn)的通信。
發(fā)表于 02-28 10:48
?4137次閱讀
電子發(fā)燒友網(wǎng)站提供《如何使用Arduino輕松更改藍(lán)牙模塊名稱.zip》資料免費(fèi)下載
發(fā)表于 12-16 10:33
?0次下載
電子發(fā)燒友網(wǎng)站提供《更改HC 05藍(lán)牙模塊的名稱和密碼.zip》資料免費(fèi)下載
發(fā)表于 02-02 14:22
?0次下載
電機(jī)驅(qū)動(dòng)模塊有哪些 電機(jī)的驅(qū)動(dòng)模塊通常有晶體管模塊、晶閘管(可控硅)模塊、IGBT
發(fā)表于 05-08 14:50
?3416次閱讀
驅(qū)動(dòng)模塊的作用? 驅(qū)動(dòng)模塊是一種非常常見的軟件模塊,用于連接操作系統(tǒng)和硬件設(shè)備之間的接口。通常,
發(fā)表于 08-29 10:06
?3905次閱讀
由于模塊上的接口更改,翻譯時(shí)不一定會(huì)生成錯(cuò)誤消息。
因此,文檔“jyyy_mm_tt SPS_HMI_Info_VASSV6”中描述了包括更改在內(nèi)的受影響模塊。
“接口匹配”視圖比
發(fā)表于 10-26 10:51
?3176次閱讀
單模藍(lán)牙模塊和雙模藍(lán)牙模塊指的是什么意思?它們之間有什么區(qū)別呢? 單模藍(lán)牙模塊和雙模藍(lán)牙模塊是指用于無線通信的藍(lán)牙
發(fā)表于 01-15 14:59
?5385次閱讀
觸發(fā)開關(guān)驅(qū)動(dòng)模塊的接線是一個(gè)涉及電子工程和電氣工程的復(fù)雜過程,需要對電路設(shè)計(jì)、電子元件以及安全操作有深入的了解。 觸發(fā)開關(guān)驅(qū)動(dòng)模塊接線概述 理解觸發(fā)開關(guān)
發(fā)表于 09-23 09:43
?410次閱讀
評論