[国嵌笔记][029][ARM处理器启动流程分析v2]
2440启动流程
启动方式:nor flash启动、nand flash启动
地址布局:
选择nor flash启动时,SROM(nor flash)地址为0x00000000
选择nand flash启动时,SRAM(SteppingStone)地址为0x00000000
SDRAM(内存)地址为0x30000000
启动流程:
1.第一阶段
首先,处理器复制nand flash的BL1(前4KB)到Steppingstone中,执行BL1(bootloader第一部分)。然后,复制BL2(bootloader第二部分)到内存中。接着,跳转到内存中
2.第二阶段
在内存中继续执行BL2
备注:在datasheet的MEMORY CONTROLLER和NAND FLASH CONTORLLER可以找到相关描述
6410启动流程
启动方式:SD启动、nand flash启动
地址布局:
MirroredRegion(映射区域)地址为0x00000000
iROM(内部固件)地址为0x08000000
SteppingStone(垫脚石)地址为0x0C000000
SDRAM(内存)地址为0x50000000
启动流程:
1.第一阶段
首先,执行内部固件的BL0初始化相关硬件,并复制nand flash的BL1(前8KB)到SteppingStone中。然后,跳转到SteppingStone中
2.第二阶段
首先,执行BL1(bootloader第一部分)。然后,复制BL2(bootloader第二部分)到内存中。接着,跳转到内存中
3.第三阶段
在内存中继续执行BL2
备注:在datasheet的Device Specific Address Space和s3c6410_internal_rom_booting可以找到相关描述
210启动流程
启动方式:SD启动、nand flash启动
地址布局:
MirroredRegion(映射区域)地址为0x00000000
iROM(内部固件)地址为0xD0000000
iRAM(SteppingStone)地址为0xD0020000
DRAM(内存)地址为0x20000000
启动流程:
1.第一阶段
首先,执行内部固件的BL0初始化相关硬件,并复制nand flash的BL1(前16KB)到SteppingStone中。然后,跳转到SteppingStone中
2.第二阶段
首先,执行BL1(bootloader第一部分)。然后,复制BL2(bootloader第二部分)到内存中。接着,跳转到内存中
3.第三阶段
在内存中继续执行BL2
备注:在datasheet的DEVICE SPECIFIC ADDRESS SPACE和S5PV210_iROM_ApplicationNote_Preliminary可以找到相关描述
[国嵌笔记][029][ARM处理器启动流程分析v2]的更多相关文章
- [国嵌笔记][021-022][ARM处理器工作模式]
[ARM处理器工作模式] 处理器工作模式 1.User(urs):用户模式,linux应用程序运行在用户模式 2.FIQ(fiq):快速中断模式 3.IRQ(irq):中断模式 4.Superviso ...
- arm处理器启动流程分析
2440: 启动方式:nor , nand 地址布局: 启动流程: 开发板在上电后,会从0x0地址处运行. 如果从nor flash启动,则代码要放在nor 的0地址处: 如果从nand flash启 ...
- ARM处理器启动流程
根据<<芯片手册>>查看相关内容: 1.启动方式 2.地址布局 3.启动流程
- [国嵌笔记][027][ARM协处理器访问指令]
协处理器作用 协处理器用于执行特定的处理任务,如数学协处理器可以执行控制数字处理,以减轻处理器的负担.ARM处理器最多可以支持16个协处理器,其中CP15是最重要的一个协处理器 CP15的作用 CP1 ...
- [国嵌笔记][026][ARM伪指令]
ARM机器码 1.汇编程序通过汇编器变成机器码,然后才能在ARM处理器上运行 2.ARM机器码是一个32位的数,被分成了多个段,每个段都有各自的含义 3.格式: cond:表示条件(4位) I:表示源 ...
- [国嵌笔记][024][ARM汇编编程概述]
汇编程序用途 1.在bootloader与内核初始化时,还没有建立C语言运行环境,需要用到汇编程序 2.在对访问效率要求很高的情况下,需要用到汇编程序 ARM汇编分类 1.ARM标准汇编:适合于Win ...
- [国嵌笔记][020][ARM家族大检阅]
ARM芯片:2440(arm9) 6410(arm11) 210(cortex-A8) ARM核:arm9(arm-v4) arm11(arm-v6) cortex-A8(arm-v7) 指令架构:a ...
- [国嵌笔记][025][ARM指令分类学习]
算术和逻辑指令 1.mov 格式:mov {条件}{s} <dest>, <op> 作用:把一个值从一个地方移动到另一个地方,<dest>必须是寄存器 示例: @m ...
- [国嵌笔记][023][ARM寻址方式]
寻找方式 1.处理器根据指令中给出的信息来找到指令所需操作数的方式 2.立即数寻址 操作数本身在指令中给出,立即数前加”#”表示立即数寻址,操作数在指令中 3.寄存器寻址 利用寄存器中的数值作为操作数 ...
随机推荐
- bzoj 4898: [Apio2017]商旅
Description 在广阔的澳大利亚内陆地区长途跋涉后,你孤身一人带着一个背包来到了科巴.你被这个城市发达而美丽的市场所 深深吸引,决定定居于此,做一个商人.科巴有个集市,集市用从1到N的整数编号 ...
- Linux内置命令
主要Shell内置命令 Shell有很多内置在其源代码中的命令.这些命令是内置的,所以Shell不必到磁盘上搜索它们,执行速度因此加快.不同的Shell内置命令有所不同. A.2.1 bash内置命令 ...
- 图解JQUERY尺寸及位置定义
最近在学习JQUERY的一些应用,接触到了JQUERY对于元素尺寸及位置定义,还有就是配合浏览器尺 寸及状态的计算所做出的一些动画特效.其实像这类JQUERY应用无外乎涉及这些属性的调用:innerH ...
- Material Theme 文件名的标签(tab)被大写了
我们平时使用的都是小写的,今天第一次使用Material Theme 这个发现标签被大写了,百度后没找到然后自己找了找设置,解决了 原来是这样的, 设置如下 设置后: 希望能帮到有同样问题的同学
- Python并发实践_03_并发实战之一
16S数据质控流程,一次下机lane包括很多的项目,每个项目有独立的合同号,一个项目可能包含16S或者ITS两种,通过一个完整的pipeline,将上游拆分好的数据全部整理成可以直接分析的数据.原本这 ...
- 如何使用MOQ进行单元测试
使用MOQ来伪装和隔离被依赖对象,从而提高被测对象的测试效果. 安装 通过http://code.google.com/p/moq可以下载MOQ的最新版本.在SSL项目中,我们使用的是MOQ 3.1. ...
- Swift3中数组创建方法
转载自:http://blog.csdn.net/bwf_erg/article/details/70858865 数组是由一组类型相同的元素构成的有序数据集合.数组中的集合元素是有 序的,而且可以重 ...
- 第五章 MVC之Bundle详解
一.简述 Bundle,英文原意就是捆.收集.归拢.在MVC中的Bundle技术,也就是一个对css和js文件的捆绑压缩的技术. 它的用处: 将多个请求捆绑为一个请求,减少服务器请求数 压缩javas ...
- Ubuntu16.04 IDE: 用Vim逐步打造一个IDE
目前打造完成的IDE主要有: terminator+Bundle+NERDtree+YCF(youcompleteme)+UltiSnips+新创建文件自动补充注释和作者,版权信息等 1,当任务比较多 ...
- Hadoop源码篇---解读Mapprer源码Input输入
一.前述 上次分析了客户端源码,这次分析mapper源码让大家对hadoop框架有更清晰的认识 二.代码 自定义代码如下: public class MyMapper extends Mapper&l ...