我正在使用Zynq板,其中创建了自定义AXI 4 lite从属外设,然后从IP存储库添加。然后,这些块已成功与Run Connection Automation
连接。然后成功生成比特流。
此外,SDK已推出。有一个空白的C项目,其中包含简单的ZYNQ PS代码。遵循pdf“设计自定义AXI4 lite Slave Peripheral ”(下图中显示的那个)更改了此代码。
自定义AXI从属外设的写入和读取功能
现在SDK执行没有任何错误,但是当我在SDK监视器上观察地址时,没有写入数据(如下图所示)。
我哪里可能出错或者我错过了什么? 在Vivado 16.2上使用vhdl。
我已经尝试过:使用XSDB控制台使用命令进行处理
mwr -force 0x43C00000 0x01234
没有变化。
选中Vivado地址编辑器以包含相同的基址 包括
xparamters.h
非常感谢您提前...
更新:xparameters.h
文件与vivado地址编辑器没有相同的基址和高地址。因此尝试将链接器脚本中的“内存区域”更改为来自DDR enter image description here的RAM,
现在,当在“变量”窗口中观察时,当点击“Step Into”按钮时,我确实得到了值enter image description here的预期变化。 XSDB控制台输出和内存监视器输出保持不变。
hardware platform specification
文件确实显示了具有正确预期基数和高地址的自定义AXI lite。enter image description here
答案 0 :(得分:0)
当我们在IP中进行一些更改并更新它们时,将位流导出到SDK时,将创建一个新的硬件平台。假设较旧的是TOP_WRAPPER_hw_platform_0
,现在将创建新的TOP_WRAPPER_hw_platform_1
。
此新平台应在调试配置设置Hardware platform
中进行更新。
进一步在调试配置设置中需要勾选以下内容 在目标设置下
在“应用程序”标签下
下载应用程序
停在“主要”位置