UG585Address Map

UG585 Address Map

总览

起始地址 大小 说明
0x0000_0000 1024 MB DDR DRAM 和 OCM
0x4000_0000 1024 MB PL AXI 从机端口 0
0x8000_0000 1024 MB PL AXI 从机端口 1
0xE000_0000 256 MB IOP 器件
0xF000_0000 128 MB 保留
0xF800_0000 32 MB 通过 AMBA APB 对可编程寄存器的访问
0xFA00_0000 32 MB 保留
0xFC00_0000 64 MB --- 256 KB 4 线 SPI 线性地址基址(除了顶端的 256kB OCM),保留了 64MB,目前只支持 32MB
0xFFFC_0000 256 KB 当映射到高地址空间时的 OCM

表4-1:系统级地址映射

同一个地址范围在不同系统配置下的行为不同

被 SCU 过滤指 SCU 不负责这个地址访问的 cache 一致性

地址范围 CPU及ACP AXI_HP 其他总线主设备¹ 备注
0000_0000 ~ 0003_FFFF OCM OCM OCM 未被SCU过滤,OCM映射到低地址
DDR OCM OCM 被SCU过滤,OCM映射到低地址
DDR 被SCU过滤,OCM未映射到低地址
未被SCU过滤,OCM未映射到低地址
0004_0000 ~ 0007_FFFF DDR 被SCU过滤
未被SCU过滤
0008_0000 ~ 000F_FFFF DDR DDR DDR 被SCU过滤
DDR DDR 未被SCU过滤 ³
0010_0000 ~ 3FFF_FFFF DDR DDR DDR 所有互联主设备均可访问
4000_0000 ~ 7FFF_FFFF PL PL 通用端口#0,连接PL,M_AXI_GP0
8000_0000 ~ BFFF_FFFF PL PL 通用端口#1,连接PL,M_AXI_GP1
E000_0000 ~ E02F_FFFF IOP IOP I/O外设寄存器,见表4-6
E100_0000 ~ E5FF_FFFF SMC SMC SMC存储器,见表4-5
F800_0000 ~ F800_0BFF SLCR SLCR SLCR寄存器,见表4-3
F800_1000 ~ F880_FFFF PS PS PS系统寄存器,见表4-7
F890_0000 ~ F8F0_2FFF CPU CPU私有寄存器,见表4-4
FC00_0000 ~ FDFF_FFFF ⁴ Quad-SPI Quad-SPI Quad-SPI线性地址(线性模式)
FFFC_0000 ~ FFFF_FFFF ² OCM OCM OCM OCM映射到高地址
OCM未映射到高地址

表4-2:系统级地址映射(保留地址)

地址范围 CPU 与 ACP AXI_HP 其他总线主设备(1) 说明
C000_0000 到 DFFF_FFFF --- --- --- 保留
E030_0000 到 E0FF_FFFF --- --- --- 保留
E600_0000 到 F7FF_FFFF --- --- --- 保留
F800_0C00 到 F800_0FFF --- --- --- 保留
F881_0000 到 F889_0FFF --- --- --- 保留
F8F0_3000 到 FBFF_FFFF --- --- --- 保留
FE00_0000 到 FFFB_FFFF --- --- --- 保留
0xF889_E000 到 0xF88F_FFFF --- --- --- 保留

表4-3:SLCR寄存器映射

系统级控制寄存器(SLCR)由各类用于控制处理系统(PS)行为的寄存器组成。这些寄存器可通过中央互联,使用加载/存储指令进行访问。各寄存器的详细说明可参见附录B《寄存器详情》。SLCR寄存器及其基地址的汇总见下表4-3。

寄存器基地址 功能说明 参考章节/文档
F800_0000 SLCR写保护锁定与安全控制 -
F800_0100 时钟控制与状态 参见第25章《时钟》
F800_0200 复位控制与状态 参见第26章《复位系统》
F800_0300 应用处理单元(APU)控制 参见第3章《应用处理单元》
F800_0400 TrustZone安全扩展控制 参见UG1019《Xilinx Zynq-7000 SoC上的ARM TrustZone架构编程》
F800_0500 CoreSight SoC调试控制 参见第28章《系统测试与调试》
F800_0600 DDR DRAM控制器 参见第10章《DDR内存控制器》
F800_0700 MIO引脚配置 参见第2章《信号、接口与引脚》
F800_0800 MIO并行访问控制 参见第2章《信号、接口与引脚》
F800_0900 杂项控制 参见第29章《片上存储器(OCM)》
F800_0A00 片上存储器(OCM)控制 参见第29章《片上存储器(OCM)》
F800_0B00 MIO引脚I/O缓冲(GPIOB)与DDR引脚I/O缓冲(DDRIOB) 参见第2章《信号、接口与引脚》

4.4 CPU Private Bus Registers(CPU私有总线寄存器)

表4-4中所示的寄存器仅可由CPU通过CPU私有总线访问。加速器一致性端口(ACP)无法访问任何CPU私有寄存器。这些CPU私有寄存器用于控制应用处理单元(APU)中的子系统。

寄存器基地址范围 功能说明
F890_0000 ~ F89F_FFFF 顶层互联配置与全局程序员视图(GPV)
F8F0_0000 ~ F8F0_00FC SCU(监听控制单元)控制与状态
F8F0_0100 ~ F8F0_01FF 中断控制器CPU接口
F8F0_0200 ~ F8F0_02FF 全局定时器
F8F0_0600 ~ F8F0_06FF 私有定时器与私有看门狗定时器
F8F0_1000 ~ F8F0_1FFF 中断控制器分发器
F8F0_2000 ~ F8F0_2FFF L2缓存控制器

4.5 SMC Memory(静态存储器控制器内存)

SMC存储器通过32位AHB总线进行访问(详见表4-5)。SMC控制寄存器的列表见表4-6。有关NAND和SRAM/NOR控制器功能的信息,请参考第11章《静态存储器控制器》。

寄存器基地址 功能说明
E100_0000 SMC NAND存储器地址范围
E200_0000 SMC SRAM/NOR片选0(CS0)存储器地址范围
E400_0000 SMC SRAM/NOR片选1(CS1)存储器地址范围

4.6 PS I/O Peripherals(处理系统I/O外设)

I/O外设寄存器通过32位APB总线访问,地址映射见表4-6。

寄存器基地址 功能说明
E000_0000, E000_1000 UART控制器0、1
E000_2000, E000_3000 USB控制器0、1
E000_4000, E000_5000 I2C控制器0、1
E000_6000, E000_7000 SPI控制器0、1
E000_8000, E000_9000 CAN控制器0、1
E000_A000 GPIO控制器
E000_B000, E000_C000 以太网控制器0、1
E000_D000 Quad-SPI控制器
E000_E000 静态存储器控制器(SMC)
E010_0000, E010_1000 SDIO控制器0、1

4.7 Miscellaneous PS Registers(处理系统杂项寄存器)

PS系统寄存器通过32位AHB总线访问(详见表4-7)。

寄存器基地址 功能说明(缩写) 寄存器集合
F800_1000, F800_2000 三定时器计数器0、1(TTC 0, TTC 1) ttc.
F800_3000 安全模式下的DMA控制器(DMAC S) dmac.
F800_4000 非安全模式下的DMA控制器(DMAC NS) dmac.
F800_5000 系统看门狗定时器(SWDT) swdt.
F800_6000 DDR内存控制器 ddrc.
F800_7000 设备配置接口(DevC) devcfg.
F800_8000 带FIFO的AXI_HP 0高性能AXI接口 afi.
F800_9000 带FIFO的AXI_HP 1高性能AXI接口 afi.
F800_A000 带FIFO的AXI_HP 2高性能AXI接口 afi.
F800_B000 带FIFO的AXI_HP 3高性能AXI接口 afi.
F800_C000 片上存储器(OCM) ocm.
F800_D000 eFuse(1) -
F800_F000 保留 Reserved
F880_0000 CoreSight调试控制 cti.

Notes:

  1. 一次性可编程非易失性存储器,用于支持FSBL的RSA认证。

14.3.6 Register Overview(寄存器概述)

GPIO寄存器的概述见表14-2(另请参见设备引脚章节14.2.1节"GPIO控制")。寄存器的详细说明见附录B《寄存器详情》。

表14-2:GPIO寄存器概述

功能分类 寄存器名称 功能概述 访问类型
数据读写 gpio.MASK_DATA_{3:0}_{MSW,LSW} 带位掩码的数据输出写入 Mixed
gpio.DATA_{3:0} 32位数据输出写入 R/W
gpio.DATA_{3:0}_RO 32位输入数据读取 RO
I/O缓冲控制 gpio.DIRM_{3:0} 方向控制(输入/输出) R/W
gpio.OEN_{3:0} 输出使能控制 R/W
中断控制 gpio.INT_MASK_{3:0} 中断屏蔽(只读) RO
gpio.INT_EN_{3:0} 中断使能(只写) WO
gpio.INT_DIS_{3:0} 中断禁用(只写) WO
gpio.INT_STAT_{3:0} 中断状态(写清除WTC) WTC
gpio.INT_TYPE_{3:0} 中断类型配置(电平/边沿) RW
gpio.INT_POLARITY_{3:0} 中断极性配置(高/低或上升/下降沿) RW
gpio.INT_ANY_{3:0} 任意边沿中断配置 RW
c 复制代码
GPIO_BASE = 0xE000_A000
/**偏移**/
// 方向
DIRM_0  = 0x200
DIRM_1  = 0x204
DIRM_2  = 0x208
DIRM_3  = 0x20C

// 输出使能
OEN_0   = 0x240
OEN_1   = 0x244
OEN_2   = 0x248
OEN_3   = 0x24C

// 输出数据
DATA_0  = 0x000
DATA_1  = 0x004
DATA_2  = 0x008
DATA_3  = 0x00C

// 带掩码输出
MASK_DATA_0_LSW = 0x010
MASK_DATA_0_MSW = 0x014
MASK_DATA_1_LSW = 0x018
MASK_DATA_1_MSW = 0x01C
MASK_DATA_2_LSW = 0x020
MASK_DATA_2_MSW = 0x024
MASK_DATA_3_LSW = 0x028
MASK_DATA_3_MSW = 0x02C

// 输入数据
DATA_RO_0 = 0x040
DATA_RO_1 = 0x044
DATA_RO_2 = 0x048
DATA_RO_3 = 0x04C

28.4 Register Overview(寄存器概述)

根据CoreSight规范,每个CoreSight组件占用4KB地址空间。表28-5列出了各CoreSight组件的基地址。

组件 基地址
DAP ROM 0xF880_0000
ETB 0xF880_1000
CTI(连接至ETB、TPIU) 0xF880_2000
TPIU 0xF880_3000
Funnel 0xF880_4000
ITM 0xF880_5000
CTI(连接至FTM) 0xF880_9000
FTM 0xF880_B000
Cortex-A9 ROM 0xF888_0000
CPU0 debug logic 0xF889_0000
CPU0 PMU 0xF889_1000
CPU1 debug logic 0xF889_2000
CPU1 PMU 0xF889_3000
CTI(连接至CPU0、PTM0) 0xF889_8000
CTI(连接至CPU1、PTM1) 0xF889_9000
PTM0(用于CPU0) 0xF889_C000
PTM1(用于CPU1) 0xF889_D000
宏定义 偏移地址 绝对地址 功能说明
GPIO_DATA_0 0x000 0xE000A000 Bank0 数据寄存器(MIO0~31)
GPIO_DATA_1 0x004 0xE000A004 Bank1 数据寄存器(MIO32~53)
GPIO_DATA_2 0x008 0xE000A008 Bank2 数据寄存器(EMIO0~31)
GPIO_DATA_3 0x00C 0xE000A00C Bank3 数据寄存器(EMIO32~63)
GPIO_MASK_DATA_0_LSW 0x010 0xE000A010 Bank0 Mask Data LSW
GPIO_MASK_DATA_0_MSW 0x014 0xE000A014 Bank0 Mask Data MSW
GPIO_MASK_DATA_1_LSW 0x018 0xE000A018 Bank1 Mask Data LSW
GPIO_MASK_DATA_1_MSW 0x01C 0xE000A01C Bank1 Mask Data MSW
GPIO_MASK_DATA_2_LSW 0x020 0xE000A020 Bank2 Mask Data LSW
GPIO_MASK_DATA_2_MSW 0x024 0xE000A024 Bank2 Mask Data MSW
GPIO_MASK_DATA_3_LSW 0x028 0xE000A028 Bank3 Mask Data LSW
GPIO_MASK_DATA_3_MSW 0x02C 0xE000A02C Bank3 Mask Data MSW
GPIO_DATA_RO_0 0x060 0xE000A060 Bank0 输入只读寄存器
GPIO_DATA_RO_1 0x064 0xE000A064 Bank1 输入只读寄存器
GPIO_DATA_RO_2 0x068 0xE000A068 Bank2 输入只读寄存器
GPIO_DATA_RO_3 0x06C 0xE000A06C Bank3 输入只读寄存器
GPIO_DIRM_0 0x204 0xE000A204 Bank0 GPIO方向控制
GPIO_DIRM_1 0x244 0xE000A244 Bank1 GPIO方向控制
GPIO_DIRM_2 0x284 0xE000A284 Bank2 GPIO方向控制
GPIO_DIRM_3 0x2C4 0xE000A2C4 Bank3 GPIO方向控制
GPIO_OEN_0 0x208 0xE000A208 Bank0 GPIO输出使能
GPIO_OEN_1 0x248 0xE000A248 Bank1 GPIO输出使能
GPIO_OEN_2 0x288 0xE000A288 Bank2 GPIO输出使能
GPIO_OEN_3 0x2C8 0xE000A2C8 Bank3 GPIO输出使能
GPIO_INT_MASK_0 0x20C 0xE000A20C Bank0 中断屏蔽状态
GPIO_INT_MASK_1 0x24C 0xE000A24C Bank1 中断屏蔽状态
GPIO_INT_MASK_2 0x28C 0xE000A28C Bank2 中断屏蔽状态
GPIO_INT_MASK_3 0x2CC 0xE000A2CC Bank3 中断屏蔽状态
GPIO_INT_EN_0 0x210 0xE000A210 Bank0 中断使能
GPIO_INT_EN_1 0x250 0xE000A250 Bank1 中断使能
GPIO_INT_EN_2 0x290 0xE000A290 Bank2 中断使能
GPIO_INT_EN_3 0x2D0 0xE000A2D0 Bank3 中断使能
GPIO_INT_DIS_0 0x214 0xE000A214 Bank0 中断禁用
GPIO_INT_DIS_1 0x254 0xE000A254 Bank1 中断禁用
GPIO_INT_DIS_2 0x294 0xE000A294 Bank2 中断禁用
GPIO_INT_DIS_3 0x2D4 0xE000A2D4 Bank3 中断禁用
GPIO_INT_STAT_0 0x218 0xE000A218 Bank0 中断状态
GPIO_INT_STAT_1 0x258 0xE000A258 Bank1 中断状态
GPIO_INT_STAT_2 0x298 0xE000A298 Bank2 中断状态
GPIO_INT_STAT_3 0x2D8 0xE000A2D8 Bank3 中断状态
GPIO_INT_TYPE_0 0x21C 0xE000A21C Bank0 中断类型配置
GPIO_INT_TYPE_1 0x25C 0xE000A25C Bank1 中断类型配置
GPIO_INT_TYPE_2 0x29C 0xE000A29C Bank2 中断类型配置
GPIO_INT_TYPE_3 0x2DC 0xE000A2DC Bank3 中断类型配置
GPIO_INT_POLARITY_0 0x220 0xE000A220 Bank0 中断极性配置
GPIO_INT_POLARITY_1 0x260 0xE000A260 Bank1 中断极性配置
GPIO_INT_POLARITY_2 0x2A0 0xE000A2A0 Bank2 中断极性配置
GPIO_INT_POLARITY_3 0x2E0 0xE000A2E0 Bank3 中断极性配置
GPIO_INT_ANY_0 0x224 0xE000A224 Bank0 任意边沿中断配置
GPIO_INT_ANY_1 0x264 0xE000A264 Bank1 任意边沿中断配置
GPIO_INT_ANY_2 0x2A4 0xE000A2A4 Bank2 任意边沿中断配置
GPIO_INT_ANY_3 0x2E4 0xE000A2E4 Bank3 任意边沿中断配置
相关推荐
远离UE41 小时前
Vulkan学习笔记
笔记·学习
声网2 小时前
OpenAI Realtime API 重磅更新:锚定语音模型「深度推理+自主执行」演进路径|Voice Agent 学习笔记
笔记·学习
前端摸鱼匠2 小时前
【AI大模型春招面试题31】什么是“零样本学习(Zero-Shot)”“少样本学习(Few-Shot)”?大模型实现这类能力的核心原因?
人工智能·学习·面试·大模型·求职招聘
薛定猫AI4 小时前
【深度解析】Hermes Agent:持久记忆、自学习闭环与桌面化 Autonomous AI 工作流实践
人工智能·学习
老虎06274 小时前
黑马程序员苍穹外卖--学习笔记(苍穹外卖万字总结—重点知识,面试常见问题)超全
笔记·学习·面试
sealaugh324 小时前
react native(学习笔记第四课) 英语打卡微应用(3)-ocr的文字转化成语音文件(tts)
笔记·学习·react native
小新同学^O^4 小时前
简单学习 --> SpringAOP
java·学习·spring·aop
炽烈小老头4 小时前
【每天学习一点算法 2026/05/10】合并K个排序链表
学习·算法·链表
wuxinyan1234 小时前
大模型学习之路010:RAG 零基础入门教程(第六篇):重排序技术
人工智能·学习·rag