Configuring the hardware abstraction layer
The method we deployed in Chapter 1, A Practical Introduction to ARM® CORTEX® used
Startup.c
to provide a very basic Run Time Environment (RTE), and although this is sufficient to get started blinking LEDs, we need to define a more advanced RTE to take advantage of the other peripherals we'll meet in future recipes. The Application Programmers Interface (API) that STMicroelectronics (STMicro) provide for their microcontrollers is called a hardware abstraction layer (HAL), and CMSIS v2.0 compliant programs must configure this before initializing their peripherals. The RTE manager offers two routes named Classic and STM32CubeMX to configure the HAL. Selecting STM32CubeMX invokes a graphical tool developed by STMicro (freely available at www.st.com) that creates the RTE (that is, generates RTE.h
and imports the associated libraries). We describe this process in Chapter 9, Embedded Toolchain. Since we're already familiar with the Classic API, we'll...