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.

DM6437向DDR2写入数据的奇怪问题



最近在调试DM6437向DDR2写入数据,发现一个奇怪的问题:向0x8000000+128M内存中写入数据,当数据值小于0x84000000时写入数据正确,但是当写入数据值大于0x84000000时,数据不正确。这是为啥呢???求解释啊!

  • 前64M正确,64M之后就有问题,可以查下以下地方:

    (1)DDR2 config:主要查行,列数配置是否与你使用的DDR2匹配;

    (2)如(1)中正确,检查地址线的硬件,是否焊接或其他问题。可用几块板对比测试。

  • 你好,我仔细比对了两个板子(一个工作正常,一个DDR写入错误),DDR芯片一样的。应该不存在配置问题的。经过不断摸索,发现以下情况:向在0x80000000+128M中不同的9个地址处写入数据,都有出错。结果如下:

    write 0xF99FFFFC
    0x80FFFFFC=e99ffffc
    0x81FFFFFC=e99ffffc
    0x82FFFFFC=fd9ffffc
    0x83FFFFFC=fd9ffffc
    0x84000000=fd9ffffc
    0x84000004=fd9ffffc
    0x85000004=fd9ffffc
    0x86000004=fd9ffffc
    0x87000004=e99ffffc

    write 0x99FF99FF
    0x80FFFFFC=89ff99ff
    0x81FFFFFC=89ff99ff
    0x82FFFFFC=89ff99ff
    0x83FFFFFC=89ff99ff
    0x84000000=9dff99ff
    0x84000004=89ff99ff
    0x85000004=9dff99ff

    可以看到有两根数据线D26、D28数据位错误导致写入数据错误。现在板子都已经做出来了,请问如何解决这个问题呢?