uboot 头文件

板子配置文件时执行命令make mx6ull_14x14_evk_emmc_defconfig生成.conifg,但是uboot-imx\include\configs\mx6ullevk.h文件也使用了,但是不清楚他是怎么调用到mx6ullevk.h头文件的?

在文件 Uboot-2017.03/configs/mx6ull_14x14_evk_emmc_defconfig 中有一个配置项:CONFIG_TARGET_MX6ULL_14X14_EVK=y

在文件 Uboot-2017.03/board/freescale/mx6ullevk/Kconfig 中用到了该配置项,文件如下:

if TARGET_MX6ULL_14X14_EVK || TARGET_MX6ULL_9X9_EVK

config SYS_BOARD
	default "mx6ullevk"

config SYS_VENDOR
	default "freescale"

config SYS_CONFIG_NAME
	default "mx6ullevk"

endif

make mx6ull_14x14_evk_emmc_defconfig 时候,根据 mx6ull_14x14_evk_emmc_defconfig 和各目录下的 Kconfig 生成 .config 文件;
make 时候会自动生成 Uboot-2017.03/include/config.h 文件

代码中的各文件使用 include <config.h> 来引用 mx6ullevk.h 头文件;

Uboot-2017.03/include/config.h 文件内容如下:

/* Automatically generated - do not edit */
#define CONFIG_IMX_CONFIG	board/freescale/mx6ullevk/imximage.cfg
#define CONFIG_BOARDDIR board/freescale/mx6ullevk
#include <config_defaults.h>
#include <config_uncmd_spl.h>
#include <configs/mx6ullevk.h>
#include <asm/config.h>
#include <linux/kconfig.h>
#include <config_fallbacks.h>

参考文章