DMA在Vivado和SDK應用解讀

在“Zynq DMA 的簡單介紹”中,我推薦了一篇DMA的應用實例,如下鏈接: 

http://www.fpgadeveloper.com/2014/08/using-the-axi-dma-in-vivado.html
在該文中,hardware的工程建立和編譯可以按圖索驥,其中作者預留了兩個中斷接口。
在software中,作者也提供了源代碼,帶沒怎麼解釋,下文我來解讀一下。
在建立自己工程中,一般選擇helloworld模塊搭建。
1. 初始化DMA engine,使用了XAxiDma_CfgInitialize(),可以在xaxidma.c中具體查看如何初始化;
2. TxSetup(),初始化DMA的發送通道並啓動;
3. RxSetup(),初始化DMA的接收通道並啓動;
4. 測試運行:SendPacket(),發送一包數據;
5. 校驗: CheckDmaResult(),檢查接收的數據,相當於用戶數據處理;
6. 結束。

這段代碼就是建立了一個單循環測試loop,並沒用啓動中斷功能。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章