关于uboot的CONFIG_SPL_BUILD宏的一个小知识点

我们知道uboot分为BL0, BL1, BL2。其中BL0就是我们常说的ROM Code。BL1就是我们常说的SPL1,BL2就是我们常说的狭义的uboot。其中SPL 和uboot共用一个源码体系。他们之间的产生是通过一个重要的宏CONFIG_SPL_BUILD来在源码中分开的。
有一个问题很重要问题,在uboot源码中,经常会看到这些片段

#if defined(CONFIG_SPL_BUILD)
.....

而这个宏在哪理被定义了呢?首先看spl文件夹下的Makefile

CONFIG_SPL_BUILD := y
export CONFIG_SPL_BUILD

这是定义了一个这样的变量,然后真正定义的地方在这理;在uboot源码树的根目录下config.mk中:

ifeq ($(CONFIG_SPL_BUILD),y)
CPPFLAGS += -DCONFIG_SPL_BUILD      ## define the macro 
endif

这个才是真正的定义了这个宏。然后在源码中使用该宏。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值