国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Linux字符設(shè)備驅(qū)動insmod version錯誤備注

Linux字符設(shè)備驅(qū)動insmod version錯誤備注

(2012-05-17 09:35:00)
標(biāo)簽:

it


  在基于bf609開發(fā)驅(qū)動時,先做了最簡單的字符型設(shè)備驅(qū)動嘗試。編譯環(huán)境是在PCxp下運(yùn)行的vmware ubuntu10.04。交叉編譯環(huán)境為bfin-uclinux,linuxkernel為ADI網(wǎng)站提供的最新代碼。

 在驅(qū)動代碼寫好后,配置好konfig文件和makefile文件,設(shè)置為module。make menuconfig后,進(jìn)行makemodules SUBDIRS=drivers/char。將module型的驅(qū)動生成.ko文件。

  將.ko文件下載到板上后,進(jìn)行insmod操作。發(fā)現(xiàn)反饋的信息為:

mydevice: version magic '3.3.0-ADI-2012R1-pre+ mod_unloadmodversions ' should be '3.3.0-ADI-2012R1-pre-00619-gab55153-dirtymod_unload '
insmod: can't insert 'mydevice.ko': invalid module format

 在網(wǎng)上查了很多資料,知道是模塊的編譯工具版本和內(nèi)核的編譯工具版本不對所導(dǎo)致。但是之前沒有做過驅(qū)動開發(fā)。很多知識不太清楚。不知道哪兒出錯了。由于進(jìn)行blackfin開發(fā)時,軟件開發(fā)環(huán)境根據(jù)官網(wǎng)提供的信息,可有兩種情況。一種是通過官網(wǎng)提供的uClinux包來開發(fā)uClinux。一種是通過官網(wǎng)提供的buildroot包來開發(fā)linux。由于ADI從bf60X開始,對于bf60X的開發(fā)支持只在buildroot上進(jìn)行。因為我的開發(fā)包為buildroot。針對剛才insmod的問題,經(jīng)過仔細(xì)檢查,發(fā)現(xiàn)在環(huán)境變量設(shè)置toolschain時,出現(xiàn)了問題。板上下載好的uImage文件是buildroot編譯所得,模塊編譯是在linuxkernel下編譯所得,而環(huán)境變量設(shè)置時又出現(xiàn)了問題,導(dǎo)致了版本信息不同。

  不過從給出的message來看,模塊的vermagic信息為3.3.0-ADI-2012R1-pre+ mod_unload modversions。它是有kernel目錄下的include/linux/vermagic.h文件決定的。其中具體的信息又由文件中vermagicstring決定。

另外在進(jìn)行menuconfig時,進(jìn)行module設(shè)置時,有以下幾項:
再由打印出來的module vermagic:3.3.0-ADI-2012R1-pre+ mod_unloadmodversions 可知。3.3.0-ADI-2012R1-pre+為kernelversion信息。至于后面的那個+號是沒有顯示kernel的補(bǔ)丁信息。mod_unload 為上圖modulemenuconfig時設(shè)置的,保證模塊與內(nèi)核此處一致就行,還有后面的modversions與此類似。但是非常重要的一點是,在vermagicstring里面的第一條UTS_RELEASE,規(guī)定了模塊中kernelversion的信息,UTS_RELEASE在include/generated/UTSRELEASE.h中可以查看。但是該文件只有在menuconfig時,配置了
此項才會生成。這樣編譯生成的.ko文件vermagic信息才會對應(yīng)kernel完整的version信息。
至此,insmod關(guān)于版本信息的問題解決了。
但是這個問題后,insmod時,又出現(xiàn)
Unknown symbol _mcount (err 0)的錯誤。
目前正在處理中。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Linux驅(qū)動程序入門—Hello World - 藍(lán)博芯科
Linux內(nèi)核模塊編程指南(一)
Linux驅(qū)動Invalid module format錯誤解決
Linux e1000e 網(wǎng)卡驅(qū)動
??低暻度胧杰浖こ處煿P試題分享(含解答)
網(wǎng)上看到的一篇很好的講解linux驅(qū)動的文章
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服