Bootloader and binary file format of a new application (memory areas)
Hello,
I'm currently working on a STM32F411 MCU project which includes a BlueNRG-MS module and a bootloader for reprograming OTA purpose. The bootloader is at address 0x08000000.
I would like to program, by the MCU application (not the bootloader) into the flash, a binary file sent over the air at an address determined by the MCU app.
But it looks like the binary file can't be programmed anywhere into the flash but only at the address specified by the linker.
For exemple, if I program a binary file with the ST Link at address 0x0800C000 with the following memory areas in the linker, the bootloader jumps to this new app and it works :
MEMORY
{
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K
FLASH (rx) : ORIGIN = 0x800C000, LENGTH = 512K - 48k
}
But if I change the FLASH origin to address 0x08000000 but still program it at address 0x0800C000, the bootloader doesn't jump to this new application.
I thought binary file didn't have any metadata and could be programed anywhere in the flash whithout considering the linker origin.
Am I doing something wrong ? Is there a solution ?
Thank you.
