zoukankan      html  css  js  c++  java
  • S3C2440的内存情况在NAND FLASH或者NOR FLASH启动的情况下

    1,从NANDFLASH启动时,在ARM上电时,ARM会自动把NANDFLASH前4K的内容拷贝到S3C2440内部SRAM中,同时把SRAM的地址映射到0X00000000。ARM上电后会从SRAM处开始运行。

    2,从NOR FLASH启动时,因为NORFLASH接在bank0。地址映射是0X00000000。所以ARM上电后直接运行NORFLASH里的程序。此时S3C2440内部SRAM地址为0X40000000。

    3,ARM上电启动都是从0X00000000开始运行。但是对于复位程序入口,ResetEntry的值在ARM上电运行时是0X00000000,在JTAG仿真时是0X30000000。这个值很关键,在拷贝程序时会用到。


    硬件上决定开机时从nand flash或nor flash启动,具体配置如下

    则,相应的内存映射如下

    SROM means ROM or SRAM type memory


    关于Figure6-5图,需要做的说明是:

    1,在jz2440开发板,SDRAM接在BANK6,它的起始地址恒定是0x30000000。

    2,图中所示的列图是芯片认为的内存。即可以认为了是芯片内的内存。

    3,对于OM[1:0]=00从nand flash启动nand flash不能统一地址到内存,上电后芯片自动将nand flash的前4k的内容复制到芯片内的前4k内存,然后芯片开始从0x00000000处运行,从0x00000000开始的拷贝过来的这4k内存内容负责将nand flash中的bootloader复制到芯片地址0x30000000处,继续执行的时候,BANK1,BANK2,,处都是没有接SROM的,因此,马上就会执行0x30000000处的代码。整个过程可以这样说,复制到芯片内部的SRAM4K代码将nand flash里的程序,包括bootloader复制到链接地址(链接地址就是SDRAM地址),然后去顺序执行。

    4,对于OM[1:0]=01,10,是从nor flash启动,nor flash接到的是BANK0,它做为了此处的 SROM存在,它的起始地址便是0x00000000,芯片从0地址顺序执行。

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    截取某一个元素的图
    11、python的异常机制
    10、python面向对象三大特性:封装、继承、多态
    9、python之面向对象
    软件测试有前途吗?
    对应届生做测试的同学们的一些建议
    没有代码基础如何学习自动化测试?
    接口自动化测试有哪些工具或者框架?
    软件测试流程
    接口自动化测试中logging实际用法
  • 原文地址:https://www.cnblogs.com/otaku-lip/p/4765008.html
Copyright © 2011-2022 走看看