如何确定<board_name>名字?
方式一:在uboot源码目录下执行:make famp1a_defconfig
错误信息:can't find default configuration "arch/../configs/fsmp1a_defconfig"
不能在arch/../configs目录下找到这个文件
<board_name>默认配置文件存放在目录下:arch/../configs
进入查看配置信息:
非安全默认配置文件:stm32mp15_basic_defconfig
安全默认配置文件:stm32mp15_trusted_defconfig
方式二:因为使用make编译,所以在makefile中通过查找对应的目标文件,也可以找到
1.在uboot源码目录下,打开makefile文件,搜索目标config
2.在源码目录下,打开makefile文件,搜索目标config,使用echo命令查看各个变量打印的内容
@echo $(Q)
@echo $(MAKE)
@echo $(build)
@echo $@
3.在源码顶层目录下,执行 make fsmp1a_defconfig
方式三:
(通过方式二可知,$(Q)就是@符,去掉$@就可以回显执行命令)
1.在uboot源码目录下,打开makefile文件,搜索目标config,去掉$(Q)
564.%config:scripts_basic outputmakefile FORCE
@echo $(Q)
@echo $(MAKE)
@echo $(build)
@echo $@
2.在源码顶层目录下,执行 make fsmp1a_defconfig.
打印信息如下:
make -f ./scripts/makefile.bulid obj=scripts/kconfig fsmp1a_defconfig ...
3.可知:需要进入到scripts/kconfig目录下,打开makefile,搜索目标defconfig
109.%_defconfig:$(obj)/conf
4.需要进入到scripts/kconfig目录下,打开makefile:搜索目标defconfig,将执行语句中的每个变量打印
@echo $(Q)
@echo $<
@echo $(silent)
@echo $(SRCARCH)
@echo $@
@echo $(Kconfig)
5.在uboot源码顶层目录下,执行make fsmp1a_defconfig
6.需要进入到scripts/kconfig目录下,打开makefile:搜索目标defconfig,将执行语句中的$Q去掉
7.在uboot源码顶层目录下,执行make fsmp1a_defconfig
8.需要分析make fsmp1a_defconfig执行内容详解:
通过file命令,查看scripts/kconfig/conf 文件,是一个elf可执行文件
Kconfig:是uboot源码顶层目录下配置文件
以上分析可知:conf是一个可执行文件,famp1a_defconfig和Kconfig作为参数传递给conf