imx8系列-迅為i.MX8M Mini開發板Android9 如何編譯驅動到核心
迅為I.MX8MM 開發平臺是基於恩智浦的 NXP i.MX 8M Mini 處理器設計開發的一款產品。NXP i.MX 8M Mini 處理器致力於提供出色的視訊和音訊體驗,將媒體的特定功能與針對低功耗優化的高效能處理相結合。
在平時的驅動開發中,經常需要在核心中配置某種功能,為了方便大家開發和學習,本小節講解如何在核心中新增驅動。具體的講解原理講解請參考本手冊的驅動教程。
1 首先進入 Android9 的核心原始碼目錄:android_build/vendor/nxp-opensource/kernel_imx
cd android_build/vendor/nxp-opensource/kernel_imx
2 i.MX8MM 核心預設的配置檔案是
android_build/vendor/nxp-opensource/kernel_imx/arch/arm64/configs/android_defconfig
輸入以下命令開始配置驅動
export ARCH=arm64
make android_defconfig
make menuconfig
Make menuconfig 命令輸入之後便會出現核心配置介面,如下圖所示:
接下來便可以在這個介面配置驅動了。menuconfig 的使用方式主要如下表所示:
上下鍵:選擇不同的行,即移動到不同的(每一行的)選項上
空格鍵:用於在選擇該選項,取消選擇該選項之間來回切換
選擇該(行所在的)選 項:
則對應的該選項前面就變成了 [ * ],表示被選中了。
把驅動編譯編譯成模組,用 M 來表示。
把驅動編譯到核心裡面,用*來表示。
取消該選項:則對應的該選項變成了只有一箇中括號,裡面是空的,即:[ ]
左右鍵:用於在 Select/Exit/Help 之前切換
回車鍵:左右鍵切換到了某個鍵上,此時回車鍵,就執行相應的動作
Select:此時一般都是所在(的行的)選項,後面有三個短橫線加上一個右 箭頭,即 —>,表示此項下面還有子選項,即進入子選單
Exit:直接退出當前的配置。所以,當你更改了一些配置,但是又沒有去 儲存,此時一般都會詢問你是否要儲存當前(已修改後的最新的) 配置,然後再退出。
Help:針對你當前所在某個(行的)選項,檢視其幫助資訊。一般來說, 其幫助資訊,都包含針對該選項的很詳細的解釋。換句話說:如果 你對某個選項的功能,不是很清楚,那麼就應該認真仔細的去看看 其 Help,往往都會找到詳細解釋,以便你更加了解此配置的含義。 另外一般也會寫出,此選項所對應的巨集。該巨集,就是寫出到配置文 件中的那個巨集,對於寫 makefile 的人來說,往往也是利用此相關的 巨集,在 makefile 中,實現對應的不同的控制。
快捷鍵快速跳轉到對 應的選項:menuconfig 中的每一行的選項,都有一個用特殊顏色標記出來的字 母,很明顯,此字母,就是該行的快捷字母。注意:此類快捷字母, 一般都是大寫的,且是大小寫區分的。
/ 鍵:輸入“/”即可彈出搜尋介面,然後輸入我們想要搜尋的內容即可。
3 配置驅動完畢,然後游標移動到 save,儲存配置,如下圖所示:
注意儲存的路徑寫到 i.MX8MM 核心預設的配置檔案的路徑:arch/arm64/configs/android_defconfig。 然後點選 ok,退出配置介面。配置完便可以編譯 Android 原始碼了。編譯原始碼請參考《i.MX8MM 開發板使用手冊》。