DMA环路测试
vivadoblock
zynq7 + dma +fifo
sdk 中可以导入 demo
demo 中 默认都是 一个字节8bit数据 的测试程序。
如果是其他长度的数据,不仅要修改数据长度
u16 *TxBufferPtr;
u16 *RxBufferPtr;
u16 Value;
TxBufferPtr = (u16 *)TX_BUFFER_BASE ;
RxBufferPtr = (u16 *)RX_BUFFER_BASE;
还要注意修改下面几个函数
Xil_DCacheFlushRange((u32)TxBufferPtr, MAX_PKT_LEN*sizeof(u16));
XAxiDma_SimpleTransfer(&AxiDma,(u32) RxBufferPtr,
MAX_PKT_LEN*sizeof(u16), XAXIDMA_DEVICE_TO_DMA);
XAxiDma_SimpleTransfer(&AxiDma,(u32) TxBufferPtr,
MAX_PKT_LEN*sizeof(u16), XAXIDMA_DMA_TO_DEVICE);
Xil_DCacheInvalidateRange((u32)RxBufferPtr, MAX_PKT_LEN*sizeof(u16));
这个函数的length都是指 字节 bytes 长度
参考
http://www.cnblogs.com/moluoqishi/archive/2018/08/29/9554097.html
//********************* 2018/10/19 *************************
https://blog.csdn.net/haoxingheng/article/details/47131373
http://www.cnblogs.com/batianhu/p/zynq_axidma_xiangjie1.html