2dmin 发表于 2012-5-2 23:38:20

DM8168的互连与内存映射

DM8168的互连与内存映射


DM8168是多处理器系统,每个子系统或处理器都有自己的内存和内存映射的寄存器。为了简化软件开发,使用一个统一的内存映射,这样从所有总线Master方来看芯片资源具有了一致性。
整个系统内存映射被划分为4个1GB的quadrant,用于目标地址空间的定位。4个quadrant:Q0、Q1、Q2和Q3总计4-GB 的32位地址空间。(HDVPSS包括一个第33位地址位,用于附加的4GB地址范围,这用作虚拟寻址和非物理内存寻址),在每个quadrant内部,系统目标以4MB为边界进行映射(除了EDMA目标,它降低到1MB范围)。
DM8168是使用一种互连技术,将多处理器和子系统连接到一起的。因此我们有必要介绍一下这个互连技术。
所谓互连,就是模块之间实现存取的一种技术,先要理解一些基本概略:
lInitiator(发起者):向互连发起读写请求。典型如:处理器、DMA。
lTarget(目标):不同与Initiator,它不向互连发出读写请求,但是它能响应这些请求。它还可以向系统产生中断和DMA请求。典型如:外设、内存控制器
lAgent(代理):一个模块与互连的连接是通过代理的,它是模块与互连之间的适配器(有时可以配置)。一个Target通过一个Target代理(TA)与互连连接,Initiator通过Initiator代理(IA)与互连连接。
lInterconnect(互连):应该包含译码、路由、仲裁等逻辑,才能实现连接在其上的多个Initiator和多个Target之间的互连。
DM8168的互连是基于一种分层架构(L3,L4),如下图。注意箭头并不是表示数据流的方向,而是表示Master/Slave(或者Initiator/Target)关系。图5-1 互连概貌图5-2 L4结构表5-1 L3 Master/Slave互连
(1)   X = 互连存在;S = 可裁减的通道。Non-DEMMU可存取的目标(如C674x SDMA)总是直接映射。表5-2 L4外设连接
(1)X,Port0,Port1 = 连接存在


DM816x的系统框图如下。我们以Cortex-A8和C674x两个子系统为例,来看DM816x是如何管理内存。


1.Cortex-A8


Cortex-A8的结构框图如下:

从图中我们可以看到:
lCortex-A8内部有48KB ROM 和64KB RAM。
lCortex与其它模块互连是通过DMM和L3端口。
nCortex-A8通过DMM端口(128bit宽)直接存取DDR。
nCortex-A8通过L3互连端口(64bit)存取芯片的其他模块。
Cortex-A8地址映射:块名起始地址结束地址尺寸描述Boot Space0x0000 00000x000F FFFF1MBBoot SpaceL3 目标空间0x0000 00000x1FFF FFFF512MBGPMC0x2000 00000x2FFF FFFF256MBPCIe Gen2 Targets0x3000 00000x3FFF FFFF256MBReserved内部ROM(1)0x4000 00000x4001 FFFF128KBReserved0x4002 00000x4002 BFFF48KBROM Public0x4002 C0000x40F FFFF848KBReservedReserved(1)0x4010 00000x401F FFFF1MBReservedReserved(1)0x4020 00000x402E FFFF960KBReservedReserved(1)0x402F 00000x402F FFFF64KBSRAM(64KB) Secure/PublicL3目标空间0x4030 00000x4033 FFFF256MBOCMC SRAM0x4034 00000x403F FFFF768KBReserved0x4040 00000x4043 FFFF256KBOCMC SRAM0x4044 00000x404F FFFF768KBReserved(OCMC RAM1)0x4050 00000x407F FFFF3MBReserved0x4080 00000x4083 FFFF256KBC674x UMAP0(L2 RAM)0x4084 00000x40DF FFFF5888KBReserved0x40E0 00000x40E0 7FFF32KBC674x L1P Cache/RAM0x40E0 80000x40EF FFFF992KBReserved0x40F0 00000x40F0 7FFF32KBC674x L1D Cache/RAM0x40F0 80000x40FF FFFF992KBReserved0x4100 00000x41FF FFFF16MBReserved0x4200 00000x43FF FFFF32MBReserved0x4400 00000x44BF FFFF12MBL3配置寄存器0x44C0 00000c45FF FFFF20MBReserved0x4600 00000x463F FFFF4MBMcASP00x4640 00000x467F FFFF4MBMcASP010x4680 00000x46BF FFFF4MBMcASP020x46C0 00000x46FF FFFF4MBHDMI1.3 Tx0x4700 00000x473F FFFF4MBMcBsp0x4740 00000x477F FFFF4MBUSB2.0寄存器/CPPI0x4780 00000x47BF FFFF4MBReserved0x47C0 00000x47FF FFFF4MBReserved0x4800 00000x481F FFFF2MBL4标准外设域ARM Subsystem INTC(1)0x4820 00000x4820 FFFF4KB仅由Contex-A8存取Reserved(1)0x4820 10000x4823 FFFF252KB仅由Contex-A8存取
MPUSS config register(1)0x4824 00000x4824 FFFF4KB仅由Contex-A8存取Reserved(1)0x4824 10000x4827 FFFF252KB仅由Contex-A8存取Reserved(1)0x4828 10000x482F FFFF508KB仅由Contex-A8存取L3目标空间0x4830 00000x48FF FFFF13MBL4标准外设域0x4900 00000x490F FFFF1MBEDMA TPCC寄存器0x4910 00000x497F FFFF7MBReserved0x4980 00000x498F FFFF1MBEDMA TPCC0寄存器0x4990 00000x499F FFFF1MBEDMA TPCC1寄存器0x49A0 00000x49AF FFFF1MBEDMA TPCC2寄存器0x49B0 00000x49BF FFFF1MBEDMA TPCC3寄存器0x49C0 00000x49FF FFFF4MBReserved0x4A00 00000x4AFF FFFF16MBL4高速外设域0x4B00 00000x4BFF FFFF16MBEMU子系统区域0x4C00 00000x4CFF FFFF16MBDDR EMIF0配置寄存器(2)0x4D00 00000x4DFF FFFF16MBDDR EMIF1配置寄存器(2)0x4E00 00000x4FFF FFFF32MBDDR DMM配置寄存器(2)0x5000 00000x50FF FFFF16MBGMPC配置寄存器0x5100 00000x51FF FFFF16MBPCIE配置寄存器0x5200 00000x52FF FFFF16MBReserved0x5300 00000x53FF FFFF16MBHDVICP2-2 Host端口0x5400 00000x54FF FFFF16MBHDVICP2-2 SL2端口0x5500 00000x55FF FFFF16MBReserved0x5600 00000x56FF FFFF16MBSGX530从端口0x5700 00000x57FF FFFF16MBReserved0x5800 00000x58FF FFFF16MBHDVICP2-0 Host端口0x5900 00000x59FF FFFF16MBHDVICP2-0 SL2端口0x5A00 00000x5AFF FFFF16MBHDVICP2-1 Host端口0x5B00 00000x5BFF FFFF16MBHDVICP2-1 SL2端口0x5C00 00000x5CFF FFFF32MbReserved0x5E00 00000x5FFF FFFF32MBReserved0x6000 00000x7FFF FFFF512MBTILER窗口DDR EMIF0/1 SDRAM(3)(4)0x8000 00000xBFFF FFFF1GBDDRDDR EMIF0/1 SDRAM(3)(4)0xC000 00000xFFFF FFFF1GBDDR
(1)   黑体字部分表示这部分在Cortex-A8内部
(2)   这些存取通过DDR DMM TILER端口。DDR DMM内部分开寻址DDR EMIF和DDR DMM控制寄存器的地址范围
(3)   这些地址路由到与DDR DMM ELLA端口直接相连的Master0端口
(4)   DDR EMIF0和DDR EMIF1地址可以连续或BANK交织,取决于DDR DMM配置

2.C674x


C674x DSP Megamodule框图如下:

从图中,我们看到:
lEMC(Extend Memory Controller)是一个桥,将Megamodule与芯片的其他部分连接起来。它包括3个端口:
n配置端口(CFG):这个端口提供对内存映射的寄存器(这些寄存器控制不同的外设和资源)的存取,但并不支持对CPU和Megamodule内部的内存映射寄存器的存取。CFG总线总是32bit宽,总是应该使用32bit load/store指令或者IDMA来存取
nMaster DMA(MDMA):MDAM提供对MegaModule外部资源的存取,传输的发起者是Megamodule(也就是说这些传输,Megamodule是Master)。MDMA常用来做为CPU/Cache对L2以外的内存的存取。这些存取可能是以对系统内存的Cache Line Allocate、Writeback、Non-Cacheable Load和Store形式。
nSlave DMA(SDMA):SDMA用于Megamodule外部的其它Masters对Megamodule内部资源的存取。这些其它的Master如:DMA控制器、HPI等等,也就是说这些传输是Megamodule外部Master发起的,而Megamodule在交易中是处于Slave地位。
n所有的MDMA存取都是通过DEMMU来路由做地址翻译的;CFG总是用于存取连L4外设。
l还有3个Master端口,用于直接存取HDVICP2 SL2(仅HDVICP2-0和HDVICP2-1)内存。
C6474x DSP通过MDMA端口进行的存取是通过DSP/EDMA内存管理单元(DEMMU)来路由的,DEMMU重新映射物理系统地址。这样做可以保护ARM Cortex A8内存区域避免被C674x代码意外破坏,并允许在用户空间里直接定位buffer而不需要在ARM和DSP之间进行翻译。
另外,EDMA TC0进行的存取可以选择通过DEMMU来路由,这允许DSP使用EDMA 通道0进行传输的时候,仅使用相关Buffer的已知虚拟地址来执行传输。EDMA_TC通过控制模块里的MMU_CFG寄存器来使能/禁止DSP/EDMA MMU。

2dmin 发表于 2012-5-2 23:38:47

表2-31C674x内存映射区域名称起始地址结束地址尺寸描述保留(注1)0x0000 00000x003F FFFF4MB保留UMAP1(注1)0x0040 00000x0043 FFFF256KBC674x UMAP1(HDVICP2-0 SL2)保留(UMAP1)(注1)0x0044 00000x004F FFFF768KB保留UMAP1(注1)0x0050 00000x0053 FFFF256KBC674x UMAP (HDVICP2-1 SL2)保留(UMAP1) (注1)0x0054 00000x005F FFFF768KB保留保留(注1)0x0060 00000x007F FFFF2MB保留L2 SRAM(注1)0x0080 00000x0083 FFFF256KBC674x UMAP0(L2 RAM)保留(注1)0x0084 00000x00DF FFFF5888KB保留L1P SRAM(注1)0x00E0 00000x00E0 7FFF32KBC674x L1P Cache/RAM保留(注1)0x00E0 80000x00EF FFFF992KB保留L1D SRAM(注1)0x00F0 00000x00F0 7FFF32KBC674x L1D Cache/RAM保留(注1)0x00F0 80000x017F FFFF9184KB保留内部CFG(注2、3)0x0180 00000x01BF FFFF4MBC674x内部CFG寄存器保留(注3)0x01C0 00000x07FF FFFF100MB保留L4标准域(注3)0x0800 00000x08FF FFFF16MB外设域(见表2-27)EDMA TPCC(注3)0x0900 00000x090F FFFF1MBEDMA TPCC寄存器保留(注3)0x0910 00000x097F FFFF7MB保留EDMA TPTC0(注3)0x0980 00000x098F FFFF1MBEDMA TPTC0寄存器EDMA TPTC1(注3)0x0990 00000x099F FFFF1MBEDMA TPTC1寄存器EDMA TPTC2(注3)0x09A0 00000x09AFFFFF1MBEDMA TPTC2寄存器EDMA TPTC3(注3)0x09B0 00000x09BF FFFF1MBEDMA TPTC3寄存器保留(注3)0x09C0 00000x09FF FFFF4MB保留L4高速域(注3)0x0A00 00000x0AFF FFFF16MB外设域(见表2-28)保留(注3)0x0B00 00000x0FFF FFFF80MB保留C674x L1/L2(注4)0x1000 00000x10FF FFFF16MBC674x内部全局地址MDMA(注5)0x1100 00000xFFFF FFFF3824MBDEMMU映射L3域
注1:地址0x0000 0000到0x017F FFFF对C674x器件是在内部。
注2:地址0x0180 0000到0x01BF FFFF保留作为C674x内部CFG寄存器。
注3:地址0x01C0 0000到0x0FFF FFFF映射倒C674x CFG总线。
注4: 地址0x1000 0000到0x10FF FFFF映射倒C674x内部地址0x0000 0000 到 0x00FF FFFF。
注5:这些存取通过DEMMU路由,DEMMU通过页表将这些地址翻译到物理L3地址。

3.L3内存映射


L3高性能互连是基于片上网络(Network-on-Chip:NoC)互连基础架构,NoC使用一个内部基于包的通讯规程,用作前向(读命令、带数据负荷的写命令)和后向(带数据负荷的读响应、写响应)交易,所有公开的NoC互连接口(对目标和发起者)满足OCP IP2.2参考标准。
表2-26显示了DM8168的L3的内存映射,表中呈现了L3基础架构使用的物理地址,某些处理器(如Cortex A8 ARM、C674x DSP)可以通过内部或外部MMU重新将这些目标重新映射到不同的虚拟地址。没有MMU的处理器和其他总线Master使用这些物理地址存取L3区域,注意并不是所有MASTER都会对L3所有区域进行存取,而仅仅是那些有明确连接的存取,如表5-1显示的那些才可以。在5.2节列出了连接到L4外设端口的外设。任何发起者如果企图存取一个没有连接的目标, L3互连会返回一个地址空洞错误。表2-26 L3内存映射QUAD块名起始地址结束地址尺寸描述Q0GPMC0x0000 00000x1FFF FFFF512MBGPMCQ0PCIe Gen20x2000 00000x2FFF FFFF256MBPCIe Gen2 TargetsQ0Reserved0x3000 00000x3FFF FFFF256MBReservedQ1Reserved0x4000 00000x402F FFFF3MBReservedQ1L3 OCMC00x4030 00000x4033 FFFF256MBOCMC SRAMQ1Reserved0x4034 00000x403F FFFF768KBReservedQ1L3 OCMC10x4040 00000x4043 FFFF256KBOCMC SRAMQ1Reserved0x4044 00000x404F FFFF768KBReserved(OCMC RAM1)Q1Reserved0x4050 00000x407F FFFF3MBReservedQ1C674x0x4080 00000x4083 FFFF256KBC674x UMAP0(L2 RAM)Q1Reserved0x4084 00000x40DF FFFF5888KBReservedQ1C674x0x40E0 00000x40E0 7FFF32KBC674x L1P Cache/RAMQ1Reserved0x40E0 80000x40EF FFFF992KBReservedQ1C674x0x40F0 00000x40F0 7FFF32KBC674x L1D Cache/RAMQ1Reserved0x40F0 80000x40FF FFFF992KBReservedQ1Reserved0x4100 00000x41FF FFFF16MBReservedQ1Reserved0x4200 00000x43FF FFFF32MBReservedQ1L3 CFG Regs0x4400 00000x44BF FFFF12MBL3配置寄存器Q1Reserved0x44C0 00000c45FF FFFF20MBReservedQ1McASP00x4600 00000x463F FFFF4MBMcASP0Q1McASP10x4640 00000x467F FFFF4MBMcASP01Q1McASP20x4680 00000x46BF FFFF4MBMcASP02Q1HDMI1.3 Tx0x46C0 00000x46FF FFFF4MBHDMI1.3 TxQ1McBsp0x4700 00000x473F FFFF4MBMcBspQ1USB2.00x4740 00000x477F FFFF4MBUSB2.0寄存器/CPPIQ1Reserved0x4780 00000x47BF FFFF4MBReservedQ1Reserved0x47C0 00000x47FF FFFF4MBReservedQ1L4 Standard domain0x4800 00000x48FF FFFF16MB标准外设域Q1EDMA TPCC0x4900 00000x490F FFFF1MBEDMA TPCC寄存器Q1Reserved0x4910 00000x497F FFFF7MBReservedQ1EDMA TPTC00x4980 00000x498F FFFF1MBEDMA TPCC0寄存器Q1EDMA TPTC10x4990 00000x499F FFFF1MBEDMA TPCC1寄存器Q1EDMA TPTC20x49A0 00000x49AF FFFF1MBEDMA TPCC2寄存器Q1EDMA TPTC30x49B0 00000x49BF FFFF1MBEDMA TPCC3寄存器Q1Reserved0x49C0 00000x49FF FFFF4MBReservedQ1L4 High-Speed Domain0x4A00 00000x4AFF FFFF16MB高速外设域Q1Instrumentation0x4B00 00000x4BFF FFFF16MBEMU子系统区域Q1DDR EMIF0 register0x4C00 00000x4CFF FFFF16MB配置寄存器Q1DDR EMIF1 register0x4D00 00000x4DFF FFFF16MB配置寄存器Q1DDR DMM Register0x4E00 00000x4FFF FFFF32MB配置寄存器Q1GPMC Register0x5000 00000x50FF FFFF16MB配置寄存器Q1PCIe Gen2 Register0x5100 00000x51FF FFFF16MB配置寄存器Q1Reserved0x5200 00000x52FF FFFF16MBReservedQ1HDVICP2-2 Config0x5300 00000x53FF FFFF16MBHDVICP2-2 Host端口Q1HDVICP2-2 SL20x5400 00000x54FF FFFF16MBHDVICP2-2 SL2端口Q1Reserved0x5500 00000x55FF FFFF16MBReservedQ1SGX5300x5600 00000x56FF FFFF16MBSGX530从端口Q1Reserved0x5700 00000x57FF FFFF16MBReservedQ1HDVICP2-0 Config0x5800 00000x58FF FFFF16MBHDVICP2-0 Host端口Q1HDVICP2-0 SL20x5900 00000x59FF FFFF16MBHDVICP2-0 SL2端口Q1HDVICP2-1 Config0x5A00 00000x5AFF FFFF16MBHDVICP2-1 Host端口Q1HDVICP2-1 SL20x5B00 00000x5BFF FFFF16MBHDVICP2-1 SL2端口Q1Reserved0x5C00 00000x5CFF FFFF32MbReservedQ1Reserved0x5E00 00000x5FFF FFFF32MBReservedQ1Tiler0x6000 00000x7FFF FFFF512MB虚拟Tiled地址空间Q2DDR EMIF0/1 SDRAM0x8000 00000xBFFF FFFF1GBDDRQ3DDR EMIF0/1 SDRAM0xC000 00000xFFFF FFFF1GBDDRQ4-7DDR DMM0x1 0000 00000x1 FFFF FFFF4GBDDR DMM Tiler 扩展地址映射虚拟视图(仅HDVPPS)

4.L4内存映射



4.1L4标准外设


L4标准外设总线存取标准的外设和IP配置寄存器。内存映射表入表2-27
表2-27 L4标准外设内存映射
器件名称
起始地址
结束地址
尺寸
描述
L4标准配置
0x4800 0000
0x4800 07FF
2KB
地址/保护(AP)
0x4800 0800
0x4800 0FFF
2 KB
连接代理(LA)
0x4800 1000
0x4800 13FF
1 KB
Initiator端口(IP0)
0x4800 1400
0x4800 17FF
1 KB
Initiator端口(IP1)
0x4800 1800
0x4800 1FFF
2 KB
保留(IP2 – IP3)
保留
0x4800 2000
0x4800 7FFF
24 KB
保留
e-Fuse控制器
0x4800 8000
0x4800 8FFF
4 KB
外设寄存器
0x4800 9000
0x4800 9FFF
4 KB
支持寄存器
保留
0x4800 A000
0x4800 FFFF
24 KB
保留
DEMMU
0x4801 0000
0x4801 0FFF
4KB
外设寄存器
0x4801 1000
0x4801 1FFF
4KB
支持寄存器
保留
0x4801 2000
0x4801 FFFF
56KB
保留
UART0
0x4802 0000
0x4802 0FFF
4KB
外设寄存器
0x4802 1000
0x4802 1FFF
4KB
支持寄存器
UART1
0x4802 2000
0x4802 2FFF
4KB
外设寄存器
0x4802 3000
0x4802 3FFF
4KB
支持寄存器
UART2
0x4802 4000
0x4802 4FFF
4KB
外设寄存器
0x4802 5000
0x4802 5FFF
4KB
支持寄存器
保留
0x4802 6000
0x4802 7FFF
8KB
保留
I2C0
0x4802 8000
0x4802 8FFF
4KB
外设寄存器
0x4802 9000
0x4802 9FFF
4KB
支持寄存器
I2C1
0x4802 A000
0x4802 AFFF
4KB
外设寄存器
0x4802 B000
0x4802 BFFF
4KB
支持寄存器
保留
0x4802 C000
0x4802 DFFF
8KB
保留
TIMER1
0x4802 E000
0x4802 EFFF
4KB
外设寄存器
0x4802 F000
0x4802 FFFF
4KB
支持寄存器
SPIOCP
0x4803 0000
0x4803 0FFF
4KB
外设寄存器
0x4803 1000
0x4803 1FFF
4KB
支持寄存器
GPIO0
0x4803 2000
0x4803 2FFF
4KB
外设寄存器
0x4803 3000
0x4803 3FFF
4KB
支持寄存器
保留
0x4803 4000
0x4803 7FFF
16KB
保留
McASP0 CFG
0x4803 8000
0x4803 9FFF
8KB
外设寄存器
0x4803 A000
0x4803 AFFF
4KB
支持寄存器
保留
0x4803 B000
0x4803 BFFF
4KB
保留
McASP1 CFG
0x4803 C000
0x4803 DFFF
8KB
外设寄存器
0x4803 E000
0x4803 EFFF
4KB
支持寄存器
保留
0x4803 F000
0x4803 FFFF
4KB
保留
TIMER2
0x4804 0000
0x4804 0FFF
4KB
外设寄存器
0x4804 1000
0x4804 1FFF
4KB
支持寄存器
TIMER3
0x4804 2000
0x4804 2FFF
4KB
外设寄存器
0x4804 3000
0x4804 3FFF
4KB
支持寄存器
TIMER4
0x4804 4000
0x4804 4FFF
4KB
外设寄存器
0x4804 5000
0x4804 5FFF
4KB
支持寄存器
TIMER5
0x4804 6000
0x4804 6FFF
4KB
外设寄存器
0x4804 7000
0x4804 7FFF
4KB
支持寄存器
TIMER6
0x4804 8000
0x4804 8FFF
4KB
外设寄存器
0x4804 9000
0x4804 9FFF
4KB
支持寄存器
TIMER7
0x4804 A000
0x4804 AFFF
4KB
外设寄存器
0x4804 B000
0x4804 BFFF
4KB
支持寄存器
GPIO1
0x4804 C000
0x4804 CFFF
4KB
外设寄存器
0x4804 D000
0x4804 DFFF
4KB
支持寄存器
保留
0x4804 E000
0x4804 FFFF
8KB
保留
McASP2 CFG
0x4805 0000
0x4805 1FFF
8KB
外设寄存器
0x4805 2000
0x4805 2FFF
4KB
支持寄存器
保留
0x4805 3000
0x4805 FFFF
52KB
保留
SD/SDIO
0x4806 0000
0x4806 FFFF
64KB
寄存器
0x4807 0000
0x4807 0FFF
4KB
支持寄存器
保留
0x4807 1000
0x4807 FFFF
60KB
保留
ELM
0x4808 0000
0x4808 FFFF
64KB
错误定位模块
0x4809 0000
0x4809 0FFF
4KB
支持寄存器
保留
0x4809 1000
0x480B FFFF
188KB
保留
RTC
0x480C 0000
0x480C 0FFF
4KB
外设寄存器
0x480C 1000
0x480C 1FFF
4KB
支持寄存器
WDT1
0x480C 2000
0x480C 2FFF
4KB
外设寄存器
0x480C 3000
0x480C 3FFF
4KB
支持寄存器
保留
0x480C 4000
0x480C 7FFF
16KB
保留
Mailbox
0x480C 8000
0x480C 8FFF
4KB
外设寄存器
0x480C 9000
0x480C 9FFF
4KB
支持寄存器
Spinlock
0x480C A000
0x480C AFFF
4KB
外设寄存器
0x480C B000
0x480C BFFF
4KB
支持寄存器
保留
0x480C C000
0x480F FFFF
208KB
保留
HDVPSS
0x4810 0000
0x4811 FFFF
128KB
外设寄存器
0x4812 0000
0x4812 0FFF
4KB
支持寄存器
保留
0x4812 1000
0x4812 1FFF
4KB
保留
HDMI1.3Tx
0x4812 2000
0x4812 2FFF
4KB
外设寄存器
0x4812 3000
0x4812 3FFF
4KB
支持寄存器
保留
0x4812 4000
0x4812 FFFF
112KB
保留
控制模块
0x4814 0000
0x4815 FFFF
128KB
外设寄存器
0x4816 0000
0x4816 0FFF
4KB
支持寄存器
保留
0x4816 1000
0x4817 FFFF
124KB
保留
PRCM
0x4818 0000
0x4818 2FFF
12KB
外设寄存器
0x4818 3000
0x4818 3FFF
4KB
支持寄存器
保留
0x4818 4000
0x4818 7FFF
16KB
保留
SmartReflex0
0x4818 8000
0x4818 8FFF
4KB
外设寄存器
0x4818 9000
0x4818 9FFF
4KB
支持寄存器
SmartReflex1
0x4818 A000
0x4818 AFFF
4KB
外设寄存器
0x4818 B000
0x4818 BFFF
4KB
支持寄存器
OCP Watchpoint
0x4818 C000
0x4818 CFFF
4KB
外设寄存器
0x4818 D000
0x4818 DFFF
4KB
支持寄存器
保留
0x4818 E000
0x4818 EFFF
4KB
保留
0x4818 F000
0x4818 FFFF
4KB
保留
保留
0x4819 0000
0x4819 0FFF
4KB
保留
0x4819 1000
0x4819 1FFF
4KB
保留
保留
0x4819 2000
0x4819 2FFF
4KB
保留
0x4819 3000
0x4819 3FFF
4KB
保留
保留
0x4819 4000
0x4819 4FFF
4KB
保留
0x4819 5000
0x4819 5FFF
4KB
保留
保留
0x4819 6000
0x4819 6FFF
4KB
保留
0x4819 7000
0x4819 7FFF
4KB
保留
DDR0 Phy Ctrl Regs
0x4819 8000
0x4819 8FFF
4KB
外设寄存器
0x4819 9000
0x4819 9FFF
4KB
支持寄存器
DDR1 Phy Ctrl Regs
0x4819 A000
0x4819 AFFF
4KB
外设寄存器
0x4819 B000
0x4819 BFFF
4KB
支持寄存器
保留
0x4819 C000
0x481F FFFF
400KB
保留
中断控制器(1)
0x4820 0000
0x4820 0FFF
4KB
仅Cortex-A8可以存取
保留(1)
0x4820 1000
0x4823 FFFF
252KB
仅Cortex-A8可以存取
MPUSS config Register(1)
0x4824 0000
0x4824 0FFF
4KB
仅Cortex-A8可以存取
保留(1)
0x4824 1000
0x4827 FFFF
252KB
仅Cortex-A8可以存取
保留(1)
0x4828 1000
0x482F FFFF
508KB
仅Cortex-A8可以存取
保留
0x4830 0000
0x48FF FFFF
13MB
保留
(1)这些区域在Cortex A8子系统内部译码,物理上不是L4的一部分,它们在这儿被包括,仅是为了当考虑Cortex A8内存映射的时候作为参考。对于除了Cortex A8外的Master,这些区域是保留的。

4.2L4高速外设


L4高速外设总线存取L3里的高速外设IP配置寄存器。内存映射表如2-28
表2-28 L4高速外设内存映射
器件名称
起始地址
结束地址
尺寸
描述
L4高速配置
0x4A00 0000
0x4A00 07FF
2KB
地址/保护(AP)
0x4A00 0800
0x4A00 0FFF
2KB
连接代理(LA)
0x4A00 1000
0x4A00 13FF
1KB
Initiator端口(IP0)
0x4A00 1400
0x4A00 17FF
1KB
Initiator端口(IP1)
0x4A00 1800
0x4A00 1FFF
2KB
保留(IP2 - IP3)
保留
0x4A00 2000
0x4A07 FFFF
504KB
保留
保留
0x4A08 0000
0x4A0A 0FFF
132KB
保留
保留
0x4A0A 0000
0x4A0F FFFF
380KB
保留
EMAC0
0x4A10 0000
0x4A10 3FFF
16KB
外设寄存器
0x4A10 4000
0x4A10 4FFF
4KB
支持寄存器
保留
0x4A10 5000
0x4A11 FFFF
108KB
保留
EMAC1
0x4A12 0000
0x4A12 3FFF
16KB
外设寄存器
0x4A12 4000
0x4A12 4FFF
4KB
支持寄存器
保留
0x4A12 5000
0x4A13 FFFF
108KB
保留
SATA
0x4A14 0000
0x4A14 FFFF
64KB
外设寄存器
0x4A15 0000
0x4A15 0FFF
4KB
支持寄存器
保留
0x4A15 1000
0x4A17 FFFF
188KB
保留
保留
0x4A18 0000
0x4A19 FFFF
128KB
保留
0x4A1A 0000
0x4A1A 0FFF
4KB
保留
保留
0x4A1A 1000
0x4AFF FFFF
14716KB
保留

ahljj 发表于 2016-1-2 19:17:30

DM8168的互连与内存映射
页: [1]
查看完整版本: DM8168的互连与内存映射