U-boot 2016.11 代码结构 dra7xx

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

posted @ 2018-05-09 09:41  夏海风  阅读(651)  评论(0)    收藏  举报