新聞中心

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

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

作者: 時(shí)間:2016-11-28 來(lái)源:網(wǎng)絡(luò) 收藏

4、編譯模塊

本文引用地址:http://butianyuan.cn/article/201611/322698.htm

在work/lab/test01/目錄下輸入make命令。

#make

成功后會(huì)生成 test.ko文件。這個(gè)就是我們需要的模塊文件,其他的都是中間的臨時(shí)文件。

查看一下test.ko文件信息,可以看出是基于ARM平臺(tái)的目標(biāo)文件。

#file test.ko

可能出錯(cuò)原因

注意:由于編譯模塊時(shí)需要使用內(nèi)核中的一些依賴文件,因此需要確保在內(nèi)核源碼中那些文件存在。

如果上面的編譯有錯(cuò)誤,我們需要在內(nèi)核源碼根目錄下(/work/linux-2.6.36.2-v1.05/)執(zhí)行以下命令

#make oldconfig && make prepare && make scripts

5、測(cè)試模塊

將前面生成的模塊文件(test.ko)下載到開發(fā)板的/lib/modules/2.6.36.2 目錄下(如果沒(méi)有此目錄,則需要手動(dòng)創(chuàng)建)。

在開發(fā)板上進(jìn)行模塊的裝載與卸載操作。

(1)裝載模塊

# insmod/lib/modules/2.6.36.2/test.ko

(2)查看模塊列表

#lsmod

(3)卸載模塊

#rmmod test

運(yùn)行結(jié)果如下圖:

作者:滄海獵人出處:http://blog.csdn.net/embedded_hunter轉(zhuǎn)載請(qǐng)注明出處嵌入式技術(shù)交流QQ群:179012822

總結(jié)

  • 在做以上實(shí)驗(yàn)時(shí),要一直思考每個(gè)步驟的作用。我會(huì)盡量寫的詳細(xì)一些,你千萬(wàn)不要只知道照著敲命令,否則你很難有進(jìn)步。

以上是本人在網(wǎng)絡(luò)上找的,復(fù)雜但省時(shí),下面是從是師兄那里學(xué)來(lái)的簡(jiǎn)單但是費(fèi)時(shí)

可以把寫好的驅(qū)動(dòng)程序(如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


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


技術(shù)專區(qū)

關(guān)閉