V1.4-Chinese BL:回退分支跳转前校验APP有效性,修复只刷BL时盲跳空片

This commit is contained in:
helei 2026-08-09 10:10:59 +08:00
parent 2ff1c6d5d7
commit bd4edea20d
1 changed files with 8 additions and 3 deletions

View File

@ -538,12 +538,17 @@ void Start_BootLoader(void)
} }
} }
/* 3. 回退状态:直接跳转当前 APP1 */ /* 3. 回退状态:跳转当前 APP1(先校验,防止 APP 被擦除后跳入空片) */
if (info_ok && info.update_state == W25Q64_STATE_ROLLBACK) if (info_ok && info.update_state == W25Q64_STATE_ROLLBACK)
{
if (Verify_Firmware(Application_1_Addr, Application_Size))
{ {
IAP_ExecuteApp(Application_1_Addr); IAP_ExecuteApp(Application_1_Addr);
return; return;
} }
log_warn("[BL] 回退状态但 APP1 无效,清除 OTA 标志");
W25Q64_OTA_ClearNew();
}
/* 4. 没有 OTA 任务:直接启动 APP1 */ /* 4. 没有 OTA 任务:直接启动 APP1 */
if (Verify_Firmware(Application_1_Addr, Application_Size)) if (Verify_Firmware(Application_1_Addr, Application_Size))