cancel
Showing results for 
Search instead for 
Did you mean: 

How to boot code from Sector 5 on Nucleo-F446RE after reset?

Shreayas_Acharaya
Associate III

I'm using a Nucleo-F446RE board and have successfully flashed my application code to Sector 5 of the internal flash memory. The code runs correctly right after flashing, but it does not run after a reset or power cycle.

It seems the MCU still boots from the default start address (Sector 0), and doesn't automatically jump to Sector 5.

:question_mark:My main questions are:

  1. How can I make the STM32F446RE boot from Sector 5 after every reset?

  2. Is it necessary to place a custom bootloader at Sector 0 that manually jumps to the application code at Sector 5?

  3. Is there any other way?

Any guidance would be very helpful.

Thanks!

1 ACCEPTED SOLUTION

Accepted Solutions
STOne-32
ST Employee

Dear @Shreayas_Acharaya ,

You can not boot at sector5 on this product, impossible , it is hardware coded to either Flash sector 0 or ST system memory boot .

So, if you want to do that , you need to program a Jump code from Sector 0 to sector 5, therefore programming First boot sector at 0x0800-0000. When using debugger , the debug is forcing that jump automatically but this will not happen at standalone after cold reset.

Cheers,

STOne-32

View solution in original post

7 REPLIES 7
mƎALLEm
ST Employee

Hello,

Did you set the vector table according to that new address?

Did you update the linker file according to that new address?

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.
Shreayas_Acharaya
Associate III

Yes i done these steps:

Shreayas_Acharaya_0-1747401284262.png

Shreayas_Acharaya_1-1747401289516.png

 

And if you use the default address: 0x0800000, do you have the same behavior?

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.

No, with 0x0800000 it works fine.

Another thing to note:

  • In debug mode, when I hit "Resume", the code runs as expected.

  • But if I hit "Reset", it doesn't run and shows a message like “No resource preset” or gets stuck.


  • Screenshot 2025-05-17 112855.pngUntitled.png

 

 

Shreayas_Acharaya
Associate III

FYI:
I placed the code succesfully @sector5 (i.e., 0x08020000) , but it runs only once , after reset it doesn't run.

Shreayas_Acharaya_0-1747466820562.png

 

STOne-32
ST Employee

Dear @Shreayas_Acharaya ,

You can not boot at sector5 on this product, impossible , it is hardware coded to either Flash sector 0 or ST system memory boot .

So, if you want to do that , you need to program a Jump code from Sector 0 to sector 5, therefore programming First boot sector at 0x0800-0000. When using debugger , the debug is forcing that jump automatically but this will not happen at standalone after cold reset.

Cheers,

STOne-32