前言
本文主要记录我对u-boot-2019.10源码的分析,背景是我在将u-boot-2019.10移植到jz2440开发板时需要了解源码,因此源码的配置使用的是SMDK2410的默认配置。有关移植的内容,可以参考我的这篇博客:移植u-boot-2019.10到jz2440。本文的内容会随着我对u-boot的认识的深入,不断丰富和加深。如果分析有误,望读者指正。
1 确定源码从哪里开始执行
在开始之前,需要把编译后生成的u-boot-2019.10/include/generated
目录整个拷贝到源码中,以免漏掉配置宏,导致对源码的分析出错。然后,我们需要确定源码的入口,这样才能顺着入口分析下去。
怎么确定入口呢?当然是看链接脚本。整个源码中.lds
文件数量很多,到底哪一个才是真正的连接脚本呢?可以分析Makefile,顶层Makefile中有这么一段:
# Rule to link u-boot