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:
@@ -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)
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user