使用Xilinx PCIE XDMA框架读写访问DDR3内容

复制代码
在 FPGA 开发中,使用 XDMA(PCIe DMA)是实现主机和 FPGA 之间数据传输的常见方法。`xdma_rw.exe` 是一个官方提供的命令行工具,用于与 FPGA 进行读写操作,支持从 PCIe 总线读取或写入数据。我利用xdma框架实现了DDR3内存的读写访问,下面是详细的操作步骤。  

一、建立工程

XDMA IP核的配置如下:

配置完的接口如下:

mig ip主要配置的地方如下:

添加AXI接口形式的mig核,使得上位机数据能够存入DDR3同时中断信号能够中断上位机,对应的完整block design框图如下:

接下来很重要的是要对Address Editior进行更改:

XDMA针对AXI_Lite部分的映射地址设置为0x40000000,则上位机0地址便于AXI_LITE0x40000000对应:

绑定管脚:

二、安装xdma系统驱动

将程序烧录到FPGA板卡后,检测到PCI串行端口,接下来安装对应的驱动程序。

在终端打开测试模式:

重启计算机,安装驱动程序,直接在官方下载即可,安装成功的界面如下:

这里已经提供了编译好的xdma_rw.exe文件,同时给定的操作如下:

根据地址分配的情况可知,如果输入0x000_0000将对应于中断寄存器内容,AXI对应映射地址0x4000_0000;

如果从0x4000_0000开始读写将会映射到MIG IP中0x8000_0000。

对DDR3对应的地址进行读写,结果如下,说明通过XDMA-AXI MIG-DDR3读写成功。

相关推荐
风_峰3 天前
Ubuntu Linux SD卡分区操作
嵌入式硬件·ubuntu·fpga开发
FPGA_Linuxer3 天前
FPGA 40 DAC线缆和光模块带光纤实现40G UDP差异
网络协议·fpga开发·udp
风_峰4 天前
Petalinux相关配置——ZYNQ通过eMMC启动
嵌入式硬件·ubuntu·fpga开发
风_峰4 天前
【ZYNQ开发篇】Petalinux和电脑端的静态ip地址配置
网络·嵌入式硬件·tcp/ip·ubuntu·fpga开发
碎碎思4 天前
一块板子,玩转 HDMI、USB、FPGA ——聊聊开源项目 HDMI2USB-Numato-Opsis
fpga开发
ooo-p4 天前
FPGA学习篇——Verilog学习Led灯的实现
学习·fpga开发
嵌入式-老费4 天前
Zynq开发实践(FPGA之选择开发板)
fpga开发
风_峰4 天前
PuTTY软件访问ZYNQ板卡的Linux系统
linux·服务器·嵌入式硬件·fpga开发
电子凉冰5 天前
FPGA入门-状态机
fpga开发
Aczone285 天前
硬件(十)IMX6ULL 中断与时钟配置
arm开发·单片机·嵌入式硬件·fpga开发