将设备驱动程序模块源码添加到Linux内核模块源码中

2014-11-24 09:46:59 · 作者: · 浏览: 0

1、将设备驱动程序模块globalmem添加到内核源码中,存放路径是kernel/drivers/mydriver/globalmem;
2、globalmem模块包含源码文件:globalmem.h和globalmem.c;
3、将globalmem.h和globalmem.c放到kernel/drivers/mydriver/globalmem路径下;
4、在kernel/drivers/mydriver/globalmem下添加Kconfig和Makefile文件用于内核配置和源码编译,
Kconfig文件内容:
menu "Global Memory Support"
config GLOBAL_MEMORY
bool "Global Memory Support"
help
Global Memory Support
default y
endmenu


Makefile文件内容:
bj-$(CONFIG_GLOBAL_MEMORY) += globalmem.o


5、同时也需要修改kernel/drivers/mydriver下的Kconfig和Makefile文件,将globalmem目录下
的Kconfig和Makefile文件分别在其中注册:
Kconfig文件:
menu "My Driver"
comment "My Drivers"



source "drivers/mydriver/globalmem/Kconfig"
endmenu


Makefile文件:
obj-y += globalmem/


6、添加完成后,执行make menuconfig,就可以在Device Drivers--->My Driver--->
Global Memory Support--->Global Memory Support看到新添加的globalmem项了;




(kernel/drivers/mydriver中的Kconfig文件在kernel/drivers中的Kconfig文件中注册:
menu "Device Drivers"


source "drivers/mydriver/Kconfig"


)




(kernel/drivers/mydriver/globalmem中的Kconfig文件在kernel/drivers/mydriver中的
Kconfig文件中注册:
menu "My Driver"
comment "My Drivers"


source "drivers/mydriver/globalmem/Kconfig"
endmenu
)



(kernel/drivers/mydriver/globalmem中的Kconfig文件中的内容生成的配置项,
默认配置是built-in的,因此*表示选中编译:
menu "Global Memory Support"
config GLOBAL_MEMORY
bool "Global Memory Support"
help
Global Memory Support
default y
endmenu


)