cancel
Showing results for 
Search instead for 
Did you mean: 

SBSFU Linker script issue on STM32F746

Florian Gaudon
Associate

Hi,

I've been trying to implement the SBSFU package on my STM32F746 but I got some issues.

I started from the STM32F769I-Discovery example given in the SBSFU package supply by ST.

I'm trying to modify the memory mapping to fit my device.

When I'm debugging from the UserApp, all is working well but I'm not able to run the app after a reset. It's because the debugger starts from firmware handle reset instead of bootloader handle reset. So in debugging mode, I'm not executing the bootloader.

When I'm debugging from the SBSFU, I can see the program stopping when I'm trying to execute the SE_Startup function.

Indeed, I've been able to get the address to execute the function but there is nothing in flash to this address.

When I'm compiling the SECoreBin, my memory regions look like that :

FlorianGaudon_3-1687362634439.png

But after compiling the SBSFU, my memory regions look like that :

FlorianGaudon_4-1687362659396.png

And after compiling the userApp, my memory region look like that :

FlorianGaudon_2-1687362618747.png

After programming the SECoreBin, all the regions in the first screen are populated but after programming the userApp or the SBSFU, those regions are erased. So when i'm trying to jump in the SecureEngine, the code cannot execute the code at the entry address.

Do I need to modifiy my .ld files in all my 3 projetcs ? the mapping_sbsfu.ld ?

I thought the final UserApp.bin or UserApp.elf would program all the memory region from the 3 projects.

In the UserApp.map, we can see that the other regions are defined but not populated :

FlorianGaudon_5-1687362698367.png

Can you tell me what file do I need to modify in order to have all my memory region programmed in the flash.

Best regards,

Florian Gaudon

0 REPLIES 0