Chinaunix首页 | 论坛 | 博客
  • 博客访问: 456824
  • 博文数量: 73
  • 博客积分: 3593
  • 博客等级: 中校
  • 技术积分: 912
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-14 11:32
文章分类

全部博文(73)

文章存档

2013年(2)

2012年(20)

2011年(25)

2010年(12)

2009年(14)

分类: 嵌入式

2009-12-05 10:23:13


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) |
给主人留下些什么吧!~~