#ifndef _SOFT_FLASH_ #define _SOFT_FLASH_ #include "stm32f4xx_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) /*内存分配 stm32f405rgt6 12个扇区 4个16kb,1个64kb,7个128kb 一页2kb bootloader: 0 - 32kb 0x8000000 - 0x80008000 升级标志位: 32kb 0x80008000 参数信息: 48kb - 64kb 0x800C0000 - 0x80100000 APP: 64kb - 1024kb 0x80100000 - 0x81000000 */ //升级标志位 #define FLASH_UPDATE_ADDR (uint32_t)0x8008000 //APP #define FLASH_APP_ADDR (uint32_t)0x8020000 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); #endif