STM32F30xx Standard Peripheral Library
Table 4: Description of CMSIS files
Describes the data structures for the Cortex-M4 core peripherals and
performs the address mapping of these structures. It also provides basic
access to the Cortex-M4 core registers and core peripherals using efficient
functions defined as static inline.
CMSIS Cortex-M4 STM32F30/31xx peripheral access layer header file.
This file contains the definitions of all peripheral registers, bits, and memory
mapping for STM32F30/31xx devices.󳘪 The file is the unique include file used
in the application programmer C source code, usually in the main.c. This file
contains:
 Configuration section allowing:󳘪
ï€ To select the device used in the target application
ï€ To use or not the peripheral drivers in your application code
(meaning that the code is based on direct access to
peripheral registers rather than drivers API). This option is
controlled by #define USE_STDPERIPH_DRIVER
ï€ To change few application-specific parameters such as the
HSE crystal frequency
ï‚· Data structures and address mapping for all peripherals
ï‚· Peripheral registers declarations and bits definition
ï‚· Macros to access peripheral registers hardware
This file also contains the library release number defined by the define
statement __STM32f30XX_STDPERIPH_VERSION
This file contains the system clock configuration for STM32F30/31xx devices.
This file includes two functions and one global variable to be called from 󳘪 the
user application:
ï‚· SystemInit(): this function setups the system clock source, PLL
multiplier and divider factors, AHB/APBx prescalers and Flash
settings. This function is called at startup just after reset and
before branch to the main program. The call is made inside the
startup_stm32f30x.s file.
ï‚· SystemCoreClock: this variable contains the core clock (HCLK).
It can be used by the application code to set up the SysTick timer
or configure other parameters.
ï‚· SystemCoreClockUpdate(): this function updates the variable
SystemCoreClock and must be called whenever the core clock is
changed during program execution.󳘪
This file is automatically generated by the clock configuration
tool "STM32f30x_Clock_Configuration.xls". Using this tool, you
can generate a configuration file customized for your application
requirements. For more information, please refer to AN4152
available from ST web site.
Header file for system_stm32f30x.c
Provides the Cortex-M4 startup code and interrupt vectors for all
STM32F30/31xx device interrupt handlers.󳘪 This module performs the
following functions:
ï‚· It sets the initial SP
ï‚· It sets the initial PC == Reset_Handler
ï‚· It sets the vector table entries with the exceptions ISR address