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:DDR3 ECC 问题

Guru**** 2618835 points

Other Parts Discussed in Thread: AM5726

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/660449/am5726-ddr3-ecc-issue

器件型号:AM5726

您好!

我的客户在 AM5726中采用带 ECC 的 DDR3时遇到问题。

‘,它们生成所有四个 pinmux 文件,使用“Board=evmAM572x”make 选项,因此所有自定义修改都是针对 evmAM572x 特定源进行的。

它们已成功构建并测试从 SDMMC 加载的 SBL、并执行 DRAM 大小检测和 memtest。 但当‘‘ECC (他们重新使用来自 idkAM572x 源的代码)时,SBL 会在启用 Board_init_DDR_ECC’标志的情况下崩溃(尚未使用 JTAG 调试器查找特定的故障代码位置)。

您能帮助我找出此问题的根源吗? 如果有需要、我有来源。

提前感谢、

此致、

Alberto

 

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

    这是什么软件? 客户是否知道勘误表 i922?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Biser、

    客户仅将裸机代码与 TI PDK 软件包中的 CSL 和 DRV 库搭配使用。
    您能否解释或建议有关 quanta*写入和 EMIF 区域分区的参考?
    我还不熟悉这些东西。

    谢谢、此致、
    Alberto
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我已要求 RTOS 团队进行评论。 它们将从这里继续。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    阿尔贝托

    如果客户 的产品中有 DDR ECC 要求、我们建议他们考虑查看 AM574x 器件、我们已在其中修复了相关勘误表。 如果您需要有关 AM574x 发布日期的信息、请联系 BU 以了解更多信息。

    基本上、勘误表 i922表明、只有当读取/写入事务的发起方使用的数据大小等于用于与 DDR 连接的 EMIF 数据线路总数时、才发现 EMIF ECC 机制能够正常运行。 例如、如果 EMIF 配置为32位 DDR 访问、则32位数据读取/写入为份额存取、8位和16位存取为次份额存取。 AM5726上的 ECC 机制仅在 EMIF 控制器读取/写入32位数据(份额大小)到4字节(份额对齐)的倍数的 DDR 存储器位置时才有效。 如果任何启动器写入8位或16位 数据、ECC 机制将失败。 同样、对于16位 DDR 配置、16位数据是份额大小、地址位置是2个字节的倍数是份额对齐。

    通过在 EMIF 线路上添加用于子份额存取的读取修改写入功能、AM574x 中修复了此错误。 这意味着、当启动器尝试读取/写入小于 quanta 大小的数据时、EMIF 控制器有一个从 DDR 位置读取剩余位的机制、 修改数据、然后将其写回外部 DDR 存储器、就像它是一个容量大小为 quanta 的数据一样、以便在硬件中准确生成 ECC 生成和回读。

    如果我没有充分解释问题和解决方法、请告诉我、我将与系统/设计专家交流、以更深入地了解此问题。

    从软件角度来看、我们 已在引导加载程序、电路板库和 CSL 示例中将 DDR ECC 功能集成到 Processor SDK RTOS 版本4.2中。 2018年第1季度版将支持该功能、其中包括对 AM574x 平台的全面支持。

    参考当前软件示例:

    • 引导加载程序:  \packages/ti\boot\SBL\board\idkAM574x
    • 电路板库支持:  \packages/ti\board\src\idkAM574x
    • PDK 中的 CSL 示例位置:  \packages\ti\cSL\examples\ecc\ecc_test_app

    此致、

    Rahul

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

    感谢您提供全面的反馈。
    我看到 AM574x 系列的问题已经解决、但我的客户已经决定使用 AM572x。 您能否提供有关此系列问题可能解决的信息?
    谢谢、此致、
    Alberto
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    阿尔贝托

    由于此勘误表、我们不支持 AM572x 上的 DDR ECC 功能。 此器件上有许多初始化器可以发起 DDR 事务、因此软件实现无法保证所有外部存储器存取的大小均为 quanta、并且无需重新设计大量软件即可对齐。 AM574x 与 AM5726器件引脚对引脚兼容。 如果 DDR ECC 是产品要求、我们强烈建议切换到 AM574x。

    如果您或您的客户仍然对此有疑问、我建议您将其脱机、以便在给定此勘误表的情况下、我们可以让合适的产品营销人员和系统人员就在 AM572x 上实施设计的风险发表意见。

    此致、
    Rahul