Merge branch 'bugfix/custom_bootloader_subproject_build_v3.3' into 'release/v3.3'
CMake: Fix custom bootloader does not override original (v3.3) See merge request idf/esp-idf!5081
This commit is contained in:
commit
d5923f0e2e
3 changed files with 13 additions and 4 deletions
|
@ -49,10 +49,11 @@ if((NOT CONFIG_SECURE_BOOT_ENABLED) OR
|
||||||
CONFIG_SECURE_BOOTLOADER_ONE_TIME_FLASH)
|
CONFIG_SECURE_BOOTLOADER_ONE_TIME_FLASH)
|
||||||
externalproject_add(bootloader
|
externalproject_add(bootloader
|
||||||
# TODO: support overriding the bootloader in COMPONENT_PATHS
|
# TODO: support overriding the bootloader in COMPONENT_PATHS
|
||||||
SOURCE_DIR "${IDF_PATH}/components/bootloader/subproject"
|
SOURCE_DIR "${CMAKE_CURRENT_LIST_DIR}/subproject"
|
||||||
BINARY_DIR "${bootloader_build_dir}"
|
BINARY_DIR "${bootloader_build_dir}"
|
||||||
CMAKE_ARGS -DSDKCONFIG=${SDKCONFIG} -DIDF_PATH=${IDF_PATH}
|
CMAKE_ARGS -DSDKCONFIG=${SDKCONFIG} -DIDF_PATH=${IDF_PATH}
|
||||||
-DSECURE_BOOT_SIGNING_KEY=${secure_boot_signing_key}
|
-DSECURE_BOOT_SIGNING_KEY=${secure_boot_signing_key}
|
||||||
|
-DEXTRA_COMPONENT_DIRS=${CMAKE_CURRENT_LIST_DIR}
|
||||||
INSTALL_COMMAND ""
|
INSTALL_COMMAND ""
|
||||||
BUILD_ALWAYS 1 # no easy way around this...
|
BUILD_ALWAYS 1 # no easy way around this...
|
||||||
BUILD_BYPRODUCTS ${bootloader_binary_files}
|
BUILD_BYPRODUCTS ${bootloader_binary_files}
|
||||||
|
|
|
@ -27,9 +27,9 @@ target_linker_script(bootloader.elf
|
||||||
# as cmake won't attach linker args to a header-only library, attach
|
# as cmake won't attach linker args to a header-only library, attach
|
||||||
# linker args directly to the bootloader.elf
|
# linker args directly to the bootloader.elf
|
||||||
set(ESP32_BOOTLOADER_LINKER_SCRIPTS
|
set(ESP32_BOOTLOADER_LINKER_SCRIPTS
|
||||||
"../../esp32/ld/esp32.rom.ld"
|
"${IDF_PATH}/components/esp32/ld/esp32.rom.ld"
|
||||||
"../../esp32/ld/esp32.rom.spiram_incompatible_fns.ld"
|
"${IDF_PATH}/components/esp32/ld/esp32.rom.spiram_incompatible_fns.ld"
|
||||||
"../../esp32/ld/esp32.peripherals.ld")
|
"${IDF_PATH}/components/esp32/ld/esp32.peripherals.ld")
|
||||||
|
|
||||||
target_linker_script(bootloader.elf ${ESP32_BOOTLOADER_LINKER_SCRIPTS})
|
target_linker_script(bootloader.elf ${ESP32_BOOTLOADER_LINKER_SCRIPTS})
|
||||||
|
|
||||||
|
|
|
@ -365,6 +365,14 @@ EOF
|
||||||
export PATH="$OLDPATH"
|
export PATH="$OLDPATH"
|
||||||
rm ./python
|
rm ./python
|
||||||
|
|
||||||
|
print_status "Custom bootloader overrides original"
|
||||||
|
clean_build_dir
|
||||||
|
(mkdir components && cd components && cp -r $IDF_PATH/components/bootloader .)
|
||||||
|
idf.py build
|
||||||
|
grep "$PWD/components/bootloader/subproject/main/bootloader_start.c" build/bootloader/compile_commands.json \
|
||||||
|
|| failure "Custom bootloader source files should be built instead of the original's"
|
||||||
|
rm -rf components
|
||||||
|
|
||||||
print_status "All tests completed"
|
print_status "All tests completed"
|
||||||
if [ -n "${FAILURES}" ]; then
|
if [ -n "${FAILURES}" ]; then
|
||||||
echo "Some failures were detected:"
|
echo "Some failures were detected:"
|
||||||
|
|
Loading…
Reference in a new issue