OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5154|回复: 7

驱动实验 could not insert module char_dev_base.ko: Invalid module format

[复制链接]

9

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
107
金钱
107
注册时间
2015-4-5
在线时间
18 小时
发表于 2019-11-20 22:50:21 | 显示全部楼层 |阅读模式
1金钱
如题,第一个驱动实验
version magic '4.1.15 SMP preempt mod_unload modversions ARMv6 p2v8 ' should be '4.1.15-g49efdaa SMP preempt mod_unload modversions ARMv7 p2v8 '
insmod: ERROR: could not insert module char_dev_base.ko: Invalid module format



为什么是ARMv6

最佳答案

查看完整内容[请看2#楼]

可以执行指令:mv /lib/modules/$(uname -r)来改模块版本的名字和内核版本的名字一样。 论坛上的额这两个链接都可以参考 http://www.openedv.com/forum.php?mod=viewthread&tid=303237&extra=page%3D1[/backcolor] http://www.openedv.com/forum.php?mod=viewthread&tid=303260&extra=page%3D1[/backcolor]
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

890

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
2391
金钱
2391
注册时间
2019-9-25
在线时间
397 小时
发表于 2019-11-20 22:50:22 | 显示全部楼层
本帖最后由 仰望星空之云 于 2019-12-3 21:20 编辑

可以执行指令:mv  /lib/modules/$(uname -r)来改模块版本的名字和内核版本的名字一样。
论坛上的额这两个链接都可以参考
http://www.openedv.com/forum.php?mod=viewthread&tid=303237&extra=page%3D1

http://www.openedv.com/forum.php?mod=viewthread&tid=303260&extra=page%3D1


回复

使用道具 举报

0

主题

14

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
260
金钱
260
注册时间
2019-3-18
在线时间
83 小时
发表于 2019-11-25 08:47:34 | 显示全部楼层
编译内核使用的内核跟开发板上的内核版本不一致导致的,一个是ARMV6,一个是ARMV7。如果内核一致,只是单纯的提示should be '4.1.15-g49efdaa .... 的话,需要修改一下linux下的内核文件中宏定义,也就是幻数,幻数修改看图。
一般正常编译完很少会出现这种问题的。
幻数.jpg
回复

使用道具 举报

9

主题

890

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
2391
金钱
2391
注册时间
2019-9-25
在线时间
397 小时
发表于 2019-11-27 21:51:46 | 显示全部楼层
memery 发表于 2019-11-25 08:47
编译内核使用的内核跟开发板上的内核版本不一致导致的,一个是ARMV6,一个是ARMV7。如果内核一致,只是单纯 ...

为什么一个是ARMV6,一个是ARMV7,楼主这边的操作有哪些不同?想知道。
回复

使用道具 举报

9

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
107
金钱
107
注册时间
2015-4-5
在线时间
18 小时
 楼主| 发表于 2019-11-30 00:11:49 | 显示全部楼层
memery 发表于 2019-11-25 08:47
编译内核使用的内核跟开发板上的内核版本不一致导致的,一个是ARMV6,一个是ARMV7。如果内核一致,只是单纯 ...

使用的内核是一致的,原子提供的文件直接编译,
回复

使用道具 举报

9

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
107
金钱
107
注册时间
2015-4-5
在线时间
18 小时
 楼主| 发表于 2019-11-30 00:15:25 | 显示全部楼层
memery 发表于 2019-11-25 08:47
编译内核使用的内核跟开发板上的内核版本不一致导致的,一个是ARMV6,一个是ARMV7。如果内核一致,只是单纯 ...

编译后附加了一个git的分支号,这个应该怎么去掉
回复

使用道具 举报

9

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
107
金钱
107
注册时间
2015-4-5
在线时间
18 小时
 楼主| 发表于 2019-12-2 20:56:54 | 显示全部楼层
仰望星空之云 发表于 2019-11-27 21:51
为什么一个是ARMV6,一个是ARMV7,楼主这边的操作有哪些不同?想知道。

内核是按照教程里的方式编译的,modprobe方式挂载驱动一直是这个原因,板载内核是有上边这个git版本号的也不能挂载,大佬帮忙
回复

使用道具 举报

9

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
136
金钱
136
注册时间
2019-10-29
在线时间
25 小时
发表于 2019-12-3 23:27:15 | 显示全部楼层
我之前也遇到同样的问题
应该是没有设置编译的环境变量,先设一下环境变量再编
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-23 04:44

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表