#ifndef _EEPROM_H_ #define _EEPROM_H_ #include "port.h" ///////////////////////////////////////////////////////////////////////// #define SECTOR_SIZE 2048UL //1K双字节 #define BOOTLOADER_INFO (APP_ADDR-0x1000) //留两个扇区作为信息保存区域 #define NEW_APPINFO (APP_ADDR-0x800) // #define APP_ADDR 0x8010000UL //APP #define STARTADDR 0x8040000UL //接收到的数据块备份区域 ///////////////////////////////////////////////////////////////////////// #define NewAPPInfoAddr (APP_ADDR-0x800) // #define RunAPPInfoAddr (APP_ADDR-0x1000) ////留两个扇区作为信息保存区域 typedef struct { uint16_t CRCValue; uint32_t length; uint8_t HW_VER[20]; uint8_t SW_VER[20]; }APP_VER; extern const APP_VER RUNAPPVer ; extern const APP_VER NEWAPPVer ; ///////////////////////////////////////////////////////////////////////// #define IAP_DISABLE FLASH_Lock #define IAP_ENABLE FLASH_Unlock ///////////////////////////////////////////////////////////////////////// u16 EEHalfWord_Read(u32 EEAddr) ; void EESector_Erase(u32 EEAddr); void EEHalfWord_Write(u32 EEAddr,u16 EEData); //返回0 ,写入失败 uint32_t EEWriteStruct(void* pBuf,uint32_t cLen,uint32_t iAddr); //写入结构体 void EEReadStruct(void* pBuf,uint32_t cLen,uint32_t Addr); //读取结构体 void Flash_ProtectMode(u32 *ProtectedPages); #endif