linux驱动编译进内核或模块配置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010631857/article/details/78411126

主要是修改配置2个文件:Kconfig和Makefile


2.6内核的源码树目录下一般都会有二个文件:Kconfig和makefile ,分布在各目录下的Kconfig构成一个额分布式的内核配置库,每个k config分别描述了所属目录源文件相关内核的配置菜单,在内核配置make menuconfig时,从Kconfig中读取配置菜单,用户配置完成后保存为.config(在顶层目录下生成)中。


在内核编译时,主makefile调用这个.config ,就知道用户对内核的配置情况。假如要想添加新的驱动到内核源码中,可以通过修改Kconfig来增加我们自己驱动的配置菜单,还需要修改该驱动所在目录的makefile.


应用实例:

用户驱动:test_driver

在/driver目录下新建文件夹test_driver

test_driver下的树形目录:

--test_driver

--cpu

--cpu.c

--makefile

--test_driver.c

--Kconfig

--makefile

test_driver目录下的kconfig文件:

menu “TEST_DRIVER"

comment "TEST _Driver"

config CONFIG_TEST

bool "TEST support"

config CONFIG_TEST_USER

tristate "test user-space interface"

depends on CONFIG_TEST

endmenu

另外需要使新加的Kconfig挂接在整个Kconfig树下:

修改arch/arm/Kconfig文件,增加:source ”driver/test_driver/Kconfig’


test_driver下的makefile文件:

obj-$(CONFIG_TEST)+=test_driver.o

obj-$(CONFIG_TEST_CPU) +=cpu/


test_driver子目录下的makefile

obj-$(CONFIG_TEST_CPU) +=cpu.o


使新增加的makefile文件挂接在整个Makefile树下需修改test_driver父目录Driver下的makefile,

obj-$(CONFIG_TEST)+=test_driver/



猜你喜欢

转载自blog.csdn.net/u010631857/article/details/78411126