I would like to copy every other byte in a 480 row, 752 column image using EDMA.
All of the working examples I have that do this set up an ACNT=1, BCNT=356, CCNT=480, SRCBIDX = 2, DSTBIDX = 1, AB transfer with TCINTEN and ITCENTEN options set to get an interrupt every row, and the interrupt handler re-triggers the transfer until 480 rows have been dealt with.
This has always struck me as horribly inefficient (with 480 interrupts needed to make an image copy happen).
I though I had an answer with QDMA, by setting up a QDMA transfer which was triggered by the CCNT. Unfortunately, it does not appear that the EDMA system decrementing the CCNT itself will cause the QDMA to retrigger, as I end up with just one "row" done at a time. If I manually touch the CCNT field with the CPU (without actually changing the value, just writing the current one), then the next "row" goes, so I would have to go back to using ITCENTEN and retriggering for each row.
Is there any "standard" pattern for doing something like this that only generates a single interrupt for the operation, as I have the need for this kind of efficient ABC transfer OVER and OVER in my applications?
Thanks,
Jay