ZYNQ. DMA基本用法


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM