This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

EDMA linking question

Hi,

I've just had a look at the EDMA3 csl example project shipped as part of the PDK (pdk_C6678_1_1_2_6\packages\ti\csl\example\edma).
It seems in this example linking is used to perform two DMA operations with a single trigger over a single channel.

However, later I found a presentation stating that "linking" does not trigger a next transfer automatically after the first has been finished, only "chaining" does. But for chaining two or more channels are necessary. 
So what is actually being done in the example?

To make it short: Is there any technique allowing me to perform multiple DMA operations over a SINGLE channel with a SINGLE write to the trigger address?

Reggi

  • The presentation was not enterly correct - for normal DMA channels the reload does not cause automatic triggering of the linked transfer.

    For QDMA it does and does exactly what you are looking for, as mentioned in the EDMA3 users guide:


    Additionally, since linking is also supported (if STATIC = 0 in OPT) for QDMA transfers, it allows you to
    initiate a linked list of QDMAs, so when EDMA3CC copies over a link PaRAM set (including the write to
    the trigger word), the current PaRAM set mapped to the QDMA channel will automatically be recognized
    as a valid QDMA event and initiate another set of transfers as specified by the linked set.