S3C6410的IROM启动模式
来源:互联网 发布:石家庄网站排名优化 编辑:程序博客网 时间:2024/04/19 15:30
IROM启动(internal ROM Booting),IROM启动是指从OneNAND、SD/MMC卡和NAND Flash存储设备启动的方式,见下图,描述了6410支持的启动模式。
图1
下面来总结一下S3C6410所支持的启动模式:
1. NORFlash启动
通过Nor Flash启动,此时OM[4:1]为0100或0101,对应8bit和16bit。
2. NandFlash启动
虽然在S3C6410 User Manual中没有提到,但是也是支持的,从S3C6400 User Manual可以找到。OM[4:1]四个硬件管脚决定了Nandflash启动,以及支持的Nandflash的类型,包括大Page和小Page,地址周期为3,4,5。当然,XSELNAND管脚也要为1。
3. OneNAND启动
首先XSELNAND管脚为0,其次OM[4:1]为0110,为OneNand启动模式。
4. MODEM启动
当OM[4:1]为0111的时候,为MODEM启动。S3C6410通过MODEM接口下载boot代码到内部RAM中,然后进行引导。
5. IROM启动
当OM[4:1]为1111的时候,从Internal ROM中启动,此时GPN[15:13]用于识别设备的类型。这种模式以前没见过,这里具体介绍一下。
IROM模式可以支持MoviNand,SD/MMC,iNand,OneNand和Nand等。关于IROM的引导,具体过程如图:
1. 处理器上电后,当OM[4:1]=1111时,运行iROM中的程序,这个程序被称为Bootloader0(BL0),它会做一些初始化的工作。
2. 然后根据GPN[15:13]的管脚设置,选择从相应的设备(SD/MMC/OneNand/Nand)中的指定区域读取4KB的程序到SteppingStone中运行,这段代码被称为Bootloader1(BL1)。
3. BL1可以初始化系统时钟,UART,SDRAM等设备,然后拷贝Bootloader2(BL2)到SDRAM中。
4. 跳转到SDRAM中的BL2,继续运行,BL2可以支持更强大的功能,可以将OS加载到SDRAM中,然后运行OS。
整个过程中,IROM是最先被运行的,它会首先做一些初始化,具体IROM的流程如下:
1. 禁用Watch-dog
2. 初始化TCM
3. 初始化设备拷贝函数,用于拷贝BL1到SteppingStone中
4. 初始化栈区域
5. 初始化PLL
6. 初始化指令Cache
7. 初始化堆区域
8. 拷贝BL1到SteppingStone中
9. 验证BL1
10. 跳转到SteppingStone中运行
还是看一下流程图吧,理解起来会更直观一些,IROM启动流程如图:
3.基于NAND Flash的 IROM启动方式的启动块分配(Boot Block Assignment)
- S3C6410的IROM启动模式
- S3C6410的IROM启动模式
- S3C6410的IROM启动模式
- S3C6410的IROM启动模式
- S3C6410 IROM启动
- s3c6410 irom启动
- s3c6410 IROM启动代码分析
- s3c6410 IROM启动代码分析
- Samsung的ARM处理器iROM启动模式介绍
- Samsung的ARM处理器iROM启动模式介绍
- Samsung的ARM处理器iROM启动模式介绍
- Samsung的ARM处理器iROM启动模式介绍
- S3C6410的启动模式解析
- s3c6410 irom 源代码分析
- S3C6410和S5PV210的启动模式介绍
- tiny4412下的Exynos4412 iROM 启动分析
- S3C6410启动模式介绍
- S3C6410启动模式介绍
- 排序算法之基本排序算法:交换、选择、插入
- 全选、反选 不选
- 简单记录一次REDO文件损坏报错 ORA-00333重做日志读取块出错
- libGDX视频教程(七) -- 游戏音效
- Swift中文教程(九) 类与结构
- S3C6410的IROM启动模式
- PB数据窗口对象之显示样式
- Myeclipse连接mysql数据库(给力的写)全程心得)
- 关于SQLite与SQLServer的区别
- Java获取.properties文件
- linux程序编译期加入编译时间和svn版本号
- Princeton Algorithms: Part 1 [week 3: Quicksort]
- mtk的一道面试题
- SQL的SubQuery