📄 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);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -