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.

TCP3D_C Error - While running example project

Hi

I am running TCP3D example project (tcp3dExampleProject) for C6670 which is part of PDK.

It is working when I'm using TCP3D_A or TCP3D_B, but when I use TCP3D_C it's failing.

Error message : TCP3D Driver Init failed

What change is required to use TCP3D_C with this example project?

Regards

Ashok

  • Hi Ashok,

    Looks like the TCP3D example project is validated only on A & B. The current tcp3d example configures A when it run by core 0 and it configures B when example run on other cores(1-3).

    Could you please post your changes to TCP3D_C?

    Thanks.

  • Here is the portion of code which is modified by me

    #if 0
         if ( dspCoreID == 0 ) // Core 0
               instNum = CSL_TCP3D_A;
          else
               instNum = CSL_TCP3D_B;
    #else
          instNum = CSL_TCP3D_C; //getTcp3dInstNum(dspCoreID);
    #endif

    I assigned CSL_TCP3D_A,CSL_TCP3D_B, and CSL_TCP3D_C one by one to instNum (in different runs)

    First two worked fine - all tests passed. Third one gave the error message.

  • Hi,

    In order to use TCP3d_C, you will have to setup the EDMA regions accordingly in the sample_cfg.c file. Depending on which EDMA instance is used to move data to TCP3d_C, the corresponding REVT events have to enabled.

    Here is an example, if EDMA CC 2 is used and if you want to use TCP3d_C on Core 0, you have to make sure that the EDMA config region is setup in the Region 0 of sampleInstInitConfig structure (the tpcc id and the region used are defined in the tcp3d_example_main.c as tpccNum and tpccRegionUsed respectively. If you have a multicore environment, you can setup regions based on CoreIDs). 

    So, in the EDMA3 INSTANCE# 2 of the sampleInstInitConfig structure, you have to enable TCP3d_C REVT events. If event numbers are 58 and 59, the 58th and 59th bit have to be set in the ownPaRAMSets and ownDMAChannels fields.

    Also, in your application, make sure that all the CSL references are pointing to TCP3d_C during the init process.

    Regards,

    Arun  

  • Can you help me on this question http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/p/359026/1260363.aspx#1260363?

    should we use TCP3d only on EDMA instances 2 on 6670?

    Thank you!