一、编写Linux驱动程序的步骤
1、建立Linux驱动骨架:也就是装载和卸载Linux驱动。在Linux驱动程序中需要提供两个函数来分别处理驱动初始化和退出的工作。这两个函数分别是module_init和module_exit宏指定。
2、注册和销毁设备文件:任何一个Linux驱动都需要一个设备文件,因为在Linux中设备都以文件的形式来存在。用misc_register和misc_deregiter函数创建和移除设备文件。
3、指定与驱动相关的信息:驱动程序是自描述的。驱动程序的作者姓名、使用的开源协议、别名、驱动描述等信息都需要在驱动源代码中指定。
4、指定回调函数:Linux驱动包含了多种动作,也就是事件。但是并不需要指定所有的回调函数,它会通过相关机制进行注册。
5、编写业务逻辑:这是Linux驱动的核心部分。任何一个完整的Linux驱动都会做一些与其功能相关的工作。
6、编写Makefile文件:Linux内核源码的编译规则是通过Makefile文件定义的。因此一个Linux驱动程序必须要有一个Makefile文件。
7、编译Linux驱动程序
8、安装和卸载Linux驱动:使用insmod或modprobe命令装载驱动模块。使用rmmod命令卸载驱动模块。
二、统计单词个数驱动
首先建立Linux驱动骨架:现在编写Linux驱动程序的骨架部分,也就是前面介绍的第1步。骨架部分主要是Linux驱动的初始化和退出函数。写完驱动后可以进行测试,在测试Linux驱动未必一定在Android设备上完成。因为Android系统和Ubuntu Linux以及其他Linux发行版本都是基于Linux内核的,大多数Linux驱动程序可以在Ubuntu Linux或其他Linux发行版上测试完再重新用交叉编译器编译成基于ARM架构的目标文件,然后再安装到Android上即可正常运行。