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  夏海风  阅读(614)  评论(0编辑  收藏  举报