Linux設備驅動--Linux驅動模塊交叉編譯的注意事項

在linux系統下編寫好目標開發板的驅動程序後,需要以模塊的方式加入內核。期間交叉編譯適合目標板Kernel的模塊尤爲關鍵。在此記錄編譯方法,以免看客和我一樣走彎路。

1、在宿主機上安裝交叉編譯器 arm-linux,具體方法百度,一大筐。

2、將和目標板的內核原文件在宿主機上編譯好(make bzimage)。

3、在編譯好的內核文件中,輸入make modules ARCH=arm  CROSS_COMPILE=arm-linux-(可以直接修改makefile文件)編譯模塊,輸入make modules_install。將內核加載,用來解決/lib/modules/下無目標板內核版本文件夾及build文件的問題,也可以make modules_install INSTALL_MOD_PATH=/指定模塊安裝路徑。

4、在自己編寫好的模塊文件makefile中修改以下內容:

KDIR :=/lib/modules/3.0.1(此處爲剛剛運行make modules_install 新生成的文件,與目標板內核版本一致)/build

因爲開發板是arm系統,還需要用到交叉編譯器,添加以下文件:

make -C $(KDIR) M=$(PWD) modules(以下爲添加內容)
ARCH:= armCROSS_COMPILE:= /usr/local/arm/4.4.1/bin/arm-linux(路徑根據自己的安裝路徑自己更改)

OK,說到這裏,一切ok,make,完成。

發佈了16 篇原創文章 · 獲贊 8 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章