version magic 'xxx ARMvx ' should be 'xxx ARMvx '

原文地址:http://blog.163.com/cailing_07@126/blog/static/33915087201211094613923/


对linux3.2.5源码移植了nandflash,LCD,yaffs2,DM9000,touchscreen,RTC,WatchDog,鼠标驱动。并用测试程序进行了驱动测试。基本都和移植2.6.30差不多。主要遇到1个问题,比较费时。执行ts_calibration触摸无反应。解决方法如下:

1,selected device is not a touchscreen I understand
想去找源码,没找到。(后来知道,我是有源码的。)
2,可能是配置问题。也没看到有什么错。probe是成功了。
3,看到一句信息。
input_polldev: version magic '2.6.30.4-EmbedSky mod_unload ARMv4 ' should be '3.2.5apple2.0 mod_unload ARMv4 p2v8 '
insmod: can't insert '/lib/input-polldev.ko': invalid module format
怀疑input-polldev.ko没有加载出错。于是在kenrel中,发现根本没选择该项,于是选成y,加载到kernel中。然后在文件系统中删除ismod input-polldev.ko。
4,结果还是不行。于是用原本的kernel,发现input-polldev.ko模块不加载也没问题,触摸屏照用。于是只能把问题集中到“selected device is not a touchscreen I understand”
去看tslib中的源码。发现问题出在input_raw.c文件中。找到了线索。

arm交叉编译工具中的头文件库中的linux/input.h中的EV_VERSION定义为
    #define EV_VERSION        0x010000
而linux内核include/linux/input.h中的EV_VERSION定义为
    #define EV_VERSION        0x010001
由此可见问题就出现在内核的输入子系统的版本号不匹配的问题
    
解决办法:
    1.将内核源代码里的include/linux/input.h中的
    #define EV_VERSION        0x010001
    改为:
    #define EV_VERSION        0x010000

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值