You programmed STM32 microcontroller using Nucleo or Discovery boards. That means you used Serial Wire Debug (SWD) for programming/debugging. Now, you are designing a PCB with a STM32 microcontroller on it, which means you have to be able to program it. One solution is uploading the code through a bootloader - a small piece of software, made by ST that has been saved in the protected (read-only) memory of the microcontroller. It’s a simple program which reads data, sent from the host (PC) u...