Other Parts Discussed in Thread: AM5726, AM4376
主题中讨论的其他器件: AM4376
我需要通过 PRU 访问存储器映射器件。 主 CPU 还需要访问相同的存储器区域、但地址不同。 这一点是否有可能? 当存储器忙时、PRU 是否会等待? 这是一个缓慢的存储器、1次访问需要大约100ns、因此任一内核都必须等待另一个内核访问存储器。
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.
您好、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 用于外部存储器访问。 因此、您的评论是正确的。 很抱歉。
此致、
弗兰克