MCUBoot: Multi memory load feature
Implement multi memory boot feature
In the current implementation, the ability to launch several applications using different memory modes has been added. Use cases: multi core and ram app boot alongside with flash based applications
MCUBOOT_MULTI_MEMORY_LOAD --- Feature: partial multi-image boot for RAM based applications --- Feature: partial multi-image boot for Flash applications
These changes were made to make MCUBoot able to work with flash and ram images independently. The use case that we need to support, a multi image configuration:
Application_1 boots from RAM Application_2 boots from FLASH Application_N boots from FLASH Example:
image_boot_config_t image_boot_config[BOOT_IMAGE_NUMBER] = {
{
.mode = IMAGE_BOOT_MODE_RAM,
.address = 0x08012000,
.size = 0x00010000,
},
{
.mode = IMAGE_BOOT_MODE_FLASH,
.address = 0x10002000,
.size = 0x00008000,
},
};
/* Perform MCUboot */
for (uint32_t id = 0U; id < (uint32_t)BOOT_IMAGE_NUMBER; id++) {
BOOT_LOG_INF("Processing img id: %d", id);
#if !defined(MCUBOOT_RAM_LOAD) || defined(MCUBOOT_MULTI_MEMORY_LOAD)
if (image_boot_config[id].mode == IMAGE_BOOT_MODE_FLASH) {
FIH_CALL(boot_go_for_image_id, fih_rc, &rsp[id], id);
} else
#endif
{
#if defined(MCUBOOT_RAM_LOAD)
FIH_CALL(boot_go_for_image_id_ram, fih_rc, &rsp[id], id);
#endif
}
}
What is the status of this?
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.