This document serves as an introduction to bare metal programming for the Arm Cortex-M4 MCUs, focusing on register usage and port configuration. It outlines the various modes of GPIO ports, including input, output, and alternate functions, as well as the configuration of pull-up/pull-down resistors and output types. Additionally, it discusses setting port speed and accessing output ports through specific registers.