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.
您好!
我们将使用 Innodisk 制造的一些宽温度 DDR3 SO-DIMM 测试 K2E EVM。 我们拥有4GB 和8GB DIMM (M3S0-4GMSCDPC 和 M3S0-8GMSDDPC)、两者均具有 MT41K512M8DA-107 IT Micron IC。 尝试运行 U-boot 时、它会在读取 DIMM 的 SPD 并启动内存测试后立即挂起、实际上、通过单步执行、我看到它会在第一个 DDR 内存访问代码行挂起。 在控制台中、我只会得到以下信息:
U-Boot 2018.01-gcdb1cc0a9e (2018年10月06日- 04:31:50 +0000) CPU:66AK2Ex SR1.0 模型:德州仪器(TI) Keystone 2 Edison EVM DRAM:DDR3A 速度将配置为1600运行。 检测到 SO-DIMM [i-DIMM] DDR3速度1600 DRAM:4 GiB
8GB DIMM 也会发生同样的情况。 我已经检查了 U-Boot 读取的 SPD 信息、它看起来是有效的、控制台输出也显示了这一点。
我还尝试通过提供的 GEL 文件设置 DDR3、尽管使用了硬编码的时序和设置、如果我尝试通过内存浏览器读取 DDR3、我会得到一个内核挂起。
我在 另一个线程中看到 、在 PGCR2寄存器中设置"固定读取延迟"位(FXDLAT)可以解决类似的问题、并尝试在 GEL 文件中和通过 U-boot 设置该问题。 U-boot 的结果是存储器测试找到0个字节、而使用 GEL 文件、我现在可以在不挂起内核的情况下读取 DDR3、但每次刷新时我会得到不同的值、即大量读取错误。
我不知道 FXDLAT 位的用途是什么、如果使用它的方向是正确的、毕竟、U-boot 和 GEL 可能出于某种原因未设置它。 有人知道问题可能是什么? 有人使用了这些(或类似) DDR3模块?
我的最后 一个想法是将 SPD 中的值输入到 TI 提供的电子表格中、以计算 DDR3寄存器并通过 GEL 文件进行设置、但我怀疑这些设置将与 U-boot 提供的设置相同、并导致相同的错误。
此致、
Giannis
一个可能重要的细节是我正在测试的 Innodisk 模块不具有 ECC。 这在 SPD 信息中得到了正确反映、因此 U-boot 可能未正确考虑、而是假定 DDR3始终启用 ECC。
Yordan、您好!
我已经看到了您提到的函数、看起来 ECC 始终处于配置状态。 此外、我发现对于 DDR3 SO-DIMM、ECC 和非 ECC DIMM 的引脚分配不同、因此 DIMM 需要与电路板设计相匹配。 ( 来源、第10页)
因此、我们可能会获得新的 ECC DIMM、因为我们已经设计出具有 ECC 的电路板(遵循 K2E EVM 设计)。 如果我们可以使用我们刚刚开发的非 ECC DIMM、那会很好、但这似乎是不可能的。
尽管如此、感谢您的帮助、如果我有此问题的任何更新、我将再次发布。
Giannis