HAL PSSI Overview

Introducing PSSI

group PSSI_Introduction

  • This introduction is under development.

Module and files

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

Module and files diagram

Component diagram

The following diagram illustrates the software components involved in the PSSI 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 PSSI Software Component Diagram



package "HAL" {

    [HAL_SERVICE]

    [HAL_PSSI]

    [HAL_DMA]

    [HAL_RCC]

    [HAL_OS]

}



package "Low Layer" {

    [CMSIS]

    [PSSI Interrupt routine service]

    [DMA Interrupt routine service]

}



package "HW" {

    [STM32_HW]

}



[Appli] --> [HAL_PSSI] : HAL PSSI API

[Appli] <-- [HAL_PSSI] : PSSI callback

[HAL_PSSI] -r-> [HAL_RCC] : HAL_RCC_PSSI_EnableClock

[HAL_PSSI] -d-> [HAL_DMA] : HAL_DMA_StartPeriphXfer_Opt\nHAL_DMA_Abort_IT\nHAL_DMA_Abort\nHAL_DMA_GetConfigDirectXfer\n

[HAL_PSSI] -l-> [HAL_SERVICE] : HAL_GetTick

[HAL_PSSI] -d-> [HAL_OS] : HAL_OS_SemaphoreCreate\nHAL_OS_SemaphoreDelete\nHAL_OS_SemaphoreTake\n\nHAL_OS_SemaphoreRelease

[HAL_PSSI] <-- [PSSI Interrupt routine service]

[HAL_PSSI] <-r- [HAL_DMA]:Transfer complete\nAbort complete\nError

[HAL_PSSI] --> [CMSIS]:PSSI register def

[HAL_DMA] <-d- [DMA Interrupt routine service]

[STM32_HW] -u--> [PSSI Interrupt routine service]: PSSIx Irq

[STM32_HW] -u--> [DMA Interrupt routine service] : DMA Channel Irq

[STM32_HW] <-l--> [HAL_PSSI] : PSSI registers R/W

@enduml

Configuration table

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

group PSSI_Configuration_Table

  1. Configuration inside the PSSI driver

Config defines

Description

Default value

Note

USE_HAL_PSSI_CLK_ENABLE_MODEL

stm32u5xx_hal_conf.h

HAL_CLK_ENABLE_NO

Enable the gating of the periph clk

USE_HAL_PSSI_MODULE

stm32u5xx_hal_conf.h

1

When set, HAL PSSI module is enabled

USE_HAL_PSSI_DMA

stm32u5xx_hal_conf.h

1

Enable DMA code inside PSSI

USE_HAL_PSSI_GET_LAST_ERRORS

stm32u5xx_hal_conf.h

0

Enable the get last process error

USE_HAL_PSSI_USER_DATA

stm32u5xx_hal_conf.h

0

Enable the set/get user data

USE_HAL_PSSI_REGISTER_CALLBACKS

stm32u5xx_hal_conf.h

0

Enable the register callbacks assert

USE_HAL_CHECK_PARAM

stm32u5xx_hal_conf.h

0

Parameters are checked in runtime

USE_HAL_CHECK_PROCESS_STATE

stm32u5xx_hal_conf.h

0

Check/Update the HAL PSSI state

USE_HAL_MUTEX

stm32u5xx_hal_conf.h

0

Enable the acquire/release bus services

USE_ASSERT_DBG_PARAM

from PreProcessor env

NA

Enable the params assert

USE_ASSERT_DBG_STATE

from PreProcessor env

NA

Enable the state assert