Question
STM32F411 IAP
Posted on November 18, 2015 at 11:37
Hello all,
I'm currently working on an STM32F411VEH6 MCU and I'm trying to launch an application located at the flash address 0x08004000 with a bootloader at the flash base address (0x08000000). I've read a bunch of threads on the forum about this topic, but I've not understood well what are the steps to complete this task successfully. So far, I've been able to upload the app binary properly. What should I do next? As far as I've understood, linker file of the app should be modified accordingly. I've put in the following the code used to load the app from the bootloader (which should be the one commonly used). if (((*(__IO uint32_t*) MCU_FLASH_GetAddress(APPLICATION_SECTOR)) & 0x2FFE0000) == 0x20000000) { /* Jump to user application */ JumpAddress = *(__IO uint32_t*) (MCU_FLASH_GetAddress( APPLICATION_SECTOR) + 4); JumpToApplication = (pFunction) JumpAddress; /* Initialize user application's Stack Pointer */ __set_MSP(*(__IO uint32_t*) MCU_FLASH_GetAddress(APPLICATION_SECTOR)); JumpToApplication(); } Finally, in the boot loader I deal with some interrupts and with the UART DMA. Since in the app I'm making use of interrupts and DMA as well, should I do something more to manage this? Thanks a lot, Daniele