驱动无法加载到arm linux中
我编了个字符驱动,用insmod命令加载到开发板内核中。
可是无法加载,出现如下错误:
kbd_s3c2410: disagrees about version of symbol struct_module
insmod : cannot insert './kbd_s3c2410.ko':Invalid module format (-1):Exec format error.
添加信息:驱动程序kbd-s3c2410.c在linux下用file命令查看为:ISO-8859 C program text ,with CRLF line terminatiors。不知道是不是这个 原因。
[ 本帖最后由 bsdhnit 于 2008-8-27 18:00 编辑 ]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
两点你先确定一下:
1、你是否是使用arm-gcc编译的。
2、你的代码树是否和开发板上的一致
1。是用arm-linux编译器
2。代码树就是开发板上的。
显示为:kbd_s3c2410.ko:ELF 32-bit LSB relocatable ,ARM,version 1 (ARM), not stripped
[ 本帖最后由 bsdhnit 于 2008-8-27 18:01 编辑 ]
在开发板上insmod
你的内核怎么编的,说说看。怀疑编的时候有问题。
内核按照嵌入式设计及Linux驱动开发指南这本书上的内容来配置的
你不是进行一个交叉编译的过程吗,你在386上编译的内核要到arm上进行加载的呀
编译的的模块s3c2410-kbd.ko用file文件查看是:ELF 32-bit LSB relocatable ,ARM,version 1 (ARM),not stripped
X86上先编译加载下看看,可以的话,在玩开发板内核里加载。