码迷,mamicode.com
首页 > 其他好文 > 详细

ZYNQ.DMA基本用法

时间:2018-10-19 14:20:27      阅读:871      评论:0      收藏:0      [点我收藏+]

标签:range   buffer   默认   用法   sim   环路   其他   测试程序   ado   

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 长度

 //*********************  2018/10/19  *************************

ZYNQ.DMA基本用法

标签:range   buffer   默认   用法   sim   环路   其他   测试程序   ado   

原文地址:https://www.cnblogs.com/protogenoi/p/9584988.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!