u-boot怎样生成spl
u-boot版本:2016.05
顶层Makefile定义生成spl:
生成spl需要的BOARD,CPU等变量的由来:
顶层Makefile包含了.config
.config包含了配置的cpu,板级信息
顶层Makefile包含了config.mk,
arch/arm/Makefile也被包含了进来,arch/arm/Makefile定义的head-y: arch/arm/Makefile:73:head-y := arch/arm/cpu/$(CPU)/start.o
u-boot版本:2016.05
顶层Makefile定义生成spl:
生成spl需要的BOARD,CPU等变量的由来:
顶层Makefile包含了.config
.config包含了配置的cpu,板级信息
顶层Makefile包含了config.mk,
arch/arm/Makefile也被包含了进来,arch/arm/Makefile定义的head-y: arch/arm/Makefile:73:head-y := arch/arm/cpu/$(CPU)/start.o
config.mk把.config定义的cpu和板级信息转换成CPU SOC BOARD等变量,顶层Makefile将这些变量export
config.mk定义的变量
顶层Makefile export这些变量
config.mk定义的变量
顶层Makefile export这些变量
spl生成规则:
spl具体生成过程在scripts/Makefile.spl中定义
Makefile.spl生成目标是all:
${SPL_BIN}.bin = u-boot-spl.bin
u-boot-spl.bin依赖u-boot-spl,u-boot-spl生成规则:
u-boot-spl-init u-boot-spl-main定义了spl所包含的源码:
head-y在arch/arm/Makefile中定义,Makefile.spl包含了这个文件:
head-y = arch/arm/Makefile:73:head-y := arch/arm/cpu/$(CPU)/start.o = arch/arm/armv7/start.o,
可以看出start.S是u-boot-spl.bin最开始执行的代码.
arch/arm/Makefile也定义了libs-y,即定义了spl编译的源码.