Files
YuanHongbin aef9d4effe feat: boot升级后通知APP擦除外部Flash
升级开始时设置 AppFlag=APP_BOOT_UPGRADE_FLAG 写入BINFO_BASE

升级完成后不再清零 AppFlag,供APP启动时检测

dev_boot.h 新增 APP_BOOT_UPGRADE_FLAG(0x5A5A55A5) 定义
2026-07-14 17:24:52 +08:00

54 lines
981 B
C

#ifndef _DEV_BOOT_
#define _DEV_BOOT_
#include "hdl_flash.h"
#define APP_START_FLAG 0x55AA5A5A
#define APP_UPDATE_FLAG 0xA5A5AA55
#define APP_BOOT_UPGRADE_FLAG 0x5A5A55A5
#define BOOT_BASE (FLASH_BASE)
#define BOOT_SIZE (4*FLASH_SECTOR_SIZE)
#define APP_ADDRESS (BOOT_BASE + BOOT_SIZE)
#define APP_SIZE (58*FLASH_SECTOR_SIZE)
#define BOOT_PARA_ADDRESS (APP_ADDRESS + APP_SIZE)
#define BOOT_PARA_SIZE (FLASH_SECTOR_SIZE)
typedef struct {
uint32_t AppFlag;
uint32_t DevType;
uint32_t DevAddr;
uint32_t UpdateFlag;
uint32_t PackageNum;
uint32_t AppSize;
uint32_t Crc32Check;
}boot_para_t;
void dev_boot_read_param(boot_para_t *pParam);
int dev_boot_write_param(boot_para_t Param);
void dev_boot_erase_app(void);
void dev_boot_write_app(uint32_t AddrOffset, uint8_t* wData, int wLen);
uint8_t dev_boot_check_app(void);
uint32_t dev_boot_get_app_crc32(int dwLen);
void dev_boot_run_app(void);
#endif