kellyp
驱动牛犊
驱动牛犊
  • 注册日期2006-11-22
  • 最后登录2007-09-08
  • 粉丝0
  • 关注0
  • 积分140分
  • 威望15点
  • 贡献值0点
  • 好评度14点
  • 原创分1分
  • 专家分0分
阅读:2861回复:6

linux 驱动开发问题

楼主#
更多 发布于:2007-05-26 11:09
   我刚学写LIUNX驱动,驱动菜鸟
  我用的是REDHAT9.0   内核是2.4.20.   但里面的驱动全通过连接的 2.4.20-8里面. 写好的驱动编译通过了, 但在装载模块的时候不能被正常装载.
             报告错误是  :   内核模块不匹配
       在编译我的驱动是用的 2.4.20
       内核模块 为2.4.20-8
         请问这个问题该怎么解决?是不是要下载 补丁?
    

最新喜欢:

精灵dsp精灵dsp
kellyp
驱动牛犊
驱动牛犊
  • 注册日期2006-11-22
  • 最后登录2007-09-08
  • 粉丝0
  • 关注0
  • 积分140分
  • 威望15点
  • 贡献值0点
  • 好评度14点
  • 原创分1分
  • 专家分0分
沙发#
发布于:2007-05-27 11:26
  
    几种解决方案:
   (1): 强制载如  insmod     **.o   -f
   (2) 在 /usr/src/linux/version.h 中的宏定义UTS_RELEASE指明模块适用的内核模块版本号
  (3)  把内核linux 和 srm -arm 目录分别影射到编译器 linux 和 asm目录
    (4)用/usr/src/linux2.4.20-8/include/linux/version.h  覆盖  /use/src/linus/version.h
      (5)  #ifdef UTS_RELEASE
             #undef   UTS_RELEASE
         #endif
     #define UTS_RELEASE
 
liuyiyi
驱动牛犊
驱动牛犊
  • 注册日期2007-03-08
  • 最后登录2007-08-15
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-08-15 17:33
我也是这样,可是强制加载也不行啊
zhaoyanghong
驱动小牛
驱动小牛
  • 注册日期2004-11-13
  • 最后登录2008-08-05
  • 粉丝0
  • 关注0
  • 积分341分
  • 威望92点
  • 贡献值0点
  • 好评度91点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-08-16 12:09
修改内核参数,使编译模块对版本不敏感!
kellyp
驱动牛犊
驱动牛犊
  • 注册日期2006-11-22
  • 最后登录2007-09-08
  • 粉丝0
  • 关注0
  • 积分140分
  • 威望15点
  • 贡献值0点
  • 好评度14点
  • 原创分1分
  • 专家分0分
地下室#
发布于:2007-08-24 21:51
Makefile的前面这样写就可能解决
 KERENLDIR=/usr/src/linux-2.4.20-8
  CFLAGS= -D  __KERENL__  -DMODULE  -I $(KERENLDIR)
 ifdef  CONFIG_SMP
CFLAGS  +=  -D __SMP__  -DSMP
endif
xaxiao
驱动小牛
驱动小牛
  • 注册日期2007-09-11
  • 最后登录2010-02-10
  • 粉丝1
  • 关注0
  • 积分1分
  • 威望199点
  • 贡献值0点
  • 好评度197点
  • 原创分2分
  • 专家分0分
5楼#
发布于:2008-03-30 10:26
顺便
xaxiao
驱动小牛
驱动小牛
  • 注册日期2007-09-11
  • 最后登录2010-02-10
  • 粉丝1
  • 关注0
  • 积分1分
  • 威望199点
  • 贡献值0点
  • 好评度197点
  • 原创分2分
  • 专家分0分
6楼#
发布于:2008-04-03 22:07
我也定一下
游客

返回顶部