第二章 存储器映射

来源:互联网 发布:淘宝怎么使用不了花呗 编辑:程序博客网 时间:2024/05/16 14:42

2.1 存储系统模块图

表2-1 地址映射

粗边框的单元格表示:前两列标示的地址范围指向对应的内存控制器。对于单个地址范围指向多个内存控制器的情况,请参考表格底部的脚注。[1][2]

注:6410 PoPA、F、G、M、N、K类型的芯片不支持NAND Flash。不用看有关NANDFlash的描述。6410PoP D类型的芯片不支持OneNAND Flash。不用看有关OneNANDFlash的描述。

        6410支持32位(4G)物理地址域,该地址域可以分为两部分,一部分用于存储器,一部分用于外设。

        主存储器通过SPINE总线来存取,它的地址范围(1.75GB)是从0x0000_0000到0x6FFF_FFFF。主存储器部分可以分为4个区域:引导映像区、内部存储区、静态存储区和动态存储区。

        引导映像区的地址范围(128MB)是从0x0000_0000到0x07FF_FFFF,但是并没有实际的映射存储器与之相对应。引导映像区的映像指向内部存储区或者静态存储区的一部分。引导映像区的起始地址固定为0x0000_0000。

        内部存储区(128M)用于存取内部ROM和内部SRAM,供boot loader使用,内部SRAM也称为Steppingstone(踏脚石,敲门砖)。内部存储区的起始地址也是固定的。内部ROM的地址范围(64MB)是从0x0800_0000到0x0BFF_FFFF,但实际的存储器只有32KB。该区域是只读的。当选择内部ROM启动时,该存储器可以映射到引导镜像区。内部SRAM的地址范围(64MB)是从0x0C00_0000到0x0FFF_FFFF,但实际的存储器只有4KB。

        静态存储区的地址范围(768MB)是从0x1000_0000到0x3FFF_FFFF。SROM、SRAM、NOR Flash、异步NOR接口设备、OneNAND Flash和Steppingstone可以通过这段地址区域进行存取。每个区域代表一个片选信号,例如,从0x1000_0000到0x17FF_FFFF的这块地址范围(128MB)代表Xm0CSn[0]。每个片选信号的起始地址是固定的。NAND Flash和CF/ATA不能通过静态存储区进行存取,因此,若Xm0CSn[5:2]映射到NFCON或者CFCON,相应的地址范围就无法存取了。一个特例是,若Xm0CSn[2]用于NAND Flash,则Steppingstone映射到0x2000_0000到0x27FF_FFFF的地址范围。

        动态存储区的地址范围(768MB)是从0x4000_0000到0x6FFF_FFFF。DMC1有权使用的地址范围(512MB)是从0x5000_0000到0x6FFF_FFFF。每个片选信号的起始地址是可以配置的。

        外设通过PERI总线进行存取,地址范围(256MB)为0x7000_0000到0x7FFF_FFFF。所有的SFR都可以在这段地址范围内进行存取。同样地,如果需要从NFCON或者CFCON传输数据,应通过PERI总线。

2.2 设备指定的地址空间

表2-2 设备指定的地址空间
表2-3 AHB总线存储器映射
表2-4 APB总线存储器映射
[1] 详情请参阅章节:存储子系统。

[2] 这个地址范围既可以指定给SROM控制器,也可以指定给OneNAND控制器,由系统控制器决定。详情请参阅章节:存储子系统。