aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn Moloney <glenn.moloney@gmail.com>2023-08-17 13:24:25 +1000
committerDamien George <damien@micropython.org>2023-09-05 22:36:06 +1000
commit0bafdaf5f0f44295597cf2db8c36447675183339 (patch)
treed94adf72487b92b35ed85f2cadfaa3c1deb57645
parent5e50593738d064267f0d527a0a79d91d928e9686 (diff)
esp32: Skip validation of image on boot from deepsleep.
sdkconfig.base: Add CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP=y. This reduces time to boot from deepsleep by at least 200ms and can provide significant power savings for deepsleep-based battery applications. docs/library/esp32.rst: Add note cautioning not to enter deepsleep after changing the boot partition, without first performing a hard reset. Signed-off-by: Glenn Moloney <glenn.moloney@gmail.com>
-rw-r--r--docs/library/esp32.rst5
-rw-r--r--ports/esp32/boards/sdkconfig.base1
2 files changed, 6 insertions, 0 deletions
diff --git a/docs/library/esp32.rst b/docs/library/esp32.rst
index 856d9aef8..d6b4051a2 100644
--- a/docs/library/esp32.rst
+++ b/docs/library/esp32.rst
@@ -114,6 +114,11 @@ methods to enable over-the-air (OTA) updates.
Sets the partition as the boot partition.
+ .. note:: Do not enter :func:`deepsleep<machine.deepsleep>` after changing
+ the OTA boot partition, without first performing a hard
+ :func:`reset<machine.reset>` or power cycle. This ensures the bootloader
+ will validate the new image before booting.
+
.. method:: Partition.get_next_update()
Gets the next update partition after this one, and returns a new Partition object.
diff --git a/ports/esp32/boards/sdkconfig.base b/ports/esp32/boards/sdkconfig.base
index 7443b34aa..4b7c85233 100644
--- a/ports/esp32/boards/sdkconfig.base
+++ b/ports/esp32/boards/sdkconfig.base
@@ -13,6 +13,7 @@ CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR=y
# Bootloader config
CONFIG_BOOTLOADER_LOG_LEVEL_WARN=y
+CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP=y
# Change default log level to "ERROR" (instead of "INFO")
CONFIG_LOG_DEFAULT_LEVEL_INFO=n