2440:

启动方式:nor , nand

地址布局:

启动流程:

开发板在上电后,会从0x0地址处运行。

如果从nor flash启动,则代码要放在nor 的0地址处;

如果从nand flash启动,nand flash是不能直接访问的,必须通过相应的寄存器才能访问到,所以nand flash 不能参与ARM处理器的统一编址。从图上可以看出,我们从nandflash启动的0地址处是BootSRAM(垫脚石),从我们的BootSRAM取第一条指令,好像并没有从我们nand flash取代码。其实在我们上电的时候,

1) 处理器会自动从nand flash拷贝最前面4k代码到BootSRAM,这就间接从nand flash取到代码启动了。

2) 由于我们的bootloader通常不止4k,所以剩下的代码就会被复制到内存(由BootSRAM的一部分代码实现)


6410:

启动方式:SRAM(nor), OneNAND(具有nor和nand双重属性),

MODEM, IROM(包括SD卡启动和nand启动)

地址布局:

启动流程:

上电之后,从镜象区域启动,镜象区域就是以上启动方式的映射

nand启动流程:

1) nand启动属于IROM启动的一种,所以上电后首先访问IROM里的BL0,芯片厂商固化好的一段代码,除了初始化硬件以外,还会把我们nand flash里的BL1(8k)拷贝到stepping stone运行,而BL1又会把剩下的BL2拷贝到内存SDRAM去运行。


210:

启动方式:IROM,USB,UART

地址布局:

启动流程:

先执行BL0----->拷贝BL1到I-SRAM----->拷贝剩下的BL2还是到I-SRAM(容量很大96k)----->当BL2很大超过80k时候,BL2就不能拷贝到I-SRAM,就要让BL1把它拷贝到内存SDRAM了。

arm处理器启动流程分析的更多相关文章

  1. [国嵌笔记][029][ARM处理器启动流程分析v2]

    2440启动流程 启动方式:nor flash启动.nand flash启动 地址布局: 选择nor flash启动时,SROM(nor flash)地址为0x00000000 选择nand flas ...

  2. ARM处理器启动流程

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

  3. Uboot启动流程分析(转载)

    最近一段时间一直在做uboot移植相关的工作,需要将uboot-2016-7移植到单位设计的ARMv7的处理器上.正好元旦放假三天闲来无事,有段完整的时间来整理下最近的工作成果.之前在学习uboot时 ...

  4. Uboot启动流程分析(二)

    1.前言 在前面的文章Uboot启动流程分析(一)中,链接如下: https://www.cnblogs.com/Cqlismy/p/12000889.html 已经简单地分析了low_level_i ...

  5. Uboot启动流程分析(一)

    1.前言 Linux系统的启动需要一个bootloader程序,该bootloader程序会先初始化DDR等外设,然后将Linux内核从flash中拷贝到DDR中,最后启动Linux内核,uboot的 ...

  6. 【UEFI】---史上最全的X86平台启动流程分析(软硬结合)

    最近研究了下X86处理器的启动流程分析,相比于常见的ARM来说,X86平台启动流程真的复杂了很多,本次基于项目实际的两个问题入手,研究了包括以下几个部分的内容: 1. 从硬件角度看启动流程 2. 从软 ...

  7. u-boot启动流程分析(2)_板级(board)部分

    转自:http://www.wowotech.net/u-boot/boot_flow_2.html 目录: 1. 前言 2. Generic Board 3. _main 4. global dat ...

  8. u-boot启动流程分析(1)_平台相关部分

    转自:http://www.wowotech.net/u-boot/boot_flow_1.html 1. 前言 本文将结合u-boot的“board—>machine—>arch—> ...

  9. Netty 拆包粘包和服务启动流程分析

    Netty 拆包粘包和服务启动流程分析 通过本章学习,笔者希望你能掌握EventLoopGroup的工作流程,ServerBootstrap的启动流程,ChannelPipeline是如何操作管理Ch ...

随机推荐

  1. Windows 下使用 GCC

    MinGw 是 Minimal GNU on Windows 的缩写,允许在 GNU/Linux 和 Windows 平台生成本地的 Windows 程序而不需要第三方运行时库.本文主要介绍 MinG ...

  2. day07(Set接口,HashSet类,hashcoad(),Collections工具类,Map集合)

    Set接口 set接口的实现类特点 1.无序(取出来的顺序和存进去的数据的顺序不一致) 2.唯一(数据不能存相同的) 底层是用Map集合写的 HashSet类  实现了  set接口       唯一 ...

  3. HDU 3455 Leap Frog 2016-09-12 16:34 43人阅读 评论(0) 收藏

    Leap Frog Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  4. 图片捕获工具driftnet

    driftnet是一款简单而使用的图片捕获工具,可以很方便的在网络数据包中抓取图片.该工具可以实时和离线捕获指定数据包中是图片,当然在kali里是有的. 在我之前的一篇博文<kali下搭建WiF ...

  5. 【lazy标记得思想】HDU3635 详细学习并查集

    部分内容摘自以下大佬的博客,感谢他们! http://blog.csdn.net/dm_vincent/article/details/7769159 http://blog.csdn.net/dm_ ...

  6. D3 drag

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. Android-AndroidStudio莫名其妙的错误-finished with non-zero exit value 1

    上一篇博客,Android-AndroidStudio莫名其妙的错误-finished with non-zero exit value 1,解决了由于 string.xml 字符导致的: 而这篇博客 ...

  8. Android 广播代码的发送与接收

    Android四大组件之一广播,使用的也比较多,广播可大致分为两种,一种是Android系统区域的广播,是由系统指令发出,例如:点亮屏幕广播,开机过程中的一些广播 省略-, 然而还有一种广播就是我们自 ...

  9. Caliburn.Micro(MVVM框架)

    一.首启窗体设置 1. 创建一个新的WPF应用程序并添加NuGet包:Caliburn.Micro 2. 删除项目自带的主窗口文件MainWindow.xaml 3. 在App.xaml项目文件中,删 ...

  10. git生成Key操作保存到GITHUB中

    https://blog.csdn.net/sinat_23880167/article/details/78502528 1. 在git中通过命令: $ ssh-keygen Generating ...