IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁(yè)操作系統(tǒng)LINUX → linux驅(qū)動(dòng)編譯與加載

linux驅(qū)動(dòng)編譯與加載

時(shí)間:2015-06-28 00:00:00 來(lái)源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)

  編譯驅(qū)動(dòng)源碼,modpost老是出錯(cuò),于是進(jìn)入/usr/src/`uname -r`目錄下

  #make scripts

  接著再編譯源碼,之前的錯(cuò)誤消失了。出現(xiàn)了新的錯(cuò)誤:

  **1.c:1052:error:void value not ignored as it ought to be

  **1.c源代碼中的1052行是:

  ret = unregister_chrdev(MAJOR, DEVICE_NAME);

  當(dāng)注銷此行時(shí)可以編譯通過(guò),找到linux/fs.h頭文件,里面定義了unregister_chrdev()函數(shù):

  extern void unregister_chrdev(unsigned int,const char *);

  此處定義的為void類型函數(shù),而在程序中將其賦值給了ret,這就造成了編譯錯(cuò)誤。

  于是注釋了相應(yīng)的代碼,用unregister_chrdev(MAJOR, DEVICE_NAME);代替即可。這樣就能通過(guò)編譯了。又出現(xiàn)了新的問(wèn)題:

  **2.c:474:’SA_INTERRUPT’undeclared(first use in this function)//{ 原來(lái)頭文件里沒(méi)有SA_INTERRUPT了,一般使用IRQF_SHARED 了。}

  頭文件為/usr/src/linux-2.6.26.8RedHawk5.2.4/include/linux下的interrupte.h

  **2.c:474:’SA_SHIRQ’undeclared(first use in this function)//{ SA_SHIRQ 已經(jīng)不支持了,用 IRQF_SHARED }

  于是修改了這行,通過(guò)編譯。

  新的問(wèn)題又出現(xiàn)了:

  **3.c:57:error:’POLL_IN’undeclared(first use in this function)

  考慮肯定是由于頭文件的問(wèn)題,直接注銷此行,先編譯通過(guò)再說(shuō),編譯成功!

  終于生成了**.ko的模塊!

  但是,新的問(wèn)題又出現(xiàn)了,始終加載不了該模塊

  在/lib/modules/2.6.26.8-RedHawk-5.2.4-Moxa/kernel中新建文件夾extra

  將生成的**.ko文件復(fù)制到該文件下

  # depmod

  #modprobe **.ko

  FATAL:Module **.ko not found.

  再用insmod命令試試

  #insmod **.ko

  Insmod:error inserting ‘**.ko’: -1 Wrong medium type

  使用命令#dmesg:

  最后兩行顯示:

  [PCI-**]:Error in find_device: no card

  [PCI-**]:Error in find_device: no card

  因?yàn)闆](méi)有插入板卡所致!

關(guān)鍵詞標(biāo)簽:linux驅(qū)動(dòng)編譯,linux加

相關(guān)閱讀

文章評(píng)論
發(fā)表評(píng)論

熱門文章 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 Tomcat9.0如何安裝_Tomcat9.0環(huán)境變量配置方法 Tomcat9.0如何安裝_Tomcat9.0環(huán)境變量配置方法 多種操作系統(tǒng)NTP客戶端配置 多種操作系統(tǒng)NTP客戶端配置 Linux操作系統(tǒng)修改IP Linux操作系統(tǒng)修改IP

相關(guān)下載

    人氣排行 Linux下獲取CPUID、硬盤序列號(hào)與MAC地址 dmidecode命令查看內(nèi)存型號(hào) linux tc實(shí)現(xiàn)ip流量限制 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 linux下解壓rar文件 lcx.exe、nc.exe、sc.exe入侵中的使用方法 Ubuntu linux 關(guān)機(jī)、重啟、注銷 命令 查看linux服務(wù)器硬盤IO讀寫負(fù)載