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
component.mk Secure boot: Option for app & partition table signing to happen outside build system 2016-12-19 13:12:05 +11:00
Makefile.projbuild Secure boot: Correctly re-sign if signing key changes, better error if missing 2016-12-01 23:49:12 -08:00
README.rst Refactor existing bootloader common functionality into bootloader_support component 2016-11-02 17:58:41 +11:00

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.)