97 lines
3.5 KiB
C
97 lines
3.5 KiB
C
|
/*******************************************************************************
|
|||
|
<EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> (C), 2018,<EFBFBD><EFBFBD>ӱ<EFBFBD><EFBFBD><EFBFBD>ӹɷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˾
|
|||
|
********************************************************************************/
|
|||
|
#ifndef __FLASH_H__
|
|||
|
#define __FLASH_H__
|
|||
|
#include "C51_TYPE.H"
|
|||
|
|
|||
|
#define MCU_TYPE_CODE 0x00
|
|||
|
#define MCU_TYPE_E2P 0x01
|
|||
|
|
|||
|
#define BOOT_PGR_OK 0x00
|
|||
|
#define BOOT_PGR_ERASE_ERR 0x01
|
|||
|
#define BOOT_PGR_WR_ERR 0x02
|
|||
|
|
|||
|
#define BootMcuWdtClear() RSTSTAT &= 0xF8; //<2F>忴<EFBFBD>Ź<EFBFBD>
|
|||
|
/******************************************************************************
|
|||
|
MCU <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>64K
|
|||
|
Boot<EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD>4K (0x0000~0x0FFF)
|
|||
|
App<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD>29K (0x1000~0x83FF)
|
|||
|
App<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD>30K (0x8400~0xFBFF) CODE<EFBFBD>Ͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CODE<EFBFBD><EFBFBD>
|
|||
|
App<EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD>1K (0xFC00~0xFFFF)
|
|||
|
*******************************************************************************/
|
|||
|
#define MCU_CODE_SECTOR_SIZE ((U32)0x200)
|
|||
|
|
|||
|
#define BOOT_CODE_START_ADDR ((U32)0x0000) //BOOT<4F><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ַ
|
|||
|
#define BOOT_CODE_SIZE ((U32)4*1024) //BOOT<4F><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ַ
|
|||
|
|
|||
|
#define IAP_CODE_START_ADDR ((U32)BOOT_CODE_START_ADDR+BOOT_CODE_SIZE)//APP<50><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ַ
|
|||
|
#define IAP_CODE_SIZE ((U32)29*1024) //APP<50><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>29K
|
|||
|
#define IAP_CODE_END_ADDR ((U32)IAP_CODE_START_ADDR+IAP_CODE_SIZE-1)
|
|||
|
|
|||
|
#define IAP_BK_CODE_START_ADDR ((U32)IAP_CODE_START_ADDR+IAP_CODE_SIZE) //APP<50><50><EFBFBD><EFBFBD><F2B1B8B7><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ַ
|
|||
|
#define IAP_BK_CODE_SIZE ((U32)30*1024) //APP<50><50><EFBFBD><EFBFBD><F2B1B8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|||
|
#define IAP_BK_CODE_END_ADDR ((U32)IAP_BK_CODE_START_ADDR+IAP_BK_CODE_SIZE-1)
|
|||
|
|
|||
|
#define APP_PARA_START_ADDR ((U32)0x0000) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ַ--EEPROM<4F><4D>ַ<EFBFBD><D6B7>0<EFBFBD><30>ʼ
|
|||
|
#define APP_PARA_SIZE ((U32)1*1024) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1K
|
|||
|
|
|||
|
#define BOOT_FLG_START_ADDR ((U32)BOOT_CODE_START_ADDR+BOOT_CODE_SIZE-MCU_CODE_SECTOR_SIZE)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>BOOT<4F><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31>Sector
|
|||
|
#define BOOT_FLG_IAP_ADDR ((U32)BOOT_FLG_START_ADDR+MCU_CODE_SECTOR_SIZE-1) //IAP<41><50>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD>־Sector<6F><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ֽ<EFBFBD>
|
|||
|
#define BOOT_FLG_ISP_ADDR ((U32)BOOT_FLG_START_ADDR+MCU_CODE_SECTOR_SIZE-1) //IAP<41><50>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD>־Sector<6F><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ֽ<EFBFBD>
|
|||
|
|
|||
|
#define ISP_CODE_START_ADDR ((U32)IAP_CODE_START_ADDR) //APP<50><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ַ
|
|||
|
#define ISP_CODE_SIZE ((U32)59*1024) //APP<50><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>59K<39><4B><EFBFBD><EFBFBD>1K<31>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
extern U8 ucMcuFlashWrValid;
|
|||
|
|
|||
|
extern U8 McuFlashRdOneByte(U32 xdata McuFlashAddr, U8 xdata McuType);
|
|||
|
extern void McuFlashEraseSector(U32 xdata McuFlashAddr, U8 xdata McuType);
|
|||
|
extern BOOL McuFlashBlankCheck(U32 xdata McuFlashAddr, U8 xdata McuType);
|
|||
|
extern void McuFlashWrOneByte(U32 xdata McuFlashAddr, U8 xdata WrData, U8 xdata McuType);
|
|||
|
extern BOOL BootUpgradeCode(void);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
#endif
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
//#define MCU_CODE_SECTOR_SIZE ((U32)0x200)
|
|||
|
|
|||
|
//#define BOOT_CODE_START_ADDR ((U32)0x0000) //BOOT<4F><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ַ
|
|||
|
//#define BOOT_CODE_SIZE ((U32)4*1024) //BOOT<4F><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ַ
|
|||
|
|
|||
|
//#define IAP_CODE_START_ADDR (0x0000+4096)//APP<50><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ַ
|
|||
|
//#define IAP_CODE_SIZE ((U32)29*1024) //APP<50><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>29K
|
|||
|
//#define IAP_CODE_END_ADDR (4096+29K-1)
|
|||
|
|
|||
|
//#define IAP_BK_CODE_START_ADDR (4096+29K) //APP<50><50><EFBFBD><EFBFBD><F2B1B8B7><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ַ
|
|||
|
//#define IAP_BK_CODE_SIZE ((U32)30*1024) //APP<50><50><EFBFBD><EFBFBD><F2B1B8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|||
|
//#define IAP_BK_CODE_END_ADDR (33K+30K-1)
|
|||
|
|
|||
|
//#define APP_PARA_START_ADDR ((U32)0x0000) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ַ--EEPROM<4F><4D>ַ<EFBFBD><D6B7>0<EFBFBD><30>ʼ
|
|||
|
//#define APP_PARA_SIZE ((U32)1*1024) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1K
|
|||
|
|
|||
|
//#define BOOT_FLG_START_ADDR (0x0000+4096-0x200)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>BOOT<4F><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31>Sector
|
|||
|
//#define BOOT_FLG_IAP_ADDR (3.5K+0x200-1) //IAP<41><50>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD>־Sector<6F><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ֽ<EFBFBD>
|
|||
|
//#define BOOT_FLG_ISP_ADDR (3.5K+0x200-1) //IAP<41><50>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD>־Sector<6F><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ֽ<EFBFBD>
|
|||
|
|
|||
|
//#define ISP_CODE_START_ADDR (4096) //APP<50><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ַ
|
|||
|
//#define ISP_CODE_SIZE ((U32)59*1024) //APP<50><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>60K<30><4B><EFBFBD><EFBFBD>1K<31>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|