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.

TMDSEVM6678: EDMA TEST

Part Number: TMDSEVM6678

Hi,

   I am trying to check the dma peripheral in the evm 6678.I have included the evm test source file which is present inside the csl library in the ti folder.In that given code,its written for ping pong global transfer and shadow transfer functions in a loop .When i compiled and executed that code,i am getting verify:source and destination failed.While checking with break point,the verify function is getting failed.After putting debug prints,the destination buffer is shown as zero not the same as source buffer. The ping pong transfer dma function has not worked properly.

Could you please clarify whether the given library will work for c6678 cores.

Regards,

 Thilak

  • Thilak,

    I am trying to check the dma peripheral in the evm 6678.I have included the evm test source file which is present inside the csl library in the ti folder.In that given code,its written for ping pong global transfer and shadow transfer functions in a loop .When i compiled and executed that code,i am getting verify:source and destination failed.While checking with break point,the verify function is getting failed.After putting debug prints,the destination buffer is shown as zero not the same as source buffer. The ping pong transfer dma function has not worked properly.

    To have a closer look, please mention the name of the test source file, function name etc.,  and the package name with version details.

    Regards

    Shankari G

  • I have attached the path file,

    edma_test.c  file .

    pdk_c667x_ 2_0_16 version .

  • Thilak,

    When I looked into the main.c and the makefile of "edma test" folder, this "ping-pong edma transfer" and the " qdma_link_test " implementation seems to be done for the SoCs listed below.

     "tda2xx tda2px tda2ex tda3xx"

    Not for the SoC - C6678. With reference to the Other SoCs, the customer may have to adapt.

    ----

    #if defined (SOC_TDA2XX) || defined (SOC_TDA2PX) || defined (SOC_TDA2EX) || defined (SOC_TDA3XX)

    ifeq ($(SOC),$(filter $(SOC), tda2xx tda2px tda2ex tda3xx))
    SRCS_COMMON += dma_chain.c dma_link.c dma_ping_pong_test.c dma_test.c qdma_link.c qdma_test.c
    endif

    ---

    Regards

    Shankari G

  • Ok.Is there any example libraries for C6678 to access dma in that sdk version.Please check and suggest.

  • Sure, Thilak,

    Ofcourse, there are....

    For example, UART -DMA is a good example. And many peripherals like McBSP and few other uses EDMA....

    PS: Please, remember, this PDK software package is common for the series / family of devices. We may have to meticulously choose.... for our SOC.

    There are some 56 examples given for the "SOC- C6678". 

    For C6678, the available examples are listed here in this FAQ:

      https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1082251/faq-tms320c6678-how-to-generate-the-ccs-pdk-examples-for-c6678

    Check which-one suffice your need.

    Regards

    Shankari G

  •  Hi,

    As mentioned in the earlier comment in the edma test main.c function they have mentioned is TMS320C6X too in the code

  • Thilak,

    In the makefile, I do not see that these ping-pong files are included for the build for the SOC- C6678. Only for TDA..

    ---

    CSL examples are built using the command line option with makefile.

    For the available SOCs with ping-pong test, look into the make file, below, inside the edma test.

    ---

    #if defined (SOC_TDA2XX) || defined (SOC_TDA2PX) || defined (SOC_TDA2EX) || defined (SOC_TDA3XX)

    ifeq ($(SOC),$(filter $(SOC), tda2xx tda2px tda2ex tda3xx))
    SRCS_COMMON += dma_chain.c dma_link.c dma_ping_pong_test.c dma_test.c qdma_link.c qdma_test.c
    endif

    ---

    You have to modify the makefile to include for the SOC - C6678. You have to do a code-walk through and do necessary changes needed to test the ping-pong transfer on C66x. 

    Try building for the SOC - C6678. Follow the instructions/build commands given for PDK and SDK , I have given here : https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1048039/faq-processor-sdk-c665x-how-to-re-build-the-pdk-and-sdk-of-processor-sdk-c665x-6-3-for-c6657

    Similarly, you can try building the CSL examples....

    All the best!

    Regards

    Shankari G