AnsweredAssumed Answered

how to jump to sys mem bootl from app

Question asked by zhao.frank on Aug 14, 2013
Latest reply on Aug 23, 2013 by zhao.frank
You know the bootloader that is invoked when you use BOOT1 and BOOT0 pins? In the address space, it's called "system memory", right? On my STM32F205RG, it's located at 0x1FFF0000

So... I've made a function like this

#define BOOTLOADER_ADDR 0x1FFF0000
typedef void (*pFunction)(void);
static pFunction Jump_To_Application;
static uint32_t JumpAddress;
static inline void jump_to_bootloader()
{
     JumpAddress = *(__IO uint32_t*) (BOOTLOADER_ADDR);
     Jump_To_Application = (pFunction) JumpAddress;
     /* Initialize user application's Stack Pointer */
     __set_MSP(*(__IO uint32_t*) BOOTLOADER_ADDR);
     Jump_To_Application();
}

but long story short, it doesn't work... even if the BOOT pins are still setup so that it should activate

is there a way to actually activate it from within my own application? 

Outcomes