下面是U-Boot代码中common / Makefile文件的一部分。
obj-$(CONFIG_SOURCE) += cmd_source.o
obj-$(CONFIG_CMD_SOURCE) += cmd_source.o
我已经完成了U-Boot代码,但无法在任何地方找到这两个宏。但是,此命令在运行时在U-Boot中可用 这个宏定义在哪里。?
与bootm
命令相同,它也可以在运行时使用,但我无法找到定义宏的位置。如果有人知道,请告诉我。
答案 0 :(得分:1)
这取决于你的 u-boot的构建配置系统。
make之后,它的值可以在autoconf.mk中找到 例如,这是我的'pre-kconfig'u-boot目录中的grep in的结果(删除了板名):
/u-boot-dir$ egrep -rnsH "CONFIG_CMD_SOURCE|CONFIG_SOURCE" *
//snip...
./include/autoconf.mk:3:CONFIG_CMD_SOURCE=y
./include/config_cmd_default.h:49:#define CONFIG_CMD_SOURCE /*
./include/configs/board1.h:109:#undef CONFIG_CMD_SOURCE
./include/configs/board2_common.h:135:#define CONFIG_CMD_SOURCE
./include/config_cmd_all.h:32:#define CONFIG_CMD_SOURCE /* "source" command support */
//snap...
/u-boot-dir$
configs/<board>_defconfig
个文件中找到定义。
$ git clone git://git.denx.de/u-boot.git
Cloning into 'u-boot'...
Resolving deltas: 100% (305309/305309), done.
$ cd u-boot/
/u-boot$ egrep -rnsH "CMD_SOURCE"
//snip...
cmd/source.c:145:#if defined(CONFIG_CMD_SOURCE)
cmd/Makefile:20:obj-$(CONFIG_CMD_SOURCE) += source.o
cmd/Kconfig:384:config CMD_SOURCE
configs/at91sam9g10ek_dataflash_cs3_defconfig:11:# CONFIG_CMD_SOURCE is not set
configs/vct_premium_small_defconfig:13:# CONFIG_CMD_SOURCE is not set
configs/ap_sh4a_4a_defconfig:17:# CONFIG_CMD_SOURCE is not set
configs/at91sam9g20ek_dataflash_cs0_defconfig:11:# CONFIG_CMD_SOURCE is not set
//snap...
/u-boot$
参考 [1]:http://www.denx.de/wiki/pub/U-Boot/MiniSummitELCE2014/uboot2014_kconfig.pdf
的第12页和第13页