Linux实现驱动模块传参过程解析
在驱动的模块中声明一下你要传递的参数名称,类型和权限
module_param(变量的名称,类型,权限);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <linux/init.h>
#include <linux/module.h>
static char *p_name = "Usr";
module_param(p_name, charp, S_IRUGO);
MODULE_PARM_DESC(p_name, "This is a char * string.");
static int __init hi_init(void)
{
printk(KERN_INFO "Hi enter %s\n",p_name);
return 0;
}
module_init(hi_init);
static void __exit hi_exit(void)
{
printk(KERN_INFO "Hi exit %s\n ",p_name);
}
module_exit(hi_exit);
MODULE_AUTHOR(" libra13179 ");
MODULE_LICENSE("GPL v2");
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
KVERS = $(shell uname -r)
# Kernel modules
obj-m += hi.o
# Specify flags for the module compilation.
#EXTRA_CFLAGS=-g -O0
build: kernel_modules
kernel_modules:
make -C /lib/modules/$(KVERS)/build M=$(CURDIR) modules
# @echo $(KVERS)
clean:
make -C /lib/modules/$(KVERS)/build M=$(CURDIR) clean
不设置时候使用默认的
1
2
3
4
5
root@lin-virtual-machine:/home/lin/hi# insmod ./hi.ko
root@lin-virtual-machine:/home/lin/hi# cat /var/log/syslog | grep Hi
...
Jul 25 15:11:38 lin-virtual-machine kernel: [ 203.238178] Hi enter Usr
...
使用设置时候
root@lin-virtual-machine:/home/lin/hi# insmod hi.ko p_name='God'
加载模块后,都会在/sys/modules下生成一个模块的文件夹,文件夹下会有一个parameters文件夹,
里面包含的就是以参数名命名的文件节点,里面保存的就是我们设置的值,例如在p_name中
root@lin-virtual-machine:/home/lin/hi# cat /sys/module/hi/parameters/p_name
God
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://www.juheyunku.com/xt/linux/11228.shtml
相关文章
热门TAG
命令 外链 企业网站 白帽 php 织梦教程 dedecms修改内容 javascript 织梦 功能 标签 调用 详解 技巧 权重 服务器 网站流量 Dedecms 织梦cms HTML tags标签 python jquery教程 jquery windows 蜘蛛 搜索引擎 网站收录 JSP 实例解析最新文章
-
Linux 运维需要掌握的 17 个
时间:2020-12-28
-
这里有好用又好看的Linu
时间:2020-12-28
-
使用Meld在Linux中以图形方
时间:2020-12-28
-
Linux kernel swear counts
时间:2020-12-25
-
linux 防御SYN攻击步骤详解
时间:2020-12-23
-
谈谈Linux运维人员是否需要
时间:2020-12-23
-
linux的mount(挂载)命令详
时间:2020-12-23
-
Zotero:一款帮助你收集和
时间:2020-12-23
热门文章
-
Anki:让记忆更轻松的开源神器
时间:2020-12-22
-
如何在Linux启动时自动启动LXD容器
时间:2020-12-22
-
使用Vi/Vim编辑器:基础篇
时间:2020-12-22
-
使用parallel利用起你的所有CPU资源
时间:2020-12-22
-
Zsync:一个仅下载文件新的部分的传输工
时间:2020-12-22
-
linux 防御SYN攻击步骤详解
时间:2020-12-23
-
Vim普通模式的一般性规律性总结
时间:2020-12-22
-
TLP帮助我们的Linux机器节能省电
时间:2020-12-22
-
用户操作系统Unix的前世今生
时间:2020-12-23
-
谈谈Linux里10个最危险的命令
时间:2020-12-23
