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.

[参考译文] AM5708:DDR3内存问题

Guru**** 2551110 points
Other Parts Discussed in Thread: AM5708, AM5728

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/607519/am5708-ddr3-memory-issue

器件型号:AM5708
主题中讨论的其他器件: AM5728

您好!

在基于 AM5708的设计的电路板启动阶段、我们首先启动启动加载程序(让 ti-u-boot 代码运行、并在 BBX15 (AM5728)上启动)。
我们创建了自己的电路板文件和多路复用器、将 EMIF 数据和所有电路板细节添加到代码中、并为我们自己的设计(具有联盟 DDR3存储器)构建了该文件。  

我们使用2个多路复用的2GigaBit (265MB)存储器(一个芯片 Get 的数据线路0-15、另一个具有数据线路16-31、它们都共享地址线路。  
SPL (MLO 或第二级引导加载程序)启动并达到控制台访问(成功初始化 SDRAM -> DDR3)、然后尝试引导 u-boot。 我们注意到 DDR3存储器中存在一些不一致之处。  

在调查和创建(简化的) DDR3 RAM 测试后、我们注意到 DDR3存储器不"负责"。 在一个电路板上、我们似乎只能使用每个32位值的高16位(其中16 LSB 大部分是相同的(0xC8FE)、它们有时会用几位更改其值。 (在内存地址上写入模式会导致此类表:  

第一板:
写入0xEFFFFFFF -读取0xEFFFC8FE
写入0xFFFEFFFF -读取0xFFFEC8FE
写入0x000000001 -读取0x0000C8FE

第二板:
写入0xEFFFFFFF -读取0xEFFFFFFF (正确)
写入0xFFFEFFFF -读取0xFFFEFFFE (1位关闭)
写入0x000000001 -读取0x000000000 (1位关闭)

这似乎是第二块电路板的运行方式"更好"、但我们无法找到我们的手指来解释其原因。  

我们迄今采取的行动:
 -验证从 TI 输入(Excel 工作表/工具)到时序的时序(EMIF 寄存器)->确定
 -使用示波器验证时钟->确定
 -降低速度(将定时设置为低至400MHz)并使用示波器进行验证->确定。
 -监控电压(来自我们可以保证的电压)->好的。
 - XRay 出厂验证 DDR3 RAM 上的焊料->确定(未发现异常)。  
 -更新: 使用 JTAG 和 GEL 文件验证我们是否可以使用调试器访问 RAM (Successfull:这表明电路板1有一个油炸 RAM、因此可忽略、使用 JTAG 可调试第二个电路板、并在整个 RAM 上使用(简单) memtest 例程测试 DDR3 RAM。 (将整个 RAM 写入模式、将其读回)。
  接下来、我们尝试在两个 SPL 中打印所有 EMIF 寄存器的设置、并将它们与工作中的 JTAG 示例中的设置进行比较。 请参阅随附的 diff 文件。

问题:
 我们还可以通过哪些途径来调查这些问题?  
 我们错过了哪些步骤?  
 -您知道的问题?
 -打开门进行检查?

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

    请按照本指南配置您的存储器: www.ti.com/.../sprac36a.pdf
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢 Biser、
    我们使用此文件(和命名工具)生成电路板的设置。 使用这些设置、测试了上述内容。

    此致
    步骤
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我已通知 DDR 专家。 他们将在这里发表评论。