分类: 服务器与存储
2012-03-01 15:26:18
驱动程序及测试程序的开发,详见http://blog.csdn.net/embedded_hunter/article/details/6860690
接下来我们将之前开发的驱动直接编译进内核中。方法如下:
第一步:在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驱动。