⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 S3C2440芯片ARM嵌入式平台的64MB的SDRAM测试程序
💻 C
字号:
/************************************************
*文件名:main.c
*版  本:V1.0
*功  能:SDRAM test
*创  建:储茂祥
************************************************/
#include "2440addr.h"
#include "def.h"
void delay(unsigned int);
void MemoryTest(void);
int memError;
int main()
{
    unsigned int * led;
    memError=0;
    
    rGPFCON=0x0100; //GPF4: TEST LED
    rGPFUP=0xff;
    rGPCCON=0x0001; //GPC0: RUN LED
    rGPCUP=0xff;
    
    led[0]=0x10;
    led[1]=0x01;
    
    rGPFDAT=led[0];
    rGPCDAT=led[1];
    
    MemoryTest();
    while(1)
    {
        if(memError) //SDRAM读写数据出现错误:LED闪烁
        {
            rGPFDAT=led[0];
            rGPCDAT=0x00;
            delay(10);
            rGPFDAT=0x00;
            rGPCDAT=led[1];
            delay(10);
        }
        else
        {
            rGPCDAT=0x00;
            rGPFDAT=0x00;
        }
    }
    return(0);
}

void delay(unsigned int x)
{
    unsigned int i,j,k;
    for(i=0;i<x;i++)
        for(j=0;j<200;j++)
            for(k=0;k<200;k++);
}
 
void MemoryTest(void)
{
    U32 data;
    U32 *pt;
    
    pt=(U32 *)0x30000000;
    while((U32)pt<0x34000000)
    //pt=(U32 *)0x00000D00;
    //while((U32)pt<0x00000DFF)
    {
	    *pt=(U32)pt;
	    pt++;
    }
    pt=(U32 *)0x30000000;
    while((U32)pt<0x34000000)
    //pt=(U32 *)0x00000D00;
    //while((U32)pt<0x00000DFF)
    {
	    data=*pt;
	    if(data!=(U32)pt)
	    {
	        memError=1;
	        break;
	    }
	    pt++;
    }
}

 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -