Sergey Lyubka provides a guide written for developers who wish to start programming microcontrollers using the GCC compiler and a bare metal approach. It uses a Nucleo-F429ZI development board with STM32F429 microcontroller. But basic principles are applicable to any other microcontroller.
In this guide, I’ll show how to program a microcontroller using just a compiler and a datasheet, nothing else. Later I’ll explain what are the vendor’s CMSIS headers, how and why they should be used. We’ll learn how to blink LEDs, how to redirect
printf()to UART, how to set up the system clock, how to use interrupts, and even how to run a web server with a device dashboard.
See the entire tutorial on GitHub.