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.

Problem with DMA on Simulator

Other Parts Discussed in Thread: TMS320DM6437, TMS320DM6446, CCSTUDIO


Hi all,

I am currently working on TMS320DM6437 using Code Composer Studio 3.3.38.2.

As part of optimization, i am using DMA with the help of ACPY3 modules. This

works fine while running on board.But when working on cycle accurate simulator

it hangs at ACPY3_WAIT().


1. Is this a simualtor bug? how do we resolve it?

2. I am not able to upgrade my 3.3.38.2 to higher versions(3.3.56 or 3.3.79..etc).

    while using update advisor found in CCS and registering my product in TI website,
   
    it returns configurations uptodate. Where do i find the lastest version?
   

Waiting for your replies,

Regards,
Sandeep

  • I am not an expert on this topic, but I do know there are known issues with DMA and the accurate cycle simulator.  Since ACPY3 API is DMA related, this could explain this behavior, although I would not think this should cause a hang (just not very accurate cycle count data).

    I believe we are testing a solution for DMA and cycle accurate simulator, but this is not available on the update advisor site yet, hence please stay tuned.

    With regards to getting CCS software updates, again this is not my area of expertise so perhaps someone else can explain why you would have problems using update advisor, but you should be able to find these updates by visiting the update advisor website directly using the link below

    https://www-a.ti.com/downloads/sds_support/CCSv3.3ServiceReleases.htm

  • Hi Sandeep,

    I am currently working on TMS320DM6446 using Code Composer Studio 3.3.38.2.
     

    Also I'm doing optimization, I tried to use ACPY3 modules, it's regret I havn't succeeded all the time.

    The error is follow:

    [Linking...] "C:\CCStudio_v3.3\C6000\cgtools\bin\cl6x" -@"Debug.lkf"
    <Linking>

     undefined                        first referenced
     symbol                              in file
    ---------                        ----------------
    _ACPY3_start                      E:\\dma\\Debug\\dma.obj

    it has included <acpy3.h>,<idma3.h> header file In source file, how can I solve this problem ?

    could you tell me that using ACPY3 modules needs include which header files? or other files and needs attentive things.

    Thank you a lot

    William

     

  • Sandeep may have additional feedback as to specifically how to include the ACPY3 library, but I can say that this is a library and not a header file you need, since this is the linker complaining and not the compiler (linker dereferences all objects to their actual files, and it could not find the ACPY3_start function's binary). It is probably in some binary within framework_components_x_xx_xx\packages\ti\sdo\fc\acpy3 as mentioned in my prior post.

  • Hi william,

     

    It looks like u havent included the ACPY3 library.

    It can be found at

    C:\dvsdk_1_01_00_15\framework_components_2_10_01\packages\ti\sdo\fc\acpy3\acpy3.a64P

    you can download the latest framework component from TI website.

    hope this would resolve your problem, if not do let me know.

     

    regards,

    Sandeep

     

     

     

  • Hi Bernie and Sandeep,

    Thanks for your help, when I include the ACPY3 library in my project, it can be compiled successfully.

    Thanks a lot!

    William 

  • Hi Sandeep,

    I want to transfer CIF video data from Encbuf[] to Decbuf[]; follow is the codes of Y componet I adopt:

        ACPY3_activate(h);
        ACPY3_wait(h);

        p.transferType          = ACPY3_1D2D;
        p.srcAddr                 = Encbuf;        // char  //the first Y line of plane YUV420
        p.dstAddr                 = Decbuf;            

        p.elementSize           = 1;
        p.numElements          = 352;
        p.numFrames            =1;

        p.dstElementIndex     = 2;
        p.srcFrameIndex        = 1;
        p.dstFrameIndex         = 1;
        p.waitId = 0;

        ACPY3_configure(h,&p,0);
        ACPY3_start( h );
        ACPY3_wait( h );

    all the code above loop to 288 times and finish one frame .

    when run above codes, the value of Decbuf[] is not change, I can't find where I configure error, or I miss to set some parameters !

    Please help me! Thanks a lot!

    William