memory.c
来自「smdk40100 40mhz test code」· C语言 代码 · 共 89 行
C
89 行
#include <string.h>
#include "..\include\k401.h"
#include "..\include\k401lib.h"
#include "..\include\memory.h"
#define SRAM_STARTADDRESS 0x100000
#define SRAM_ENDADDRESS 0x180000
int Test_Sram(void)
{
int i,j;
int memError=0;
Uart_Printf("SRAM Interface Test\n");
Uart_Printf("SRAM Memory Test(0x%x-0x%x);WR",SRAM_STARTADDRESS,SRAM_ENDADDRESS);
for(i=SRAM_STARTADDRESS;i<SRAM_ENDADDRESS;i+=4)
*((volatile unsigned *)i)=i;
Uart_Printf("\b\bRD");
for(i=SRAM_STARTADDRESS;i<SRAM_ENDADDRESS;i+=4)
{
j=*((volatile unsigned *)i);
if(j!=i)
{
memError=1;
Uart_Printf("Fail Address=0x%x, value=0x%x",i,j);
}
}
if(memError==0)
{
Uart_Printf("\b\bO.K.!!!!\n");
return 1;
}
else
{
Uart_Printf("\b\bFail!!!!\n");
return 0;
}
}
int Test_Sdram(void)
{
int i,j;
int memError=0;
unsigned int *dst;
dst=(unsigned int *)malloc(0x100000);
Uart_Printf("SDRAM Interface Test\n");
Uart_Printf("SDRAM Memory Test:0x%x;WR",dst);
for(i=(int)dst;i<(int)(dst+0x100000);i+=4)
{
*((volatile unsigned *)i)=i;
j=*((volatile unsigned *)i);
if(j!=i)
{
memError=1;
Uart_Printf("Fail Address=0x%x, value=0x%x",i,j);
}
}
/*
Uart_Printf("\b\bRD");
for(i=SRAM_STARTADDRESS;i<SRAM_ENDADDRESS;i+=4)
{
j=*((volatile unsigned *)i);
if(j!=i)
{
memError=1;
Uart_Printf("Fail Address=0x%x, value=0x%x",i,j);
}
}*/
free(dst);
if(memError==0)
{
Uart_Printf("\b\bO.K.!!!!\n");
return 1;
}
else
{
Uart_Printf("\b\bFail!!!!\n");
return 0;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?