feat: boot升级后通知APP擦除外部Flash
升级开始时设置 AppFlag=APP_BOOT_UPGRADE_FLAG 写入BINFO_BASE 升级完成后不再清零 AppFlag,供APP启动时检测 dev_boot.h 新增 APP_BOOT_UPGRADE_FLAG(0x5A5A55A5) 定义
This commit is contained in:
+2
-1
@@ -84,7 +84,6 @@ static void update_on_download(uint8_t* frame, int len, uint8_t* pload, int size
|
||||
|
||||
if (crc_rom == g_update.cfg.Crc32Check)
|
||||
{
|
||||
g_update.cfg.AppFlag = 0;
|
||||
g_update.cfg.UpdateFlag = 0;
|
||||
g_update.cfg.PackageNum = 0;
|
||||
|
||||
@@ -188,6 +187,8 @@ int app_update_entry(struct pt *pt)
|
||||
if (g_update.cfg.UpdateFlag == APP_UPDATE_FLAG)
|
||||
{
|
||||
g_update.isNeedUpdate = 1;
|
||||
g_update.cfg.AppFlag = APP_BOOT_UPGRADE_FLAG;
|
||||
dev_boot_write_param(g_update.cfg);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
+1
-2
@@ -5,6 +5,7 @@
|
||||
|
||||
#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)
|
||||
@@ -15,8 +16,6 @@
|
||||
#define BOOT_PARA_ADDRESS (APP_ADDRESS + APP_SIZE)
|
||||
#define BOOT_PARA_SIZE (FLASH_SECTOR_SIZE)
|
||||
|
||||
#define APP_START_FLAG 0x55AA5A5A
|
||||
#define APP_UPDATE_FLAG 0xA5A5AA55
|
||||
|
||||
typedef struct {
|
||||
uint32_t AppFlag;
|
||||
|
||||
Reference in New Issue
Block a user