SDK中不一致的Zynq + Microblaze共享DDR内存地址映射

时间:2019-02-16 10:37:22

标签: fpga vivado zynq microblaze

我在Xilinx Zed板上有一个带有Zynq和Microblaze的模块设计。

我希望Microblaze能够访问与PS中的arm corer共享的DDR内存。我的微火使用缓存。 Microblaze M_AXI_DC,M_AXI_IC上需要连接两个AXI端口,以便它们可以访问PS DDR存储器。

可通过两个独立的智能互连访问PS的DDR存储器:

     mb M_AXI_DC <-smart interconnect 1-> S_AXI_HP0 zynq 

     mb M_AXI_IC <-smart interconnect 2-> S_AXI_HP1 zynq

地址编辑器显示以下地址映射

enter image description here

此设计综合无误。当我将此设计导出到SDK时,hdf文件显示了另一种内存布局:

enter image description here

  1. 为什么有区别?

hdf文件中的PS地址映射显示DDR存储器从0x0010_0000开始

enter image description here

让我们假设DDR是微火的地址映射,并且DDR内存的偏移地址为0x2000_0000。这是否意味着如果我要在0x00000001寻址DDR内存:

  1. 在微火上,我写到0x2000_0001
  2. 在zynq上,我写入0x0010_0001

0 个答案:

没有答案