ultra96(ZYNQ)で、AXI DMAのサンプルを動かしました。
ここのサイトを参考に、作成しました。
DMAは、PSのメモリーからPSのメモリーにデータを転送します。
以下、ブロック図になります。
ほとんど、Auto Connectionで接続しますが、S_AXI_SS2MMと、M_AXIS_MM2Sは手動で接続しました。
次は、ソフトウェアになります。
XSDKで、hw platformを作成して、standaloneのbspを自動生成して、DMAのソフトウェアは、サンプルコードからもってきます。
Project Explorer→bsp→system.mss →axi_dma_0 Import Examples →xaxidma_examplesimple_pollを選択します。
そうすると、自動でサンプルのアプリケーションが生成されます。
あとは、実行するだけ。本当に簡単にDMAのソフトウェアが生成されます。
githubに、VivadoのProjectと、XSDKのサンプルを含めておいてあります。