您的位置:首页 > 其它

stm32F4各个库文件的作用分析

2016-09-05 19:08 183 查看
system_stm32f4xx.c:This file contains the system clock configuration for STM32F4xx devices.

/**
******************************************************************************
* @file    system_stm32f4xx.c
* @author  MCD Application Team
* @version V1.4.0
* @date    04-August-2014
* @brief   CMSIS Cortex-M4 Device Peripheral Access Layer System Source File.
*          This file contains the system clock configuration for STM32F4xx devices.
*
* 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
*                      and Divider factors, AHB/APBx prescalers and Flash settings),
*                      depending on the configuration made in the clock xls tool.
*                      This function is called at startup just after reset and
*                      before branch to main program. This call is made inside
*                      the "startup_stm32f4xx.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 (16 MHz) is used as system clock source.
*    Then SystemInit() function is called, in "startup_stm32f4xx.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 25MHz, refer to "HSE_VALUE" define
*    in "stm32f4xx.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.
*
* 5. This file configures the system clock as follows:
*=============================================================================
*=============================================================================
*                    Supported STM32F40xxx/41xxx devices
*-----------------------------------------------------------------------------
*        System Clock source                    | PLL (HSE)
*-----------------------------------------------------------------------------
*        SYSCLK(Hz)                             | 168000000
*-----------------------------------------------------------------------------
*        HCLK(Hz)                               | 168000000
*-----------------------------------------------------------------------------
*        AHB Prescaler                          | 1
*-----------------------------------------------------------------------------
*        APB1 Prescaler                         | 4
*-----------------------------------------------------------------------------
*        APB2 Prescaler                         | 2
*-----------------------------------------------------------------------------
*        HSE Frequency(Hz)                      | 25000000
*-----------------------------------------------------------------------------
*        PLL_M                                  | 25
*-----------------------------------------------------------------------------
*        PLL_N                                  | 336
*-----------------------------------------------------------------------------
*        PLL_P                                  | 2
*-----------------------------------------------------------------------------
*        PLL_Q                                  | 7
*-----------------------------------------------------------------------------
*        PLLI2S_N                               | NA
*-----------------------------------------------------------------------------
*        PLLI2S_R                               | NA
*-----------------------------------------------------------------------------
*        I2S input clock                        | NA
*-----------------------------------------------------------------------------
*        VDD(V)                                 | 3.3
*-----------------------------------------------------------------------------
*        Main regulator output voltage          | Scale1 mode
*-----------------------------------------------------------------------------
*        Flash Latency(WS)                      | 5
*-----------------------------------------------------------------------------
*        Prefetch Buffer                        | ON
*-----------------------------------------------------------------------------
*        Instruction cache                      | ON
*-----------------------------------------------------------------------------
*        Data cache                             | ON
*-----------------------------------------------------------------------------
*        Require 48MHz for USB OTG FS,          | Disabled
*        SDIO and RNG clock                     |
*-----------------------------------------------------------------------------
*=============================================================================
*=============================================================================
*                    Supported STM32F42xxx/43xxx devices
*-----------------------------------------------------------------------------
*        System Clock source                    | PLL (HSE)
*-----------------------------------------------------------------------------
*        SYSCLK(Hz)                             | 180000000
*-----------------------------------------------------------------------------
*        HCLK(Hz)                               | 180000000
*-----------------------------------------------------------------------------
*        AHB Prescaler                          | 1
*-----------------------------------------------------------------------------
*        APB1 Prescaler                         | 4
*-----------------------------------------------------------------------------
*        APB2 Prescaler                         | 2
*-----------------------------------------------------------------------------
*        HSE Frequency(Hz)                      | 25000000
*-----------------------------------------------------------------------------
*        PLL_M                                  | 25
*-----------------------------------------------------------------------------
*        PLL_N                                  | 360
*-----------------------------------------------------------------------------
*        PLL_P                                  | 2
*-----------------------------------------------------------------------------
*        PLL_Q                                  | 7
*-----------------------------------------------------------------------------
*        PLLI2S_N                               | NA
*-----------------------------------------------------------------------------
*        PLLI2S_R                               | NA
*-----------------------------------------------------------------------------
*        I2S input clock                        | NA
*-----------------------------------------------------------------------------
*        VDD(V)                                 | 3.3
*-----------------------------------------------------------------------------
*        Main regulator output voltage          | Scale1 mode
*-----------------------------------------------------------------------------
*        Flash Latency(WS)                      | 5
*-----------------------------------------------------------------------------
*        Prefetch Buffer                        | ON
*-----------------------------------------------------------------------------
*        Instruction cache                      | ON
*-----------------------------------------------------------------------------
*        Data cache                             | ON
*-----------------------------------------------------------------------------
*        Require 48MHz for USB OTG FS,          | Disabled
*        SDIO and RNG clock                     |
*-----------------------------------------------------------------------------
*=============================================================================
*=============================================================================
*                         Supported STM32F401xx devices
*-----------------------------------------------------------------------------
*        System Clock source                    | PLL (HSE)
*-----------------------------------------------------------------------------
*        SYSCLK(Hz)                             | 84000000
*-----------------------------------------------------------------------------
*        HCLK(Hz)                               | 84000000
*-----------------------------------------------------------------------------
*        AHB Prescaler                          | 1
*-----------------------------------------------------------------------------
*        APB1 Prescaler                         | 2
*-----------------------------------------------------------------------------
*        APB2 Prescaler                         | 1
*-----------------------------------------------------------------------------
*        HSE Frequency(Hz)                      | 25000000
*-----------------------------------------------------------------------------
*        PLL_M                                  | 25
*-----------------------------------------------------------------------------
*        PLL_N                                  | 336
*-----------------------------------------------------------------------------
*        PLL_P                                  | 4
*-----------------------------------------------------------------------------
*        PLL_Q                                  | 7
*-----------------------------------------------------------------------------
*        PLLI2S_N                               | NA
*-----------------------------------------------------------------------------
*        PLLI2S_R                               | NA
*-----------------------------------------------------------------------------
*        I2S input clock                        | NA
*-----------------------------------------------------------------------------
*        VDD(V)                                 | 3.3
*-----------------------------------------------------------------------------
*        Main regulator output voltage          | Scale1 mode
*-----------------------------------------------------------------------------
*        Flash Latency(WS)                      | 2
*-----------------------------------------------------------------------------
*        Prefetch Buffer                        | ON
*-----------------------------------------------------------------------------
*        Instruction cache                      | ON
*-----------------------------------------------------------------------------
*        Data cache                             | ON
*-----------------------------------------------------------------------------
*        Require 48MHz for USB OTG FS,          | Disabled
*        SDIO and RNG clock                     |
*-----------------------------------------------------------------------------
*=============================================================================
*=============================================================================
*                         Supported STM32F411xx devices
*-----------------------------------------------------------------------------
*        System Clock source                    | PLL (HSI)
*-----------------------------------------------------------------------------
*        SYSCLK(Hz)                             | 100000000
*-----------------------------------------------------------------------------
*        HCLK(Hz)                               | 100000000
*-----------------------------------------------------------------------------
*        AHB Prescaler                          | 1
*-----------------------------------------------------------------------------
*        APB1 Prescaler                         | 2
*-----------------------------------------------------------------------------
*        APB2 Prescaler                         | 1
*-----------------------------------------------------------------------------
*        HSI Frequency(Hz)                      | 16000000
*-----------------------------------------------------------------------------
*        PLL_M                                  | 16
*-----------------------------------------------------------------------------
*        PLL_N                                  | 400
*-----------------------------------------------------------------------------
*        PLL_P                                  | 4
*-----------------------------------------------------------------------------
*        PLL_Q                                  | 7
*-----------------------------------------------------------------------------
*        PLLI2S_N                               | NA
*-----------------------------------------------------------------------------
*        PLLI2S_R                               | NA
*-----------------------------------------------------------------------------
*        I2S input clock                        | NA
*-----------------------------------------------------------------------------
*        VDD(V)                                 | 3.3
*-----------------------------------------------------------------------------
*        Main regulator output voltage          | Scale1 mode
*-----------------------------------------------------------------------------
*        Flash Latency(WS)                      | 3
*-----------------------------------------------------------------------------
*        Prefetch Buffer                        | ON
*-----------------------------------------------------------------------------
*        Instruction cache                      | ON
*-----------------------------------------------------------------------------
*        Data cache                             | ON
*-----------------------------------------------------------------------------
*        Require 48MHz for USB OTG FS,          | Disabled
*        SDIO and RNG clock                     |
*-----------------------------------------------------------------------------
*=============================================================================
******************************************************************************
* @attention
*
* <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2>
*
* Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
* You may not use this file except in compliance with the License.
* You may obtain a copy of the License at:
*
*        http://www.st.com/software_license_agreement_liberty_v2 *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: