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.

[参考译文] 66AK2L06:EMIF16异步读取需要太多时间

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/581723/66ak2l06-the-emif16-asynchronous-reading-takes-too-much-time

器件型号:66AK2L06

您好!

在使用 DMA 或复制 for 循环中的数据时、我在将数据从外部 SRAM 异步读取到 DDR3或内部 SRAM 时遇到 EMIF-16性能问题。 读数最多为4个字节、似乎是快速的。 在每4个字节(有时只有2个字节)之后、会有一个巨大的延迟(200ns 左右)、直到继续读取接下来的4个字节(或2个字节)。

最后、我在器件勘误表中找到了一个解决方案:  http://www.ti.com/lit/er/sprz334h/sprz334h.pdf 使用说明25。 它建议通过修改数据表中根本未指定的寄存器来禁用传统同步模式。 为什么隐藏此重要信息?

我使用自定义 TCI6630 K2L 板。勘误表中告知的权变措施是针对6678编写的、但由于它仅影响 EMIF、我尝试了它、它就能正常工作! 不再有任何延迟。此变通办法是否也适用于所有 Keystone II 平台? 如果是、我希望它也被写入 EMIF 数据表、以避免浪费数天或数周的时间来使其正常工作。

我还有一个 K2H EVM 板。 在这个版本中、我最初有 Arago Linux 3.x.y (不能确切地记住)、但在构建 K2L 板时、我在 K2H 和 K2L 中安装了一个较新的内核4.4.32。 对于 K2L、我注意到 EMIF 很慢、所以我尝试了与 K2H 相同的测试、但现在 EMIF 也很慢、尽管它仍然可以与内核3.x.y 一起工作。 这让我认为旧内核可能为 EMIF 做了一些神奇的设置、但新内核不做。 如果是、则可能是该未记录的寄存器设置。

如果上述考虑是正确的,我谨问:

请在 EMIF 数据表中说明如何禁用传统同步模式

2.请使此功能在最新内核中重新发挥作用。 似乎在内核版本之间的某个时间点将其删除。

此致、

Ari

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

    我已将此内容转发给 EMIF 专家。 他们的反馈应发布在此处。

    BR
    Tsvetolin Shulev