Skip to content

Zephyr image dependencies / flash dependencies #53650

@tejlmand

Description

@tejlmand

Part of: #41640

When using sysbuild to control multiple images, then it may be necessary to ensure images are CMake configured / build,and flash in a certain order.

In this initial sysbuild implementation, #40555, a dedicated IMAGE variable is used for tracking images and their flash order.

With this improvement, the IMAGE list should be transformed into a general target property in sysbuild (implementation details to be discussed) and the ExternalZephyrProject_Add() should support a DEPENDS argument.

The DEPENDS must ensure that CMake configure is executed for the depends target before the target that specifies such dependency.

For flash order handling it must be possible for a target to specify a FLASH_DEPENDS.
Flash depends targets must always be flashed before the the target which specifies such dependency.

If a target specifies DEPENDS, but not FLASH_DEPENDS, then targets specified using DEPENDS should also be used as FLASH_DEPENDS.

Multi-core SoCs are organized as a set of logical boards in Zephyr, where each core is identified using a board name.
For such boards it must also be possible to define a SoC / interboard flash order.
Sysbuild supports the use of a <BOARD_DIR>/sysbuild.cmake file.
Consider if this file is suitable to use for such description, similar to how boards.cmake are used for creation of the runners.yaml.

In boards v2 it can then be considered if boards.cmake can be defined in a way that is compatible for use by Sysbuild as well as Zephyr CMake build system.

Metadata

Metadata

Assignees

No one assigned

    Projects

    Status

    Done in 3.4

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions