-
Notifications
You must be signed in to change notification settings - Fork 7.7k
Description
Sysbuild provides the ability to build multiple images which is especially useful for building for multi-core SoCs.
However, the different images are generally not aware of settings from other images which may be problematic in certain cases.
For example, a bluetooth sample would require a bluetooth controller.
On a single core SoC, the bluetooth controller and host usually resides in the same image, but on a board with multiple SoC or a multi-core SoC, the controller may be compiled into an image different from the image with the bluetooth host.
To remove a requirement for images to explicitly know what other images are included in the build, then it should be possible for an image to specify that a given feature is available then it must be possible for an image to specify requirements and other images can then provide information on capabilities.
For example:
- imageA requires bluetooth controller
- imageB has bluetooth controller capability
This allows imageB
to be either a bluetooth only controller or a multi-protocol controller, where bluetooth is just one supported protocol.
Sysbuild can still provide a default image (such as HCI_IPC`) but allow users to select another image, as long as such image provides the required bluetooth controller functionality.
If an image requires certain capabilities and no image provides the required feature, then sysbuild should fail the build with a proper error and inform the user about missing requirement(s).