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

📄 norflashmain.c

📁 LPC2468实现norflash驱动
💻 C
字号:
/*****************************************************************************
 *   norflash_test.c:  External NOR FLASH test main C entry file for NXP 
 *   LPC23xx/24xx Family Microprocessors
 *
 *   Copyright(C) 2006, NXP Semiconductor
 *   All rights reserved.
 *
 *   History
 *   2006.07.14  ver 1.00    Prelimnary version, first Release
 *
******************************************************************************/
#include "LPC24xx.h"					/* LPC23xx/24xx definitions */
#include "type.h"
#include "irq.h"
#include "target.h"
#include "norflash.h"

#if FLASH_DEBUG								/* 在SDRAM.H中修改FLASH_DEBUG值 */
#include "../print/uart.h"
#endif

volatile WORD *pAddr;
WORD wBuffer[100];

/*****************************************************************************
**   Main Function  main()
******************************************************************************/
int main (void)
{
  DWORD i;
  volatile WORD *ip;
  DWORD NorFlashAdr;

  NORFLASHInit();

#if FLASH_DEBUG
  UARTInit(9600);
  printf("初始化UART0完成!.............\n");
  puts("初始化SDRAM完成!开始测试.............\n");
#endif

  if ( NORFLASHCheckID() == FALSE )
  {
#if FLASH_DEBUG
    puts("检查NOR FLASH ID错误..............\n");
#endif
	while ( 1 );		/* 校验ID出错*/
  }
	if(NORFLASHCheckID()==TRUE)
	{
#if FLASH_DEBUG
  puts("检查NOR FLASH ID正确..............\n");
#endif
    }

	pAddr = (WORD *)0x80000000;
	for(i = 0;i<100;i++)
	{
		wBuffer[i] = *pAddr;
		pAddr ++;
	}
  NORFLASHSectorErase(0);	//擦出第一个SECTOR
  //NORFLASHErase();		/* 正片擦出 */

  /* Write to flash with pattern 0xAA55 and 0xA55A */
  NorFlashAdr = 0;
  for ( i = 0; i < SECTOR_SIZE_SA0/2; i++ )
  {
	NORFLASHWriteWord( NorFlashAdr, 0xAA55 );
	NorFlashAdr++;
	NORFLASHWriteWord( NorFlashAdr, 0xA55A );
	NorFlashAdr++;
  }

  /* 校验数据 */
  NorFlashAdr = NOR_FLASH_BASE;
  for ( i = 0; i < SECTOR_SIZE_SA0/2; i+=2 )
  {
	ip  = GET_ADDR(i); 
	if ( (*ip & 0xFFFF) != 0xAA55 )
	{
#if FLASH_DEBUG
  	  puts("校验NOR FLASH错误..............\n");
#endif
	  while ( 1 );	/* 校验ID出错*/
	}
	ip  = GET_ADDR(i+1); 
	if ( (*ip & 0xFFFF) != 0xA55A )
	{
#if FLASH_DEBUG
  	  puts("校验NOR FLASH错误..............\n");
#endif
	  while ( 1 );	/* 校验ID出错*/
	}
  }
#if FLASH_DEBUG
  puts("NOR FLASH ID SECTER0 测试完成..............\n");
#endif
  while(1);
  return 0;
}

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

⌨️ 快捷键说明

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