#ifndef __Drv_IAP__
#define __Drv_IAP__

//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 預定義 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#define  	IAPWRLENGHT			    64		// One Page
#define     IAPWRSTARTADDRESS       0x2700


#define 	PAGE_ERASE_MODE		0x90		// 塊擦除模式
#define 	READ_FLASH_MODE		0x32		// 讀Flash模式
#define 	ENABLE_FWEN_MODE	0x68 		// 寫功能使能模式
#define 	WRITE_FLASH_MODE	0x80		// 寫Flash模式
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 共用變量 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
static volatile unsigned int Flash_WR_Buff[IAPWRLENGHT] __attribute__((at(0x280)));

//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 共用函數 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
unsigned char Drv_WriteFlashRom(unsigned int FlashAddr,unsigned char FlashLength);
unsigned char Drv_Erase_Page(unsigned int EPage_Addr,unsigned char EPage_Length);
unsigned int Drv_ReadFlashRom(unsigned int FlashAddr);


#endif