HAL AXIM Overview

Introducing AXIM

group AXIM_Introduction

The AXIM hardware abstraction layer provides a comprehensive set of APIs to interface with the AXI Interconnect Matrix initiators and targets on STM32 microcontrollers. It is intended to manage the outstanding transactions issued by the AXIM initiators and targets, allowing the configuration of their quality of service (QoS) and issuing capabilities.

It simplifies the configuration, initialization, and management of the AXI Interconnect Matrix, enabling developers to optimize the performance and behavior of their system’s interconnect.

This abstraction layer guarantees portability and ease of use across different STM32 series.

Module and files

The following diagram illustrates the AXIM module and its associated files.

Module and files diagram

Component diagram

The following diagram illustrates the software components involved in the AXIM module. It shows the interactions between the user application, HAL drivers, low-level drivers, and the hardware components.

@startuml
<style>
componentDiagram {
   arrow {
      FontSize 8
   }
}
</style>
title AXIM Software Component Diagram
package "HAL" {
    [HAL_AXIM]
    [HAL_SERVICE]
}
package "Low Layer" {
    [LL_AXIM]
    [DFP]
}
package "HW" {
    [STM32_HW]
}
[Application] --> [HAL_AXIM] : HAL AXIM API
[HAL_AXIM] --> [LL_AXIM] : LL AXIM API
[HAL_AXIM] -l-> [HAL_SERVICE]
[LL_AXIM] -l-> [DFP]:AXIM register def
[STM32_HW] <-u-- [LL_AXIM] : AXIM registers R/W
@enduml

Configuration table

The following table lists the configuration defines for the HAL AXIM module, specifying their locations, default values, and descriptions:

group AXIM_Configuration_Table

Configuration inside the AXIM driver

Config defines

Description

Default value

Note

PRODUCT

From IDE

NA

The selected product.

USE_HAL_AXIM_MODULE

From hal_conf.h

1

Enable the HAL AXIM module.

USE_ASSERT_DBG_PARAM

From IDE

NA

Enable the parameters asserts.

USE_HAL_CHECK_PARAM

From hal_conf.h

0

Enable the parameters runtime checks.