From aef9d4effe91e98fc0205e940aef8dbacc7782bf Mon Sep 17 00:00:00 2001 From: YuanHongbin <975559679@qq.com> Date: Tue, 14 Jul 2026 17:24:52 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20boot=E5=8D=87=E7=BA=A7=E5=90=8E?= =?UTF-8?q?=E9=80=9A=E7=9F=A5APP=E6=93=A6=E9=99=A4=E5=A4=96=E9=83=A8Flash?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 升级开始时设置 AppFlag=APP_BOOT_UPGRADE_FLAG 写入BINFO_BASE 升级完成后不再清零 AppFlag,供APP启动时检测 dev_boot.h 新增 APP_BOOT_UPGRADE_FLAG(0x5A5A55A5) 定义 --- App/app_update.c | 3 ++- device/dev_boot.h | 3 +-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/App/app_update.c b/App/app_update.c index 5dc374d..78efe35 100644 --- a/App/app_update.c +++ b/App/app_update.c @@ -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 { diff --git a/device/dev_boot.h b/device/dev_boot.h index 4545252..e688f79 100644 --- a/device/dev_boot.h +++ b/device/dev_boot.h @@ -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;