查看模块信息:
hello.ko
最后再说一个细节 , 如果把再我电脑上编译的hello.ko拿到你的下能运行吗?这个是肯定不行的 , 通过命令 , 我们可以看到这个模块所依赖的内核版本信息 , 一个模块只能运行在编译这个模块对应的那个内核环境中 。
6. 模块传递参数
顾名思义 , 就是在系统启动或者加载模块的时候 , 为参数指定相应的值 , 在驱动程序里 , 参数的用法如同全局变量 , 这样可以使模块具有更大的灵活性以及扩展性 。
例如下面的例子:
给xxx.ko对应的驱动程序里面的path传递"/lib///xxx.bin"这个字符串
insmod xxx.kopath="/lib/module/firmware/xxx.bin"
驱动程序需按照以下步骤实现:
(1)定义接收参数的变量 , 并初始化
static int intarg = 100;
(2)(参数名,参数类型,参数读/写权限)来声明这个参数可以用来接收外部传入
module_param(intarg, int ,0600);
(3)可选:
MODULE_PARM_DESC (intarg, "A integer");
这样声明后 , 通过可查看相应的信息
(4)执行命令时传递参数
sudo insmod hello.kointarg=200
- 二 Linux设备驱动程序——建立和运行模块
- 块设备驱动
- 二 Syzkaller学习笔记---更新syz-manager
- 曹操并没有霸占大小二乔诸葛亮传的绯闻
- 【地图学】二、地图矢量化
- 清朝的九龙夺嫡为什么没有出现过第二次
- petalinux中加入驱动模块
- 第二节 法律权利与法律义务
- 诸葛亮为何看不上东汉桓灵二帝,他们到底是怎么了?
- 明世宗为何二十多年不上朝还被称明朝第一明君?