1.内核模块三要素
入口:资源申请,安装驱动的时候执行(insmod)
出口:释放资源,卸载驱动的时候执行(rmmod)
许可证:遵从GPL开源协议
2.内核模块的编写
#include <linux/init.h> //在内核中搜素 #include <linux/module.h> // 1.入口 // static :(1.延长变量的声明周期,2.限定作用域) // int :函数的返回值类型 //__init :给编译器使用的,将函数放到指定的段(vmlinux.lds)中 // :#define __init __section(".init.text") // demo_init:入口函数的名字(lcd_init led_init uart_init...) //(void) :函数没有操作 static int __init demo_init(void) { return 0; } // 2.出口 //__init :给编译器使用的,将函数放到指定的段(vmlinux.lds)中 // :#define __exit __section(".ex