This project takes its root in my desire to better understand every step involved in building and programming Cortex-M microcontrollers in bare-metal.
The goal of this project is to provide a Makefile system with scripts to build simple to moderately complex firmware images for ARM Cortex-M processors.
It should be self-documented enough to serve as a reference for future works.
This build system is a combination of some of the best resources available:
- Microcontroller object oriented library by Nicolas Schodet
- Open source ARM Cortex-M microcontroller library by libopencm3
- RIOT the friendly OS for IoT and its ARM boards support
- Add support for static constructors and destructors • PR #126 • libopencm3
- C++ runtime support functions • RIOT-OS
- System Calls • ucoolib
- System Calls' Newlib port • ucoolib
- From Zero to main() • Interrupt's Blog
- Code Size Optimization • Interrupt's Blog
- ARM programming • Embedded Artistry's Blog
- STM32 Bare metal examples • Vivonomicon's Blog
- Bare metal ARM - Compiler flag analysis • Uvoks' Blog
- Bare metal C programming on ARM • Daniels Umanovskis' eBook
- STM32 programming with libopencm3 • Ross Schlaikjer's Blog