********************************LoongEmbedded********************************

作者:LoongEmbedded(kandi)

时间:2011.7.26

类别:WINCE bootloader开发

********************************LoongEmbedded********************************

IROM启动(internal ROM Booting),IROM启动是指从OneNAND、SD/MMC卡和NAND Flash存储设备启动的方式,见下图,描述了6410支持的启动模式。

图1

1.IROM启动方式的图解

图2

上图的启动流程根据进一步细化为下面的流程,结合图1和图2理解:

1)      处理器上电后,当OM[4:1]=1111时,执行IROM中的启动代码(boot codes),这个启动代码称为BL0,它具体会做一些初始化的工作。

2)      根据GPN[15:13]管脚的设置,假如是图1中标识的NAND启动介质,则GPN[15:13]=101,这样BL0就会从BL1中读取前4KB的程序,也就是从NAND的第0个block中读取第0和第1页这4KB的程序到Stepping Stone的(0x0C000000)地址内存处运行,这4KB的程序(在Real6410开发板中式nbl.nb1,大小为4KB)是去掉.rdata部分的镜像文件。

3)      BL1可以初始化系统时钟,UART,SDRAM等设备,然后拷贝Bootloader2(BL2)到SDRAM的(0x800000000)地址内存处。

4)      然后跳转到SDRAM中的BL2继续运行,BL2支持更强大的功能,在此开发板设计中,BL2拷贝eboot到SDRAM的(0x8003000)地址内存处。

5)      接着跳转到SDRAM中的eboot中继续运行,其中eboot进一步初始化硬件和把WINCE内核镜像拷贝到SDRAM的(0x80100000)地址内存处

6)      最好在SDRAM中开始执行NK。

在上面整个启动的过程中,IROM是最先被运行的,它会首先做一些初始化,具体IROM的流程如下:
1) 禁用Watch-dog
2) 初始化TCM
3) 初始化设备拷贝函数,用于拷贝BL1到SteppingStone中
4)初始化栈区域
5) 初始化PLL
6) 初始化指令Cache
7) 初始化堆区域
8) 拷贝BL1到SteppingStone中
9) 验证BL1
10) 跳转到SteppingStone中运行

2. IROM启动方式的流程图

为了更好理解IROM启动方式的流程,看下面的流程图:

图3

3.基于NAND Flash的 IROM启动方式的启动块分配(Boot Block Assignment)

图4

S3C6410的IROM启动模式相关推荐

  1. S3C6410启动模式介绍

    目前的ARM处理器都支持多种启动模式,S3C6410和以前的Samsung的ARM处理器一样,通过外部管脚OM[4:0]的拉高拉低来决定是从哪个存储设备上启动.我认为S3C6410的User Manu ...

  2. android+rom+bootloader+flash,Android ROM开发(4) bootloader 三种启动模式

    Andrew Huang 转载请注明作者及网址 HTC手机中用的bootloader称为HBoot,不知道是不是HTC Bootloader 之意,从官网的源码看这个bootloader不象是u-bo ...

  3. android rom 工作,Android ROM开发(4) bootloader 三种启动模式

    Andrew Huang 转载请注明作者及网址 HTC手机中用的bootloader称为HBoot,不知道是不是HTC Bootloader 之意,从官网的源码看这个bootloader不象是u-bo ...

  4. Activity的四种启动模式

    standard:标准的启动模式,默认启动模式.启动一个activity就会创建该activity的实例. singleTop:如果启动的activity已经位于栈顶,那么就不会重新创建一个新的act ...

  5. andorid 启动模式面试题

    现在有四个activity a,b,c,d ,设置a为标准模式,b为singletop模式 c设置singletask模式,d设置SingleInstance 模式 a启动b ,b 启动 c ,c启动 ...

  6. activity 启动模式_腾讯大牛:你根本不懂Activity!

    码个蛋(codeegg)第 583 次推文 作者:厘米姑娘 原文:https://www.jianshu.com/p/602b1ec4ca7a 在之前的Activity篇主要学习Activity的生命 ...

  7. #读书笔记 Android-Activity启动模式

    什么是Activity的启动模式?当启动一个Activity的时候,系统会创建一个实例,并把它放入到一个任务栈中,至于如何存放,就是由这个启动模式来决定的.Android系统支持多任务,所以系统中会同 ...

  8. Centos6,7默认启动模式的更改

    有时候我们想以为图形页面启动,启动后直接到图形页面,但是有时候也想启动后直接进入文本页面,我们只需要修改init即可: Centos6启动模式配置文件路径:/etc/inittab Centos7启动 ...

  9. Android入门:Activity四种启动模式

    2019独角兽企业重金招聘Python工程师标准>>> 一.启动模式介绍 启动模式简单地说就是Activity启动时的策略,在Android Manifest.xml中的标签的and ...

最新文章

  1. 自动换行的draw2d标签
  2. AS 4.7安装yum
  3. django性能优化缓存view详解
  4. Devstack配置负载均衡,负载均衡版本V2
  5. Python 数据结构视频教程一
  6. arp 华为 查看 路由器_华为路由器运行状态查看-路由器
  7. 为什么vsdebug没有生成obj文件_用iPad实时扫描生成模型??两款实用App
  8. 全排列递归实现(二)
  9. 昨天,JetBrains 推出“下一代 IDE”,对标VS Code?快看看有哪些值得期待的功能!...
  10. ios开发之多线程---GCD
  11. 推荐使用一个modbus调试助手
  12. dnf mysql密码多少_CentOS7 使用 dnf 安装 mysql
  13. 基于Matlab/GUI界面设计的参数在线整定与优化(一)
  14. 第二章 03 藤蔓生长
  15. 机械臂运动学入门(二)
  16. DayDayUp:心灵鸡汤之天空飘来五个字~那都不是事(一问一答告诉你什么是高层次的认知)
  17. 大数据处理常用的数据结构
  18. Free Video to JPG Converter(视频转图片的软件)简体中文 | 如何将视频转图片
  19. Java多线程与并发编程终极宝典
  20. 【大数据基础】基于 TMDB 数据集的电影数据分析

热门文章

  1. continue和break的区别
  2. php与js的关系,Php与Js的交互
  3. java session原理_java web开发—session的工作原理总结
  4. 计算机主机清理步骤,怎么清理主机灰尘 清理灰尘教程
  5. 装了mysql但是服务里没有反应_Mysql安装后在服务里找不到和服务启动不起来的解决方法...
  6. python可以播放音乐吗_详解python播放音频的三种方法
  7. python采集_Python采集实例2
  8. Android OkHttp完全解析
  9. oracle使用打开数据库文件,Oracle技术网—某个数据文件损坏,如何打开数据库
  10. mysql级联查询_mysql 各种级联查询后更新(update select)