OpenEdv-开源电子网

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

简单的关于Linux内核模块加载/卸载操作的问题,谢谢解答

[复制链接]

24

主题

113

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
219
金钱
219
注册时间
2019-11-8
在线时间
62 小时
发表于 2020-4-2 12:51:20 | 显示全部楼层 |阅读模式
10金钱
正在学习Linux模块部分的知识,但是遇到了这个问题,百度也没有符合的答案。
图一是Makefile文件,图二是hello.c的文件,图三是终端操作加载(insmod) 卸载(rmmod)模块通过打印信息到模块日志来观察函数调用情况,觉得很奇怪。
调用sudo insmod hello.ko 日志显示调用了图一的void mod_exit(void)函数
反之调用sudo rmmod hello 日志显示调用了图一的 int mod_init(void)函数。
insmod加载模块前我会使用lsmod命令判断,是否加载了hello模块。执行insmod后确实就有hello模块显示已存在
同理rmmod卸载模块前后,使用lsmod查看情况都正常。
但是就是日志输出让人匪夷所思,如果有相关经验谢谢指点指点
Makefile.jpg
hello-c.jpg
终端情况.jpg

最佳答案

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

在ubuntu上编译好.ko文件,然后放到开发板上,使用insmod指令进行加载 就是在Ubuntu上编译,在开发板上加载模块卸载模块。不是您截图上的在ubuntu上加载模块
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

890

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
2390
金钱
2390
注册时间
2019-9-25
在线时间
397 小时
发表于 2020-4-2 12:51:21 | 显示全部楼层
本帖最后由 仰望星空之云 于 2020-4-3 09:14 编辑

在ubuntu上编译好.ko文件,然后放到开发板上,使用insmod指令进行加载
就是在Ubuntu上编译,在开发板上加载模块卸载模块。不是您截图上的在ubuntu上加载模块
回复

使用道具 举报

24

主题

113

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
219
金钱
219
注册时间
2019-11-8
在线时间
62 小时
 楼主| 发表于 2020-4-4 11:08:05 | 显示全部楼层
仰望星空之云 发表于 2020-4-2 12:51
在ubuntu上编译好.ko文件,然后放到开发板上,使用insmod指令进行加载
就是在Ubuntu上编译,在开发板上加 ...

谢谢你的回答,我是体会一下LInux模块的加载和卸载时执行函数的情况,另外遇到了这个问题 如图在模块加载卸载过程中开头出现这两行代码,很疑惑但是百度了也没解决,您有什么看法吗??
1.jpg
回复

使用道具 举报

24

主题

113

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
219
金钱
219
注册时间
2019-11-8
在线时间
62 小时
 楼主| 发表于 2020-4-10 21:23:52 | 显示全部楼层
这两行代码到底啥意思啊,百度一直没个结果
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 16:17

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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