关于DM365的DDR测试问题
关于DM365的DDR测试问题:我的DDR测试通不过,可能原因在哪? 无图无码无真相 测试结果:01Testing DDR...
> Data test (quick)
> Error = 0xf
> Addr test (quick)
A16 (X) A17 (X) A18 (X) A19 (X) A20 (X) A21 (X) A22 (X) A23 (X) A24 (X) A25 (X) A26 (X)
> Inv addr test (quick)
A16 (X) A17 (X) A18 (X) A19 (X) A20 (X) A21 (X) A22 (X) A23 (X) A24 (X) A25 (X) A26 (X)
FAIL... error code 367... quitting Uint32 ddr_test( )
{
Int16 i, errors = 0;
ddr_base = 0x80000000; // DDR memory
ddr_size = 0x00040000; // 1 MB
printf( "> Data test (quick)\n" );
if ( memfill32( ddr_base, ddr_size, 0xFFFFFFFF ) )
errors += 1;
if ( memfill32( ddr_base, ddr_size, 0xAAAAAAAA ) )
errors += 2;
if ( memfill32( ddr_base, ddr_size, 0x55555555 ) )
errors += 4;
if ( memfill32( ddr_base, ddr_size, 0x00000000 ) )
errors += 8;
if ( errors )
printf( " > Error = 0x%x\n", errors );
ddr_base = 0x80000000; // DDR memory
ddr_size = 0x04000000;//0x07ff0000; // 127 MB0x08000000--128MB
printf( "> Addr test (quick)\n " );
for (i = 0; i < 11; i++)
{
printf("A%d ", i + 16);
if ( memaddr32( ddr_base + (0x10000 << i), 0x10000 ) )
{
printf("(X) ");
errors += 16;
}
}
printf("\n");
printf( "> Inv addr test (quick)\n " );
for (i = 0; i < 11; i++)
{
printf("A%d ", i + 16);
if ( meminvaddr32( ddr_base + (0x10000 << i), 0x10000 ) )
{
printf("(X) ");
errors += 16;
}
}
printf("\n");
return errors;
} 附上 源代码 希望大家能分析一下
还有 就是 我在VEM板上 有时DDR测试能顺利 通过 ,有时候则不能,为什么? 同问!! 是什么测试通不过 详细点 有时能通过,有时通不过,会不会是布线上的问题,有接匹配电阻吗
页:
[1]