嵌入式Linux模块的参数传递与多文件模块Makefile
2015-07-19 09:34
621 查看
通过宏module_param指定保存模块参数的变量。模块参数
用于在加载模块时传递参数给模块。
module_param(name,type,perm)
name:变量的名称
type:变量类型,bool:布尔型 int:整型 charp:字符串型
perm是访问权限。 S_IRUGO:读权限 S_IWUSR:写权限
例:
int a = 3;
char *st;
module_param(a,int, S_IRUGO);
module_param(st,charp, S_IRUGO);
一个简单的例子:(hello.ko)
#include <linux/init.h>
#include <linux/module.h>
int a = 0 ;
module_param(a,int,S_IRUGO); //读权限
static int hello_init( void )
{
printk("hello world\n");
printk("a = %d",a);
return 0 ;
}
static int hello_exit( void )
{
printk("goodbye!!\n");
return 0 ;
}
module_init(hello_init); //申明模块加载函数
module_exit(hello_exit); //申明模块卸载函数
MODULE_AUTHOR("bmonky<1129584094@qq.com>");
MODULE_DESCRIPTION("简单的hello module");
MODULE_LICENSE("GPL");
加载过程中参数的传递:
# insmod hello.ko a=10
显示打印的信息:
# dmesg | tail -5
用于在加载模块时传递参数给模块。
module_param(name,type,perm)
name:变量的名称
type:变量类型,bool:布尔型 int:整型 charp:字符串型
perm是访问权限。 S_IRUGO:读权限 S_IWUSR:写权限
例:
int a = 3;
char *st;
module_param(a,int, S_IRUGO);
module_param(st,charp, S_IRUGO);
一个简单的例子:(hello.ko)
#include <linux/init.h>
#include <linux/module.h>
int a = 0 ;
module_param(a,int,S_IRUGO); //读权限
static int hello_init( void )
{
printk("hello world\n");
printk("a = %d",a);
return 0 ;
}
static int hello_exit( void )
{
printk("goodbye!!\n");
return 0 ;
}
module_init(hello_init); //申明模块加载函数
module_exit(hello_exit); //申明模块卸载函数
MODULE_AUTHOR("bmonky<1129584094@qq.com>");
MODULE_DESCRIPTION("简单的hello module");
MODULE_LICENSE("GPL");
加载过程中参数的传递:
# insmod hello.ko a=10
显示打印的信息:
# dmesg | tail -5
相关文章推荐
- Linux内核里的“智能指针”
- linux文件基本操作(1)
- linux小知识: ubuntu安装搜狗输入法
- linux小知识: ubuntu调出终端
- linux python版本升级
- 四、Linux/UNIX操作命令积累【chmod、chown、tail】
- Linux下的压缩解压缩命令详解
- linux:Resize partition for Clonezilla 硬盘太小无法克隆镜像怎么办?
- CentOS7 安装NFS SSH免密码登陆
- selinux参数基本调整
- linux shell if 参数
- centos 编译安装tmux
- linux 修改主机名
- XEN linux虚拟机配置实例
- linux增加loop设备上限
- 几个帅气的linux命令
- SELinux管理与配置
- linux tr命令详解
- [Linux C]双色球计算程序
- 常用的linux指令