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 MB 0x08000000--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;
}
|