The "bootloader" in the STM32 devices can't be overwritten.
Something like a week ago I saw (here at EEVBlog) someone writing that in presence of EM field at 1/2 of his STM clock frequency his processor 'jumped' from his program into bootloader. And it was no 'once by accident', but he could get this effect many times. He was changing the field frequency and at other frequencies it didn't happened.
If STM bootloader can't be overwritten should we be afraid that it can be someway used to hack our software...
In the same time, you could have learnt 1% instead.
I will not be learning how to program this IC. I only have to know how to design PCB with it. So I need to know:
- what I have to do with each non standard pins (some Silabses had for example integrated DCDC),
- what quartz I can connect and how (Silabs for example had integrated in IC variable (digitally set) capacitors so you connected quartz alone, other Silabs allowed only for quartz from 38 MHz to 40MHz),
- what I should do with Reset pin,
- at what pins communications (UARTS, SPI, I2C) can be done,
- what is GPIO sink/source max current,
- what is the current consumption in RTC mode,
- what is the A/D converter range (Silabs we used had planty possibilities, here it looks only VDD can be used),
- how to connect to USB (do serial resistances are integrated, do pull-ups are integrated).
When I asked I thought I know everything except:
- what to do with Boot0 pin,
- do I have to place out of IC resistors in USB connection.
Both these looks needing to read App Notes.
I will probably get back to reading this 475 page App Note on Monday. But yesterday I got a parcel with new version of devices that not passes my test program and I will have to take care of it first (does not pass the test - so much the worse for the test

- test will have to be modified) so get back to STM may be Tuesday. I plan to order PCB (I didn't started yet) at Thursday as it is this months special offer day of our local PCB manufacturer (the price for their work with prototype PCB files is reduced from $20 to $0.25).
So in my case getting these information is not starting 0.1% but last few % to get 100% of what I have to know.
I have my own bootloaders for doing field upgrades.
In 80s when you bought EPROM programmer and new EPROM appeared on the market you had to send you programmer to its manufacturer to upgrade firmware.
We (me and my brother) set-up our small company in 1988 and our first product was EPROM programmer. But none of our programmers never had to be send to us to upgrade firmware.
When programming algorithm (like Quick-Pulse, if remember well) specified that at pin (say 21) you had to issue 5 pulses 1ms each we parameterized in it everything so we send the order to issue n pulses of t us at pin nr m. Future showed that IC manufacturers never get over of possibilities we integrated in our programmer so users had only to download new PC software.
With next device (GAL and serial EEPROM programmer) we went step forward and our programmer had no knowledge of any algorithms. We used 8051 128 bytes RAM to load into it each programmed IC programming program and then do programming under its control. There were microcontroller stack, two working stacks (one for parameters and one for programmed data) and IC programming program - all in 128 bytes.
When flash came we could start do things normally - each our device have bootloader.