Chinaunix首页 | 论坛 | 博客
  • 博客访问: 280697
  • 博文数量: 28
  • 博客积分: 11
  • 博客等级: 民兵
  • 技术积分: 895
  • 用 户 组: 普通用户
  • 注册时间: 2012-11-19 19:50
个人简介

不畏浮云遮望眼,只缘身在最高层

文章分类

全部博文(28)

文章存档

2014年(1)

2013年(27)

分类: 嵌入式

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处运行程序

阅读(1968) | 评论(0) | 转发(0) |
0

上一篇:集合框架小结3

下一篇:java 流 小结1

给主人留下些什么吧!~~