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.

Memory_test fail with K4B2G1646Q-BCK0

在TMDSEVM6678L Rev.3B 上运行KeyStone_stk_v1.1李的memory_test例程总是出错:

1.修改include option路径之后,编译完成,并生成了.out文件,创建target configura file之后,拨码到NO boot模式,使用自带的V1仿真器链接,但debug时load完程序之后出现以下错误提示,请问这会是什么原因造成的?

错误信息:No source available for "main() at F:/WorkSpace_V5\Memory_Test\Debug\Memory_Test.out:{3} 0x80bfcc{4}"

2.我查询了一下,说可以直接RUN,于是我修改了一下测试选项的宏定义,之运行DDR3的测试,修改如下:

#define LL1_MEM_TEST   0
#define OTHER_L1_TEST   0
#define LL2_MEM_TEST   0
#define OTHER_L2_TEST   0
#define SL2_MEM_TEST   0
#define EXTERNAL_MEM_TEST  1
#define TEST_BY_DSP_CORE  1
#define TEST_BY_DMA   1

运行结果一直都是fail:console显示的如容在附件log.txt 所示,之中有这样一个信息:DDR3 leveling has failed, STATUS = 0x40000064,请问测试fail时因为leveling设置错误造成的吗?使用evm6678l.gel测试4*100的部分时可以的。

3. 另外,evm板子上的 DDR3 SDRAM 是 SAMSUNG K4B2G1646Q-BCK0,这个是不是和例程里使用的信号不一致造成这样的?

  • [C66xx_0] JTAG ID= 0x1009e02f. This is C6678/TCI6608 device, version variant = 1.
    DEVSTAT= 0x00000001. little endian, No boot or EMIF16(NOR FLASH) or UART boot, PLL configuration implies the input clock for core is 50MHz.
    SmartReflex VID= 57, required core voltage= 1.065V.
    Die ID= 0x0900b00e, 0x04045f77, 0x00000000, 0x7ad00021
    Device speed grade = 1000MHz.
    Enable Exception handling...
    Initialize DSP main clock = 100.00MHz/1x10 = 1000MHz
    check the if the DDR3 registers are mapped. If not, map it
    get dsp_board_type...
    DDR ECC is disabled.
    Initialize DDR speed = 66.67MHzx/1x20 = 1333.333MTS
    ======================== EVM_DDR_Init cycle:0 ========================
    uiRev=0x10000000
    initial vale for leveling
    before KeyStone_DDR_full_leveling
    DDR3 leveling has failed, STATUS = 0x40000064
    uirev=268435456,before KeyStone_DDR_read_incremental_leveling
    Memory pattern filling Test fails at 0x80000000, Write 0x0000000000000000, Readback 0x004a000000000000
      Read data at address 0x80000000 8 times again, get: 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x004b000000000000, 0x004b000000000000, 0x004b000000000000, 0x004b000000000000, 0x004b000000000000
      Write 0 again and read back 0x0000000000000000,  write 0xffffffffffffffff again and read back 0x0002ffffffff0000
    Memory pattern filling Test fails at 0x80000020, Write 0x0000000000000000, Readback 0x004b0000000000e9
      Read data at address 0x80000020 8 times again, get: 0x00000000000000ff, 0x004b0000000000ef, 0x004b0000000000ff, 0x004b0000000000ff, 0x004b0000000000ff, 0x004b0000000000ff, 0x004b0000000000ff, 0x00000000000000ff

    ......

      Memory Test fails at 0x80000470, Write 0x0000000100000001, Readback 0x0000000100000000
      Memory Test fails at 0x800004b0, Write 0x0000000100000001, Readback 0x0000000100000000
      Memory Test fails at 0x800004b8, Write 0x0000000100000001, Readback 0x0000000100000000
      Memory Test fails at 0x800004c0, Write 0xfffffffefffffffe, Readback 0x0002fffefffffffe
      Memory Test fails at 0x800004c8, Write 0xfffffffefffffffe, Readback 0x00fffffefffffffe
      Memory Test fails at 0x800004e0, Write 0xfffffffefffffffe, Readback 0xfffffffeffff00fe
      Memory Test fails at 0x800004e8, Write 0xfffffffefffffffe, Readback 0xfffffffeffff0001
      Memory Test fails at 0x800004f0, Write 0xfffffffefffffffe, Readback 0xff9ffffeffff0001
      Memory Test fails at 0x800004f8, Write 0xfffffffefffffffe, Readback 0xff00fffeffff0001
      Memory Test fails at 0x80000500, Write 0xfffffffefffffffe, Readback 0x0000fffefffffffe
      Memory Test fails at 0x80000508, Write 0xfffffffefffffffe, Readback 0x00fffffefffffffe
      Memory Test fails at 0x80000568, Write 0xfffffffefffffffe, Readback 0xfffffffeffff11fe
      Memory Test fails at 0x80000570, Write 0xfffffffefffffffe, Readback 0x4000fffeffff0042
     !!!Failed Memory Bit Walking at 2 units
    Passed Times:        0   Failed Times:        5
    Memory test complete at 1002475473 cycle

  • 1、请右击工程->properties->build->debug options 改成 full symbolic debug。
    2、我之前也在TMDSEVM6678L Rev.3B版本上测试过的,没有问题,应该不是DDR3型号的问题。有没有添加GEL文件?
  • 1.第一个问题解决了,谢谢。
    2.没有添加gel文件。
    添加gel文件,指的是在Terget Configutation文件里面的核上,添加initialzation script吗?
  • 是的。
  • 我在每一个核的初始化脚本都添加了文件evmc6678l.gel,debug运行memory_test工程,结构还是fail。你说你的工程可以通过,能打包发给我试一下嘛,谢谢。
  • 这个fail有没有是因为参数和实际布线长不一致造成的吗?
    另外,我能从哪里知道布线长从而利用excel计算出配置的参数呢?
  • 将工程里的KeyStone_DDR_init (66.66667, 20, 1, &DDR_ECC_cfg)屏蔽,在添加GEL文件的情况下,再跑一下看看。
x 出现错误。请重试或与管理员联系。