I use C6474.
The CSL example <c6474_CSL_Rel_03_03_01\C6474\csl_c6474\example\edma\edma_ping_pong_xfer_reg5> works.
I can compile it and then run it. Then I can see the following output:
Running Edma Example
<<EXAMPLE PASSED>>: Edma Ping Pong Buffer Transfer Passed
This example is designed to firts do DMA for ping buffer, then do DMA for pong buffer, then check the results.
In real application, we have to repeat the above operations. In other words, we want EDMA ping, then EDMA pong, then EDMA ping again, and then pong again, ...
I tried to do so by copying line 307-381 to line 382 in Edma_ping_pong_xfer_reg5.c.
When I ran it. The first ping-pong edma still worked. However, when it started to do the 2nd edma for ping buffer, it stoped in the Polling loop on interrupt bit 0.