向Linux系统中添加外设时,首先第一步即将外设的驱动代码porting,除了直接将外设的驱动源码放在相应目录,还需要编译进kernel,就需要使用到Makefile &Kconfig。
以Led灯的驱动为例
1、一般将驱动文件保存在路径:Kernel/drivers/leds/leds-qpnp.c
如图所示:
2、在相同路径下存在Makefile和Kconfig文件(路径:Kernel/drivers/leds/)
Makefile和Kconfig存在系统中的多个子目录中,
xxx_defconfig:在android编译时生成.config文件,系统默认配置文件,里面全是CONFIG_XXXX构成
Kconfig:定义配置项(对xxx_defconfig文件中的配置进行定义)
.config:对配置项进行赋值(由xxx_defconfig文件在android编译时生成)
Makefile:建立配置项的生成法则
Linux的build系统就是通过Makefile将外设的驱动编译进kernel