www.pudn.com > arm_uDisk.rar > MEMTEST.C


/********************************************* 
  NAME: memtest.c 
  DESC: test SDRAM of SMDK2410 b/d 
  HISTORY: 
  03.27.2002:purnnamu: first release 
 *********************************************/ 
 
#include "def.h" 
#include "option.h" 
#include "2410addr.h" 
#include "2410lib.h" 
#include "2410slib.h" 
#include "mmu.h" 
 
 
void SDRAMTest(void) 
{ 
    int i=0; 
    U32 data; 
    short int memError=0; 
    U32 *pt; 
     
//    Uart_Printf("\n\nSDRAM Memory Test(%xh-%xh):WR",_SDRAM_STARTADDRESS,_SDRAM_STARTADDRESS + _SDRAM_DOWNLOADSIZE); 
    pt=(U32 *)_SDRAM_STARTADDRESS; 
    while((U32)pt < (_SDRAM_STARTADDRESS + _SDRAM_DOWNLOADSIZE)) 
    { 
		*pt=(U32)pt;//*pt=i; 
		//i=i+4; 
		pt++; 
    } 
 
//    Uart_Printf("\b\bRD"); 
    pt=(U32 *)_SDRAM_STARTADDRESS; 
	i=0; 
    while((U32)pt < (_SDRAM_STARTADDRESS + _SDRAM_DOWNLOADSIZE)) 
    { 
		data=*pt; 
		if(data != (U32)pt) 
		{ 
		    memError=1; 
//		    Uart_Printf("\b\bSDRAM test fail at :0x%x=0x%x\n",pt,data); 
		    break; 
		} 
		//Uart_Printf("\b\b 0x%x=0x%x\n",pt,data); 
		pt++; 
		//i=i+4; 
    } 
	pt--; 
    if(memError==0) 
    { 
//    	Uart_Printf("\b\bSDRAM test O.K.\n"); 
    	Led(LEDALL_OFF); 
    	Led(LED1_ON); 
    } 
	//Uart_Printf("\n 0x%x=0x%x\n",pt,data); 
} 
 
void SRAMTest(void) 
{ 
    int i=0; 
    U32 data; 
    short int memError=0; 
    U32 *pt; 
 
    i=0; 
    memError=0; 
//    Uart_Printf("\n\nSRAM Memory Test(%xh-%xh):WR",_SRAM_STARTADDRESS,_SRAM_ENDADDRESS); 
 
    pt=(U32 *)_SRAM_STARTADDRESS; 
    while((U32)pt < (_SRAM_ENDADDRESS)) 
    { 
		*pt=(U32)pt; 
		i++; 
		pt++; 
    } 
 
//    Uart_Printf("\b\bRD"); 
    pt=(U32 *)_SRAM_STARTADDRESS; 
	i=0; 
    while((U32)pt < (_SRAM_ENDADDRESS)) 
    { 
		data=*pt; 
		if(data!=(U32)pt) 
		{ 
		    memError=1; 
//		    Uart_Printf("\b\bSRAM test fail at :0x%x=0x%x\n",pt,data); 
		    break; 
		} 
		pt++; 
		i++; 
    } 
 
    if(memError==0) 
    { 
//    	Uart_Printf("\b\bSRAM test O.K.\n");     
    	Led(LEDALL_OFF); 
    	Led(LED2_ON); 
    }    	 
	//Uart_Printf("\n 0x%x=0x%x\n",pt,data);   
}