FPGA开发——DMA

  1. 基础知识
    1.1 官方参考资料
    pg021(axi_dma)
    ug585

  2. 例程

2.1 环路测试(PS:zynq + PL:axi_dma+fifo)

ZYNQ基础系列(六) DMA基本用法
https://blog.csdn.net/long_fly/article/details/79702222#commentBox
Zynq PS_PL间通信学习(一) AXI_DMA_LOOP测试
https://blog.csdn.net/weisili2000_2000/article/details/84850090

【总结】

  1. sdk和vivado联合调试,在vivado中设置好触发条件,在sdk中单步执行,观察波形 。(分析dma的axi时序,axis时序)
  2. sdk中看memory,找到dma收发数据地址,看到收发数据
  3. sdk中看memory,找到dma寄存器基地址,看到register,具体说明见pg021中关于register
  4. 整个流程:.c文件中产生待tx数据–>dcache刷到ddr中–>启动dma收发–>ddr中接收数据刷到dcache中

2.2 官方例程(pg021)(在PL端实现)
【总结】

  1. axi_dma的控制通过.v实现
  2. axi_mm侧通过.v实现

你可能感兴趣的:(FPGA开发)