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.

Transferring data from DDR3 to L1D using EDMA3

Other Parts Discussed in Thread: TCI6638K2K

Dear TI Experts,

I am using TCI6638K2K device.

In my sample multicore DSP application, I configured separate DDR3 memory segments for each cores using SYS/BIOS config.

Here, I observed MCPS got increase for each module on appropriate cores during real-time execution than when I run in  single core execution.

Therefore, I need to use EDMA3 to my application to transfer the data from DDR3 memory  either to L1D or L2SRAM memory.

Is it possible to transfer the DDR3 data to L2/L1D using  EDMA3? If not is there any way to do that..

Regards,

Hemsbond.

  • Hi Hemsbond,

    I've forwarded this to the EDMA experts. Feedback will be posted here.

    Best Regards,
    Yordan
  • The answer is yes, you can transfer data from any memory that has a global address to any memory that has a global address.

    L1D and L2 for each DSP core has two addresses - a local address and a global address. The local address of L2 (for example) is the same for all the cores, but the global address for each core is different. The EDMA of course cannot use the local address (It will not know what core L2 is the destination) rather it should use the global address.

    Look at the memory map of the device and see what is the global address of L1D or L2 for the core that you are interested in. Then configure the EDMA to move data from DDR to L2 or L1D just the same.

    Note that the EDMA data moves through the TeraNet into the slave port of the DSP CorePac and not via the dedicated DSP CorePac into the MSMC

    If this answered your question close the thread

    FRan
  • Hi FRan,

    Thanks for your reply.

    As per your suggestion, I carefully configured the EDMA to move data from DDR3 to L2SRAM.

    It works fine for me by doing some experiments on it.

    Now, when I configured the EDMA to copy 720x43 buffer into 720x576 buffer as mentioned in the attached diagram with the below EDMA3 config settings:

    ACNT = 43,

    BCNT = 720,

    CCNT = 1,

    SRCBIDX = 43,

    DSTBIDX = 576

    Not getting my desired result. Here, only first 43 bytes getting properly the rest values are all zeros.

    Please suggest me if I missing anything here while transferring the data.

    Regards,

    Hemsbond.

  • Hi FRan,

    The above explained problem has got resolved.

    This is because DSTBIDX was wrongly pointed to (576 - 43) position.
    Initially I thought after the initial ACNT copy has happened, the index will automatically increments to 43.
    In actual scenario, this not happened.

    Thanks and Regards,
    Hemsbond.