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.

[参考译文] AM5716:无法使用全局地址从 DSP 内核访问 DSP L2 SRAM

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/576364/am5716-cannot-access-dsp-l2-sram-from-dsp-core-using-global-address

器件型号:AM5716

您好!

我遇到了一些意外行为。 DSP L2 SRAM 在 DSP 存储器映射中出现两次。 有一个只能由 DSP 访问的"本地"地址范围(0x80 0000到0x84 7FFF)、还有一个可由诸如 ARM (0x4080 0000到0x4084 7FFF)等其他外设访问的"全局"地址范围。 我遇到的问题是 DSP 无法使用全局地址读取 L2 SRAM 内容--只有本地地址工作。 该行为总结如下。 请注意、我正在使用 CCS7中的存储器浏览器进行这些观察。

  • DSP 尝试读取或写入位置0x80 0000 --成功
  • ARM 尝试读取或写入位置0x4080 0000 --成功(此位置明确映射到 DSP 地址0x80 0000)
  • DSP 尝试读取或写入位置0x4080 0000 --失败(读取总是返回零、写入无效)

我的问题是这是否是预期行为? 从 DSP 内核读取地址范围0x4080 0000 - 0x4084 7FFF 是否无效?

一如既往地感谢您的帮助!

此致、
Dave

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

    "DSP 子系统内部资源。 范围[0x0080_0000–0x01D1_7FFF]和[0x0800_0000–0x0801_FFF]内的 DSP 访问在 DSP 子系统内本地执行。"

    AM572x TRM 版本 H 的第2.6节中明确说明了这一点。请参阅表2-10下面的注1。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Biser、谢谢、我熟悉这个脚注。 它解释了这些范围内的 DSP 访问将在 DSP 子系统内执行、但它并不表示从 L3_MAIN 存储器空间访问 DSP L2 SRAM 有任何无效内容、 如该表所示、存储器映射到 DSP 地址0x1400 0000 - 0xFFFF FFFF。 "全局"DSP L2 SRAM 地址范围属于此 L3_MAIN 存储器空间、不在脚注的覆盖范围内。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您无法从该地址读取、因为 L3上的 DSP 主端口(DSP MDMA)与 L3上的 DSP 从端口(DSP SDMA)之间没有连接。  以下是互连章节中的相应片段:

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Brad、感谢您的清晰解释和参考。 这正是我想要的!