HAL RCC Overview

Introducing RCC

group RCC_Introduction

  • This introduction is under development.

Module and files

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

Module and files diagram

Component diagram

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



package "HAL/LL" {

    [HAL_SERVICE]

    [HAL_RCC]

    [LL_RCC]

}



package "Low Layer" {

    [CMSIS]

    [RCC Interrupt routine service]

}



package "HW" {

    [STM32_HW]

}



[Appli] --> [HAL_RCC] : HAL RCC API

[Appli] <-- [HAL_RCC] : HAL RCC callback

[HAL_RCC] --> [LL_RCC] : LL RCC API

[HAL_RCC] --> [CMSIS]: direct access

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

[HAL_RCC] <-- [RCC Interrupt routine service]

[LL_RCC] --> [CMSIS]:RCC register def

[STM32_HW] -u--> [RCC Interrupt routine service]: RCCx Irq

[STM32_HW] <-u-- [LL_RCC] : RCC registers R/W

@enduml

Configuration table

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

group RCC_Configuration_Table

Configuration inside the RCC driver

Config defines

Description

Default value

Note

PRODUCT

from IDE

Defined

The selected product (ex STM32U585xx)

PERIPHERAL

from CMSIS

Defined

Peripheral available on the product (ex USART1)

USE_ASSERT_DBG_PARAM

from IDE

None

When defined, enable the params assert

USE_HAL_CHECK_PARAM

from hal_conf.h

0

When set, parameters are checked in runtime

USE_HAL_RCC_MODULE

from hal_conf.h

1

When set, HAL RCC module is enabled

USE_EXTERNAL_ENV

from IDE

Defined

When set, ext. oscillators values are defined

LSE_VALUE

From stm32_external_env.h

32 kHz

Frequency of LSE oscillator (USE_EXTERNAL_ENV)

HSE_VALUE

From stm32_external_env.h

32 MHz

Frequency of HSE oscillator (USE_EXTERNAL_ENV)

EXTERNAL_SAI1_CLOCK_VALUE

From stm32_external_env.h

48 kHz

SAI1 External clock source (USE_EXTERNAL_ENV)

EXTERNAL_SAI2_CLOCK_VALUE

From stm32_external_env.h

48 kHz

SAI2 External clock source (USE_EXTERNAL_ENV)

__ARM_FEATURE_CMSE

Trust Zone

NA

Defined in secure context

HSI_VALUE

st32u5xxxx.h

16 MHz

Frequency of HSI oscillator

MSI_RESET_VALUE

st32u5xxxx.h

4 MHz

Default Frequency of MSI oscillator

MSIRangeTable

system_stm32u5xx.c

-

MSIS/MSIK frequency for each range