不畏浮云遮望眼,只缘身在最高层
分类: 嵌入式
2013-01-30 17:17:43
如上图所示:
首先固化在IROM中的代码对硬件初始化,然后判断是哪种启动方式(SD卡、nandfalsh)等,从外部存储器拷贝BL1大小的程序到IRAM中,最大为16KB!
BL1执行完后,通过检验BL2(BL2最大为80KB)的完整性,通过之后,在BL2中初始化DDR,并且加载OS 到DDR中运行,最终,跳转到OS的起始地址处开始运行。
完整启动流程:
1.关闭看门狗
2.初始化cache
3.判断是否为一般的启动
4.初始化堆
5.判断是什么样的启动(SD卡、Nand启动等)
6.从外部存储器拷贝BL1大小的数据到IRAM中
7.CheckSum检验
8.如果检测成功,则跳转到0xD0020010处运行程序