I am implementing sbsfu on stm32h745 chipset.
Ported 2images from stm32h753 sbsfu examples.
Among slots 1 and 2, slot 1 is intended to be used by cm7 and slot 2 by cm4.
Although cm7 is operating normally, I created a separate cm4 package, created an sfb file, and confirmed that the cm4 firmware was installed in dwl_slot2. However, the firmware needs to be moved to active slot 2, but I have no idea how to do it. How to solve this?
mapping_fwimg.ld
__ICFEDIT_SWAP_start__ = 0x08100000;
__ICFEDIT_SWAP_end__ = 0x0811FFFF;
/* Active slot #1 in Sector 1 to 7 of Bank1; 7 x 128 kbytes */
__ICFEDIT_SLOT_Active_1_start__ = 0x08020000;
__ICFEDIT_SLOT_Active_1_end__ = 0x0809FFFF;
__ICFEDIT_SLOT_Active_1_header__ = __ICFEDIT_SLOT_Active_1_start__;
/* Dwl slot #1 in sector 1 to 7 of Bank2 : 7 * 128 kbytes */
__ICFEDIT_SLOT_Dwl_1_start__ = 0x08120000;
__ICFEDIT_SLOT_Dwl_1_end__ = 0x0819FFFF;
__ICFEDIT_SLOT_Active_2_start__ = 0x080A0000;
__ICFEDIT_SLOT_Active_2_end__ = 0x080BFFFF;
__ICFEDIT_SLOT_Active_2_header__ = __ICFEDIT_SLOT_Active_2_start__;
__ICFEDIT_SLOT_Dwl_2_start__ = 0x081A0000;
__ICFEDIT_SLOT_Dwl_2_end__ = 0x081BFFFF;
app_sfu.h
#define SFU_NB_MAX_ACTIVE_IMAGE 2U /*!< 1 active image managed */
#define SFU_NB_MAX_DWL_AREA 2U /*!< 1 dwl area managed */
#define MASTER_SLOT SLOT_ACTIVE_1 /*!< SLOT_ACTIVE_1 identified as master slot */