I have setup the DMA in array descriptor mode since I want to be able to copy several blocks of data from the SPORT into memory before generating an interrupt. That is, the DMA will copy 8 Bytes from SPORT to memory, 256 times, so that the memory now has buffered 2048 bytes, and then trigger an interrupt so that this data can be processed.
The way I have it setup right now is have a descriptor array of size 256 with the 256th descriptor telling the DMA to trigger an interrupt. Each descriptor is NDSIZE_3 (SAL,SAH,CFG).
Now I need to setup a ping-pong buffer, which will require its own 256 descriptor array and have the interrupt switch the descriptor pointer for switching buffers.
I wanted to know if there is a more memory efficient way of doing the above?