HAL CRC Overview

Introducing CRC

group CRC_Introduction

  • This introduction is under development.

Module and files

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

Module and files diagram

Component diagram

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



package "HAL" {

    [HAL_CRC]

    [HAL_RCC]



}



package "Low Layer" {

    [LL_CRC]

    [CMSIS device]

}



package "HW" {

    [STM32_HW]

}



[Appli] --> [HAL_CRC] : HAL CRC API

[HAL_CRC] --> [LL_CRC] : LL CRC API

[HAL_CRC] -l-> [HAL_RCC]: HAL_RCC_CRC_EnableClock()

[LL_CRC] -l-> [CMSIS device]:CRC register def

[LL_CRC] --> [STM32_HW]: CRC registers R/W

@enduml

Configuration table

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

group CRC_Configuration_Table

Configuration inside the CRC driver

Config defines

Description

Default value

Note

PRODUCT

from IDE

NA

Ex:STM32U5XX

USE_ASSERT_DBG_PARAM

from IDE

NA

Enable the parameters asserts

USE_ASSERT_DBG_STATE

from IDE

NA

Enable the state asserts

USE_HAL_CHECK_PARAM

from stm32u5xx_hal_conf.h

0

Parameters runtime check

USE_HAL_CRC_MODULE

from stm32u5xx_hal_conf.h

1

Enable the HAL CRC module

USE_HAL_CRC_CLK_ENABLE_MODEL

from stm32u5xx_hal_conf.h

HAL_CLK_ENABLE_PERIPH_ONLY

Enable the HAL_CRC_CLK

USE_HAL_CRC_USER_DATA

from stm32u5xx_hal_conf.h

0

Allows to use user data