Regarding STM32f103 bootloader
You need to properly set BOOT0(Hi) and BOOT1(Lo) pin on MCU at power on, then it enters in bootloader mode. You have to use USART for loading, then a GUI demonstrator flash loader does all automaticly, after that you have to reset the MCu without BOOT0 set hi.