Android 深度探索第六章
Linux系统将每一个驱动都映射成一个文件。这些文件称为设备文件或驱动文件,都保存在/dev目录中。
Linux驱动程序与其他类型的Linux程序一样拥有自己的规则,下面给出一个编写基本的Linux驱动的一般步骤:
(1)建立Linux驱动的骨架(装载和卸载Linux驱动);
(2)注册和注销设备文件;
(3)指定与驱动相关的信息;
(4)指定回调函数;
(5)编写业务逻辑;
(6)编写Makefile文件;
(7)编译Linux驱动程序;
(8)安装和卸载Linux驱动。
对于一个Linux驱动程序,一开始可以在Ubuntu Linux上做前期开发和测试。对于访问硬件的部分也可以在Ubuntu Linux用软件进行模拟。当基本开发完成后,就需要在开发板或者工程样机上使用真实的硬件进行测试。最终还需要在最终销售的手机上测试。
将word_count目录加入Linux内核源代码树的步骤如下:
(1)建立新的Kconfig文件,在word_count目录中建立一个Kconfig文件,并输入如下内容:
config WORD_COUNT
tristate “word_count driver”
default y
help
This is a word count driver.It can get a word count from /dev/wordcount
(2)修改Makefile 文件
(3)修改上层目录的Kconfig
source “drivers/char/word_count/kconfig”
(4)修改上层目录的Makefile文件
obj-$(CONPIG_WORD_COUNT) += word_count/
当修改Linux 内核设置后重新编译内核,以前使用该Linux内核编译的Linux驱动模块可能由于格式错误无法安装,因此,在重新编译Linux内核后,需要重新编译Linux驱动模块。