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.

TMS320C6655: Questions about IDMA and CPU/PCIE/EDMA access L2 memory confliction.

Part Number: TMS320C6655

Hi team,

My customer use C6655 L2 EDC function.

They are using a timer to call IDMA to  move  data from and to the same address.  In the timer interrupt function they used IDMA to read/write all L2 memory. This action can refresh the EDC checking data area.

But there found if they use PCIE or EDMA or CPU to write the same area there maybe data conflict happened.

Like this:

IDMA read -> PCIE write-> IDMA write->CPU read

CPU will read the old data, not the PCIE write data.

Do we have any method to avoid this?  thanks!

BR,
Denny

  • Denny,

    So you use the IDMA to scrub the whole L2 periodically by a timer interrupt, and this process has no knowledge if any application (EDMA, pcie etc) is trying to access the same memory region? I am not sure how to avoid the conflict, can you just do the scrub at the beginning of the application? If the EDMA buffer is fixed, can you skip this region for scrubbing? Or, does EDMA transfer generate a completion interrupt, then in this interrupt you increase a counter, then do a scrub using IDMA, like every 10000 EDMA transfer completion interrupts?

    Regards, Eric
  • Denny,  This question  is well answered on this thread:

    e2e.ti.com/.../1889294

    Regards,

    Kyle