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:有关 IDMA 和 CPU/PCIe/EDMA 访问 L2存储器冲突的问题。

Guru**** 2611705 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/657653/tms320c6655-questions-about-idma-and-cpu-pcie-edma-access-l2-memory-confliction

器件型号:TMS320C6655

大家好、

我的客户使用 C6655 L2 EDC 功能。

他们使用计时  器调用 IDMA、以将数据从同一地址移动到同一地址。  在计时器中断函数中、它们使用 IDMA 读取/写入所有 L2存储器。 此操作可刷新 EDC 检查数据区域。

但发现他们是否使用 PCIe、EDMA 或 CPU 来写入同一区域、可能会发生数据冲突。

如下所示:

IDMA 读取-> PCIe 写入-> IDMA 写入-> CPU 读取

CPU 将读取旧数据、而不是 PCIe 写入数据。

我们是否有任何方法可以避免这种情况?  谢谢!

BR、
丹尼

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    丹尼

    因此、您使用 IDMA 通过计时器中断定期清理整个 L2、而此过程不知道是否有任何应用(EDMA、PCIe 等)尝试访问同一存储器区域? 我不确定如何避免冲突、您能否在应用程序开始时执行清理? 如果 EDMA 缓冲区已修复、您是否可以跳过此区域进行清理? 或者、EDMA 传输是否会生成完成中断、然后在此中断中增加计数器、然后使用 IDMA 执行清理、就像每10000个 EDMA 传输完成中断一样?

    此致、Eric
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Denny's、 这个问题 在这个主题上得到了很好的回答:

    e2e.ti.com/.../1889294

    此致、

    Kyle