如何在u-boot中启用source和bootm命令?

时间:2016-03-15 10:02:06

标签: c linux u-boot

下面是U-Boot代码中common / Makefile文件的一部分。

obj-$(CONFIG_SOURCE) += cmd_source.o
obj-$(CONFIG_CMD_SOURCE) += cmd_source.o

我已经完成了U-Boot代码,但无法在任何地方找到这两个宏。但是,此命令在运行时在U-Boot中可用 这个宏定义在哪里。?

bootm命令相同,它也可以在运行时使用,但我无法找到定义宏的位置。如果有人知道,请告诉我。

1 个答案:

答案 0 :(得分:1)

这取决于你的 u-boot的构建配置系统。

  1. 如果是pre-kconfig配置系统[1],可以在以下其中一个位置找到这些宏(或定义了这些宏的位置/文件):
    • 包括/ config.mk
    • 包括/ config.h中
    • 拱/ $ {ARCH} /包括/ ASM /电弧
    • boards.cfg
  2. 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$
    
    
    1. 如果是基于KConfig的配置系统[1],可以在configs/<board>_defconfig个文件中找到定义。

      例如,这是来自最新u-boot源的grep的结果:
    2. 
      
          $ 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页