Memory-mapped peripherals
Memory-mapped peripherals allow programs to control hardware devices by reading from and writing to specific memory addresses. Both peripheral registers and RAM are mapped to the same address space, making communication with hardware registers as simple as writing and reading to a pointer that points to those locations.
In previous examples in this book, we used an ST-provided HAL written in C, which controls hardware peripherals through Common Microcontroller Software Interface Standard (CMSIS) headers.
CMSIS is a vendor-independent HAL and software library collection for Arm Cortex-based microcontrollers. Developed by Arm, it standardizes hardware access and configuration, simplifying software development and improving code portability across different manufacturers. Each microcontroller vendor provides its own CMSIS implementation, adapting the core APIs and drivers to their specific devices. Next, we will explore CMSIS implementation of access...