V1.4-Chinese BL:回退分支跳转前校验APP有效性,修复只刷BL时盲跳空片
This commit is contained in:
parent
2ff1c6d5d7
commit
bd4edea20d
|
|
@ -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))
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue