[国嵌笔记][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.寄存器寻址 利用寄存器中的数值作为操作数 ...
随机推荐
- df 命令详解
一.df 作用: 显示磁盘分区上的可使用的磁盘空间, 默认显示单位为kb . 可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间的等信息. 选项: -a :包含全部的文件系统 -h :以 ...
- 使用 JSON.parse 反序列化 ISO 格式的日期字符串, 将返回Date格式对象
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- [编织消息框架][网络IO模型]Netty Reactor
严格来讲Netty Reactor是一种设计模式,一听模式两字就知道了吧,套路哈哈 Reactor中文译为“反应堆”. 看图netty处理流程 1.netty server 至少有两组reactor. ...
- k8s 核心功能 - 每天5分钟玩转 Docker 容器技术(116)
本节带领大家快速体验 k8s 的核心功能:应用部署.访问.Scale Up/Down 以及滚动更新. 部署应用 执行命令: kubectl run kubernetes-bootcamp \ --im ...
- golang 队列
You have to perform NN operations on the queue. The operations are of following type: E xE x : Enque ...
- button的padding属性在i8下和chrome下表现不一致
button的padding属性在i8下和chrome下表现不一致 在ie8下会撑破很多像素,撑破布局 padding: 10px 48px; padding: 1px 35px \0; /* pro ...
- Hadoop源码篇---解读Mapprer源码Input输入
一.前述 上次分析了客户端源码,这次分析mapper源码让大家对hadoop框架有更清晰的认识 二.代码 自定义代码如下: public class MyMapper extends Mapper&l ...
- 在React中你真的用对了Ajax吗?
通过AJAX加载初始数据 通过AJAX加载数据是一个很普遍的场景.在React组件中如何通过AJAX请求来加载数据呢?首先,AJAX请求的源URL应该通过props传入:其次,最好在component ...
- Chris Richardson微服务翻译:重构单体服务为微服务
Chris Richardson 微服务系列翻译全7篇链接: 微服务介绍 构建微服务之使用API网关 构建微服务之微服务架构的进程通讯 微服务架构中的服务发现 微服务之事件驱动的数据管理 微服务部署 ...
- Swagger入门教程
[译]5.41 Swagger tutorial 单击此处查看原文 更多概念参见:Implementing Swagger with your API docs 关于 Swagger Swagger能 ...