#ifndef _SOFT_FLASH_ #define _SOFT_FLASH_ #include "stm32f3xx_hal.h" #include "stdbool.h" #define IAP_FLAG ((uint16_t)0xABCD) #define ERASE_FAIL ((uint32_t)1) #define WRITE_FAIL ((uint32_t)2) #define WRITE_SUCCESS ((uint32_t)3) /*内存规划 0-24kb bootloader 0----0x8006000 24 - 26 flash标志位 0x8006000---- 0x8006800 26 -30kb flash 参数 0x8006800 ---- 0x8007800 30 - 256 APP 0x8007800 ---0x8040000 */ //升级标志位 #define FLASH_UPDATE_ADDR (uint32_t)0x8006000 //APP #define FLASH_APP_ADDR (uint32_t)0x8007800 //APP参数 #define FLASH_APP_PAR_ADDR (uint32_t)0x8006800 extern int pmu_sn; extern int pmu_hardversion; uint32_t flash_read_updata_flag(void); uint32_t Flash_WriteData(uint32_t ,uint16_t *,uint16_t ); uint16_t ReadFlashNBtye(uint32_t, uint16_t *, int32_t ); bool wirte_update_flag(void); void flash_ready_SN_and_VERSION(void); #endif