@@ -89,10 +89,22 @@ OTA_BIN := ./build/$(PROJECT_NAME).ota.bin
8989OTA1_BIN := ./build/$(PROJECT_NAME).app1.bin
9090OTA2_BIN := ./build/$(PROJECT_NAME).app2.bin
9191
92+ OTA_V2_TO_V3_BIN := ./build/$(PROJECT_NAME).v2_to_v3.ota.bin
93+
94+ CONFIG_APP2_OFFSET ?= $(CONFIG_APP1_OFFSET)
95+ CONFIG_APP2_SIZE ?= $(CONFIG_APP1_SIZE)
96+
97+ OTA1_OFFSET := CONFIG_APP1_OFFSET
98+ ifdef CONFIG_ESP8266_BOOT_COPY_APP
99+ OTA2_LINK_OFFSET := $(CONFIG_APP1_OFFSET)
100+ else
101+ OTA2_LINK_OFFSET := $(CONFIG_APP2_OFFSET)
102+ endif
103+
92104$(OTA2_BIN): all_binaries
93105ifeq ($(CONFIG_ESPTOOLPY_FLASHSIZE), "1MB")
94106 @rm -f ./build/esp8266/esp8266_out.ld
95- @make APP_OFFSET=$(CONFIG_APP2_OFFSET ) APP_SIZE=$(CONFIG_APP2_SIZE) CFLAGS= CXXFLAGS=
107+ @make APP_OFFSET=$(OTA2_LINK_OFFSET ) APP_SIZE=$(CONFIG_APP2_SIZE) CFLAGS= CXXFLAGS=
96108endif
97109 @cp $(RAW_BIN) $(OTA2_BIN)
98110 @echo [GEN] $(OTA2_BIN)
@@ -113,9 +125,22 @@ endif
113125 @cp $(OTA1_BIN) $(RAW_BIN)
114126 @echo [GEN] $(OTA_BIN)
115127
128+ ifdef CONFIG_ESP8266_OTA_FROM_OLD
129+ $(OTA_V2_TO_V3_BIN): $(OTA_BIN)
130+ @cp $(RAW_BIN) $(RAW_BIN).tmp.bak
131+ @cp $(OTA1_BIN) $(RAW_BIN)
132+ @python $(IDF_PATH)/tools/pack_fw.py --output $(OTA_V2_TO_V3_BIN) pack3 $(ESPTOOL_ALL_FLASH_ARGS)
133+ @cp $(RAW_BIN).tmp.bak $(RAW_BIN)
134+ @echo [GEN] $(OTA_V2_TO_V3_BIN)
135+ endif
136+
137+ ifdef CONFIG_ESP8266_OTA_FROM_OLD
138+ ota: $(OTA_V2_TO_V3_BIN)
139+ else
116140ota: $(OTA_BIN)
141+ endif
117142
118143ota-clean:
119- @rm -f $(OTA_BIN) $(OTA1_BIN) $(OTA2_BIN)
144+ @rm -f $(OTA_BIN) $(OTA1_BIN) $(OTA2_BIN) $(OTA_V2_TO_V3_BIN)
120145
121146clean: ota-clean
0 commit comments