新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 手把手教你學linux驅(qū)動開發(fā) OK6410系列之01---模塊編程

手把手教你學linux驅(qū)動開發(fā) OK6410系列之01---模塊編程

作者: 時間:2016-11-28 來源:網(wǎng)絡 收藏

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


上一頁 1 2 下一頁

評論


技術專區(qū)

關閉