U-boot工作流程分析

bootloader的作用

  bootloader就好比是航天飞机升天轨道上的助推器

程序入口:在_start这里

第一阶段程序分析:

1、设置中断向量表

2、设置处理器位SVC模式

3.0、刷新I/Dcache     ((如果芯片是210:)3.1、让L1的I/D cache关闭)

4.0、关闭mmu和cache,((如果芯片是6410:)4.1、外设基地址初始化  

                      4.2、点亮LED                  

                         4.3、关闭看门狗

                    4.4、关闭所有中断)         

             ((如果芯片是210:)4.1、检查reset状态  

                      4.2、恢复IO引脚为默认值                 

                         4.3、关闭看门狗

                    4.4、让SRAM和SROM初始化

                    4.5、关闭所有中断)

  4.1、关闭看门狗

  4.2、关闭所有中断

5、初始化系统时钟

6.0、初始化串口      ((如果板子是210:)6.1取消存储保护区)

7.0、简单初始化Nandflash   ((如果板子是210:)7.1disable ABB)

8、内存初始化

9、判断是nor flash启动还nand flash 启动,无论是从哪个启动,都是复制其bl到内存中(tip:Source Insight高亮显示shift+F8)

10、设置堆栈

11、清除bss段

(在调试uboot的时候出现了问题,解决方法是:执行make distclean 在进行config和make就可以了)

make smdk2440_config

make

第二阶段程序分析:

1、初始化串口

2、LCD初始化

3、网卡初始化

4、LED初始化

5、执行用户输入的命令

  

原文地址:https://www.cnblogs.com/sanshijvshi/p/8324680.html