久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

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

 mrjbydd 2014-05-09

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

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

it


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

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

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

mydevice: version magic '3.3.0-ADI-2012R1-pre+ mod_unload modversions ' should be '3.3.0-ADI-2012R1-pre-00619-gab55153-dirty mod_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è)置tools chain時,,出現(xiàn)了問題。板上下載好的uImage文件是buildroot編譯所得,,模塊編譯是在linux kernel下編譯所得,,而環(huán)境變量設(shè)置時又出現(xiàn)了問題,導(dǎo)致了版本信息不同,。

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

Linux字符設(shè)備驅(qū)動insmod <wbr>version錯誤備注
另外在進(jìn)行menuconfig時,進(jìn)行module設(shè)置時,,有以下幾項:
Linux字符設(shè)備驅(qū)動insmod <wbr>version錯誤備注
再由打印出來的module vermagic:3.3.0-ADI-2012R1-pre+ mod_unload modversions 可知,。3.3.0-ADI-2012R1-pre+為kernel version信息。至于后面的那個+號是沒有顯示kernel的補(bǔ)丁信息,。mod_unload 為上圖module menuconfig時設(shè)置的,,保證模塊與內(nèi)核此處一致就行,還有后面的modversions與此類似。但是非常重要的一點是,,在vermagic string里面的第一條UTS_RELEASE,,規(guī)定了模塊中kernel version的信息,UTS_RELEASE在include/generated/UTSRELEASE.h中可以查看,。但是該文件只有在menuconfig時,,配置了
Linux字符設(shè)備驅(qū)動insmod <wbr>version錯誤備注
此項才會生成。這樣編譯生成的.ko文件vermagic信息才會對應(yīng)kernel完整的version信息,。
至此,,insmod關(guān)于版本信息的問題解決了。
但是這個問題后,,insmod時,,又出現(xiàn)
Unknown symbol _mcount (err 0)的錯誤。
目前正在處理中,。Linux字符設(shè)備驅(qū)動insmod <wbr>version錯誤備注

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多