I want to set up an IO pattern in memory and then have DMA stream it out over the GPIO lines at a fixed data rate.
What is the best way to achieve this and what are the best IO lines to use for this?
Example:
I have 4 IO lines and 4 independent waveform patterns that I want to output on the IO lines. I would like to set up a large region of memory that contains the waveform patterns and then configure the DMA to go until it hits the end of the region of memory.
Generally, how should I interleave the waveforms and what DMA resources should I use to achieve this? I would like to do this via DMA in order to avoid interrupt overhead due to the output data rate. Also I want the CPU to be managing an ADC acquisition process.