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.

[参考译文] AM5748:FPGA (通过 GPMC)和 DSP L2存储器问题之间的 EDMA

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1175622/am5748-edma-between-fpga-over-gpmc-and-dsp-l2-memory-issue

器件型号:AM5748

您好!

我设计了一个通过 GPMC 将 FPGA 连接到 SoC 的系统。

我能够使用 DSP 在 DSP L2存储器和 FPGA 之间交换数据。

我还能够使用 EDMA 在 FPGA 和 FPGA 之间交换数据。

但是、我无法使用 EDMA 在 DSP L2存储器和 FPGA 之间交换数据:

  • DSP L2存储器到 FPGA、GPMC 数据总线提供0x0000、
  • FPGA 到 DSP L2存储器、在 DSP L2存储器中看不到任何修改。

我想我的配置有问题。 有人能给我一些线索吗?

此致、

Steve

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

    您好!

    您使用的是 DSP EDMA 还是系统 EDMA?

    访问 DSP L2存储器时、您对 EDMA 进行编程的地址范围是多少?

    如果通过系统 EDMA 访问 DSP L2存储器、地址为0x4080_0000 ~ 0x4084_7FFF。

    如果通过 DSP EDMA 访问 DSP L2存储器、地址为0x0080_0000 ~ 0x0084_7FFF。

    EDMA 写入 L2存储器后、DSP 必须在从 L2存储器读取之前使 L1高速缓存无效。

    在 EDMA 将数据移出 L2存储器之前、DSP 必须将数据从 L1高速缓存写回 L2存储器。

    此致、
    斯坦利

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

    您好、Stanley、

    此提示已解决问题。

    另一个问题是,是否有强制写回和使缓存无效的基元?

    此致、

    Steve

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

    请参阅以下链接中提供的 RTOS SDK。

    https://www.ti.com/tool/PROCESSOR-SDK-AM57X

    您可以从 RTOS SDK 中引用 PDK 中的 CSL。

    https://software-dl.ti.com/processor-sdk-rtos/esd/AM57X/08_01_00_09/exports/docs/rtos/index_device_drv.html

    CSL 包括裸机高速缓存操作代码。

    另一个选项是、如果您在 DSP 上运行 TI-RTOS、TI-RTOS 还提供缓存 API。