📄 sdram.c
字号:
#include <stdio.h>
#include <stdlib.h>
#include "melody.h"
// Define SDRAM Length (current is 64MB)
//#define SDRAM_SIZE 0x4000000
// Define SDRAM Length (current is 48MB)
#define SDRAM_SIZE 0x3000000
#define SDRAM_START 0x08000000
void main()
{
FILE *fp;
int dwLen = 0;
volatile DWORD *pWalk = (volatile DWORD *)SDRAM_START;
DWORD i = 0;
printf("SDRAM Test Begin!\r\n");
// ONE DWORD TEST
if (*pWalk == 0)
{
*pWalk = 0xFFFFFFFF;
if (*pWalk != 0xFFFFFFFF)
{
printf("Failed!\r\n");
printf("Address: 0x%08x, Write: 0xFFFFFFFF, Read: 0x%08x\r\n", pWalk, *pWalk);
goto EXIT;
}
}
else
{
*pWalk = 0x0;
if (*pWalk != 0)
{
printf("Failed!\r\n");
printf("Address: 0x%08x, Write: 0x00000000, Read: 0x%08x\r\n", pWalk, *pWalk);
goto EXIT;
}
}
/*********** Initialize SDARM **************/
printf("Initialize SDRAM to zero...");
while (dwLen < SDRAM_SIZE)
{
*pWalk++ = 0;
dwLen += 4;
}
printf("OK\r\n");
/*********** Decrease Verify ***************/
printf("Begin Decrease Verify!\r\n");
// Write Data
i = 0xFFFFFFFF;
dwLen = 0;
pWalk = (volatile DWORD *)SDRAM_START;
while (dwLen < SDRAM_SIZE)
{
*pWalk++ = i;
dwLen += 4;
i--;
}
// Verify Data
i = 0xFFFFFFFF;
dwLen = 0;
pWalk = (volatile DWORD *)SDRAM_START;
while (dwLen < SDRAM_SIZE)
{
if (*pWalk != i)
{
printf("Decrease Verify failed!\r\n");
printf("First Error location, Address: 0x%08x, Write: 0x%08x, Read: 0x%08x\r\n", pWalk, i, *pWalk);
goto EXIT;
}
pWalk++;
dwLen += 4;
i--;
}
printf("Decrease OK!\r\n");
/************ Increase Verify ***************/
printf("Begin Increase Verify!\r\n");
// Write Data
i = 0;
dwLen = 0;
pWalk = (volatile DWORD *)SDRAM_START;
while (dwLen < SDRAM_SIZE)
{
*pWalk++ = i;
dwLen += 4;
i++;
}
// Verify Data
i = 0;
dwLen = 0;
pWalk = (volatile DWORD *)SDRAM_START;
while (dwLen < SDRAM_SIZE)
{
if (*pWalk != i)
{
printf("Increase Verify failed!\r\n");
printf("First Error location, Address: 0x%08x, Write: 0x%08x, Read: 0x%08x\r\n", pWalk, i, *pWalk);
goto EXIT;
}
pWalk++;
dwLen += 4;
i++;
}
printf("Increase OK!\r\n");
EXIT:
printf("SDRAM Test End!\r\n");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -