编写 Linux 驱动程序的步骤
第1步:建立 Linux 驱动的骨架(加载和卸载 Linux驱动)
Linux 内核在使用驱动前需要先加载驱动。在加载过程中会进行一些初始化的工作,比如分配设置注册对应的结构体,创建设备文件,分配内存地址空间等。而当 Linux 内核需要移除这个驱动时,会卸载该驱动,在卸载这个驱动的过程中会释放掉加载时这个驱动占用的资源,比如释放分配的内存地址空间以及删除创建的设备文件。在 Linux 内核中通过 module_init() 和 module_exit() 这两个宏来分别处理驱动加载和卸载的工作。
##第2步:注册和注销驱动的设备文件
任何一个驱动的加载都会创建其对应的设备文件,否则用户空间就无法与 Linux 内核的驱动程序进行交互。而创建并注册设备文件的工作就是在上述的**module_init()指定的入口函数中实现的,相应的,销毁创建的设备文件则有module_exit()**指定的出口函数完成。以注册和注销一个杂项字符设备为例:
/* 注册一个杂项字符设备 */
int misc_register(struct miscdevice *