RestartButton when code not running from 0x8000000

Discuss how to use the features of Atollic TrueSTUDIO, including the editor, assembler, C/C++ compiler, linker, debugger, static code analysis and team collaboration tools.

Moderators: Markus Girdland, Mattias Norlander

Posts: 11
Joined: Mon Dec 11, 2017 11:22 am
Location: United Kingdom

RestartButton when code not running from 0x8000000

Postby dirkvermaak » Wed Apr 03, 2019 7:28 am

Hi All,

I wondered if anyone could help me.

We are using an STM32F446 (but I don't think that mattters). We use a bootloader and keep some security information in some of the lower (smaller FLASH sectors) so we build and run our code from 0x8020000, the first larger FLASH block. However, when we click the restart button in the debugger it always returns and executes from 0x8000000.

For various reasons to do with secure booting and verification we can't run the bootloader when we are loading code via the debugger so we have to completely restart the debug session to get the $PC back to 0x8020000.

Is there a way to specify the behaviour of the Restart button so that it will point to another FLASH address? Similar to the script when the session starts? Is there another way to do this?

Many Thanks,

Andibee Ltd.
LE11 3SJ

Designing with STM32 since 2007

Posts: 1
Joined: Fri Apr 19, 2019 10:14 am

Re: RestartButton when code not running from 0x8000000

Postby brown7278 » Fri Apr 19, 2019 10:25 am

I have also faced the same error on my system and I will recommend you visit epson error code 0xf4 t get the required guidance in this matter.

Posts: 10
Joined: Wed Mar 20, 2019 7:06 am

Re: RestartButton when code not running from 0x8000000

Postby Alexander_Zorn » Fri May 03, 2019 5:09 am


the STM32 Core always starts at 0x8000000 after a Reset. You have to put the vector table at this address. A Dummy Vector Table is enough, just to jump to 0x802000 where the program starts and than you can reconfigure the correct vector table position in flash.

Its is the same procedure, the bootloader do itself. Within the launch configuration you can set a temporary breakpoint @ int main() (I think this is done by default) so the MCU runs to main after a reset and stops there.


Return to “Atollic TrueSTUDIO tool discussions”

Who is online

Users browsing this forum: No registered users and 4 guests