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]的更多相关文章

  1. [国嵌笔记][021-022][ARM处理器工作模式]

    [ARM处理器工作模式] 处理器工作模式 1.User(urs):用户模式,linux应用程序运行在用户模式 2.FIQ(fiq):快速中断模式 3.IRQ(irq):中断模式 4.Superviso ...

  2. arm处理器启动流程分析

    2440: 启动方式:nor , nand 地址布局: 启动流程: 开发板在上电后,会从0x0地址处运行. 如果从nor flash启动,则代码要放在nor 的0地址处: 如果从nand flash启 ...

  3. ARM处理器启动流程

    根据<<芯片手册>>查看相关内容: 1.启动方式 2.地址布局 3.启动流程

  4. [国嵌笔记][027][ARM协处理器访问指令]

    协处理器作用 协处理器用于执行特定的处理任务,如数学协处理器可以执行控制数字处理,以减轻处理器的负担.ARM处理器最多可以支持16个协处理器,其中CP15是最重要的一个协处理器 CP15的作用 CP1 ...

  5. [国嵌笔记][026][ARM伪指令]

    ARM机器码 1.汇编程序通过汇编器变成机器码,然后才能在ARM处理器上运行 2.ARM机器码是一个32位的数,被分成了多个段,每个段都有各自的含义 3.格式: cond:表示条件(4位) I:表示源 ...

  6. [国嵌笔记][024][ARM汇编编程概述]

    汇编程序用途 1.在bootloader与内核初始化时,还没有建立C语言运行环境,需要用到汇编程序 2.在对访问效率要求很高的情况下,需要用到汇编程序 ARM汇编分类 1.ARM标准汇编:适合于Win ...

  7. [国嵌笔记][020][ARM家族大检阅]

    ARM芯片:2440(arm9) 6410(arm11) 210(cortex-A8) ARM核:arm9(arm-v4) arm11(arm-v6) cortex-A8(arm-v7) 指令架构:a ...

  8. [国嵌笔记][025][ARM指令分类学习]

    算术和逻辑指令 1.mov 格式:mov {条件}{s} <dest>, <op> 作用:把一个值从一个地方移动到另一个地方,<dest>必须是寄存器 示例: @m ...

  9. [国嵌笔记][023][ARM寻址方式]

    寻找方式 1.处理器根据指令中给出的信息来找到指令所需操作数的方式 2.立即数寻址 操作数本身在指令中给出,立即数前加”#”表示立即数寻址,操作数在指令中 3.寄存器寻址 利用寄存器中的数值作为操作数 ...

随机推荐

  1. 比较日期大小以及获取select选中的option的value

    原生JavaScript如何获取select选中的value // 1. 拿到select对象 const selectObject = document.getElementById('test') ...

  2. 一、源代码-面向CLR的编译器-托管模块-(元数据&IL代码)

    本文脉络图如下: 1.CLR(Common Language Runtime)公共语言运行时简介 (1).公共语言运行时是一种可由多种编程语言一起使用的"运行时". (2).CLR ...

  3. JMeter 插件 Json Path 解析HTTP响应JSON数据

    一.基本简介 JMeter 是一个不错的负载和性能测试工具,我们也用来做 HTTP API 接口测试.我们的 API 返回结果为JSON数据格式.JSON 简介,JSON 教程. JSON 已经成为数 ...

  4. C# 将DataTable一行放入另一个DataTable中

    http://blog.csdn.net/huyu107/article/details/53509171 概述 从一个DataTable中取一行放到另一个DataTable里报错: 该行已经属于另一 ...

  5. thinkinginjava学习笔记04_初始化与清理

    java沿用了c++的构造器,使用一个和类名完全一样的方法作为类的构造器,可以有多个构造器来通过不同的参数进行构造,称为重载:不仅是构造器可以重载,其他方法也一样通过不同的形参以及不同的返回值来实现重 ...

  6. python calendar(日历)模块

    内置函数month() #!/usr/bin/python import calendar print calendar.month(2017,12) 输出: December 2017 Mo Tu ...

  7. ES6解构之复杂数据

    今天在写代码的是否,碰到如下的数据,我要取值 fvkey,fn,url. { , , "fl":Object{...}, , "ip":"106.39 ...

  8. EditTable可编辑的表格

    EditTable可编辑的表格 EditTable基于tabel布局的表格,表格内容单击可以编辑,编辑完毕即可显示新的内容:    ESC按键可以撤销编辑,返回原有内容.    点击"添加& ...

  9. mysql如何执行关联查询与优化

    mysql如何执行关联查询与优化 一.前言 在数据库中执行查询(select)在我们工作中是非常常见的,工作中离不开CRUD,在执行查询(select)时,多表关联也非常常见,我们用的也比较多,那么m ...

  10. C#winform自定义控件模拟设计时界面鼠标移动和调节大小、选中效果

    要想玩转Winform自定义控件需要对GDI+非常熟悉,对常用的控件有一些了解,好选择合适的基类控件来简化. 要点说明及代码 1)定义接口: using System; using System.Wi ...