https://embetronicx.com/tutorials/microcontrollers/stm32/stm32f1-bootloader/simple-stm32f103-bootloader-tutorial/
Simple STM32F103 Bootloader Implementation – Bootloader Development Tutorial Part 2