VSF Documented
Macros | Functions | Variables
system_stm32f1xx.c File Reference

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

#include "stm32f1xx.h"

Macros

#define HSE_VALUE   8000000U
 
#define HSI_VALUE   8000000U
 
#define VECT_TAB_OFFSET   0x00000000U
 

Functions

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. 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.
 

Variables

uint32_t SystemCoreClock = 16000000
 
const uint8_t AHBPrescTable [16U] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}
 
const uint8_t APBPrescTable [8U] = {0, 0, 0, 0, 1, 2, 3, 4}
 

Detailed Description

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

Author
MCD Application Team
  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_stm32f1xx_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_stm32f1xx_xx.s" file, to configure the system clock before to branch to main program.
  3. The default value of HSE crystal is set to 8 MHz (or 25 MHz, depending on the product used), refer to "HSE_VALUE". 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

© Copyright (c) 2017 STMicroelectronics. All rights reserved.

This software component is licensed by ST under BSD 3-Clause license, the "License"; You may not use this file except in compliance with the License. You may obtain a copy of the License at: opensource.org/licenses/BSD-3-Clause