[37]_uboot中顶层Makefile、config.mk、u-boot.lds之间的三角恋关系之简单分析

本文简要分析了U-Boot项目的顶层Makefile、config.mk和u-boot.lds之间的相互作用。尽管这三个文件内容庞大,但关键部分揭示了它们如何协同工作以构建U-Boot固件。
摘要由CSDN通过智能技术生成

这里只贴出Makefile、config.mk、u-boot.lds中关键的部分,不会全部列出,因为uboot中的Makefile、config.mk、u-boot.lds实在是太长了,仅仅是uboot的顶层Makefile就接近3200行....

在编译uboot之前,需要对uboot做的配置(make x210_sd_config),到底这一步做了什么呢?下面是我在Makefile中搜索目标后找到的相关的语句:
2589 x210_sd_config :        unconfig
2590         @$(MKCONFIG) $(@:_config=) arm s5pc11x x210 samsung s5pc110
2591         @echo "TEXT_BASE = 0xc3e00000" > $(obj)board/samsung/x210/config.mk
执行命令传入6个参数,分别是x210_sd、arm s5pc11x x210 samsung s5pc110,其中$# = 6 、$1=arm、$2=s5pc11x、$3=x210、$4=samsung、$5=s5pc110这几个参数会被写入include/comfig.mk配置脚本中。
还有"TEXT_BASE = 0xc3e00000"这个地址被创建并追加到board/samsung/x210/config.mk这个配置文件中....
这里是uboot的24~42行,主要是定义了uboot版本、主机架构主机系统等信息,可以描述信息。
VERSION = 2017
PATCHLEVEL = 7
SUBLEVEL = 10
EXTRAVERSION = acer
U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL).$(EXTRAVERSION) ## u-boot版本:2017.7.10.acer
VERSION_FILE = $(obj)include/version_autogenerated.h  ## uboot/include/version_autogenerated.h
HOSTARCH := $(shell uname -m | \   #在linux命令行执行 uname -m 命令可查看主机架构
	sed -e s/i.86/i386/ \
	    -e s/sun4u/sparc64/ \
	    -e s/arm.*/arm/ \
	    -e s/sa110/arm/ \
	    -e s/powerpc/ppc/ \
	    -e s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值