[国嵌笔记][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.寄存器寻址 利用寄存器中的数值作为操作数 ...
随机推荐
- Kotlin——最详细的抽象类(abstract)、内部类(嵌套类)详解
如果您对Kotlin很有兴趣,或者很想学好这门语言,可以关注我的掘金,或者进入我的QQ群大家一起学习.进步. 欢迎各位大佬进群共同研究.探索QQ群号:497071402 进入正题 在前面几个章节中,详 ...
- 百度文库的实现——java利用openoffice,批量word转pdf
百度文库的主要功能就是将上传的word文档,转码成pdf格式再展示出来.其中有四种方法可以实现这样的操作: 方法一:用apache pio 读取doc文件,然后转成html文件用Jsoup格式化htm ...
- rabbitmq 启动报错
=============================================== 2017/10/24_第1次修改 ccb_warlock = ...
- ogg12-ERROR OGG-01031 file D:\OGG\dirdat\ed000000 is not in any allowed output directories
配置ogg时出现这个错误: 2018-01-04 14:22:58 ERROR OGG-01031 Oracle GoldenGate Capture for Oracle, P147148.prm: ...
- Python之禅及释义
在python shell中敲 import this会触发一个彩蛋,神奇的打印下面一段话: The Zen of Python, 即python之禅, 1999年Tim Peters大牛总结的&qu ...
- ES6(三)数组的扩展
1.Array.form ES6中,Array.from = function(items,mapfn,thisArg) { } Array.from 用于将 类数组 和 可遍历对象(实现了It ...
- Python初体验
今天开始所有的工作脚本全都从perl转变到python,开发速度明显降低了不少,相信以后随着熟练度提升会好起来.贴一下今天一个工作代码,由于之前去一家小公司测序时,序列长度竟然都没有达到要求,为了之后 ...
- 利用lsof恢复进程占用的文件
说明:经常会遇到这种情况,没有使用正确的方式清理进程占用的文件,比如日志.导致空间并没有释放.也有的时候需要恢复进程占用的文件. 解决方式 lsof |grep del # 找出自己要恢复的文件名称. ...
- python重试装饰器的简单实现
简单实现了一个在函数执行出现异常时自动重试的装饰器,支持控制最多重试次数,每次重试间隔,每次重试间隔时间递增. 最新的代码可以访问从github上获取 https://github.com/black ...
- MySQL优化三 表结构优化
由于MySQL数据库是基于行(Row)存储的数据库,而数据库操作 IO 的时候是以 page(block)的方式,也就是说,如果我们每条记录所占用的空间量减小,就会使每个page中可存放的数据行数增大 ...