Skip to content

RFC: Decrease boot time for multi-core system #2525

@ozersa

Description

@ozersa

What?
Multi-core heterogeneous devices integrate multiple processing cores, often with different architectures or capabilities.
Each core typically runs its own dedicated firmware, tailored to its specific function. To ensure system integrity and proper initialization, the primary core (sometimes called the master core) is generally responsible for:

  • Validating firmware images for all secondary cores.
  • Loading and starting the firmware on these cores in the correct sequence.
  • Managing inter-core communication and synchronization during boot.

This mechanism ensures secure and reliable startup across all cores in complex embedded systems.
Image

Problem?
Depending on the number of cores in the device, multiple signature checks are required, which increases the overall boot time. A long boot time could become a significant issue for the product.

Proposed Solution

Combine all individual images into a single composite image.
The main core will copy this combined image into RAM (assuming sufficient RAM capacity), then perform a single validation step.
This approach leverages the default MCUboot RAM load mode. After the signature check, the sub-images will be distributed to their respective target addresses based on the header information.

Image

PR that containing proposed solution: #2465

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions