尊敬的 TI 团队:
R5F 内核需要访问 DDR 才能与 A53内核共享一些数据。 针对此用途的预期 DDR 地址范围为"0xA0000000"至"0xA0000000"+ 16 MB。 我的问题是、是否有必要配置 RAT 来启用对该地址位置的访问。 根据 TRM、 我观察到目标地址位于'R5FSS0/1_RAT_Region3'中。 除了配置 RAT 外、我是否还需要 为此位置设置 MPU 区域? 请您就此事提供指导。
谢谢!
克里斯
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.
尊敬的 TI 团队:
R5F 内核需要访问 DDR 才能与 A53内核共享一些数据。 针对此用途的预期 DDR 地址范围为"0xA0000000"至"0xA0000000"+ 16 MB。 我的问题是、是否有必要配置 RAT 来启用对该地址位置的访问。 根据 TRM、 我观察到目标地址位于'R5FSS0/1_RAT_Region3'中。 除了配置 RAT 外、我是否还需要 为此位置设置 MPU 区域? 请您就此事提供指导。
谢谢!
克里斯
Chris、您好!
请首先在此处阅读我们的 RAT 常见问题解答:
https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1192281/faq-am62x-am64x-updating-the-region-based-address-translation-rat-settings
"设置 MPU 区域"是指"在 A53的 Linux 设备树中保留共享内存区域"吗? 如果是、那么答案是肯定的、您需要保留 DDR 的任何部分、而您不希望其他 Linux 应用程序在运行时可能被覆盖。 我们可以根据需要提供其他信息。
此致、
尼克
您好!
我认为该问题没有包含在常见问题解答中、至少快速浏览一下。
不需要、您不必配置 RAT、因为默认行为在未修改的情况下传递。
如果存储器类型与默认映射不同、则需要为 R5f 建立一个 MPU 区。 该默认值为"shared device"、请参阅 R5f TRM。 您需要哪种存储器类型取决于您想要实现的目标、并且可能进行一些测试。
Nick 的意见当然也是有效的- Linux 也需要意识到这一点。 此外、除非在 R5f 和 Linux 上映射了无法捕获的内存、否则需要确保高速缓存维护。 A53应该提供一些缓存一致性的手段,但我还没有研究。
此致、Dominic
Chris、您好!
当 R5F 希望访问此地址空间时、不需要对0xA0000000+16MB 地址空间进行任何 RAT 配置。
当 R5F 想要访问大于32位的值时、我们需要将系统地址空间转换为 R5F 内核查看地址空间。 在这种情况下、应使用 RAT。
当您要从 R5F 访问0xA0000000地址时、您应该 在 MPU 区域中配置地址空间、这已经覆盖在 DDR 存储器地址空间中。
您能否检查下图、MPU_Region5? 我希望在您的应用中也使用相同的 MCU+SDK 示例。

此致、
S.Anil.
谢谢 Nick、
如果是"设置 MPU 区域",您是说"在 A53的 Linux 设备树中保留共享内存区域"吗? 如果是、那么答案是肯定的、您需要保留 DDR 的任何部分、而您不希望其他 Linux 应用程序在运行时可能被覆盖。 我们可以根据需要提供其他信息。
目前,要求在 Linux A53 (消费者)和 R5F (生产者)内核之间共享此位置的数据。 我相信你、Dominic 和 S. Anil 在评论中提供的答案足以解决我对此事的疑虑
谢谢!
克里斯
Chris、您好!
您应该检查您当前的 MPU 设置。 如果它们包含的区域与 Anil 的屏幕截图所示的区域类似、横跨整个 DDR 范围、那么这就是您要使用的区域。 我之前提到过的默认值是"硬件默认值"、即、当 MPU 没有配置、或者没有覆盖此地址范围的区域时、R5f 会使用什么。
如果范围标记为缓存(正常存储器)、则需要手动在 R5f 上保持缓存一致性。
如果没有覆盖该存储器的 MPU 区域、则您将得到默认的共享器件、在这种情况下、您无需在 R5f 上保持缓存一致性。
此致、
多米尼克