HAL ICACHE Overview ¶
Introducing ICACHE ¶
- group ICACHE_Introduction
-
The Instruction Cache (ICACHE) hardware abstraction layer provides a set of APIs to interface with the instruction cache peripheral on STM32 microcontrollers. It improves performance by reducing wait states when fetching instructions and data from internal and external memories.
It simplifies the configuration, initialization, and management of the ICACHE by supporting features such as cache associativity modes, memory address remapping, performance monitoring, and error detection with interrupt capabilities.
This abstraction layer guarantees portability and ease of use across different STM32 series. The HAL ICACHE driver covers the instruction cache peripheral with support for multiple cache configurations and maintenance operations.
Module and files ¶
The following diagram illustrates the ICACHE module and its associated files.
Component diagram ¶
The following diagram illustrates the software components involved in the ICACHE 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 ICACHE module, specifying their locations, default values, and descriptions:
- group ICACHE_Configuration_Table
-
¶
Configuration inside the ICACHE driver : ¶
Config defines
Description
Default value
Note
USE_HAL_ICACHE_MODULE
From hal_conf.h
1
Allows the use of the HAL ICACHE module.
USE_HAL_ICACHE_REGISTER_CALLBACKS
From hal_conf.h
0
Allows the use of the register callbacks.
USE_HAL_CHECK_PARAM
From hal_conf.h
0
Allows the use of run-time check parameters.
USE_ASSERT_DBG_PARAM
From IDE
NA
Allows the use of assert check parameters.
USE_ASSERT_DBG_STATE
From IDE
NA
Allows the use of assert check states.
USE_HAL_ICACHE_GET_LAST_ERRORS
From hal_conf.h
1
Allows the use of the error code mechanism.
USE_HAL_ICACHE_USER_DATA
From hal_conf.h
0
Allows the use of user data.