mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
Merge branch 'bugfix/flash_size_detect' into 'master'
Tools: Fix esptool flash size detection arguments Closes IDFGH-7203 See merge request espressif/esp-idf!18100
This commit is contained in:
commit
2d08431433
@ -157,12 +157,16 @@ menu "Serial flasher config"
|
||||
|
||||
config ESPTOOLPY_FLASHSIZE_DETECT
|
||||
bool "Detect flash size when flashing bootloader"
|
||||
default y
|
||||
default n
|
||||
help
|
||||
If this option is set, flashing the project will automatically detect
|
||||
the flash size of the target chip and update the bootloader image
|
||||
before it is flashed.
|
||||
|
||||
Enabling this option turns off the image protection against corruption
|
||||
by a SHA256 digest. Updating the bootloader image before flashing would
|
||||
invalidate the digest.
|
||||
|
||||
choice ESPTOOLPY_BEFORE
|
||||
prompt "Before flashing"
|
||||
default ESPTOOLPY_BEFORE_RESET
|
||||
|
@ -26,14 +26,14 @@ set(ESPFLASHSIZE ${CONFIG_ESPTOOLPY_FLASHSIZE})
|
||||
|
||||
set(ESPTOOLPY_CHIP "${chip_model}")
|
||||
|
||||
set(ESPTOOLPY_FLASH_OPTIONS
|
||||
set(esptool_elf2image_args
|
||||
--flash_mode ${ESPFLASHMODE}
|
||||
--flash_freq ${ESPFLASHFREQ}
|
||||
--flash_size ${ESPFLASHSIZE}
|
||||
)
|
||||
|
||||
if(NOT BOOTLOADER_BUILD)
|
||||
set(esptool_elf2image_args --elf-sha256-offset 0xb0)
|
||||
list(APPEND esptool_elf2image_args --elf-sha256-offset 0xb0)
|
||||
endif()
|
||||
|
||||
if(NOT CONFIG_SECURE_BOOT_ALLOW_SHORT_APP_PARTITION AND
|
||||
@ -59,9 +59,14 @@ if(min_rev)
|
||||
endif()
|
||||
|
||||
if(CONFIG_ESPTOOLPY_FLASHSIZE_DETECT)
|
||||
# Set ESPFLASHSIZE to 'detect' *after* elf2image options are generated,
|
||||
# Set ESPFLASHSIZE to 'detect' *after* esptool_elf2image_args are generated,
|
||||
# as elf2image can't have 'detect' as an option...
|
||||
set(ESPFLASHSIZE detect)
|
||||
|
||||
# Flash size detection updates the image header which would invalidate the appended
|
||||
# SHA256 digest. Therefore, a digest is not appended in that case.
|
||||
# This argument requires esptool>=4.1.
|
||||
set(esptool_elf2image_args --dont-append-digest)
|
||||
endif()
|
||||
|
||||
if(CONFIG_SECURE_SIGNED_APPS_RSA_SCHEME)
|
||||
@ -87,7 +92,7 @@ set(PROJECT_BIN "${elf_name}.bin")
|
||||
#
|
||||
if(CONFIG_APP_BUILD_GENERATE_BINARIES)
|
||||
add_custom_command(OUTPUT "${build_dir}/.bin_timestamp"
|
||||
COMMAND ${ESPTOOLPY} elf2image ${ESPTOOLPY_FLASH_OPTIONS} ${esptool_elf2image_args}
|
||||
COMMAND ${ESPTOOLPY} elf2image ${esptool_elf2image_args}
|
||||
-o "${build_dir}/${unsigned_project_binary}" "${elf_dir}/${elf}"
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "Generated ${build_dir}/${unsigned_project_binary}"
|
||||
COMMAND ${CMAKE_COMMAND} -E md5sum "${build_dir}/${unsigned_project_binary}" > "${build_dir}/.bin_timestamp"
|
||||
@ -183,7 +188,8 @@ if(CONFIG_ESPTOOLPY_NO_STUB)
|
||||
endif()
|
||||
|
||||
idf_component_set_property(esptool_py FLASH_ARGS "${esptool_flash_main_args}")
|
||||
idf_component_set_property(esptool_py FLASH_SUB_ARGS "${ESPTOOLPY_FLASH_OPTIONS}")
|
||||
idf_component_set_property(esptool_py FLASH_SUB_ARGS "--flash_mode ${ESPFLASHMODE} --flash_freq ${ESPFLASHFREQ} \
|
||||
--flash_size ${ESPFLASHSIZE}")
|
||||
|
||||
function(esptool_py_partition_needs_encryption retencrypted partition_name)
|
||||
# Check if encryption is enabled
|
||||
|
Loading…
x
Reference in New Issue
Block a user