Bootloader can get the version of application for specific section,
and then check if some features are supported.
Developers can use the macro "ESP_IDF_VERSION" to limite some function like following:
include "esp_idf_version.h"
if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(3, 4, 0) && ESP_IDF_VERSION < ESP_IDF_VERSION_VAL(4, 0, 0) // 3.4 <= ver < 4.0
do_xxx_process();
endif
1. support "make size", "make size-files", "make size-components" and "make size-symbols"
2. add esp-idf style link file including "esp8266.ld" and "esp8266.project.ld.in"
3. add link advaced generation file to components of esp8266 and spi_flash
1. APP binary supports 4KB align instead of 64KB align
2. Add options to sdkconfig.defaults:
2.1. using 1MB flash
2.2. use custom partition table "partitions_two_ota.1MB.mini.csv"
2.3. custom partition table base address is 0x4000
3. "make ota flash" using APP1_OFFSET as app downloading address
"$(PROJECT_NAME).app1.bin", "$(PROJECT_NAME).app2.bin" and "$(PROJECT_NAME).ota.bin" at "build" directory.
Only upload "$(PROJECT_NAME).ota.bin" to the server.
Select the target flash and input "make ota flash" or "make ota flash monitor".
Update the OTA README.md for 1 MB flash.