Does SBSFU support user app to execute from both Bank 1 and Bank 2?
I am using STM32L4A6VG with 1 MB flash and my application is about 600+KB. I want to update the user app from an external flash and need some guide to modify SBSFU.
After reading these 2 examples (STM32CubeExpansion_SBSFU_V2.4.0\Projects\B-L475E-IOT01A\Applications\2_Images_ExtFlash and STM32CubeExpansion_SBSFU_V2.4.0\Projects\32L496GDISCOVERY\Applications\2_Images), I can update user image from my external flash with RDP and WRP on. Here is my configuration of memory mapping. I know this configuration violates FWALL and MPU settings (like active image header should be in FWALL NVDATA) so I comment the sanity check of FWALL and turn off FWALL protection.
/* Header does not start at the beginning of the sector to ensure the overlap constraint between
firewall NVDATA section and firewall CODE section.
This constraint is relevant only for products with dual bank and firewall isolation */
__ICFEDIT_SLOT_Active_1_start__ = 0x08012000;
__ICFEDIT_SLOT_Active_1_end__ = 0x080F1FFF;
__ICFEDIT_SLOT_Active_1_header__ = __ICFEDIT_SLOT_Active_1_start__;
/* Dwl slot #1 (896 kbytes) */
__ICFEDIT_SLOT_Dwl_1_start__ = 0x90000000;
__ICFEDIT_SLOT_Dwl_1_end__ = 0x900DFFFF;The question is how I can modify the linker script to let SBSFU run with all security features on. The user app is larger than the size of one bank so I have to split the image and use both Bank 1 and Bank 2 to execute. How can I let SBSFU know the correct boundary of my image?
