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.

C6678 EDMA3 CSL

Hi

Question 1:

Is there any reference about using CSL API in EDMA3 for C6678?

I want to work with EDMA3 but don't know I should work with LLD or CSL!!! When I searched in the forums I found some treads that said " the LLD can be very inefficient because..."  like:  and 

Question 2: 

Which of them (CSL or LLD) have a better performance?

Question 3:

Is there any reference about using CSL API for C6678?

Best Regards

  • Hi,

    Thanks for your post.

    Usually, EDMA LLD would be used specifically if we need to respond to sync events from peripherals and again, we will use LLD for memory to memory transfers and incase, if you use algorithm via codec engine and only desire to do memory to memory transfer, it is recommended to stick with libraries and LLD is not the best choice for this. So, it all depends on the requirement how you use and to decide when should and shouldn't use LLD.

    There are EDMA based SYS/BIOS examples under EDMA_LLD of MCSDK 2.0 folder which has test/demo code to demonstrate the EDMA3 driver functionality and it does EDMA3 mem-to-mem data copy testcase,  EDMA3 ping-pong buffers based data copy test case on BIOS6. The examples can be found in the path below:

    ~\ti\mcsdk_2_01_02_06\edma3_lld_02_11_05_02\examples\edma3_driver\evm6678\sample_app

    To program the EDMA3 using LLD,

    http://processors.wiki.ti.com/index.php/Programming_the_EDMA3_using_the_Low-Level_Driver_%28LLD%29

    http://processors.wiki.ti.com/images/5/5e/EDMA3_LLD.pdf

    Likewise, you also have CSL based EDMA examples at the below loaction:

    ~\ti\mcsdk_2_01_02_06\pdk_C6678_1_1_2_6\packages\ti\csl\example\edma\edma_test.c

    The above is the  EDMA example test code uses the EDMA CSL functional layer for the c6678 device.  You can build it for other targets (C6670, C6657 ) too through copying the above EDMA test source code into a new empty CCS project and link the functional CSL EDMA library (file name : ti.csl.ae66 ) by adding the directory to the library search path to the project properties->File Search Path. Then you can build this EDMA example in CCS and run without any issues.

    http://processors.wiki.ti.com/index.php/CSL#Chip_Support_Library_for_C6670

    Thanks & regards,

    Sivaraj K

    ----------------------------------------------------------------------------------------------------------

    Please click the Verify Answer button on this post if it answers your question.

    ----------------------------------------------------------------------------------------------------------

  • Hi 

    Thanks for your answer. I ran "edma_test.c" example and added " ti.csl.ae66" file too but the EDMA3 didn't work (data transfer didn't happen).

    Question 1:

    how can I debug it? What should I do? 

    Question 2:

    What do you mean about "codec engine"?

    Best Regards

  • HI,

    The above example which is shared is tested from our end and it is working from our side with out any issues.

    The codec engine is a multimedia codec framework and codec algorithms can be used through the framework.

    Thanks & regards,
    Sivaraj K