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、执行用户输入的命令