Hello,
I'm completely new to the RT600 ecosystem, and I'm still trying to get a feel for how to make best use of the API. I noticed that when it comes to DMA, there seem to be at least 3 ways of accomplishing a similar function, at least according to the SDK examples.
The simplest example, called dma_memory_to_memory uses the DMA_PrepareChannelTransfer and DMA_SubmitChannelTransfer to perform a one-time memory to memory transfer.
The next two examples, called dma_interleave_transfer and dma_linked_transfer, use the DMA_SetupDescriptor and DMA_SubmitChannelDescriptor functions.
The final example in my sdk archive is called dma_channel_chain, and uses the DMA_SetChannelConfig, DMA_SetupDescriptor, and DMA_SubmitChannelTransferParameter functions.
Can anyone provide some insight on when to use which set of functions? I'm assuming the behavior is slightly different among these functions; is there a set of functions that expose the maximum functionality that I can use in all cases?
Thanks a lot
-Mike