1.内核模块的作用
一般用于装载内核模块使传递参数,比如设定串口驱动时设置默认的波特率。
2.原型
module_param(<变量名>,<变量类型>,<访问权限>)
访问权限:S_IRUGP读权限,S_IWUSR:写权限。权限之间可以通过"|"进行连接,比如使用S_IRUGP|S_IWUSR表示读写权限,
变量类型:bool、int、charp(字符串类型)
特别要注意的是加载内核时传递参数要指明变量名比如此内核模块的加载
#include <linux/init.h>
#include <linux/module.h>
char *whome = "my name is panda";
int n = 2;
module_param(whome,charp,S_IRUGO);
module_param(n,int,S_IRUGO);
static int hello_init()
{
int i = 0;
for(i=0; i<n; i++)
{
printk("%s\n",whome);
}
return 0;
}
static void hello_exit()
{
printk(KERN_WARNING"hello exit!\n");
}
MODULE_LICENSE("GPL");
MODULE_AUTHOR("PANDA");
MODULE_VERSION("V1.0");
module_init(hello_init);
module_exit(hello_exit);
加载命令:insmod hello_world.ko n=10