soc: espressif: Build MCUboot Espressif Port using sysbuild#87710
soc: espressif: Build MCUboot Espressif Port using sysbuild#87710almir-okato wants to merge 2 commits intozephyrproject-rtos:mainfrom
Conversation
5d0b930 to
068b0c5
Compare
dfbe166 to
9a4bf5f
Compare
2077475 to
db68a0f
Compare
db68a0f to
3d99369
Compare
3d99369 to
72de282
Compare
fd0fbcc to
e1c5597
Compare
marekmatej
left a comment
There was a problem hiding this comment.
Overall, LGTM, but we need to address the binding to the Zephyr application memory layout. Currently, the EP has a completely independent layout that would create an issue during the app loading.
|
|
||
| /* Empty linker script to allow MCUboot Espressif Port to link in its | ||
| * own way when building using sysbuild. | ||
| */ |
There was a problem hiding this comment.
I think EP is missing the memory allocations for the bootloader images that are being calculated in the memory.h. The current layout in the boot/espressif/port/<soc>/bootloader.ld could interfere with the images with higher SRAM consumption. Ex. ESP32-S3 iram_loader.text is normally at the 0x403c6400, while the EP integration ld sets this to the 0x403ba000, which is ~50kB less.
Move BOOTLOADER_MCUBOOT configuration from boards/espressif/<BOARD>/Kconfig.sysbuild to soc/espressif/Kconfig.sysbuild so it applies generally to every board with Espressif's SoC when building a project using sysbuild. Signed-off-by: Almir Okato <almir.okato@espressif.com>
Enable sysbuild to build MCUboot Espressif's port as an external project. Signed-off-by: Almir Okato <almir.okato@espressif.com> Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com> Signed-off-by: Marek Matej <marek.matej@espressif.com>
e1c5597 to
af9776f
Compare
|
The following west manifest projects have changed revision in this Pull Request:
✅ All manifest checks OK Note: This message is automatically posted and updated by the Manifest GitHub Action. |
|
This pull request has been marked as stale because it has been open (more than) 60 days with no activity. Remove the stale label or add a comment saying that you would like to have the label removed otherwise this pull request will automatically be closed in 14 days. Note, that you can always re-open a closed pull request at any time. |
Use sysbuild to build MCUboot Espressif Port as an external project.
The current sysbuild usage for Espressif should not be affected, so the regular
west build <BOARD> <SAMPLE> --sysbuildstill builds Zephyr Port. In order to build Espressif Port, the KconfigCONFIG_BOOTLOADER_MCUBOOT_ESPRESSIFneeds to be enabled on the sysbuild menuconfig, or it can be passed as sysbuild domain variable in the command line--sysbuild -DSB_CONFIG_BOOTLOADER_MCUBOOT_ESPRESSIF=y.Kconfigs for Espressif's
Kconfig.sysbuildwere added to match MCUboot Espressif Port configuration, so they are partially similar to the regular Zephyr Port, but notice it's a different MCUboot Port.CONFIG_MCUBOOT_ESPRESSIFindicates that the current build is MCUboot Espressif Port image. Defined in Espressif Port from MCUboot repository.(SB_)CONFIG_BOOTLOADER_MCUBOOT_ESPRESSIFindicates to Espressif's sysbuild cmake that it needs to build the MCUboot Espressif Port bootloader and that it needs to set the main image as a MCUboot compatible image, similar as Zephyr already does with the CONFIG_BOOTLOADER_MCUBOOT for setting Zephyr Port and MCUboot compatibility when building with sysbuild.How to build and test:
hal_espressifto the branch in the following PR: mcuboot: build MCUboot Espressif Port with Zephyr sysbuild hal_espressif#424mcubootto the branch in following PR: boot: espressif: integrate Espressif Port with Zephyr sysbuild system mcu-tools/mcuboot#2233OR