85 lines
2.6 KiB
C
85 lines
2.6 KiB
C
#ifndef __MCU_FLASH_H
|
|
#define __MCU_FLASH_H
|
|
|
|
|
|
#define XRAM_MAP_ADDR 0x0000
|
|
#define MCUFLASH_BK1_ADDR 0x0000
|
|
#define MCUFLASH_BK2_ADDR (MCUFLASH_BK1_ADDR + 512)
|
|
#define MCUFLASH_BK1_FLG_ADDR (MCUFLASH_BK1_ADDR + 510)
|
|
#define MCUFLASH_BK2_FLG_ADDR (MCUFLASH_BK2_ADDR + 510)
|
|
#define MCUFLASH_SECTOR_SIZE 512 //1Sector的长度为512字节
|
|
|
|
#define MCU_FLASH_WATI_DELAY 2
|
|
|
|
/**************************************************************************************/
|
|
//MCU Flash中区块地址定义
|
|
/**************************************************************************************/
|
|
//系统信息区开始 SubClassID=0x00
|
|
#define SYS_PARA_MAP_ADDR XRAM_MAP_ADDR
|
|
#define SYS_PARA_LEN 48
|
|
|
|
//用户自定义参数区开始 SubClassID=0x01
|
|
#define SYSINFO_MAP_ADDR (SYS_PARA_MAP_ADDR+SYS_PARA_LEN)
|
|
#define SYSINFO_LEN 50
|
|
|
|
//充电参数区开始 SubClassID=0x02
|
|
#define CHG_PARA_MAP_ADDR (SYSINFO_MAP_ADDR+SYSINFO_LEN)
|
|
#define CHG_PARA_LEN 18
|
|
|
|
//放电参数区开始 SubClassID=0x03
|
|
#define DSG_PARA_MAP_ADDR (CHG_PARA_MAP_ADDR+CHG_PARA_LEN)
|
|
#define DSG_PARA_LEN 21
|
|
|
|
//预留参数区开始 SubClassID=0x04
|
|
//Reserved
|
|
|
|
//放电PWM参数区开始 SubClassID=0x05
|
|
#define DSG_PWM_PARA_MAP_ADDR (DSG_PARA_MAP_ADDR+DSG_PARA_LEN)
|
|
#define DSG_PWM_PARA_LEN 5
|
|
|
|
//充电温度保护参数开始 SubClassID=0x06
|
|
#define CHG_TEMP_PARA_MAP_ADDR (DSG_PWM_PARA_MAP_ADDR+DSG_PWM_PARA_LEN)
|
|
#define CHG_TEMP_PARA_LEN 11
|
|
|
|
//放电温度保护参数开始 SubClassID=0x07
|
|
#define DSG_TEMP_PARA_MAP_ADDR (CHG_TEMP_PARA_MAP_ADDR+CHG_TEMP_PARA_LEN)
|
|
#define DSG_TEMP_PARA_LEN 9
|
|
|
|
//平衡参数区开始 SubClassID=0x08
|
|
#define BAL_PARA_MAP_ADDR (DSG_TEMP_PARA_MAP_ADDR+DSG_TEMP_PARA_LEN)
|
|
#define BAL_PARA_LEN 8
|
|
|
|
//容量统计参数开始 SubClassID=0x09
|
|
#define SOC_PARA_MAP_ADDR (BAL_PARA_MAP_ADDR+BAL_PARA_LEN)
|
|
#define SOC_PARA_LEN 17
|
|
|
|
//AFE参数区开始 SubClassID=0x0A
|
|
#define AFE_PARA_MAP_ADDR (SOC_PARA_MAP_ADDR+SOC_PARA_LEN)
|
|
#define AFE_PARA_LEN 4
|
|
|
|
//校准参数区开始 SubClassID=0x0B
|
|
#define CALI_PARA_MAP_ADDR (AFE_PARA_MAP_ADDR+AFE_PARA_LEN)
|
|
#define CALI_PARA_LEN 12
|
|
|
|
#define RESERVED_DATA_MAP_ADDR (CALI_PARA_MAP_ADDR+CALI_PARA_LEN)
|
|
#define RESERVED_DATA_LEN (510-(RESERVED_DATA_MAP_ADDR))
|
|
|
|
#define DataflashCheck_Map_ADDR 0xfe
|
|
#define DataflashCheck_LEN 0x0002
|
|
|
|
|
|
extern BOOL bMcuFlashWrWaitFlg;
|
|
extern BOOL bMcuFlashWrFlg;
|
|
extern BOOL bMcuFlashErr;
|
|
extern U8 xdata ucMcuFlashWrValid;
|
|
extern U8 xdata bMcuFlashWrWaitCnt;
|
|
|
|
extern BOOL McuFlashRead(U16 SourceAddr, U8 xdata *TargetAddr, U16 Length);
|
|
extern BOOL McuFlashWrite(U16 McuFlashAddr, U16 XramAddr);
|
|
extern void McuFlashWrOneByte(U16 McuFlashAddr,U8 WrData);
|
|
extern void McuFlashProcess(void);
|
|
extern void McuFlashWrWaitCheck(void);
|
|
extern BOOL McuFlashCheckFlg(U16 Saddr);
|
|
|
|
|
|
#endif |