soft_flash.h 903 B

123456789101112131415161718192021222324252627282930313233343536
  1. #ifndef _SOFT_FLASH_
  2. #define _SOFT_FLASH_
  3. #include "stm32f3xx_hal.h"
  4. #include "stdbool.h"
  5. #define IAP_FLAG ((uint16_t)0xABCD)
  6. #define ERASE_FAIL ((uint32_t)1)
  7. #define WRITE_FAIL ((uint32_t)2)
  8. #define WRITE_SUCCESS ((uint32_t)3)
  9. /*内存规划
  10. 0-24kb bootloader 0----0x8006000
  11. 24 - 26 flash标志位 0x8006000---- 0x8006800
  12. 26 -30kb flash 参数 0x8006800 ---- 0x8007800
  13. 30 - 256 APP 0x8007800 ---0x8040000
  14. */
  15. //升级标志位
  16. #define FLASH_UPDATE_ADDR (uint32_t)0x8006000
  17. //APP
  18. #define FLASH_APP_ADDR (uint32_t)0x8007800
  19. //APP参数
  20. #define FLASH_APP_PAR_ADDR (uint32_t)0x8006800
  21. extern int pmu_sn;
  22. extern int pmu_hardversion;
  23. uint32_t flash_read_updata_flag(void);
  24. uint32_t Flash_WriteData(uint32_t ,uint16_t *,uint16_t );
  25. uint16_t ReadFlashNBtye(uint32_t, uint16_t *, int32_t );
  26. bool wirte_update_flag(void);
  27. void flash_ready_SN_and_VERSION(void);
  28. #endif