skywang12345

导航

 

Android 添加驱动的两种方式

 

下面介绍,在Android系统中如何将驱动添加到kernel中。

要求:将驱动queue.c添加kernel中。

方案:下面介绍2种实现方案。2种方案的本质是一样的,区别是一种在menuconfig中单独建立菜单,而另一种则不在menuconfig中单独新建菜单,而是修改已有的配置文件。

 

1方案一

方案一中,采取的方法是:不新建config菜单,直接将驱动添加到已有的Kconfig中。下面介绍详细步骤。

1.1修改已有配置文件

(1)修改配置文件driver/char/Kconfig,添加如下内容:

config SKYWANG_CQUEUE
    tristate "skywang char queue driver"
    help
        add this to support skywang char queueue 

(2)修改配置文件driver/char/Makefile,添加如下内容:

obj-$(CONFIG_SKYWANG_CQUEUE)   += cqueue.o 

1.2 添加“驱动代码”

添加驱动文件,驱动文件路径如下:

drivers/char/cqueue.c 

1.3 添加驱动

执行make menuconfig打开配置界面,并将驱动cqueue.c添加到kernel中。

如图01,是添加cqueue.c前的选项:

如图02,是添加cqueue.c后的选项:

1.4 验证是否添加成功

查看.config文件,应该有如下配置选项:

CONFIG_SKYWANG_CQUEUE=y

 

 

2方案二

方案二中,采取的方法是:新建config菜单,将驱动添加到新建的Kconfig中。下面介绍详细步骤。

2.1修改已有配置文件

(1)修改配置文件driver/char/Kconfig,添加如下内容:

source "drivers/char/skywang/Kconfig"

 

(2)修改配置文件driver/char/Makefile,添加如下内容:

obj-$(CONFIG_SKYWANG_CQUEUE)   += skywang/

 

 

2.2新建“驱动配置”

(1)在driver/char下新建目录,新建后的目录完整路径如下:

driver/char/skywang 

(2)新建drivers/char/skywang/Kconfig文件,内容如下:

menu "skywang test devices"
 

config SKYWANG_CQUEUE
    tristate "skywang char queue driver"
    help
        add this to support skywang char queueue
 
endmenu 

(3)新建drivers/char/skywang/Makefile文件,内容如下:

obj-$(CONFIG_SKYWANG_CQUEUE)   += cqueue.o

 

 

2.3 添加“驱动代码”

拷贝驱动文件,拷贝后的文件路径如下:

drivers/char/skywang/cqueue.c

 

 

2.4 添加驱动

执行make menuconfig打开配置界面,并将驱动cqueue.c添加到kernel中。

如图03,是添加cqueue.c前的选项:

如图04,是添加cqueue.c后的选项:

如图05,选择“skywang test drivers”后进入的子菜单界面:

 

2.5 验证是否添加成功

查看.config文件,应该有如下配置选项:

CONFIG_SKYWANG_CQUEUE=y

 

 

 

 

posted on 2013-05-14 22:55  如果天空不死  阅读(4263)  评论(0编辑  收藏  举报