Skip to main content
Franzi.Edo
Senior
Apr 26, 2020 3:20 PM UTC
Solved

stm32l552 bootstrap

Hi,

I have a NUCLEO L552 and I would like to run a very simple program (just blinking a led).

I have placed my vector table @ 0x08040000 as described by the data sheet. to program the flash I use the J-Link from Segger. What is strange, is that I cannot execute my program. Now, if I use Ozone from Segger, I can execute it, but when I power off-on the target, the program does not run anymore; again, Ozone can execute it. Probably, Ozone disables some protections ... any idea of what I have to add to my code to run in a non secure mode and make my code always executable?

This topic has been closed for replies.
berendi
berendiBest answer
Principal
Apr 26, 2020 3:58 PM UTC

Where does the datasheet or any other document mention that the vector table should be placed at 0x08040000 ?

It should be at 0x08000000 like on (almost) any other STM32, unless you have reprogrammed the boot address option bytes. Did you?

2 replies

berendi
berendiBest answer
Principal
Apr 26, 2020 3:58 PM UTC

Where does the datasheet or any other document mention that the vector table should be placed at 0x08040000 ?

It should be at 0x08000000 like on (almost) any other STM32, unless you have reprogrammed the boot address option bytes. Did you?

Franzi.Edo
Senior
Apr 26, 2020 4:21 PM UTC

Hi Berendi,

Correct! I was confused by some documentation.

Of course, the NS vector is placed @ 0x08040000. So, in NS mode, no need to operate with additional stuff.

Now it works!

Thank you