APM:Libraries
Functions
STM32F4xx_System_Private_Functions
Collaboration diagram for STM32F4xx_System_Private_Functions:

Functions

void SystemCoreClockUpdate (void)
 Update SystemCoreClock variable according to Clock Register Values. The SystemCoreClock variable contains the core clock (HCLK), it can be used by the user application to setup the SysTick timer or configure other parameters. More...
 
void __error (uint32_t num, uint32_t pc, uint32_t lr, uint32_t flag)
 
void systemInit (uint8_t oc)
 Setup the microcontroller system Initialize the Embedded Flash Interface, the PLL and update the SystemFrequency variable. More...
 
void SetSysClock (uint8_t oc)
 Configures the System clock source, PLL Multiplier and Divider factors, AHB/APBx prescalers and Flash settings This function should be called only once the RCC clock configuration is reset to the default reset state (done in systemInit() function). More...
 

Detailed Description

Function Documentation

◆ __error()

void __error ( uint32_t  num,
uint32_t  pc,
uint32_t  lr,
uint32_t  flag 
)

Referenced by __cxa_pure_virtual(), _exit(), SetSysClock(), SystemCoreClockUpdate(), and systemInit().

Here is the caller graph for this function:

◆ SetSysClock()

void SetSysClock ( uint8_t  oc)

Configures the System clock source, PLL Multiplier and Divider factors, AHB/APBx prescalers and Flash settings This function should be called only once the RCC clock configuration is reset to the default reset state (done in systemInit() function).

Parameters
None
Return values
None

Definition at line 347 of file system_stm32f4xx.c.

Referenced by is_bare_metal().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SystemCoreClockUpdate()

void SystemCoreClockUpdate ( void  )

Update SystemCoreClock variable according to Clock Register Values. The SystemCoreClock variable contains the core clock (HCLK), it can be used by the user application to setup the SysTick timer or configure other parameters.

Note
Each time the core clock (HCLK) changes, this function must be called to update SystemCoreClock variable value. Otherwise, any configuration based on this variable will be incorrect.
- The system frequency computed by this function is not the real frequency in the chip. It is calculated based on the predefined constant and the selected clock source:
  • If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*)
  • If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**)
  • If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) or HSI_VALUE(*) multiplied/divided by the PLL factors.

(*) HSI_VALUE is a constant defined in stm32f4xx.h file (default value 16 MHz) but the real value may vary depending on the variations in voltage and temperature.

(**) HSE_VALUE is a constant defined in stm32f4xx.h file (default value 25 MHz), user has to ensure that HSE_VALUE is same as the real frequency of the crystal used. Otherwise, this function may have wrong result.

  • The result of this function could be not correct when using fractional value for HSE crystal.
Parameters
None
Return values
None

Definition at line 291 of file system_stm32f4xx.c.

Referenced by init(), and systemInit().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ systemInit()

void systemInit ( uint8_t  oc)

Setup the microcontroller system Initialize the Embedded Flash Interface, the PLL and update the SystemFrequency variable.

Parameters
None
Return values
None

Definition at line 221 of file system_stm32f4xx.c.

Referenced by is_bare_metal().

Here is the call graph for this function:
Here is the caller graph for this function: