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.

[参考译文] AM5726:PRU 对存储器的访问

Guru**** 2928980 points

Other Parts Discussed in Thread: AM5726, AM4376

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/664785/am5726-pru-access-to-memory

器件型号:AM5726
主题中讨论的其他器件: AM4376

我需要通过 PRU 访问存储器映射器件。 主 CPU 还需要访问相同的存储器区域、但地址不同。 这一点是否有可能? 当存储器忙时、PRU 是否会等待? 这是一个缓慢的存储器、1次访问需要大约100ns、因此任一内核都必须等待另一个内核访问存储器。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这是外部器件吗? 它在哪里连接? 您在 ARM 上运行什么软件?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们使用 Linux。 器件是一款双端口 RAM、某些地址会单独解码以访问 LED 或在某些外部端口上切换。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Annette、

    该器件如何连接到 AM5726存储器? (例如、系统是否通过通用存储器控制器访问它?)

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

    您好、Nick、

    是的、它是通用存储器控制器(GPMC)异步、无多路复用8位模式

    此致、Annette

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

    您好、Annette、

    1)系统如何连接以及2) ARM 和 PRU 内核如何与双端口 RAM 通信、您是否有方框图、原理图或其他可视化内容? 这不是 AM57xx 系列的典型用例、也不是与 PRU 内核交换数据的典型用例、因此我想确保我了解您的系统在做什么。

    此致、

    Nick

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

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Annette、
    1) 1)您使用的是哪种处理器? AM5726、AM4376、还有其他问题吗?
    2) 2)您希望 PRU 内核执行哪些函数、以及您希望 ARM 内核执行哪些函数? (请说明每个内核访问 DPRAM 的原因)

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

    您好、Nick、

    我们现在使用的是 AM4376、未来的主板可能使用的是 AM5726。 ARM 内核将访问 DPRAM 和 SRAM。 PRU 还应访问 DPRAM 存储器区域。 一些地址被单独解码以打开/关闭某些信号。 然后、这些地址将仅从 PRU 中使用。 这一切现在都由 ARM 内核完成。

    此致、Annette

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

    您好、Annette、

    通过设置 PRU_ICSS_CFG_PMAO 寄存器、PRU 可以通过其 OCP 端口访问全部存储器空间。 这意味着它可以访问 GPMC 存储器空间0x0000_0000 - 0x1FF_FFFF。 GPMC 将仲裁 ARM 和 PRU 内核之间的访问。

    通过 GPMC 进行的 PRU 存储器访问将是不确定的。 Wiki 中列出的针对 GPMC 延迟 的最佳情况 AM437x 读取延迟可能适用于对 GPMC 配置寄存器(0x5000_0000 - 0x50FF_FFFF)的访问、而不是 GPMC 外部存储器的访问、因此我没有针对您的最佳情况读取延迟估算。 我不确定 GPMC 是否更喜欢一个内核而不是另一个内核、或者其他哪些系统元件会增加延迟。

    另一种设置是继续让 ARM 内核执行对外部存储器的所有访问、然后使用本地 ICSS 资源在 ARM 和 PRU 内核之间传输数据。 根据您的设计需求、可能还有其他良好的设置。

    此致、  

    Nick

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

    您好、Nick、

    请验证该信息是否正确。 在我看来、GPMC 是一个外部存储器接口、不在 PRU 和 ARM 内核之间。 相反、一旦设置了该标志、PRU 就可以完全访问全局 SoC 地址空间。 不确定您在哪里找到了有关 GPMC 的信息。

    有一条内部总线会增加一些延迟、但这通常不是问题。  

    似乎我在这里对心率的句子是错误的。 再看一下方框图、我可以看到 GPMC 用于外部存储器访问。 因此、您的评论是正确的。 很抱歉。

    此致、

     弗兰克

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

    我将把这个标记为"已解决"。 如果您有任何疑问、请告知我们!

    此致、
    Nick