feat(upgrade): 升级完成置APP_BOOT_UPGRADE_FLAG标记,参数分区擦除改由App侧执行

- 升级成功(CRC32校验通过)后AppFlag置APP_BOOT_UPGRADE_FLAG(0x5A5A55A5),每次升级均置位
- 启动判断放行该标记: 升级完成后直接启动App,不再停留在BL_IDLE
- 擦除动作由App初始化完成: 检测标记后擦除外部SPI Flash参数分区(扇区0~1,非全片擦除,历史日志保留),随后恢复APP_START_FLAG并加载默认参数
- 目的: 防止固件升级后参数结构体布局变化导致字段错位(曾引发注册表乱码/传感器无法注册)
- main.h统一UTF-8编码,新增APP_BOOT_UPGRADE_FLAG定义(与App侧bsp.h保持一致)
- bsp.h配置更新: 网关编号0x0003,服务器端口8083
This commit is contained in:
2026-09-03 19:00:41 +08:00
parent 77be326a42
commit df27be161b
4 changed files with 39 additions and 11 deletions
+2 -2
View File
@@ -97,14 +97,14 @@ typedef enum {
/*当前设备版本/项目选择*/
#define GATEWAY_VER_INFO GATEWAY_VER1_0 //版本信息
#define GATEWAY_PRJ_NUM GATEWAY_PRJ_YAXIA //项目编号
#define GATEWAY_GW_NUM 0x0000 //网关编号(2字节, 1~65535)
#define GATEWAY_GW_NUM 0x0003 //网关编号(2字节, 1~65535)
/*CAT1服务器/Lora配置 - 替代原MAC_ADDR_TYPE编译宏, 在Boot中直接配置*/
#define GATEWAY_SVR_ADDR0 39 //服务器IP[0]
#define GATEWAY_SVR_ADDR1 106 //服务器IP[1]
#define GATEWAY_SVR_ADDR2 103 //服务器IP[2]
#define GATEWAY_SVR_ADDR3 147 //服务器IP[3]
#define GATEWAY_SVR_PORT 8080 //服务器端口
#define GATEWAY_SVR_PORT 8083 //服务器端口
#define GATEWAY_LORA_FREQ CH0 //Lora中心频率(可配置为CH0~CH45)
+2
View File
@@ -6,6 +6,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定义保持一致)
typedef enum {
UPDATE_CMD_NULL,
@@ -72,3 +73,4 @@ typedef struct {
uint16_t UpDateFlag;
}BootLoader_t;
#endif