cf2062f1d7
We fixed some flash bugs in bootloader, but for the users used the old vrsion bootloader, they can not fix these bugs via OTA, the solution is add these updates in app startup. These updates include: 1. SPI flash gpio matrix and drive strength configuration 2. SPI flash clock configuration 3. SPI flash read dummy configuration 4. SPI flash cs timing configuration 5. Update flash id of g_rom_flashchip
61 lines
2.7 KiB
CMake
61 lines
2.7 KiB
CMake
set(COMPONENT_SRCS "src/bootloader_clock.c"
|
|
"src/bootloader_common.c"
|
|
"src/bootloader_flash.c"
|
|
"src/bootloader_flash_config.c"
|
|
"src/bootloader_random.c"
|
|
"src/bootloader_sha.c"
|
|
"src/bootloader_utility.c"
|
|
"src/esp_image_format.c"
|
|
"src/flash_encrypt.c"
|
|
"src/flash_partitions.c"
|
|
"src/flash_qio_mode.c"
|
|
"src/secure_boot.c"
|
|
"src/secure_boot_signatures.c")
|
|
|
|
if(${BOOTLOADER_BUILD})
|
|
set(COMPONENT_ADD_INCLUDEDIRS "include include_bootloader")
|
|
set(COMPONENT_REQUIRES)
|
|
set(COMPONENT_PRIV_REQUIRES spi_flash micro-ecc efuse)
|
|
list(APPEND COMPONENT_SRCS "src/bootloader_init.c")
|
|
|
|
if(CONFIG_SECURE_SIGNED_APPS)
|
|
get_filename_component(secure_boot_verification_key
|
|
"signature_verification_key.bin"
|
|
ABSOLUTE BASE_DIR "${CMAKE_BINARY_DIR}")
|
|
if(CONFIG_SECURE_BOOT_BUILD_SIGNED_BINARIES)
|
|
add_custom_command(OUTPUT "${secure_boot_verification_key}"
|
|
COMMAND ${ESPSECUREPY}
|
|
extract_public_key --keyfile "${secure_boot_signing_key}"
|
|
"${secure_boot_verification_key}"
|
|
DEPENDS gen_secure_boot_signing_key
|
|
VERBATIM)
|
|
else()
|
|
get_filename_component(orig_secure_boot_verification_key
|
|
"${CONFIG_SECURE_BOOT_VERIFICATION_KEY}"
|
|
ABSOLUTE BASE_DIR "${main_project_path}")
|
|
if(NOT EXISTS ${orig_secure_boot_verification_key})
|
|
message(FATAL_ERROR
|
|
"Secure Boot Verification Public Key ${CONFIG_SECURE_BOOT_VERIFICATION_KEY} does not exist."
|
|
"\nThis can be extracted from the private signing key."
|
|
"\nSee docs/security/secure-boot.rst for details.")
|
|
endif()
|
|
|
|
add_custom_command(OUTPUT "${secure_boot_verification_key}"
|
|
COMMAND ${CMAKE_COMMAND} -E copy "${orig_secure_boot_verification_key}"
|
|
"${secure_boot_verification_key}"
|
|
DEPENDS "${orig_secure_boot_verification_key}"
|
|
VERBATIM)
|
|
endif()
|
|
set(COMPONENT_EMBED_FILES "${secure_boot_verification_key}")
|
|
set_property(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
|
|
APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES
|
|
"${secure_boot_verification_key}")
|
|
endif()
|
|
else()
|
|
set(COMPONENT_ADD_INCLUDEDIRS "include")
|
|
set(COMPONENT_PRIV_INCLUDEDIRS "include_bootloader")
|
|
set(COMPONENT_REQUIRES)
|
|
set(COMPONENT_PRIV_REQUIRES spi_flash mbedtls micro-ecc efuse)
|
|
endif()
|
|
|
|
register_component()
|