2012-08-31 01:55 AM
Hello,
is there any way to restart the built-in ISP bootloader from the application? Any particular start address to jump to? If the boot loader is located at the start of the system memory, would it work to simply jump to 0x1FFFF000 (+1 for thumb)? (Devices currently are differently sized F103 types, but I think this is a general question...) Thanks, Tilmann #isp-bootloader-restart2012-08-31 04:28 AM
0x1FFFF000 contains a stack pointer
The problem with just calling the address stored at 0x1FFFF004 is that you probably aren't running the processor at ''reset'' conditions, figure interrupts, pll, clocks, etc.[DEAD LINK /public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Flat.aspx?RootFolder=/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/STM32 Internal Bootloader&FolderCTID=0x01200200770978C69A1141439FE559EB459D7580009C4E14902C3CDE46A77F0FFD06506F5B¤tviews=2980]https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Flat.aspx?RootFolder=%2Fpublic%2FSTe2ecommunities%2Fmcu%2FLists%2Fcortex_mx_stm32%2FSTM32%20Internal%20Bootloader&FolderCTID=0x01200200770978C69A1141439FE559EB459D7580009C4E14902C3CDE46A77F0FFD06506F5B¤tviews=29802012-08-31 05:59 AM
Clive,
many thanks for your fast answer! If it's not documented what the bootloader really does (or expects) during initialization, it really sounds reasonable to use the system reset... Thanks for the link to the other post (which I interestingly didn't find using the forum search...). Have a nice weekend, Tilmann