feat(ota): Boot支持外部Flash暂存搬运(BL_STASH_TO_B状态)

- bsp.c/h: 外部SPI Flash只读驱动(SPI1, 与App同总线Mode3)
- main.c/h: BL_STASH_TO_B状态: AppSize门禁 -> 外部Flash逐8KB搬运B区 -> CRC校验 -> 进BL_COPY_TO_A复用现有搬运链
- 搬运幂等: 搬运中断电重启后B区仍有效自动重搬
This commit is contained in:
2026-09-24 17:14:09 +08:00
parent 48ed25015d
commit 48b789c0c4
4 changed files with 177 additions and 1 deletions
+2
View File
@@ -7,6 +7,7 @@
#define APP_START_FLAG 0x55AA5A5A
#define APP_UPDATE_FLAG 0xA5A5AA55
#define APP_BOOT_UPGRADE_FLAG 0x5A5A55A5 //升级完成标记:Boot升级成功后置位,App启动时据此擦除外部参数分区并恢复APP_START_FLAG(与App侧bsp.h定义保持一致)
#define APP_UPDATE_SPI_FLAG 0xA5A55A5A //Cat1远程升级: 固件已存外部SPI Flash暂存区, Boot据此搬运(与App侧bsp.h定义保持一致)
typedef enum {
UPDATE_CMD_NULL,
@@ -53,6 +54,7 @@ typedef enum {
BL_GET_DATA_TIMEOUT,
BL_START_APP,
BL_COPY_TO_A, //B区镜像搬运到A区阶段
BL_STASH_TO_B, //外部SPI Flash暂存区搬运到B区阶段(Cat1远程升级)
BL_RESET
}BootStatus_m;