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.

[参考译文] AM5728:RTOS 中的共享存储器设置

Guru**** 2609955 points
Other Parts Discussed in Thread: SYSBIOS

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/655632/am5728-shared-memory-setup-in-rtos

器件型号:AM5728
Thread 中讨论的其他器件:SYSBIOS

我有以下情形:

-基于 SysBIOS 的 Cortex-A15软件
-BareMetal 上的 DSP1和 DSP2软件
-OCMC_RAM3中的一个小型内存缓冲区,用于在它们之间共享数据

问题是共享缓冲区仅在 DSP 内核之间工作正常、但我无法在 A15和 DSP 之间交换数据。 我检查了所有.map 文件中的缓冲区位置、它们看起来不错。 我猜问题与 A15高速缓存、DSP MMU、L3互连或类似的问题有关、但相关文档非常繁琐、我找不到任何示例要检查。

有什么想法或示例要继续吗?

提前感谢、
Daniel

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    RTOS 团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Daniel、您好!

    我们没有任何与您的应用相匹配的裸机示例、但我们有许多 IPC 示例在 Processor SDK 中的 TI-RTOS 上运行。  如需了解更多相关信息、请访问:

    此致、

    Sahin

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

    您好、Sahin、

    感谢你的答复。
    遗憾的是、由于该项目的独特性、我们无法在 DSP 端提供 SYSBIOS (冗长乏味的故事)。
    我们最终确认怀疑 A15缓存是问题的根本原因、并通过分别在读取或写入共享位置后失效或作为必要函数进行回写来临时修复。 当然、我认为共享存储器不应缓存、因为内核的缓存控制器通常不知道他人修改的位置、但我无法找到配置 MMU 的方法来避免缓存特定的存储器位置。 请帮帮我。 提前感谢。

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

    Daniel:

    高速缓存一致性是多核开发环境的一个主要问题。 这需要由应用软件进行管理、并由 IPC 组件(Processor SDK RTOS 组件)进行管理。 如果无法使用 IPC、则需要按照以下所述管理共享区域的 GPP+DSP 环境的缓存:
    processors.wiki.ti.com/.../Codec_Engine_Application_Developers_Guide

    n`t 您在共享位置使用缓存、则可能会在处理器间通信中看到性能下降、因此如果您正在传递或读取大量数据、我们建议您将位置保持缓存。

    此致、
    Rahul

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