esp-idf/components/bootloader_support
Anurag Kar 62b0d51c02 Enable secure boot only after encrypting flash
This prevents a device from being bricked in case when both secure boot & flash encryption are enabled and encryption gets interrupted during first boot. After interruption, all partitions on the device need to be reflashed (including the bootloader).

List of changes:
* Secure boot key generation and bootloader digest generation logic, implemented inside function esp_secure_boot_permanently_enable(), has been pulled out into new API esp_secure_boot_generate_digest(). The enabling of R/W protection of secure boot key on EFUSE still happens inside esp_secure_boot_permanently_enable()
* Now esp_secure_boot_permanently_enable() is called only after flash encryption process completes
* esp_secure_boot_generate_digest() is called before flash encryption process starts
2019-04-10 18:17:58 +05:30
..
include Enable secure boot only after encrypting flash 2019-04-10 18:17:58 +05:30
include_bootloader move hwcrypto from esp32 to mbedtls 2019-03-26 16:24:22 +08:00
src Enable secure boot only after encrypting flash 2019-04-10 18:17:58 +05:30
test separate rom from esp32 component to esp_rom 2019-03-21 18:51:45 +08:00
CMakeLists.txt fix cmake build for bootloader 2019-04-01 15:47:01 +05:30
component.mk bootloader_support: exclude bootloader_init.c when building app 2018-10-02 01:20:04 +00: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.)