2026-05-22 2:24 AM
STM32N6 Nucleo board
CubeMX V6.17.0
CubeIDE V 2.2.1
Hi,
First of all, disclaimer: I don't know the toolset or the STM32N6 very well, so I'm trying to get up to speed. There are some really good tutorials posted here which have helped me greatly, but I can't find a really good description of how to debug a FSBL_RUNL application on the N6. Given that some of the initialisation is performed by the FSBL, I wanted to download both FSBL and Appli in a single debug session, set breakpoints in both and run through FSBL into Appli. I can do it, but it currently consists of a hack:
When 'DEBUG' is defined, extern 'BOOTStatus_TypeDef JumpToApplication(void);' in my FSBL 'main()' and call it instead of 'BOOT_Application()'. It works as long as the Destination Address is set to base address 0x24000000 in CubeMX, otherwise, the vector table address is incorrect (Not sure why the Unsecured Alias is used?) and any checks on Flash are turned off. It is a hack because 'JumpToApplication()' clearly isn't meant to be visible outside of 'stm32_boot_lrun.c' (It's not prototyped in the header, but neither is it declared 'static') and if ST changes the internals of that module it could easily break.
So can anyone please put me straight on the recommended way to debug this configuration?