如果驅動模塊之間有依賴,需要更改模塊掛載順序,有三種方式:
1、增加一個優先級,比如 8。或者把自己的驅動模塊聲明成其他優先級,也就是不用 module_init 去聲明,可以用 fs_initcall
去聲明。
2、對于同一優先級的驅動模塊,可以在 Makefile 中更改其編譯和鏈接的順序,就會切換其掛載的順序。(靜態編譯)
3、動態加載驅動模塊:等 Linux 系統起來以后,手動執行 insmod 和 rmmod
即可掛載和卸載驅動,順序自己決定。測試成功后,再搞到內核中靜態編譯。
雖然可以更改掛載順序,但還是希望大家寫驅動模塊的時候,能夠做到高內聚、低耦合,自己的模塊最好不要依賴其他模塊,防止其他模塊加載失敗導致自己的模塊不可用。
如何看驅動掛載順序?有兩種方式:
1、找到編譯后的 Linux 內核源碼,根目錄下面有個 System.map 文件,這里記載了 Linux
內核所做的所有的事情,是按順序記載的(也有可能在其他輸出目錄)。
一共有三列:地址、區域、操作。在操作中我們可以看到我們聲明的驅動的名字。

2、如果你驅動模塊有加一些打印,可以直接看 log。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
模塊
+關注
關注
7文章
2837瀏覽量
53292 -
驅動
+關注
關注
12文章
1956瀏覽量
88536 -
Linux
+關注
關注
88文章
11760瀏覽量
219036
發布評論請先 登錄
相關推薦
熱點推薦
如何將SD卡驅動模塊掛載至外設總線
我們的隊伍編號是CICC2962,這是我們第五次分享,接下來我將分享一下如何將SD卡驅動模塊掛載至外設總線上,并且發送一條讀指令。
這是外設總線上被保留的接口信號,我們將所寫的代碼與之相連接
發表于 10-30 06:12
DM368板子DDR大小更改后模塊掛載失敗
打開/dev/cmem設備失敗。想請教下,DDR大小更改后,上面四個模塊為什么掛載失???是不是因為內存大小更改后,需要重新配置cmem模塊?
發表于 02-21 12:44
單模光模塊和多模光模塊之間的區別
隨著光通訊、數據中心的發展,光模塊的應用越來越廣泛。而光模塊類型、傳輸數據也是越來越多樣化。40G光模塊、100G光模塊;單模光模塊、多模光
發表于 05-03 10:36
?3.3w次閱讀
如何使用M5StickC ESP32模塊通過按鈕更改LED亮度
電子發燒友網站提供《如何使用M5StickC ESP32模塊通過按鈕更改LED亮度.zip》資料免費下載
發表于 06-29 11:27
?0次下載
博途案例:模塊更新與接口更改的實現方法
由于模塊上的接口更改,翻譯時不一定會生成錯誤消息。
因此,文檔“jyyy_mm_tt SPS_HMI_Info_VASSV6”中描述了包括更改在內的受影響模塊。
“接口匹配”視圖比
單模藍牙模塊和雙模藍牙模塊指的是什么意思?它們之間有什么區別呢
單模藍牙模塊和雙模藍牙模塊指的是什么意思?它們之間有什么區別呢? 單模藍牙模塊和雙模藍牙模塊是指用于無線通信的藍牙
觸發開關驅動模塊怎么接線
觸發開關驅動模塊的接線是一個涉及電子工程和電氣工程的復雜過程,需要對電路設計、電子元件以及安全操作有深入的了解。 觸發開關驅動模塊接線概述 理解觸發開關
驅動動模塊之間如何更改模塊掛載順序
評論