如何將裝置檔案也載入進核心,開機自動匹配呢?

2022-08-26 10:45:08 字數 844 閱讀 2112

問題介紹:

概括:將裝置檔案編譯進核心

我們一般是根據核心驅動**的基礎上來寫平台裝置檔案platform_device,在乙個單獨的檔案下,編譯成模組需要時載入。但是每次用時都需要手動載入,很麻煩。如果有些裝置我們想開機後相應的裝置和驅動就匹配上,使用者至於要使用就行了,那該怎麼辦呢?

解決方法:

1.在原始碼目錄下,進入vi模式,執行   :cs  find  t  machine_start

2.查詢自己對晶元型號前面第一列對應的資料,我的是「sun8i」  對應的是492,所以我選擇492

3.  游標會跳轉到machinre_start函式中,如下圖

其中sunxi_dev_init就是初始化裝置函式,所以我們可以將自己的裝置註冊檔案放到這個函式中,開機就會自動執行了,但是這個函式在**呢?

首先將游標放到函式上,按「ctrl+}」即可跳轉,如圖:

選擇2,即可進入函式

4.將自己的註冊函式加入此函式內部

489行即為我自己加入的裝置註冊函式,其中函式的實現和標頭檔案可以寫在函式的外面。(最好先寫成模組編譯沒問題了再載入進來)

如何將乙個驅動編譯進核心

將乙個驅動編譯進核心 驅動和核心成為乙個整體,即驅動程式在zimage 或uimage 在核心啟動過程中,會自動安裝驅動。1 將驅動原始碼放在linux核心的原始碼包中 drivers char leds gec210 led.c 在drivers char 下建立了乙個目錄leds,將gec210...

如何將驅動程式靜態編譯進核心

驅動模組可以核心編譯好後動態載入進去,也可以在編譯核心的時候就直接新增。下面是將驅動程式靜態編譯進核心的方法 以乙個字元裝置為例 1.修改 drivers char下的kconfig檔案 在kconfig中增加如下 config my hello bool this is test a.儲存後回到核...

如何將elf 二進位制 韌體編譯進核心

需求 我的網絡卡驅動在載入時,需要兩個elf格式的韌體。sdk的做法是將這兩個韌體放置到跟檔案系統中的 lib firmware目錄下,核心啟動的時候在根檔案系統中尋找。這樣做,核心和根檔案系統就出現了乙個強相關的關係。客戶提出,在核心不要和根檔案系統較強聯絡,不要出現這種情況 編譯出的kernel...