This is the final part of a series of articles. I’d suggest going through part 1, part 2 and part 3 first. I’ve been working on a project (which you can find here), using Bluepill board with a STM32F103C8T6 microcontroller. It’s a USB keyboard project. It uses the libopencm3 project and I’d consider this a pretty minimalistic, baremetal project. It’s great for analyzing what happens when a ARM Cortex-M processor boots. Let’s analyze the linker script and the final binary of that p...