• Not Answered

Problem with DMA on Simulator


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

6 Replies

  • 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

     

  • In reply to william4015:

    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.

  • In reply to william4015:

    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

     

     

     

  • In reply to sandeep3378:

    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 

  • In reply to william4015:

    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