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.

[参考译文] AM6442:在 AM6442 的 DDR ECC 初始化期间 SPL 失败

Guru**** 2779905 points

Other Parts Discussed in Thread: AM6442, SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1601289/am6442-spl-fails-during-ddr-ecc-initialization-on-am6442

器件型号: AM6442
主题: SysConfig 中讨论的其他器件

您好 TI 专家、

我当前使用的是 AM6442 一方 4 个 R 内核和 2 个 A 内核 在两个内核上运行的 Linux

我已启用功能 DDR ECC 指定 SBL 和 4 个 R 内核都可以成功引导。 不过、 SPL 无法引导 并打印以下消息:
image.png

 

您能否告知我这边是否存在配置错误?

我还有一个问题:根据手册、 DDR ECC 奇偶校验使用 1/9 的 DDR 存储器

  • 是位于的该 ECC 区域 开始 结束 随机地址 DDR?

  • 我的 DDR 大小为 2 GB 、在 SBL 中的 DDR 初始化过程中、我将初始值分配给 DDR。 覆盖范围之后 0x00000000 ~ 0x71C71C70 (可用的 8/9 区域)、或 0x00000000 ~ 0x80000000 (全部 2 GB)?

提前感谢您的帮助!

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

    您好、

    我们的专家不在办公室、请期待回复延迟。

    此致、

    Dilna K

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

    期待您的答复

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

    您好、Jiyang Huang、

    谢谢你。

    请预计响应会延迟。

    此致、

    Sreenivasa.

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

    您好、

    第一个问题是、如果未启用 ECC、您的应用程序是否会启动?  请先进行检查、以确保问题与 ECC 相关

    ECC 数据与可用数据集成在一起、位于整个存储器中。  启用 ECC 后、当处理器内核或其他主器件访问 DDR 时、DDR 子系统将自动适当地转换地址。  在 SysConfig 中定义的起始地址和结束地址应该是希望启用 ECC 的完整区域 (0-0x80000000)

    此致、

    James

      

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

    您好、

    在相同的硬件和软件环境中使用 DDR ECC 未启用 A 内核可以正常启动
    不过、 启用 DDR ECC 之后 A-CORE 无法引导

    根据 TRM、当启用 DDR ECC 时、是 数据与 ECC 奇偶校验比为 8:1
    我的理解是,如果我想 为整个 DDR 数据区域启用 ECC 、我需要专门为 ECC 奇偶校验存储保留一部分 DDR 空间。

    因此、我按如下方式配置了 ECC 区域:

    • DDR_ECC_REGION0_START = 0x00000000

    • DDR_ECC_REGION0_END = 0x71C70000

    剩余的 DDR 地址空间保留用于 ECC 奇偶校验位

    如果我的理解或配置不正确、请告诉我。

    此致、

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

    我更新了 ECC 区域以涵盖内容 0x0–0x80000000 ,但 A 内核仍无法引导

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

    现在 将 0x71C70000 以上的所有 DDR 地址保留为未使用状态
    SBL 在 R0 上运行 A 内核从 SBL 发布
    不过、 A 内核仍无法引导 和程序 就会卡在 SPL 中

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

    请在此处尝试解决方案:  TMDS64EVM:引导 Linux 和来自 R5 SBL 的裸机 — 身份验证失败 

    此致、

    James

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

    您好、

    您的问题是否已通过上述建议得到解决?

    此致、

    Anil