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.

Switching TC in LLD



 

When I copy data by LLD, it use default  EDMATC. Can I switch default EDMATC?

Can I create some transfers with different TC using LLD?

For example :

I want to create two  EDMA transfers:

TC0 copying data from MCBSP to IRAM  using LLD

TC3 copying data from EMIF to DDR       using LLD

  • Please take a look at the function EDMA3_DRV_mapChToEvtQ() in the EDMA3 Driver User Guide. It is not obvious from our terminology, but mapping a DMA or QDMA Channel to a EDMA3CC Queue will result in that channel being forwarded to the EDMA3TC to which that Queue is mapped. It is possible to change the Queue-to-TC mapping on some devices, but it is not recommended. So the default will mean that if you map DMA Channel 55 to Queue 3, then it will be serviced through TC3.

  • I now this thread has been closed for quite some time, but I was looking for the same thing and in the latest LLD v1.10 (for DSP/BIOS 5.x) you can simply select the TC by selecting a different Q in the EDMA3_DRV_requestChannel() function:

    EDMA3_DRV_Result EDMA3_DRV_requestChannel (EDMA3_DRV_Handle hEdma,

                                        unsigned int *pLCh,

                                        unsigned int *pTcc,

                                        EDMA3_RM_EventQueue evtQueue,

                                        EDMA3_RM_TccCallback tccCb,

                                        void *cbData);

     

    TCs are directly linked to Qs, so by sending data to  evtQueue 0, you are automatically using TC0. 

    -Dirk