I would like to build a continuously-running, streamed uDMA transfer, whose output I convert in software for transmission over a TCP socket. The socket conversion work I understand and am confident will work, but I don't have full confidence in whether or not the uDMA scatter/gather will do what I need. On request from a repeating hardware timer, I would like a repeating scatter/gather to:
1) Transfer a block of data acquired from external ADC's using the Quad SSI in Quad mode.
2) Immediately after the last sample of the block is transferred, perform a single transfer from EMACTIMSEC/EMACTIMNANO to memory as a timestamp. I may decide I would like to transfer from a timer/counter instead, if that turns out to be the right thing to do.
3) Relinquish the data stored to software with an interrupt.
4) Repeat steps 1, 2 and 3 into another buffer, while software is processing the relinquished data. This is the "pong" of a "Ping-Pong", although this work is actually implemented using scatter/gather.
5) Start over at step 1.
Is uDMA scatter/gather capable of doing this?