mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
3a768f51c3
This patch modifies the OTA implementation to incremental erase flash sectors as they are written, rather than bulk erasing them all at once when OTA begins. This solves several problems: - The bulk flash erase can take so long that it triggers the watchdog timer. Disabling the watchdog is an undesirable risk. - The bulk erase interferes with the responsiveness of the system to user input. - Incremental erasing eliminates the need to pass the firmware image size to esp_ota_begin to avoid erasing more flash sectors than required. - When installing an OTA received via HTTP, the size of the firmware image is known when the content-length header is received. Calling esp_ota_begin at that time causes a long delay to do the bulk erase which causes the TCP transfer speed to be measurably slowed when the transfer resumes after the erase. Incremental erasing eliminates this TCP slowdown. Update: Rework so erase optimization is only applied when image_size is set to OTA_WITH_SEQUENTIAL_WRITES #5246 Merges https://github.com/espressif/esp-idf/pull/5246 |
||
---|---|---|
.. | ||
esp_ota_ops.h |