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.

Linked ACPY3 activation (as replacement for 3d)

I am new with DaVinci and I have add functionality to existing code using ACPY3 library for QDMA transfers.

The required transfer is 3d but QDMA does not support such type. So I am trying to create 3d replacement using linked DMA.

Unfortunately, ACPY3 documentation I found does not describe the order of functional calls in this case.

Also I did not find any relevant example.

I tried call ACPY3_configure number of times (for all sub-transactions to be linked) and after this to call ACPY3_start but I did not get results as desired.

I am sure my problem is very simple and will be happy to get any suggetsions. 

 

  • If you have the framework components product, look at an example for DMAN3/ACPY3 called fastcopy. (examples/ti/sdo/fc/dman3/examples/fastcopy) It should show you the order of functional calls for ACPY3.

     

    Gunjan

  • I am using Framework Components 1.10 that does not include this example,

    Does this version support linked DMA-s at all?

  • I see the following as part of the 1.10  product:- examples/ti/sdo/fc/dman3/examples

    The fastcopytest.c file under there demonstrates use of DMAN3 and ACPY3 functions.

     

  • Thanks a lot.

    I found it (I looked for newer example with differ name)

    The only problem for me is that this example presents the API calls sequencing in single-core case.

    I am running dual-core DM6446 and ARM is mastering the system while DSP is running Server and Codec parts.

    In examples supplied by TI - functions DMAN3_init and ACPY3_init are not called from user code. I suppose - replaced by DSPBIOS configuration and called from files  generated automatically.

    From the other side, I did not find in the CCS the way to change the DMA definitions in Server .cfg file.

    In such case - what is the correct way for me to increase number of transfers for specific DMA channel (for resources allocaion - before ACPY3_Configure will be called number of times)?

  • - DMAN3_init and ACPY3_init are called from generated "C" code via the call to CERuntime_init

    - Any kind of resource partitioning etc in Server.cfg file would be done in the same way as it is done in the FC examples' cfg file.

    - I didn't understand the last part of your question. What exactly do you mean by "increase number of transfers for specific channel" ?! You can change the number of 'linked transfers per IDMA3 channel' if you need in the source code of your algorithm that calls ACPY3. You will need to ensure you have enough Params and Tccs in the scratch group, for which you are making the change. This can be changed in DMAN3's configuration in the server config file.

    Let me know if you have any other specific questions.