1、在复位地址放置中断/异常向量表跳转到复位处理程序
2、复位处理程序
1) 设置CPU为SVC32模式
2) 关watchdog
3) 关中断及子中断
4) 初始化系统时钟
5) 点亮LED1
6) 简单设置SDRAM控制器
让SDRAM可以工作
7) 点亮LED2
8) 初始化串口并打印信息
9) 初始化CPU内部硬件电路
清I/D caches,关闭MMU
重新初设置SDRAM时序,这部分代码与开发有关,或许要让SRAM跑更快的速度
10) 判断是否需要重定位,即是否需要将代码从flash中搬到RAM中。如果不用搬代码直接跳到(12)
11) 计算代码段(.text)长度,并将其搬到内存中来
12) 计算并设置堆栈的位置
13) 计算bbs段长度并清零
14) 如果是Nandboot,则将Nandboot代码搬到RAM中
a、初始化化Nand控制器
b、fp寄存器清零
c、拷贝192KB代码到Uboot RAM入口地址。
d、校验前4KB代码是否一致,检验失败则打印出错信息pc停止。
15) 跳转到C语言入口,进行板级初始化。
阅读(945) | 评论(0) | 转发(0) |