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.
您好!
我正在尝试在 Keystone I 产品上启用 DDR ECC。
例如、我希望 ECC 保护 RAM 的最小区域(区域0x8000000000 - 0x80010000)。 我要向 ECCADDR1 (0x21000114)寄存器写入0x00010000。 ECCCTL (0x21000110)将获得0xc0000001 (启用 ECC、启用区域、启用区域1)。 这是在 DDR3调平之前的 U-Boot 过程中完成的(以确保 ECC 通道正确调平)。
然后、我将读取一个不受保护的地址、例如0x88000000。 这始终有效。
然后、我将读取受保护的地址0x8000000。 这有时会起作用、有时会导致 U-boot 崩溃。 我无法找到这种行为的一致性。 我一次读取2个32位字(md.l 88000000 2)。 我尝试先向受保护区域写入已知的值以初始化 ECC。 写入有时也会工作、有时会使 U-boot 崩溃。
我想获得有关我可能会做什么的任何信息。 或者、如果有一个启用 DDR ECC 的分步过程、这也会很有帮助。
谢谢 Yordan。
我们在一个系统上使用 SC-MCSDK 2.2.0.2、在另一个系统上使用 SC-MCSDK 2.2.3.1p5。
但是、U-Boot 在两个系统上都是相同的、并且与 arago-project.org/.../上的最新版本同步
埃戈尔