2016-03-15 52 views
1

以下是U-Boot代碼中文件common/Makefile的一部分。在u-boot中如何啓用source和bootm命令?

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

我已經通過U-Boot的代碼了,但找不到任何地方定義這兩個宏。但是,此命令在運行時在U-Boot中可用。
這個宏定義在哪裏?

bootm命令相同,它在運行時也可用,但我無法找到宏的定義位置。如果有人知道它,請讓我知道。

+0

13我'cmd_source .c'在'common'文件夾內。我爲'i.mx6'使用'Yocto'' – LPs

+0

是的,我也有。但爲了編譯該文件,應該在某處定義CONFIG_CMD_SOURCE,我的問題是在哪裏定義的? – JagsVG

+0

'include/configs/your_board_support.h' – LPs

回答

1

它取決於您的 u-boot的構建配置系統

  1. 如果它是一個預kconfig命令配置系統[1],這些宏(或位置/其中這些宏定義文件)也可以在這些可能的位置之一發現:
    • 包括/ config.mk
    • 包括/ config.h中
    • 弓/ $ {ARCH} /包括/ ASM /弧
    • boards.cfg

make後,它的值可以在autoconf.mk中找到。
例如,這裏的grep的結果在上我的 '預kconfig命令' U-引導目錄(除去板名稱):



    /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$ 

  • 如果它是一個基於的Kconfig配置系統[1],這些定義可以在configs/<board>_defconfig文件中找到。

    例如,這裏是grep的,從最新的U-Boot源的結果:
  • 
    
        $ 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]:第12和http://www.denx.de/wiki/pub/U-Boot/MiniSummitELCE2014/uboot2014_kconfig.pdf