IT猫扑网:您身边最放心的安全下载站! 最新更新| 软件分类| 专题汇总| 手机版

您当前所在位置:IT猫扑网 > 操作系统 > LINUX > linux驱动编译与加载

linux驱动编译与加载

时间:2015-06-28 00:00 来源:IT猫扑网|http://www.itmop.com/ 作者:网管联盟 我要评论(0)

  编译驱动源码,modpost老是出错,于是进入/usr/src/`uname -r`目录下

  #make scripts

  接着再编译源码,之前的错误消失了。出现了新的错误:

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

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

  ret = unregister_chrdev(MAJOR, DEVICE_NAME);

  当注销此行时可以编译通过,找到linux/fs.h头文件,里面定义了unregister_chrdev()函数:

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

  此处定义的为void类型函数,而在程序中将其赋值给了ret,这就造成了编译错误。

  于是注释了相应的代码,用unregister_chrdev(MAJOR, DEVICE_NAME);代替即可。这样就能通过编译了。又出现了新的问题:

  **2.c:474:’SA_INTERRUPT’undeclared(first use in this function)//{ 原来头文件里没有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 已经不支持了,用 IRQF_SHARED }

  于是修改了这行,通过编译。

  新的问题又出现了:

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

  考虑肯定是由于头文件的问题,直接注销此行,先编译通过再说,编译成功!

  终于生成了**.ko的模块!

  但是,新的问题又出现了,始终加载不了该模块

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

  将生成的**.ko文件复制到该文件下

  # 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

  因为没有插入板卡所致!

关键词标签:linux驱动编译,linux加

相关阅读 安装红帽子RedHat Linux9.0操作系统教程 Tomcat9.0如何安装_Tomcat9.0环境变量配置方法 多种操作系统NTP客户端配置 Linux操作系统修改IP Linux实现SCSI硬盘热插拔及在线识别 Linux下用CDMA modem拨号上网

文章评论
发表评论

热门文章 安装红帽子RedHat Linux9.0操作系统教程 安装红帽子RedHat Linux9.0操作系统教程 Linux服务器:设计高性能网站架构-LLMP Linux服务器:设计高性能网站架构-LLMP 使用Clonezilla迁移到虚拟Linux环境 使用Clonezilla迁移到虚拟Linux环境 Linux上的MRTG流量监控中心 Linux上的MRTG流量监控中心 Linux 双网卡绑定一个IP原理及实现 Linux 双网卡绑定一个IP原理及实现 linux和windows等系统远程控制ubuntu桌面 linux和windows等系统远程控制ubuntu桌面

相关下载

人气排行 Linux下获取CPUID、硬盘序列号与MAC地址 dmidecode命令查看内存型号 linux tc实现ip流量限制 安装红帽子RedHat Linux9.0操作系统教程 linux下解压rar文件 lcx.exe、nc.exe、sc.exe入侵中的使用方法 Ubuntu linux 关机、重启、注销 命令 查看linux服务器硬盘IO读写负载 linux命令行浏览器的使用方法 Linux NFS服务固定端口及防火墙配置 U盘安装Ubuntu 10.04 Linux清除用户登录记录和命令历史方法