编写第一个驱动
.c源码:
1 #include <linux/module.h> /* 引入与模块相关的宏 */
2 #include <linux/init.h> /* 引入module_init() module_exit()函数 */
3 #include <linux/moduleparam.h> /* 引入module_param() */
4
5 MODULE_AUTHOR("Yu Qiang");
6 MODULE_LICENSE("GPL");
7
8 static int nbr = 10;
9 module_param(nbr, int, S_IRUGO);
10 static int __init yuer_init(void)
11 {
12 int i;
13 for(i=0; i<nbr; i++)
14 {
15 printk(KERN_ALERT "Hello, How are you. %d/n", i);
16 }
17 return 0;
18 }
19
20 static void __exit yuer_exit(void)
21 {
22 printk(KERN_ALERT"I come from yuer's module, I have been unlad./n");
23 }
24
25 module_init(yuer_init);
26 module_exit(yuer_exit);
makefile:
obj-m:=modules.o
2 modules-objs:=mymodules.o
3 KDIR:=/usr/src/linux-headers-3.13.0-32-generic
4 default:
5 make -C $(KDIR) M=$(PWD) modules
6 clean:
7 rm -rf *.o .* .cmd *.ko *.mod.c .tmp_versions