2016-06-28 12:38 AM
Hi,
I have a question concerning the STM32 Bootloader through an USB Host (flash drive). There is an Application note AN3354 doing this on the STM32F105, which is exactly my device. I just do not understand the memory management: the bootloader usually is stored at the beginning of the ROM until adress 0x08000000, right? now, the bootloader application is programmed to the following adress beginning at 0x0800000 until 0x08007FFF, but this is not the bootloader memory? Apart from that, where in the code is defined, which memory should be used for the usb host driver? Isn't it possible that the bootloader will overwrite itself? thanks for clearification on that, maybe there is an document explaining all that, which I just did not find yet. best regards, M. Schmid2016-06-28 08:23 AM
Hi schmid.m,
I recommend you to identify you bootloader version are related limitation and details in the application note in the the section 13 STM32F105xx/107xx devices bootloader (p54) -Hannibal2016-06-28 08:31 AM
I'm not sure the question relates to the internal System Loader, but rather the IAP (In-Application Programming) via USB, per the app note.
The offset/base of the application is defined in the linker settings (script or scatter file) describing where in memory the linker is to create the image for the application, and then also with the setting of the Vector Table (see section 4), typically within the SystemInit() code.