今天小編就爲大家分享一篇關於Android系統添加Linux驅動的文章,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
Linux內核是可配置,進入到linux目錄,輸入make menuconfig 將會有模塊選擇界面,前兩句是
scripts/kconfig/mconf Kconfig .config - Linux/x86 3.10.65 Kernel Configuration
Kconfig是默認選項,.config是當前內核配置文件。
這裏介紹如何添加有依賴關係的linux驅動。
1.driver驅動下添加新的模塊類
- drivers/Makefile文件添加obj-$(CONFIG_TEST_DEVICE) +=test/
- drivers/Kconfig文件中添加source "drivers/test/Kconfig"
- drivers/test/Kconfig示例
可以在make menuconfig配置界面中Ddevice Driver子選項下來改TEST_DEVICE配置,保存至.config。
也可以直接在.config文件中添加下面內容
2.添加依賴新模塊類的radio驅動
- drivers/test/Makefile添加obj-$(CONFIG_TEST_DEVICE) +=radio/
- drivers/test/Kconfig添加source "drivers/test/radio/Kconfig"
- drivers/test/radio/Makefile示例obj-$(CONFIG_TEST_RADIO_DRIVER) += radio.o
- drivers/test/radio/Kconfig示例
此時可以在make menuconfig配置界面中Device Drivers的TEST_DEVICE目錄下找到TEST_RADIO_DRIVER選擇加載方式。
也可以在linux3.10/.config文件的CONFIG_TEST_DEVICE=y後面添加CONFIG_TEST_RADIO_DRIVER=m。
整理
通過實踐來理解linux內核模塊的編譯。Kconfig是make menuconfig時加載的,最後編譯規則保存到.config文件中。.config和各個目錄下的Makefile是在編譯時讀取的文件。
我們跟蹤CONFIG_TEST_DEVICE、 CONFIG_TEST_RADIO_DRIVER、 TEST_DEVICE、TEST_RADIO_DRIVER幾個關鍵字即可理解編譯的流程。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對神馬文庫的支持。如果你想了解更多相關內容請查看下面相關鏈接