esp32: No OTA images generated anymore since switch to cmake
For versions using an ESP IDF SDK version using gmake I used to find binary files for (almost) each partition inside the build dir (ports/esp32/build-$$BOARD$$/):
- bootloader.bin
- partitions.bin
- application.bin
- firmware.bin
It seems, though, that at least the OTA image (formerly application.bin) is missing since switching to cmake.
Given that at least the upstream supported board SIL_WESP32 also uses OTA (CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions-16MiB-ota.csv in sdkconfig), I would have expected to also find an OTA binary image (or an equivalent) - however I can't find anything alike.
The only thing I can see is the file ports/esp32/build-$$BOARD$$/ota_data_initial.bin, which however is basically empty (well, 8KiB of 0xFF).
What's the supposedly correct way generating/obtaining OTA images with micropython v1.17 onwards?
OTA in esp32-c3
hello,
It seems the port to esp32-c3 does not support OTA, but I found there is GENERIC_OTA port, the difference between them is mpconfigboard.cmake file, so I tried to add line boards/GENERIC_OTA/sdkconfig.board to mpconfigboard.cmake file in GENERIC_C3, and builds the firmware locally.
Unfortunately, when I implemented OTA via bluetooth, the partition of ota_1 is updated successfully, but it does not boot ok, following error occurs:
E (68) esp_image: Segment 0 0x3fcd6100-0x3fcd6fa0 invalid: overlaps bootloader stack
E (69) boot: OTA app partition slot 1 is not bootable
Demo project can be found in micropython-ota-example
Appreciate if anyone can take a look.