Linux設備驅動程序學習筆記2——帶參數的模塊加載和卸載
在Linux下用vi建立一HelloParam.c文件,其內容書寫如下:
//////////////////////////////////////////HelloParam.c start///////////////////////////////////////////////
#include <linux/init.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
MODULE_LECENSE(“Dual BSD/GPL”);
static char *whom = “world”;
static int howmany = 5;
module_param(howmany, int, S_IRUGO);
module_param(whom, charp, S_IRUGO);
static int hello_init(void)
{
int i;
for(i=0; i<howmany; i++)
{
printk(KERN_ALERT “%d Hello, %s!/n”,i,whom);
}
return 0;
}
static void hello_exit(void)
{
printk(KERN_ALERT “Goodbye, cruel world!/n”);
}
module_init(hello_init);
module_exit(hello_exit);
//////////////////////////////////////////HelloParam.c end///////////////////////////////////////////////
需要注意的有如下三點:
1、 必須包含頭文件linux/moduleparam.h;
2、 變量whom和howmany必須是全局變量;
3、 調用module_param(whom, charp, S_IRUGO)和module_param(howmany, int, S_IRUGO)來對兩個變量進行聲明;
其Makefile文件的書寫如“Linux設備驅動程序學習筆記1——模塊加載和卸載”中所描述。
編譯完畢後,該模塊的加載如下:
insmod HelloParam howmany=10 whom=”Mon”
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.