Our great sponsors
-
STM32CubeF0
STM32Cube MCU Full Package for the STM32F0 series - (HAL + LL Drivers, CMSIS Core, CMSIS Device, MW libraries plus a set of Projects running on all boards provided by ST (Nucleo, Evaluation and Discovery Kits))
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
Many answers already mentioned memory mapping. In the microcontroller world, it is kind of easier to see how it works because the driver architecture is almost flat - they directly speak with the hardware registers. Presumably, the simplest and dumbest peripheral is the CRC calculation module. You will see there various macros that just make the code readable. From my observation, the driver implementations tend to use one of three C constructs to access the hardware register: