[国嵌笔记][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.寄存器寻址 利用寄存器中的数值作为操作数 ...
随机推荐
- 解决linux重启后无法开启nginx问题“var/run/nginx/nginx.pid" no such file or directory问题
起因:每次重启虚拟机后,var/run/nginx/目录都会被删除,所以无法在这个目录创建nginx.pid文件, 可以自己创建var/run/nginx/目录,然后可以运行,但治标不治本,下次虚拟机 ...
- 7、树莓派编程;gpio编程;led闪烁
本博文仅作本人操作过程的记录,留作备忘.自强不息 QQ12226981 1.树莓派接口对照,一定要找到对应的引脚,不要接错了.我画上箭头. 2.安装 下载地址,https://git.drogon.n ...
- override与重载(overload)的区别
重载是相同函数名字.参数或参数类型不同,进行多次承载以适应不同的需要.(orerload)是面向过程的重载. (override)是面向对象的重载.是进行基类中的函数重写.
- 使用JavaScript将图片保存至本地
在最近的开发当中,我们需要为img标签以及canvas动态绘制的图像提供下载功能,下面是经过探索后我们得出的结果. 一.Canvas 版本 // 下载Canvas元素的图片 function down ...
- MySQL连接方式及大小写问题
一.连接数据库 在命令行连接MySQL有这两种方式,一种是使用命令行参数:另一种是将参数信息写入配置文件 1.命令行中使用参数 -u用户名 -p密码 -D数据库名 -P数据库服务端口 -s安静模式 ...
- Golang中的坑二
Golang中的坑二 for ...range 最近两周用Golang做项目,编写web服务,两周时间写了大概五千行代码(业务代码加单元测试用例代码).用Go的感觉很爽,编码效率高,运行效率也不错,用 ...
- Linux下安装破解JIRA 6.3.6 并连接MYSQL5
序言 JIRA是澳大利亚 Atlassian 公司开发的一款优秀的问题跟踪管理软件工具,可以对各种类型的问题进行跟踪管理,包括缺陷.任务.需求.改进等.JIRA采用J2EE技术,能够跨平台部署.它正被 ...
- Java基础之引用(String,char[],Integer)总结
1.String的引用: 下列代码执行后的结果为: public class Test { public static void main(String[] args) { StringBuffer ...
- C# 控件拖动
https://zhidao.baidu.com/question/2116834779399609987.html [DllImport("user32.dll", EntryP ...
- HTML学习 框架
iframe 在原来的页面嵌入其他页面 <iframe src="其他页面地址" width="宽" height="高" frame ...