Sergey Pastor / grbl1
Embed: (wiki syntax)

« Back to documentation index

system_stm32f10x.c File Reference

system_stm32f10x.c File Reference

CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. More...

Go to the source code of this file.

Functions

static void SetSysClock (void)
 Configures the System clock frequency, HCLK, PCLK2 and PCLK1 prescalers.
static void SetSysClockToHSE (void)
 Selects HSE as System clock source and configure HCLK, PCLK2 and PCLK1 prescalers.
static void SetSysClockTo24 (void)
 Sets System clock frequency to 24MHz and configure HCLK, PCLK2 and PCLK1 prescalers.
static void SetSysClockTo36 (void)
 Sets System clock frequency to 36MHz and configure HCLK, PCLK2 and PCLK1 prescalers.
static void SetSysClockTo48 (void)
 Sets System clock frequency to 48MHz and configure HCLK, PCLK2 and PCLK1 prescalers.
static void SetSysClockTo56 (void)
 Sets System clock frequency to 56MHz and configure HCLK, PCLK2 and PCLK1 prescalers.
static void SetSysClockTo72 (void)
 Sets System clock frequency to 72MHz and configure HCLK, PCLK2 and PCLK1 prescalers.
static void SystemInit_ExtMemCtl (void)
 Setup the external memory controller.
void SystemInit (void)
 Setup the microcontroller system Initialize the Embedded Flash Interface, the PLL and update the SystemCoreClock variable.
void SystemCoreClockUpdate (void)
 Update SystemCoreClock variable according to Clock Register Values.

Variables

uint32_t SystemCoreClock = SYSCLK_FREQ_HSE

Detailed Description

CMSIS Cortex-M3 Device Peripheral Access Layer System Source File.

Author:
MCD Application Team
Version:
V3.5.0
Date:
11-March-2011 1. This file provides two functions and one global variable to be called from user application:
  • SystemInit(): Setups the system clock (System clock source, PLL Multiplier factors, AHB/APBx prescalers and Flash settings). This function is called at startup just after reset and before branch to main program. This call is made inside the "startup_stm32f10x_xx.s" file.
  • SystemCoreClock variable: Contains the core clock (HCLK), it can be used by the user application to setup the SysTick timer or configure other parameters.
  • SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must be called whenever the core clock is changed during program execution.

2. After each device reset the HSI (8 MHz) is used as system clock source. Then SystemInit() function is called, in "startup_stm32f10x_xx.s" file, to configure the system clock before to branch to main program.

3. If the system clock source selected by user fails to startup, the SystemInit() function will do nothing and HSI still used as system clock source. User can add some code to deal with this issue inside the SetSysClock() function.

4. The default value of HSE crystal is set to 8 MHz (or 25 MHz, depedning on the product used), refer to "HSE_VALUE" define in "stm32f10x.h" file. When HSE is used as system clock source, directly or through PLL, and you are using different crystal you have to adapt the HSE value to your own configuration.

Attention:

THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.

© COPYRIGHT 2011 STMicroelectronics

Definition in file system_stm32f10x.c.