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

📄 sdram_test.c

📁 IARSOURCECODE是基于LPC2478嵌入式软件IAR EWARM V4.42的应用实例代码
💻 C
字号:
#include "LPC2468.h"
#include "type.h"
#include "irq.h"
#include "target.h"
#include "timer.h"
#include "ex_sdram.h"
#include "uart0.h"

int main (void)
{
  volatile DWORD *wr_ptr;
  volatile BYTE *char_wr_ptr;
  volatile WORD *short_wr_ptr;
  DWORD  i,counter;

  TargetResetInit();
  UART0Init(9600);

  SDRAMInit();							// SDRAM初始化

  reset_timer(0);
  enable_timer(0);                                              // 启用定时器0计时

  /* SDRAM内容清0 */
  wr_ptr = (DWORD *)SDRAM_BASE_ADDR;
  char_wr_ptr = (BYTE *)wr_ptr;
  for ( i= 0; i < SDRAM_SIZE/4; i++ )
  {
	*wr_ptr++ = 0;
  }

  /* 按字节写,然后校验 */
  for (i=0; i<SDRAM_SIZE; i++)
  {
	*char_wr_ptr++ = 0xAA;
	*char_wr_ptr++ = 0x55;
	*char_wr_ptr++ = 0x5A;
	*char_wr_ptr++ = 0xA5;
  }
  wr_ptr = (DWORD *)SDRAM_BASE_ADDR;
  for ( i= 0; i < SDRAM_SIZE/4; i++ )
  {
	if ( *wr_ptr != 0xA55A55AA )				// 要注意端模式的设置
	{
	  UART0_puts("Byte Read/Write error!\r\n");		// 有错则打印信息并死锁
	  while ( 1 );	
	}
	wr_ptr++;
  }

  /* 半字写和校验 */
  wr_ptr = (DWORD *)SDRAM_BASE_ADDR;
  short_wr_ptr = (WORD *)wr_ptr;
  for ( i= 0; i < SDRAM_SIZE/4; i++ )
  {
	*wr_ptr++ = 0;
  }
  for (i=0; i<(SDRAM_SIZE/2); i++)
  {
	*short_wr_ptr++ = 0x5AA5;
	*short_wr_ptr++ = 0xAA55;
  }
  wr_ptr = (DWORD *)SDRAM_BASE_ADDR;
  for ( i= 0; i < SDRAM_SIZE/4; i++ )
  {
	if ( *wr_ptr != 0xAA555AA5 )	
	{
	  UART0_puts("Halfword Read/Write error!\r\n");	
	  while ( 1 );	
	}
	wr_ptr++;
  }

  /* 字写、校验 */
  wr_ptr = (DWORD *)SDRAM_BASE_ADDR;
  for ( i= 0; i < SDRAM_SIZE/4; i++ )
  {
	*wr_ptr++ = i;
  }
  wr_ptr = (DWORD *)SDRAM_BASE_ADDR;
  for ( i= 0; i < SDRAM_SIZE/4; i++ )
  {
	if ( *wr_ptr != i )	
	{
	  UART0_puts("Word Read/Write error!\r\n");	
          while(1);
	}
	wr_ptr++;
  }

  disable_timer(0);
  counter = T0TC/(Fpclk/1000000);              // 记录时间

  UART0_puts("SDRAM test successed!\r\nIt spend time : ");	
  UART0_PrintNum(counter,10);
  UART0_puts(" us.\r\n");

  return 0;
}


/*****************************************************************************
**                            End Of File
*****************************************************************************/

⌨️ 快捷键说明

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