亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ex_norflash.c

?? LPC23xx24xx-Example-Software-Package-fo-keil 包括所有的基本例程
?? C
字號:
/*****************************************************************************
 *   ex_norflash.c:  External FLASH memory module file for NXP LPC23xx/24xx 
 *	 Family Microprocessors
 *
 *   Copyright(C) 2006, NXP Semiconductor
 *   All rights reserved.
 *
 *   History
 *   2007.01.13  ver 1.00    Prelimnary version, first Release
 *
******************************************************************************/
#include "LPC23xx.h"				/* LPC23xx/24xx definitions */
#include "type.h"
#include "irq.h"
#include "target.h"
#include "ex_norflash.h"

/*****************************************************************************
** Function name:		delayMs
**
** Descriptions:		Start the timer delay in milo seconds
**						until elapsed
**
** parameters:			Delay value in milo second			 
** 						
** Returned value:		None
** 
*****************************************************************************/
void delayMs(DWORD delayInMs)
{
  /*
  * setup timer #1 for delay
  */
  T1TCR = 0x02;		/* reset timer */
  T1PR  = 0x00;		/* set prescaler to zero */
  T1MR0 = delayInMs * (Fpclk / 1000);
  T1IR  = 0xff;		/* reset all interrrupts */
  T1MCR = 0x04;		/* stop timer on match */
  T1TCR = 0x01;		/* start timer */
  
  /* wait until delay time has elapsed */
  while (T1TCR & 0x01);
  return;
}

/*****************************************************************************
** Function name:		delay
**
** Descriptions:		for loop delay
**
** parameters:			Delay value in nilo second range			 
** 						
** Returned value:		None
** 
*****************************************************************************/
void delay(DWORD delayCnt)
{
  DWORD i;

  for ( i = 0; i < delayCnt; i++ );
  return;
}

/*****************************************************************************
** Function name:		NORFLASHInit
**
** Descriptions:		initialize external NOR FLASH memory
**
** parameters:			None			 
** 						
** Returned value:		None
** 
*****************************************************************************/
void NORFLASHInit( void )
{
  /**************************************************************************
   * Initialize EMC for NOR FLASH
  **************************************************************************/
  EMC_CTRL = 0x00000001;

  PCONP  |= 0x00000800;		/* Turn On EMC PCLK */
  PINSEL4 = 0x50000000;
  PINSEL5 = 0x05050555;
  PINSEL6 = 0x55555555;
  PINSEL8 = 0x55555555;
  PINSEL9 = 0x50555555;

  delayMs(100);
  EMC_STA_CFG0      = 0x00000081;
  EMC_STA_WAITWEN0  = 0x2;
  EMC_STA_WAITOEN0  = 0x2;
  EMC_STA_WAITRD0   = 0x1f;
  EMC_STA_WAITPAGE0 = 0x1f;
  EMC_STA_WAITWR0   = 0x1f;
  EMC_STA_WAITTURN0 = 0xf;
  delayMs(10);
  return;
}

/*****************************************************************************
** Function name:		ToggleBitCheck
**
** Descriptions:		Toggle Bit check if the data is written or erased
**
** parameters:			Address and Expected data			 
** 						
** Returned value:		done(TRUE) or timeout(FALSE)
** 
*****************************************************************************/
DWORD ToggleBitCheck( DWORD Addr, WORD Data )
{
  volatile WORD *ip;
  WORD temp1, temp2;
  DWORD TimeOut = PROGRAM_TIMEOUT;

  while( TimeOut > 0 )
  {
	ip = GET_ADDR(Addr);
	temp1 = *ip;
	ip = GET_ADDR(Addr);
	temp2 = *ip;
  
	if ( (temp1 == temp2) && (temp1 == Data) )
	{
		return( TRUE );
	}
	TimeOut--;
  }
  return ( FALSE );
}

/*****************************************************************************
** Function name:		NORFLASHCheckID
**
** Descriptions:		Check ID from external NOR FLASH memory
**
** parameters:			None			 
** 						
** Returned value:		Flash ID read is correct or not
** 
*****************************************************************************/
DWORD NORFLASHCheckID( void )
{
  volatile WORD *ip;
  WORD SST_id1, SST_id2;

  /*  Issue the Software Product ID code to 39VF160   */
  ip  = GET_ADDR(0x5555);
  *ip = 0x00AA;
  ip  = GET_ADDR(0x2AAA);
  *ip = 0x0055;
  ip  = GET_ADDR(0x5555);
  *ip = 0x0090;
  delay(10);

  /* Read the product ID from 39VF160 */
  ip  = GET_ADDR(0x0000); 
  SST_id1 = *ip & 0x00FF;
  ip  = GET_ADDR(0x0001);
  SST_id2 = *ip;             

  /* Issue the Soffware Product ID Exit code thus returning the 39VF160 */
  /* to the read operating mode */
  ip  = GET_ADDR(0x5555);
  *ip = 0x00AA;
  ip  = GET_ADDR(0x2AAA);
  *ip = 0x0055;
  ip  = GET_ADDR(0x5555);
  *ip = 0x00F0;    
  delay(10);

  /* Check ID */
  if ((SST_id1 == SST_ID) && (SST_id2 ==SST_39VF160))
	return( TRUE );
  else
	return( FALSE );
}

/*****************************************************************************
** Function name:		NORFLASHErase
**
** Descriptions:		Erase external NOR FLASH memory
**
** parameters:			None			 
** 						
** Returned value:		None
** 
*****************************************************************************/
void NORFLASHErase( void ) 
{
  volatile WORD *ip;

  ip  = GET_ADDR(0x5555);
  *ip = 0x00AA;
  ip  = GET_ADDR(0x2AAA);
  *ip = 0x0055;
  ip  = GET_ADDR(0x5555);
  *ip = 0x0080;
  ip  = GET_ADDR(0x5555);
  *ip = 0x00AA;
  ip  = GET_ADDR(0x2AAA);
  *ip = 0x0055;
  ip  = GET_ADDR(0x5555);
  *ip = 0x0010;
  delayMs(100);
  return;

}

/*****************************************************************************
** Function name:		NORFLASHWriteWord
**
** Descriptions:		Program one 16-bit data into external NOR FLASH memory
**						This "WORD" for the external flash is 16 bits!!!
**
** parameters:			DWORD address and WORD data			 
** 						
** Returned value:		Written successful or not
** 
*****************************************************************************/
DWORD NORFLASHWriteWord( DWORD Addr, WORD Data ) 
{
  volatile WORD *ip;

  ip  = GET_ADDR(0x5555);
  *ip = 0x00AA;
  ip  = GET_ADDR(0x2aaa);
  *ip = 0x0055;
  ip  = GET_ADDR(0x5555);
  *ip = 0x00A0;
    
  ip = GET_ADDR(Addr);		/* Program 16-bit word */
  *ip = Data;
  return ( ToggleBitCheck( Addr, Data ) );

}

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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
最新日韩av在线| 欧美精品xxxxbbbb| 欧美视频完全免费看| 777欧美精品| 久久亚洲欧美国产精品乐播| 中文字幕亚洲综合久久菠萝蜜| 一区二区在线看| 免费一区二区视频| 成人国产精品免费| 欧美精品久久久久久久多人混战| 久久久亚洲精品一区二区三区| 亚洲视频每日更新| 久草这里只有精品视频| 91热门视频在线观看| 欧美一区二区精品在线| 国产精品久久久久桃色tv| 午夜精品福利一区二区三区av| 国产一区二区三区久久悠悠色av| 一本到不卡精品视频在线观看| 日韩欧美国产小视频| 国产精品国产自产拍高清av王其| 午夜精品免费在线观看| 成+人+亚洲+综合天堂| 制服丝袜中文字幕一区| 中文字幕一区在线观看| 久久精品999| 在线看国产日韩| 国产亚洲成aⅴ人片在线观看| 亚洲福利视频三区| 成人午夜激情在线| 精品三级在线观看| 五月天丁香久久| 99精品视频在线播放观看| 久久这里只有精品6| 日本系列欧美系列| 色狠狠色狠狠综合| 国产精品久久久久四虎| 精品亚洲成a人在线观看| 欧美日韩国产高清一区| 亚洲图片激情小说| 国产成人在线视频播放| 日韩一区二区三区在线| 一区二区三区美女视频| 国产91丝袜在线播放0| www精品美女久久久tv| 日韩黄色小视频| 91网上在线视频| 丝袜诱惑制服诱惑色一区在线观看| 韩国一区二区三区| 国产色婷婷亚洲99精品小说| 国内国产精品久久| 国产精品少妇自拍| 欧美伦理视频网站| 国产精品自在欧美一区| 中文字幕亚洲欧美在线不卡| 一本久久a久久精品亚洲| 久久国产精品99精品国产| 性久久久久久久久| 国产永久精品大片wwwapp| 91精品婷婷国产综合久久性色| 一区二区三区中文字幕电影 | 91丨九色丨国产丨porny| 欧美激情一区二区三区不卡| 国产一区二区三区免费观看| 精品久久久三级丝袜| 美女一区二区久久| 精品欧美一区二区久久 | 国产精品久久久久久久浪潮网站| 91丨porny丨蝌蚪视频| 国产精品乱码久久久久久| 高清不卡在线观看av| 国产精品美女久久福利网站| 岛国av在线一区| 中文字幕av一区二区三区| 国产成人aaa| 国产精品久久久久婷婷二区次| 99久久免费视频.com| 亚洲视频一区在线观看| 91国产视频在线观看| 亚洲电影你懂得| 欧美一级淫片007| 久88久久88久久久| 久久久久久久一区| 99久久亚洲一区二区三区青草| 亚洲品质自拍视频网站| 在线看国产一区| 日韩影院精彩在线| 久久网这里都是精品| 国产福利不卡视频| 综合激情网...| 欧美三级中文字幕| 免费一区二区视频| 国产日韩欧美不卡在线| 99久久国产综合精品色伊| 一区二区三区高清不卡| 91精品国产综合久久福利| 蜜桃视频在线观看一区| 国产欧美精品日韩区二区麻豆天美| 99久久国产综合色|国产精品| 亚洲一区二区黄色| 精品日韩在线一区| 成人国产视频在线观看| 午夜精品aaa| 久久久美女艺术照精彩视频福利播放| 国产高清不卡二三区| 亚洲欧美日韩国产中文在线| 欧美日本高清视频在线观看| 国内精品写真在线观看| 中文字幕日本不卡| 在线91免费看| 国产高清一区日本| 亚洲成a人片在线观看中文| 精品欧美一区二区三区精品久久 | 成人欧美一区二区三区在线播放| 日本精品视频一区二区| 免费成人深夜小野草| 中文一区一区三区高中清不卡| 欧美在线视频你懂得| 韩国毛片一区二区三区| 伊人色综合久久天天人手人婷| 日韩欧美成人激情| 91偷拍与自偷拍精品| 蜜桃av噜噜一区| 亚洲男人天堂一区| 精品国产免费一区二区三区四区 | 亚洲成人久久影院| 欧美国产丝袜视频| 欧美一区二区三区啪啪| 99久久精品国产导航| 青青草97国产精品免费观看| 中文字幕一区av| 欧美电影免费观看高清完整版在 | 日韩经典一区二区| 日韩一区中文字幕| 欧美精品一区二区三| 欧美性大战久久久久久久蜜臀| 国产精品99久| 日韩精品一区第一页| 亚洲欧美日韩中文播放 | 国产69精品久久99不卡| 蜜臀久久99精品久久久久久9| 亚洲素人一区二区| 国产欧美一区二区精品仙草咪| 欧美日韩国产精选| 色诱视频网站一区| 国产69精品一区二区亚洲孕妇| 美日韩一区二区三区| 亚洲乱码日产精品bd| 中文子幕无线码一区tr| 亚洲精品一区二区在线观看| 555夜色666亚洲国产免| 色婷婷精品大视频在线蜜桃视频 | 中文字幕一区二区日韩精品绯色| 欧美成人国产一区二区| 欧美日韩国产天堂| 91国偷自产一区二区开放时间| 丁香六月综合激情| 国产一区在线观看视频| 奇米综合一区二区三区精品视频 | 亚洲天堂成人在线观看| 国内精品免费**视频| 爽好久久久欧美精品| 麻豆久久久久久| 国产精品天美传媒沈樵| 亚洲成人免费在线| 亚洲一区二区在线观看视频| 中文字幕一区二区三区色视频| 欧美激情综合网| 久久久亚洲精华液精华液精华液| 制服丝袜国产精品| 欧美日本在线播放| 欧美日韩亚洲高清一区二区| 在线中文字幕不卡| 在线观看视频欧美| 欧美色中文字幕| 在线观看不卡视频| 在线看日本不卡| 欧美日韩精品三区| 欧美日韩一本到| 欧美日韩精品综合在线| 欧美日韩精品一区二区在线播放| 欧美日韩在线免费视频| 色94色欧美sute亚洲线路二| 91美女蜜桃在线| 91福利视频网站| 精品污污网站免费看| 欧美人xxxx| 91精品久久久久久蜜臀| 日韩三级视频在线看| 日韩欧美视频在线| 久久婷婷一区二区三区| 国产欧美视频一区二区三区| 欧美激情在线一区二区| 中文字幕一区二区三区在线观看| 亚洲四区在线观看| 亚洲影视资源网| 免费人成精品欧美精品| 国产一区二区三区在线观看免费 | 久久综合资源网| 国产日韩亚洲欧美综合|