📄 norflashmain.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 + -