feat: 完善Mesh继电器OTA升级闭环

This commit is contained in:
十七
2026-11-04 15:41:29 +08:00
parent be8bd7eaec
commit df1aad3d16
27 changed files with 1372 additions and 243 deletions
+9 -7
View File
@@ -19,14 +19,14 @@
#define APPLICATION_MAX_SIZE_BYTES \
(APPLICATION_END_ADDRESS - APPLICATION_START_ADDRESS + 1u)
/** W25Q64 中保存出厂固件镜像的固定地址,容量64KiB。 */
/** W25Q80BV中保存出厂固件镜像的固定地址,预留8KiB。 */
#define FACTORY_IMAGE_ADDRESS 0x000000ul
/** W25Q64 中保存出厂固件元数据的固定地址,独占4KiB扇区。 */
#define FACTORY_METADATA_ADDRESS 0x010000ul
/** W25Q64 中保存OTA升级固件的固定地址,容量64KiB。 */
#define OTA_IMAGE_ADDRESS 0x020000ul
/** W25Q64 中保存OTA元数据的固定地址,独占4KiB扇区。 */
#define OTA_METADATA_ADDRESS 0x030000ul
/** W25Q80BV中保存出厂固件元数据的固定地址,独占4KiB扇区。 */
#define FACTORY_METADATA_ADDRESS 0x002000ul
/** W25Q80BV中保存OTA升级固件的固定地址,预留8KiB。 */
#define OTA_IMAGE_ADDRESS 0x003000ul
/** W25Q80BV中保存OTA元数据的固定地址,独占4KiB扇区。 */
#define OTA_METADATA_ADDRESS 0x005000ul
/** 升级元数据魔数,用于避免误把普通数据当成升级请求。 */
#define OTA_METADATA_MAGIC 0x4F544131ul
/** 出厂恢复镜像元数据魔数。 */
@@ -53,5 +53,7 @@
#define FACTORY_BUTTON_HOLD_TIME_MS 5000u
/** Bootloader忙等待1ms的循环次数,需结合实际系统时钟校准。 */
#define BOOTLOADER_DELAY_1MS_LOOPS 1200u
/** 内部Flash单次擦写等待的最大循环次数,超时即判定操作失败。 */
#define BOOTLOADER_FLASH_WAIT_TIMEOUT 60000ul
#endif