zoukankan      html  css  js  c++  java
  • uboot中的version命令

    [u-boot: v2013.04]

    [Author: Bo Shen <voice.shen@gmail.com>]


    1. Source Code

         <common/cmd_version.c>

    2. Usage

    U-Boot > help version

    version - print monitor version

    U-boot > version

    U-Boot 2013.04-00085-g5ed6f44

    3. Source code go through

    const char __weak version_string[] = U_BOOT_VERSION_STRING;
    
    static int do_version(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
    {
    	printf("\n%s\n", version_string);
    #ifdef CC_VERSION_STRING
    	puts(CC_VERSION_STRING "\n");
    #endif
    #ifdef LD_VERSION_STRING
    	puts(LD_VERSION_STRING "\n");
    #endif
    #ifdef CONFIG_SYS_COREBOOT
    	printf("coreboot-%s (%s)\n", lib_sysinfo.version, lib_sysinfo.build);
    #endif
    	return 0;
    }
    

    其中, U_BOOT_VERSION_STRING在< include/version.h>定义:

    #define U_BOOT_VERSION_STRING U_BOOT_VERSION " (" U_BOOT_DATE " - " \
            U_BOOT_TIME ")" CONFIG_IDENT_STRING

    U_BOOT_VERSION, CC_VERSION_STRING, LD_VERSION_STRING: 定义在< include/generated/version_autogenerated.h>此文件通过名字可以看出是自动生成的。其具体生成代码在顶层目录中的Makefile里面。代码如下:

    $(VERSION_FILE):
                    @mkdir -p $(dir $(VERSION_FILE))
                    @( localvers='$(shell $(TOPDIR)/tools/setlocalversion $(TOPDIR))' ; \
                       printf '#define PLAIN_VERSION "%s%s"\n' \
                            "$(U_BOOT_VERSION)" "$${localvers}" ; \
                       printf '#define U_BOOT_VERSION "U-Boot %s%s"\n' \
                            "$(U_BOOT_VERSION)" "$${localvers}" ; \
                    ) > $@.tmp
                    @( printf '#define CC_VERSION_STRING "%s"\n' \
                     '$(shell $(CC) --version | head -n 1)' )>>  $@.tmp
                    @( printf '#define LD_VERSION_STRING "%s"\n' \
                     '$(shell $(LD) -v | head -n 1)' )>>  $@.tmp
                    @cmp -s $@ $@.tmp && rm -f $@.tmp || mv -f $@.tmp $@
    


  • 相关阅读:
    Penetration Test
    SpringBoot启动时初始化数据库及spring.jpa.generate-dll与spring.jpa.hibernate.ddl-auto之间的困惑
    maven deploy到ftp服务器
    spring-boot:repackage生成的MANIFEST.MF中的Main-Class和Start-Class
    @GeneratedValue的strategy
    mysql方言设置
    jpa.generate-ddl和jpa.hibernate.ddl-auto
    在家学习VS在咖啡馆学习
    StatusLogger No Log4j 2 configuration file found
    tomcat应用部署顺序
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3065863.html
Copyright © 2011-2022 走看看