Linux系统将每个驱动都映射成一个文件。这些文件称为设备文件或驱动文件,都保存在/dev目录中。函数
Linux驱动程序与其余类型的Linux程序同样拥有本身的规则,下面给出一个编写基本的Linux驱动的通常步骤:测试
(1)创建Linux驱动的骨架(装载和卸载Linux驱动);spa
(2)注册和注销设备文件;开发
(3)指定与驱动相关的信息;get
(4)指定回调函数;回调函数
(5)编写业务逻辑;编译
(6)编写Makefile文件;软件
(7)编译Linux驱动程序;file
(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驱动模块。