4、編譯模塊
本文引用地址:http://m.butianyuan.cn/article/201611/322698.htm在work/lab/test01/目錄下輸入make命令。
#make
成功后會生成 test.ko文件。這個就是我們需要的模塊文件,其他的都是中間的臨時文件。
查看一下test.ko文件信息,可以看出是基于ARM平臺的目標文件。
#file test.ko
可能出錯原因
注意:由于編譯模塊時需要使用內(nèi)核中的一些依賴文件,因此需要確保在內(nèi)核源碼中那些文件存在。
如果上面的編譯有錯誤,我們需要在內(nèi)核源碼根目錄下(/work/linux-2.6.36.2-v1.05/)執(zhí)行以下命令
#make oldconfig && make prepare && make scripts
5、測試模塊
將前面生成的模塊文件(test.ko)下載到開發(fā)板的/lib/modules/2.6.36.2 目錄下(如果沒有此目錄,則需要手動創(chuàng)建)。
在開發(fā)板上進行模塊的裝載與卸載操作。
(1)裝載模塊
# insmod/lib/modules/2.6.36.2/test.ko
(2)查看模塊列表
#lsmod
(3)卸載模塊
#rmmod test
運行結果如下圖:
作者:滄海獵人出處:http://blog.csdn.net/embedded_hunter轉載請注明出處嵌入式技術交流QQ群:179012822
總結
- 在做以上實驗時,要一直思考每個步驟的作用。我會盡量寫的詳細一些,你千萬不要只知道照著敲命令,否則你很難有進步。
以上是本人在網(wǎng)絡上找的,復雜但省時,下面是從是師兄那里學來的簡單但是費時
可以把寫好的驅(qū)動程序(如test.c)放到內(nèi)核源碼目錄下的任何子目錄(如linux2.6.38/drivers)修改test.c所在目錄的Makefile:添加obj-m+= test.o 然后回到源碼目錄linux2.6.38
執(zhí)行make modules,即可在test.c所在的目錄下生成test.ko
評論