Extension file of a peripheral/module driver. It includes the specific
APIs for a given part number or family, as well as the newly
defined APIs that overwrite the default generic APIs if the internal
process is implemented in different way.
Example: stm32f2xx_hal_adc_ex.c, stm32f2xx_hal_dma_ex.c, …
Header file of the extension C file.
It includes the specific data and enumeration structures, define
statements and macros, as well as the exported device part
number specific APIs
Example: stm32f2xx_hal_adc_ex.h, stm32f2xx_hal_dma_ex.h, …
Peripheral low-layer driver that can be accessed from one or more
HAL drivers. It offers a set of APIs and services used by the upper
driver. From the user point of view, low-level drivers are not
accessible directly. They are used only by the HAL drivers built
upon them.
Example: stm32f2xx_ll_fsmc.c offers a set of APIs used by
stm32f2xx_hal_sram.c, stm32f2xx_hal_nor.c,
stm32f2xx_hal_nand.c …
Header file of the low-layer C file.
It is included in the HAL driver header file, thus making the low-
level driver an intrinsic add-on of the HAL driver that is not visible
from the application.
Example: stm32f2xx_ll_fsmc.h, stm32f2xx_ll_usb.h, …
This file is used for HAL initialization and contains DBGMCU,
Remap and Time Delay based on systick APIs.
stm32f2xx_hal.c header file
stm32f2xx_hal_msp_template.c
Template file to be copied to the user application folder.
It contains the MSP initialization and de-initialization (main routine
and callbacks) of the peripheral used in the user application.
stm32f2xx_hal_conf_template.h
Template file allowing to customize the drivers for a given
application.
Common HAL resources such as common define statements,
enumerations, structures and macros.
Since the low-level drivers are only used by the HAL drivers built upon them, the
APIs provided by these drivers will not be described in this document.