esp-idf/components/bootloader_support
Angus Gratton 17adb40ca8 bootloader: Calculate SHA256 hash of image on every boot
Makes app image booting more reliable (256-bit rather than 8-bit verification.)

Some measurements, time to boot a 655KB app.bin file and run to app_main() execution.

(All for rev 1 silicon, ie no 340ms spurious WDT delay.)

80MHz QIO mode:
before = 300ms
after = 140ms

40MHz DIO mode:
before = 712ms
after = 577ms

40MHz DIO mode, secure boot enabled
before = 1380ms
after = 934ms

(Secure boot involves two ECC signature verifications (partition table, app) that take approx 300ms each with 80MHz CPU.)
2017-07-19 18:31:59 +10:00
..
include bootloader: Calculate SHA256 hash of image on every boot 2017-07-19 18:31:59 +10:00
include_priv bootloader: Calculate SHA256 hash of image on every boot 2017-07-19 18:31:59 +10:00
src bootloader: Calculate SHA256 hash of image on every boot 2017-07-19 18:31:59 +10:00
test bootloader: Calculate SHA-256 of image while loading/verifying 2017-07-19 18:25:17 +10:00
Makefile.projbuild
README.rst
component.mk

README.rst

Bootloader Support Component
============================

Overview
--------

"Bootloader support" contains APIs which are used by the bootloader but are also needed for the main app.

Code in this component needs to be aware of being executed in a bootloader environment (no RTOS available, BOOTLOADER_BUILD macro set) or in an esp-idf app environment (RTOS running, need locking support.)