mem_test.c
来自「davincievm 6446 記憶體DDR撿測」· C语言 代码 · 共 89 行
C
89 行
/*
* Copyright 2005 by Spectrum Digital Incorporated.
* All rights reserved. Property of Spectrum Digital Incorporated.
*
* Not for distribution.
*/
/*
* Memory Test
*
*/
#include "davincievm.h"
Uint32 memfill32( Uint32 start, Uint32 len, Uint32 val )
{
Uint32 i;
Uint32 end = start + len;
Uint32 errorcount = 0;
/* Write Pattern */
for ( i = start; i < end; i += 4 )
{
*( volatile Uint32* )i = val;
}
/* Read Pattern */
for ( i = start; i < end; i += 4 )
{
if ( *( volatile Uint32* )i != val )
{
errorcount++;
break;
}
}
return errorcount;
}
Uint32 memaddr32( Uint32 start, Uint32 len )
{
Uint32 i;
Uint32 end = start + len;
Uint32 errorcount = 0;
/* Write Pattern */
for ( i = start; i < end; i += 4 )
{
*( volatile Uint32* )i = i;
}
/* Read Pattern */
for ( i = start; i < end; i += 4 )
{
if ( *( volatile Uint32* )i != i )
{
errorcount++;
break;
}
}
return errorcount;
}
Uint32 meminvaddr32( Uint32 start, Uint32 len )
{
Uint32 i;
Uint32 end = start + len;
Uint32 errorcount = 0;
/* Write Pattern */
for ( i = start; i < end; i += 4 )
{
*( volatile Uint32* )i = ~i;
}
/* Read Pattern */
for ( i = start; i < end; i += 4 )
{
if ( *( volatile Uint32* )i != ~i )
{
errorcount++;
break;
}
}
return errorcount;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?