Skip to content

boot: espressif: integrate Espressif Port with Zephyr sysbuild system #2233

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

almir-okato
Copy link
Collaborator

This PR enables building MCUboot Espressif Port through Zephyr's sysbuild for Espressif chips.

  • Espressif's CMakeLists script content was reorganized in order to separate Zephyr's specifics ways to add and configure target libraries to its build system.
  • Kconfig was added (still only used when building from Zephyr sysbuild).
  • Extra .conf files for the SoCs were added in order to disable peripheral configurations used by Zephyr that may conflict on linkage as Espressif Port has its own way to deal with. Espressif Port standalone build is not affected by this addition.

Note that these changes affects only the Espressif Port build, nothing was changed on Zephyr Port of MCUboot.

@almir-okato almir-okato added the area: espressif Affects the Espressif port label Mar 13, 2025
@almir-okato almir-okato requested a review from utzig March 13, 2025 14:34
@almir-okato almir-okato self-assigned this Mar 13, 2025
set(APP_NAME mcuboot_${MCUBOOT_TARGET})
set(APP_EXECUTABLE ${APP_NAME}.elf)
set(EXPECTED_IDF_HAL_VERSION "5.1.4")
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bit confused here, if sysbuild is set then this should already be from zephyr scope, why is this finding zephyr when it is running from zephyr?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is needed because the project is being included as an external Zephyr project from sysbuild (zephyrproject-rtos/zephyr#87710).
MCUboot Zephyr port does the same to include the Zephyr environment.

@almir-okato almir-okato force-pushed the mcuboot_espressif_port_with_zephyr branch 2 times, most recently from 5676b80 to 800faa0 Compare March 26, 2025 20:35
@almir-okato almir-okato force-pushed the mcuboot_espressif_port_with_zephyr branch 2 times, most recently from a75b378 to 6f3a8d2 Compare April 10, 2025 14:17
@almir-okato almir-okato requested a review from d3zd3z as a code owner April 10, 2025 14:17
Enable building MCUboot Espressif Port through Zephyr's sysbuild for
Espressif chips.

This commit creates boot/espressif/zephyr directory and files
required by Zephyr's build system to build Espressif Port through
sysbuild or as "out-of-tree" project.
It also moves shared parts from the main espressif/CMakeLists.txt
script.

Signed-off-by: Lucas Tamborrino <[email protected]>
Signed-off-by: Almir Okato <[email protected]>
@almir-okato almir-okato force-pushed the mcuboot_espressif_port_with_zephyr branch from 6f3a8d2 to 386a478 Compare April 10, 2025 14:37
@almir-okato almir-okato requested a review from nordicjm April 14, 2025 14:16
@almir-okato
Copy link
Collaborator Author

@nordicjm I've changed what you pointed, could you please take a look again?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: espressif Affects the Espressif port
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants