cancel
Showing results for 
Search instead for 
Did you mean: 

Is it possible to access bootloader by modifying SYSCFG_MEMRMP? STM32F4xx

friedrich.janus
Associate II

Hello!

SYSCFG_MEMRMP bits MemMode[2:0] reflect the mapping of pins Boot0 and Boot1.

Bits are RW and allow mapping of SystemMemory (Bootloader) to 0x00000000 (Start address after reset). This would generate the idea of switching to the bootloader by changing these bits. BUT: When do the changes take effect? How to change to start address after switching the code areas? Is there documentation for this method?

The alternative method of invocation of the bootloader via a call is already understood.

Thanks and rgds

1 ACCEPTED SOLUTION
4 REPLIES 4

It changes the zero mapping/shadowing immediately. I've used it, and posted code, showing how to transfer control to the System Loader from a user application on F2/F4 devices.

The vector table content typically immediately vectors control to an 0x1FFxxxxx or 0x080xxxxx address, and the table content points to the natural address of the code.

At reset the SCB->VTOR is also zero, thus the shadowing, but can be set to the ROM/FLASH basis quite easily.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

Hello Clive.

That reflects exactly my intention.

You posted code? Where can I find the code?

rgds

friedrich.janus
Associate II

Hello Clive,

i used the mechanism that is documented in the video #22 and is similar to the mechanism in your first link - a straight call to the bootloader (after some cleanup). Works well. Thank you!

rgds