接下来我们将之前开发的驱动直接编译进内核中。方法如下:第一步:在OK6410开发板提供的Android内核源码配置中,将板子自带的LED驱动取消选中。
#make menuconfig
Device Drivers->Character Devices->下面的以下两项去除。
< > Forlinx TE6410 LEDS Driver
< > Buzzer driver for 6410
第二步:在内核源码kernel文件夹的driver目录下,创建ledtest驱动文件夹
#mkdir drivers/ledtest
第三步:将驱动程序拷贝到ledtest目录下
#cp leddriver.c drivers/ledtest/第四步:在drivers/ledtest/目录下创建Kconfig以及Makefile文件
Kconfig文件内容如下:
config LEDTEST tristate "LED test for OK6410" default n help this is a LED driver for OK6410
Makefile文件内容如下
obj-$(CONFIG_LEDTEST)+=leddriver.o
第五步:将驱动支持选项增加进内核的配置菜单中,修改上一级目录中的Kconfig文件。
#vim drivers/Kconig
在倒数第二行前,即endmenu前,增加如下语句:
source "drivers/ledtest/Kconfig"
第六步:修改drivers/Makefile文件
增加以下语句
obj-$(CONFIG_LEDTEST) +=ledtest/
第七步:将驱动编译进内核中此时,在源码根目录输入
#make Menuconfig 后,既可以在Device Drivers 菜单的最后面看到我们新加入的LED选项。
选中次选项
#make zImage至此,编译完成的内核文件中已经包含了我们自己编写的LED驱动。