引言
在linux驱动的开发阶段,我们一般选择将驱动代码单独编译成驱动模块,然后在linux中加载它,这种方法称为动态编译。使用动态编译的好处是方便调试,每次修改代码后,直接编译出模块,加载即可。在驱动编写并调试完毕后,就可以使用静态编译将驱动添加到linux内核里,每次启动后系统就会自动加载该驱动,不用再手动加载。
方法步骤
这里我以SII9022芯片的驱动为例
1.将编写好的驱动代码sii9022_drv.c文件拷贝到linux内核源码的目录driver/i2c路径下。
2.修改该路径下的Makefile文件,添加以下代码:
obj-$(CONFIG_SII9022) += sii9022_drv.o
3.修改路径下的Kconfig文件,添加以下代码:
config SII9022
tristate "I2c device SII9022 driver support"
default y
help
Select "Y" to initializes the sii9022 device
4.由于这里默认配置为“y”,也就是默认加载该驱动,因此直接编译内核,生成新的内核镜像即可。
5.使用新的内核镜像替换旧的,重新启动linux系统,就会发现sii9022芯片在开机后已经被初始化完毕了。
|