• 如何确定 <board_name>名字


    如何确定 名字

    一、方式1:如何确定 名字
    1.在uboot源码目录下执行: make fsmp1a_defconfig
    2.打印如下错误信息:

         ***
            *** Can't find default configuration "arch/../configs/fsmp1a_defconfig"!
            ***
    
    • 1
    • 2
    • 3
    3. 错误信息总结分析:
        通过以上信息打印可知,不能在arch/../configs/目录下找到fsmp1a_defconfig这个文件          
    
    • 1
    • 2

    4.通过以上错误信息可知: 默认的配置文件存放在目录下:arch/…/configs/
    5.进入arch/…/configs/下,查看配置信息
    stm32mp15_basic_defconfig:非安全默认配置文件
    stm32mp15_trusted_defconfig:安全默认配置文件

    第二种方法通过Makefile
    1.因为使用make进行编译的,所以在Makefile中通过查找对应的目标文件,也可以找到对应的默认配置文件名称(board_name)
    1.在uboot源码目录下,打开Makefile文件,搜索目标:config

      564 %config: scripts_basic outputmakefile FORCE
      565     $(Q)$(MAKE) $(build)=scripts/kconfig $@  
    
    • 1
    • 2
        2.在uboot源码目录下,打开Makefile文件,搜索目标:config,使用echo命令查看各个变量打印的内容
    
    • 1
            564 %config: scripts_basic outputmakefile FORCE
                565     @echo $(Q)
                566     @echo $(MAKE)
                567     @echo $(build)                                                                                         
                568     @echo $@
                569     $(Q)$(MAKE) $(build)=scripts/kconfig $@
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
        3.在uboot源码顶层目录下,执行 make fsmp1a_defconfig,会打印如下信息:
    
    • 1
                @
                make
                -f ./scripts/Makefile.build obj
                fsmp1a_defconfig
    
    • 1
    • 2
    • 3
    • 4
    1. 通过前面两步分析可知, ( Q ) 就是 @ 符,去掉 (Q)就是@符,去掉 (Q)就是@符,去掉@就可以回显执行的命令
      1.在uboot源码目录下,打开Makefile文件,搜索目标:config,去掉$(Q),将执行语句回显在终端上
     564 %config: scripts_basic outputmakefile FORCE
            565     @echo $(Q)
            566     @echo $(MAKE)
            567     @echo $(build)
            568     @echo $@
            569     $(MAKE) $(build)=scripts/kconfig $@    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    2.在uboot源码顶层目录下,执行 make fsmp1a_defconfig,会打印如下信息:
    
    • 1
     make -f ./scripts/Makefile.build obj=scripts/kconfig   
     fsmp1a_defconfig = make obj=scripts/kconfig  fsmp1a_defconfig
     
    
    • 1
    • 2
    • 3
     3.通过以上打印信息可知,需要进入到scripts/kconfig目录下,打开Makefile:搜索目标defconfig
    
    • 1
     109 %_defconfig: $(obj)/conf
     110 $(Q)$< $(silent) --defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig)
    
    • 1
    • 2
     4. 需要进入到scripts/kconfig目录下,打开Makefile:搜索目标defconfig,将执行语句中每个变量进行打印     
    
    • 1
     109 %_defconfig: $(obj)/conf
                110     @echo $(Q)
                111     @echo $<
                112     @echo $(silent)
                113     @echo $(SRCARCH)
                114     @echo $@
                115     @echo $(Kconfig)
                116     $(Q)$< $(silent) --defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
            defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig)
    5.在uboot源码顶层目录下,执行 make fsmp1a_defconfig,会打印如下信息:
    
    • 1
    • 2
           @
                scripts/kconfig/conf
                
                ..
                fsmp1a_defconfig
                Kconfig
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    6.需要进入到scripts/kconfig目录下,打开Makefile:搜索目标defconfig,将执行语句中$(Q)去掉
    
    • 1
    109 %_defconfig: $(obj)/conf
                110     @echo $(Q)
                111     @echo $<
                112     @echo $(silent)
                113     @echo $(SRCARCH)
                114     @echo $@
                115     @echo $(Kconfig)
                116     $< $(silent) --defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig) 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    7.在uboot源码顶层目录下,执行 make fsmp1a_defconfig,会打印如下信息:
    
    • 1
    scripts/kconfig/conf  --defconfig=arch/../configs/fsmp1a_defconfig Kconfig
    
    • 1
    8.需要分析make  fsmp1a_defconfig执行内容详解:
        scripts/kconfig/conf:通过file命令,查看scripts/kconfig/conf文件,是一个elf可执行文件
         --defconfig=arch/../configs/fsmp1a_defconfig:板子参数
         Kconfig:是uboot源码顶层目录下配置文件
         通过以上分析可知:conf是一个可执行文件,fsmp1a_defconfig和 Kconfig作为参数传递给conf
    
    • 1
    • 2
    • 3
    • 4
    • 5
  • 相关阅读:
    pyarrow 实现hdfs和本地文件传输
    [学习笔记] VFX Silhouette
    艾美捷AAT别藻蓝蛋白普通储备溶液制备方案
    基于RedHat8部署ES+Kibana8.5集群
    【PyTorch深度学习项目实战100例】—— 基于ShuffleNet实现中草药识别任务 | 第32例
    【21天打卡】前端攻城狮重学算法之-快速排序
    Topsis与熵权法
    客户端版socket,完成消息广播,详解Websocket即时通信,点名系统
    微信小程序-request fail
    LaTeX中的数学公式
  • 原文地址:https://blog.csdn.net/liuchengkun123/article/details/127658225