HAL FMAC Overview ¶
Introducing FMAC ¶
- group FMAC_Introduction
-
The FMAC hardware abstraction layer provides a set of APIs to interface with the STM32 FMAC (Filter Math Accelerator) peripheral.
The FMAC HAL driver simplifies the implementation of complex filtering algorithms such as FIR and IIR filters by managing peripheral initialization, configuration, and data handling, supporting polling, interrupt and DMA modes for data acquisitions.
This abstraction layer ensures portability and ease of use across different STM32 series.
Module and files ¶
The following diagram illustrates the FMAC module and its associated files.
Component diagram ¶
The following diagram illustrates the software components involved in the FMAC module. It shows the interactions between the user application, HAL drivers, low-level drivers, and the hardware components.
Configuration table ¶
The following table lists the configuration defines for the HAL FMAC module, specifying their locations, default values, and descriptions:
- group FMAC_Configuration_Table
-
Configuration inside the FMAC driver ¶
Software configuration defined in stm32h7pxx_hal_conf.h:
Prepocessor flags
Default value
Comment
USE_HAL_FMAC_MODULE
1
Enable HAL FMAC driver module
USE_HAL_FMAC_REGISTER_CALLBACKS
0
Allow the user to define their own callback
USE_HAL_FMAC_DMA
1
Enable DMA code inside FMAC
USE_HAL_CHECK_PARAM
0
Enable runtime parameter check
USE_HAL_FMAC_CLK_ENABLE_MODEL
HAL_CLK_ENABLE_NO
Enable the gating of the peripheral clock
USE_HAL_CHECK_PROCESS_STATE
0
Enable atomicity of process state check
USE_HAL_FMAC_USER_DATA
0
Add a user data inside HAL FMAC handle
USE_HAL_FMAC_GET_LAST_ERRORS
0
Enable retrieval of last processes error codes
Software configuration defined in preprocessor environment:
Prepocessor flags
Default value
Comment
USE_ASSERT_DBG_PARAM
Not defined
Enable check param for HAL and LL
USE_ASSERT_DBG_STATE
Not defined
Enable check state for HAL