为什么我无法写入/读取自定义 AXI lite 外设的寄存器

问题描述 投票:0回答:1

我正在使用 Zynq 板,其中创建了自定义 AXI 4 lite 从外设,然后从 IP 存储库添加。那么这些块就已经和

Run Connection Automation
成功连接起来了。则比特流生成成功。

进一步推出SDK。有一个空白的 C 项目,其中包含可供 ZYNQ PS 使用的简单代码。此代码是按照 pdf“Designing a custom AXI4 lite Slave Peripheral”(下图所示)进行更改的。

自定义 AXI 从外设的写入和读取功能

enter image description here

现在SDK执行没有任何错误,但是当我观察SDK监视器上的地址时,没有数据写入其中(如下图所示)。

enter image description here

我哪里可能出错或者我错过了什么? 在 Vivado 16.2 上使用 vhdl。

我已经尝试过:-使用命令使用 XSDB 控制台进行处理

mwr -force 0x43C00000 0x01234

没有变化。

检查 Vivado 地址编辑器是否包含相同的基地址 包括

xparamters.h

提前非常感谢您..

更新:

xparameters.h
文件没有与vivado地址编辑器相同的基地址和高地址。因此尝试将链接描述文件中的“内存区域”从 DDR 更改为 RAM 在此处输入图像描述

现在,当在“变量”窗口中观察时,单击“步入”按钮时,我确实得到了预期的值变化在此处输入图像描述 .. 不过,XSDB 控制台输出和内存监视器输出保持不变。

hardware platform specification
文件确实显示了具有正确预期基址和高地址的自定义 AXI lite。在此处输入图像描述

vhdl fpga vivado zynq vivado-hls
1个回答
0
投票

指定硬件平台

Hardware_platform specified

  • 导致此问题的原因之一是与调试配置相关的硬件平台与您要使用的硬件平台不同。

当我们对 IP 进行一些更改并更新它们时,当比特流导出到 SDK 时,就会创建一个新的硬件平台。假设旧的是

TOP_WRAPPER_hw_platform_0
,现在创建了一个新的
TOP_WRAPPER_hw_platform_1

这个新平台应该在调试配置设置中更新

Hardware platform

进一步在调试配置设置中需要勾选以下内容 在目标设置下

  • 重置整个系统
  • 对 FPGA 进行编程

在“应用程序”选项卡下

  • 下载应用程序

  • 停在“主要”

© www.soinside.com 2019 - 2024. All rights reserved.