Hi,
I was running a project in which I am trying to run QDMA & DMA together in EDMA3 ( TPCC2).
First I configure QDMA for channel number 64(the first QDMA Channel) & then I trigger the transfer on the same,
Next,I configure DMA for all the 64 channels one by one & trigger the corresponding transfer (using a for loop).
Following are my observations:
1. If I remove QDMA,all 64 DMA transfers are successful
2.With QDMA,if I initiate the DMA transfer in the order of increasing channel number(0-63),the code gets stuck within the polling loop after 5-6 DMA transfers.
When I check corresponding IPR bit,I see that it does not get cleared after transfer completes but when QDMA was not there,there was no problem (observation 1)
3. With QDMA,now, if I reverse the order of DMA transfer(63-0),the code works fine & all the IPR bits keep getting cleared on corresponding completions.
Why is QDMA troubling here though according to the document SPRUGS5A Section 2.1.2,DMA has higher priority than QDMA.
I was also wondering why the same QDMA did not create problem when I reversed the order of transfer.
If anyone has an idea,please let me know.
Device : TCI6618
Here is my code below:7343.edma_interrupt.rar
Regards,
Bharti