目录
1 代码结构
1. 1 arch\arm\cpu\u-boot.lds
ENTRY(_start)
可以看到:大小端格式,结构 和入口。
1.2 arch/arm/cpu/armv7/start.S
1. 设置CPU为SVC模式
2. 关闭MMU
3. 关闭Cache
4. 跳转到lowlevel_init.S low_level_init
1.3 board/arch/arm/lowlevel_init.S
5. 初始化时钟
6. 初始化内存
7. 初始化串口
8. 关闭看门狗
9. 跳转到crt0.S _main
1.4 arch/arm/lib/crt0.S
代码重定位------------BL2的最后的工作, 执行完就进入DRAM执行BL2
1. 设置栈
2. 初始化C运行环境
3. 调用board_init_f()
1.5 u-boot\arch\arm\cpu\armv7\omap-common\hwinit-common.c
board_init_f
1.6 \u-boot\common\spl\spl.c
board_init_r