dm642main.c

来自「奇想达QXD-DM642开发板提供的SDRAM读写源码。」· C语言 代码 · 共 73 行

C
73
字号
/******************************************************/
/*  深圳市奇想达科技有限公司QXD-DM642开发板源程序     */
/*  网址:http://www.szqxd.com						  */
/******************************************************/


#include <csl.h>
#include <csl_dat.h>
#include <csl_edma.h>
#include "emiface0cfg.h"
#include "stdio.h"

/* definitions */
#define MEM_SRC     0x00080000        /* Source address */
#define SDRAM_ADDR  0x80000000        /* Destination address*/
#define length      0x00800000        
/* prototypes */
void wait(void);
int check_data(unsigned int);

/**************************************main***********************************/
/* Main code body.                                                           */
/*****************************************************************************/
void main(void)
{
   int i,j=0;

   EMIFA_config(&emifaCfg0);
   for(i=0;i<length;i++)
     *(int *) (SDRAM_ADDR+(i<<2)) = 0x12345678;
   for (i = 0; i < length; i++)
   {
      if (*(int *) (SDRAM_ADDR+(i<<2)) != 0x12345678)
         {
            printf(" SDRAM is ERR! 0x12345678 %x\n",i);
            j=1;
         }  
   }        
   if(j==0)
      printf(" SDRAM is OK! 0x12345678\n");
   for(i=0;i<length;i++)
      *(int *) (SDRAM_ADDR+(i<<2)) = 0x87654321;
   for (i = 0; i < length; i++)
   {
      if (*(int *) (SDRAM_ADDR+(i<<2)) != 0x87654321)
         {
            printf(" SDRAM is ERR! 0x87654321 %x\n",i);
            j=1;
         }  
   }        
   if(j==0)
      printf(" SDRAM is OK! 0x87654321\n");
   for(i=0;i<length;i++)
     
     *(int *) (SDRAM_ADDR+(i<<2)) = i;
   for (i = 0; i < length; i++)
   {
      if (*(int *) (SDRAM_ADDR+(i<<2)) != i)
         {
            printf(" SDRAM is ERR! i %x\n",i);
            j=1;
         }  
   }        
   if(j==0)
      printf(" SDRAM is OK! \n");
} 






⌨️ 快捷键说明

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