分析u-boot的结构:
最快捷的方法是直接分析makefile
①先配置 make 100ask24x0.config
②编译 make =>为什么知道呢,在u-boot目录下有一个readme有说明
一.配置:make 100ask24x0.config
①在makefile搜索关键字100ask24x0
搜索找到: MKCONFIG := $(SRCTREE)/mkconfig
100ask24x0_config : unconfig
@$(MKCONFIG) $(@:_config=) arm arm920t 100ask24x0 NULL s3c24x0
mkconfig 100ask24x0 arm arm920t 100ask24x0 NULL s3c24x0
$0 $1 $2 $3 $4 $5 $6
↑分析mkconfig文件,即完成了配置过程
二编译:make (还是分析Makefile文件)
①分析makefile知道了运行的第一个文件是start.s
②还知道了链接地址: board/100ask24x0/u-boot.lds
+33F80000 =>为开始地址
↓
在linux上搜索:LDFLAGS 知道在主目录下的config.mk中定义了:
LDFLAGS += -Bstatic -T $(LDSCRIPT) -Ttext $(TEXT_BASE) $(PLATFORM_LDFLAGS)
再在linux上搜索一下怎么来的:grep "33F80000" * -nR 结果发现是在board/100ask24x0/config.mk 里面有个 text_base=0x33F80000