在最小Linux文件系统下进行实验
编写最小驱动程序
1 #include <linux/init.h>
2 #include <linux/module.h>
3
4 MODULE_LICENSE("Dual BSD/GPL"); //声明是遵循GPL协议的,没有内核版本限制 必须
5 MODULE_AUTHOR("XXXXX"); //声明作者 非必须
6
7 static int Mini_Linux_Module_Init (void)
8 {
9 printk(KERN_EMERG "Mini Liunx Module Work ! \r\n");
10 return 0;
11 }
12
13 static int Mini_Linux_Module_Exit (void)
14 {
15 printk(KERN_EMERG "Mini Linux Module Exit ! \r\n");
16 return 0;
17 }
18
19 module_init(Mini_Linux_Module_Init); //驱动入口函数
20 module_exit(Mini_Linux_Module_Exit); //驱动出口函数
编写Makefile
其中KDIR 是 内核源码的目录位置
模块编译需要内核源码和你的驱动源码一起编译
编译完成后生成
执行 make clean
将生成的.ko文件传输到你的iTOP4412板子上
可以用 insmod 命令 加载模块 lsmod 查看运行的模块 rmmod 卸载模块
如果你不能卸载模块,出现下面情况
执行下面语句创建 /lib/modules 和 /lib/modules/3.0.15
就能成功卸载模块了,lsmod 一下 发现也没有Mini_linux_module了