ARM GAS  /tmp/cc8x624m.s 			page 1


   1              		.cpu cortex-m4
   2              		.arch armv7e-m
   3              		.fpu fpv4-sp-d16
   4              		.eabi_attribute 27, 1
   5              		.eabi_attribute 28, 1
   6              		.eabi_attribute 20, 1
   7              		.eabi_attribute 21, 1
   8              		.eabi_attribute 23, 3
   9              		.eabi_attribute 24, 1
  10              		.eabi_attribute 25, 1
  11              		.eabi_attribute 26, 1
  12              		.eabi_attribute 30, 1
  13              		.eabi_attribute 34, 1
  14              		.eabi_attribute 18, 4
  15              		.file	"system_stm32f4xx.c"
  16              		.text
  17              	.Ltext0:
  18              		.cfi_sections	.debug_frame
  19              		.section	.text.SystemInit,"ax",%progbits
  20              		.align	1
  21              		.global	SystemInit
  22              		.syntax unified
  23              		.thumb
  24              		.thumb_func
  26              	SystemInit:
  27              	.LFB130:
  28              		.file 1 "Src/system_stm32f4xx.c"
   1:Src/system_stm32f4xx.c **** /**
   2:Src/system_stm32f4xx.c ****   ******************************************************************************
   3:Src/system_stm32f4xx.c ****   * @file    system_stm32f4xx.c
   4:Src/system_stm32f4xx.c ****   * @author  MCD Application Team
   5:Src/system_stm32f4xx.c ****   * @brief   CMSIS Cortex-M4 Device Peripheral Access Layer System Source File.
   6:Src/system_stm32f4xx.c ****   *
   7:Src/system_stm32f4xx.c ****   *   This file provides two functions and one global variable to be called from 
   8:Src/system_stm32f4xx.c ****   *   user application:
   9:Src/system_stm32f4xx.c ****   *      - SystemInit(): This function is called at startup just after reset and 
  10:Src/system_stm32f4xx.c ****   *                      before branch to main program. This call is made inside
  11:Src/system_stm32f4xx.c ****   *                      the "startup_stm32f4xx.s" file.
  12:Src/system_stm32f4xx.c ****   *
  13:Src/system_stm32f4xx.c ****   *      - SystemCoreClock variable: Contains the core clock (HCLK), it can be used
  14:Src/system_stm32f4xx.c ****   *                                  by the user application to setup the SysTick 
  15:Src/system_stm32f4xx.c ****   *                                  timer or configure other parameters.
  16:Src/system_stm32f4xx.c ****   *                                     
  17:Src/system_stm32f4xx.c ****   *      - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must
  18:Src/system_stm32f4xx.c ****   *                                 be called whenever the core clock is changed
  19:Src/system_stm32f4xx.c ****   *                                 during program execution.
  20:Src/system_stm32f4xx.c ****   *
  21:Src/system_stm32f4xx.c ****   *
  22:Src/system_stm32f4xx.c ****   ******************************************************************************
  23:Src/system_stm32f4xx.c ****   * @attention
  24:Src/system_stm32f4xx.c ****   *
  25:Src/system_stm32f4xx.c ****   * <h2><center>&copy; COPYRIGHT 2017 STMicroelectronics</center></h2>
  26:Src/system_stm32f4xx.c ****   *
  27:Src/system_stm32f4xx.c ****   * Redistribution and use in source and binary forms, with or without modification,
  28:Src/system_stm32f4xx.c ****   * are permitted provided that the following conditions are met:
  29:Src/system_stm32f4xx.c ****   *   1. Redistributions of source code must retain the above copyright notice,
  30:Src/system_stm32f4xx.c ****   *      this list of conditions and the following disclaimer.
ARM GAS  /tmp/cc8x624m.s 			page 2


  31:Src/system_stm32f4xx.c ****   *   2. Redistributions in binary form must reproduce the above copyright notice,
  32:Src/system_stm32f4xx.c ****   *      this list of conditions and the following disclaimer in the documentation
  33:Src/system_stm32f4xx.c ****   *      and/or other materials provided with the distribution.
  34:Src/system_stm32f4xx.c ****   *   3. Neither the name of STMicroelectronics nor the names of its contributors
  35:Src/system_stm32f4xx.c ****   *      may be used to endorse or promote products derived from this software
  36:Src/system_stm32f4xx.c ****   *      without specific prior written permission.
  37:Src/system_stm32f4xx.c ****   *
  38:Src/system_stm32f4xx.c ****   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  39:Src/system_stm32f4xx.c ****   * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  40:Src/system_stm32f4xx.c ****   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  41:Src/system_stm32f4xx.c ****   * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
  42:Src/system_stm32f4xx.c ****   * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  43:Src/system_stm32f4xx.c ****   * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  44:Src/system_stm32f4xx.c ****   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
  45:Src/system_stm32f4xx.c ****   * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  46:Src/system_stm32f4xx.c ****   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  47:Src/system_stm32f4xx.c ****   * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  48:Src/system_stm32f4xx.c ****   *
  49:Src/system_stm32f4xx.c ****   ******************************************************************************
  50:Src/system_stm32f4xx.c ****   */
  51:Src/system_stm32f4xx.c **** 
  52:Src/system_stm32f4xx.c **** /** @addtogroup CMSIS
  53:Src/system_stm32f4xx.c ****   * @{
  54:Src/system_stm32f4xx.c ****   */
  55:Src/system_stm32f4xx.c **** 
  56:Src/system_stm32f4xx.c **** /** @addtogroup stm32f4xx_system
  57:Src/system_stm32f4xx.c ****   * @{
  58:Src/system_stm32f4xx.c ****   */  
  59:Src/system_stm32f4xx.c ****   
  60:Src/system_stm32f4xx.c **** /** @addtogroup STM32F4xx_System_Private_Includes
  61:Src/system_stm32f4xx.c ****   * @{
  62:Src/system_stm32f4xx.c ****   */
  63:Src/system_stm32f4xx.c **** 
  64:Src/system_stm32f4xx.c **** 
  65:Src/system_stm32f4xx.c **** #include "stm32f4xx.h"
  66:Src/system_stm32f4xx.c **** 
  67:Src/system_stm32f4xx.c **** #if !defined  (HSE_VALUE) 
  68:Src/system_stm32f4xx.c ****   #define HSE_VALUE    ((uint32_t)25000000) /*!< Default value of the External oscillator in Hz */
  69:Src/system_stm32f4xx.c **** #endif /* HSE_VALUE */
  70:Src/system_stm32f4xx.c **** 
  71:Src/system_stm32f4xx.c **** #if !defined  (HSI_VALUE)
  72:Src/system_stm32f4xx.c ****   #define HSI_VALUE    ((uint32_t)16000000) /*!< Value of the Internal oscillator in Hz*/
  73:Src/system_stm32f4xx.c **** #endif /* HSI_VALUE */
  74:Src/system_stm32f4xx.c **** 
  75:Src/system_stm32f4xx.c **** /**
  76:Src/system_stm32f4xx.c ****   * @}
  77:Src/system_stm32f4xx.c ****   */
  78:Src/system_stm32f4xx.c **** 
  79:Src/system_stm32f4xx.c **** /** @addtogroup STM32F4xx_System_Private_TypesDefinitions
  80:Src/system_stm32f4xx.c ****   * @{
  81:Src/system_stm32f4xx.c ****   */
  82:Src/system_stm32f4xx.c **** 
  83:Src/system_stm32f4xx.c **** /**
  84:Src/system_stm32f4xx.c ****   * @}
  85:Src/system_stm32f4xx.c ****   */
  86:Src/system_stm32f4xx.c **** 
  87:Src/system_stm32f4xx.c **** /** @addtogroup STM32F4xx_System_Private_Defines
ARM GAS  /tmp/cc8x624m.s 			page 3


  88:Src/system_stm32f4xx.c ****   * @{
  89:Src/system_stm32f4xx.c ****   */
  90:Src/system_stm32f4xx.c **** 
  91:Src/system_stm32f4xx.c **** /************************* Miscellaneous Configuration ************************/
  92:Src/system_stm32f4xx.c **** /*!< Uncomment the following line if you need to use external SRAM or SDRAM as data memory  */
  93:Src/system_stm32f4xx.c **** #if defined(STM32F405xx) || defined(STM32F415xx) || defined(STM32F407xx) || defined(STM32F417xx)\
  94:Src/system_stm32f4xx.c ****  || defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx)\
  95:Src/system_stm32f4xx.c ****  || defined(STM32F469xx) || defined(STM32F479xx) || defined(STM32F412Zx) || defined(STM32F412Vx)
  96:Src/system_stm32f4xx.c **** /* #define DATA_IN_ExtSRAM */
  97:Src/system_stm32f4xx.c **** #endif /* STM32F40xxx || STM32F41xxx || STM32F42xxx || STM32F43xxx || STM32F469xx || STM32F479xx ||
  98:Src/system_stm32f4xx.c ****           STM32F412Zx || STM32F412Vx */
  99:Src/system_stm32f4xx.c ****  
 100:Src/system_stm32f4xx.c **** #if defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx)\
 101:Src/system_stm32f4xx.c ****  || defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx)
 102:Src/system_stm32f4xx.c **** /* #define DATA_IN_ExtSDRAM */
 103:Src/system_stm32f4xx.c **** #endif /* STM32F427xx || STM32F437xx || STM32F429xx || STM32F439xx || STM32F446xx || STM32F469xx ||
 104:Src/system_stm32f4xx.c ****           STM32F479xx */
 105:Src/system_stm32f4xx.c **** 
 106:Src/system_stm32f4xx.c **** /*!< Uncomment the following line if you need to relocate your vector Table in
 107:Src/system_stm32f4xx.c ****      Internal SRAM. */
 108:Src/system_stm32f4xx.c **** /* #define VECT_TAB_SRAM */
 109:Src/system_stm32f4xx.c **** #define VECT_TAB_OFFSET  0x00 /*!< Vector Table base offset field. 
 110:Src/system_stm32f4xx.c ****                                    This value must be a multiple of 0x200. */
 111:Src/system_stm32f4xx.c **** /******************************************************************************/
 112:Src/system_stm32f4xx.c **** 
 113:Src/system_stm32f4xx.c **** /**
 114:Src/system_stm32f4xx.c ****   * @}
 115:Src/system_stm32f4xx.c ****   */
 116:Src/system_stm32f4xx.c **** 
 117:Src/system_stm32f4xx.c **** /** @addtogroup STM32F4xx_System_Private_Macros
 118:Src/system_stm32f4xx.c ****   * @{
 119:Src/system_stm32f4xx.c ****   */
 120:Src/system_stm32f4xx.c **** 
 121:Src/system_stm32f4xx.c **** /**
 122:Src/system_stm32f4xx.c ****   * @}
 123:Src/system_stm32f4xx.c ****   */
 124:Src/system_stm32f4xx.c **** 
 125:Src/system_stm32f4xx.c **** /** @addtogroup STM32F4xx_System_Private_Variables
 126:Src/system_stm32f4xx.c ****   * @{
 127:Src/system_stm32f4xx.c ****   */
 128:Src/system_stm32f4xx.c ****   /* This variable is updated in three ways:
 129:Src/system_stm32f4xx.c ****       1) by calling CMSIS function SystemCoreClockUpdate()
 130:Src/system_stm32f4xx.c ****       2) by calling HAL API function HAL_RCC_GetHCLKFreq()
 131:Src/system_stm32f4xx.c ****       3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency 
 132:Src/system_stm32f4xx.c ****          Note: If you use this function to configure the system clock; then there
 133:Src/system_stm32f4xx.c ****                is no need to call the 2 first functions listed above, since SystemCoreClock
 134:Src/system_stm32f4xx.c ****                variable is updated automatically.
 135:Src/system_stm32f4xx.c ****   */
 136:Src/system_stm32f4xx.c **** uint32_t SystemCoreClock = 16000000;
 137:Src/system_stm32f4xx.c **** const uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9};
 138:Src/system_stm32f4xx.c **** const uint8_t APBPrescTable[8]  = {0, 0, 0, 0, 1, 2, 3, 4};
 139:Src/system_stm32f4xx.c **** /**
 140:Src/system_stm32f4xx.c ****   * @}
 141:Src/system_stm32f4xx.c ****   */
 142:Src/system_stm32f4xx.c **** 
 143:Src/system_stm32f4xx.c **** /** @addtogroup STM32F4xx_System_Private_FunctionPrototypes
 144:Src/system_stm32f4xx.c ****   * @{
ARM GAS  /tmp/cc8x624m.s 			page 4


 145:Src/system_stm32f4xx.c ****   */
 146:Src/system_stm32f4xx.c **** 
 147:Src/system_stm32f4xx.c **** #if defined (DATA_IN_ExtSRAM) || defined (DATA_IN_ExtSDRAM)
 148:Src/system_stm32f4xx.c ****   static void SystemInit_ExtMemCtl(void); 
 149:Src/system_stm32f4xx.c **** #endif /* DATA_IN_ExtSRAM || DATA_IN_ExtSDRAM */
 150:Src/system_stm32f4xx.c **** 
 151:Src/system_stm32f4xx.c **** /**
 152:Src/system_stm32f4xx.c ****   * @}
 153:Src/system_stm32f4xx.c ****   */
 154:Src/system_stm32f4xx.c **** 
 155:Src/system_stm32f4xx.c **** /** @addtogroup STM32F4xx_System_Private_Functions
 156:Src/system_stm32f4xx.c ****   * @{
 157:Src/system_stm32f4xx.c ****   */
 158:Src/system_stm32f4xx.c **** 
 159:Src/system_stm32f4xx.c **** /**
 160:Src/system_stm32f4xx.c ****   * @brief  Setup the microcontroller system
 161:Src/system_stm32f4xx.c ****   *         Initialize the FPU setting, vector table location and External memory 
 162:Src/system_stm32f4xx.c ****   *         configuration.
 163:Src/system_stm32f4xx.c ****   * @param  None
 164:Src/system_stm32f4xx.c ****   * @retval None
 165:Src/system_stm32f4xx.c ****   */
 166:Src/system_stm32f4xx.c **** void SystemInit(void)
 167:Src/system_stm32f4xx.c **** {
  29              		.loc 1 167 1 view -0
  30              		.cfi_startproc
  31              		@ args = 0, pretend = 0, frame = 0
  32              		@ frame_needed = 0, uses_anonymous_args = 0
  33              		@ link register save eliminated.
 168:Src/system_stm32f4xx.c ****   /* FPU settings ------------------------------------------------------------*/
 169:Src/system_stm32f4xx.c ****   #if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
 170:Src/system_stm32f4xx.c ****     SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2));  /* set CP10 and CP11 Full Access */
  34              		.loc 1 170 5 view .LVU1
  35              		.loc 1 170 16 is_stmt 0 view .LVU2
  36 0000 0F49     		ldr	r1, .L2
  37 0002 D1F88830 		ldr	r3, [r1, #136]
  38 0006 43F47003 		orr	r3, r3, #15728640
  39 000a C1F88830 		str	r3, [r1, #136]
 171:Src/system_stm32f4xx.c ****   #endif
 172:Src/system_stm32f4xx.c ****   /* Reset the RCC clock configuration to the default reset state ------------*/
 173:Src/system_stm32f4xx.c ****   /* Set HSION bit */
 174:Src/system_stm32f4xx.c ****   RCC->CR |= (uint32_t)0x00000001;
  40              		.loc 1 174 3 is_stmt 1 view .LVU3
  41              		.loc 1 174 11 is_stmt 0 view .LVU4
  42 000e 0D4B     		ldr	r3, .L2+4
  43 0010 1A68     		ldr	r2, [r3]
  44 0012 42F00102 		orr	r2, r2, #1
  45 0016 1A60     		str	r2, [r3]
 175:Src/system_stm32f4xx.c **** 
 176:Src/system_stm32f4xx.c ****   /* Reset CFGR register */
 177:Src/system_stm32f4xx.c ****   RCC->CFGR = 0x00000000;
  46              		.loc 1 177 3 is_stmt 1 view .LVU5
  47              		.loc 1 177 13 is_stmt 0 view .LVU6
  48 0018 0020     		movs	r0, #0
  49 001a 9860     		str	r0, [r3, #8]
 178:Src/system_stm32f4xx.c **** 
 179:Src/system_stm32f4xx.c ****   /* Reset HSEON, CSSON and PLLON bits */
 180:Src/system_stm32f4xx.c ****   RCC->CR &= (uint32_t)0xFEF6FFFF;
ARM GAS  /tmp/cc8x624m.s 			page 5


  50              		.loc 1 180 3 is_stmt 1 view .LVU7
  51              		.loc 1 180 11 is_stmt 0 view .LVU8
  52 001c 1A68     		ldr	r2, [r3]
  53 001e 22F08472 		bic	r2, r2, #17301504
  54 0022 22F48032 		bic	r2, r2, #65536
  55 0026 1A60     		str	r2, [r3]
 181:Src/system_stm32f4xx.c **** 
 182:Src/system_stm32f4xx.c ****   /* Reset PLLCFGR register */
 183:Src/system_stm32f4xx.c ****   RCC->PLLCFGR = 0x24003010;
  56              		.loc 1 183 3 is_stmt 1 view .LVU9
  57              		.loc 1 183 16 is_stmt 0 view .LVU10
  58 0028 074A     		ldr	r2, .L2+8
  59 002a 5A60     		str	r2, [r3, #4]
 184:Src/system_stm32f4xx.c **** 
 185:Src/system_stm32f4xx.c ****   /* Reset HSEBYP bit */
 186:Src/system_stm32f4xx.c ****   RCC->CR &= (uint32_t)0xFFFBFFFF;
  60              		.loc 1 186 3 is_stmt 1 view .LVU11
  61              		.loc 1 186 11 is_stmt 0 view .LVU12
  62 002c 1A68     		ldr	r2, [r3]
  63 002e 22F48022 		bic	r2, r2, #262144
  64 0032 1A60     		str	r2, [r3]
 187:Src/system_stm32f4xx.c **** 
 188:Src/system_stm32f4xx.c ****   /* Disable all interrupts */
 189:Src/system_stm32f4xx.c ****   RCC->CIR = 0x00000000;
  65              		.loc 1 189 3 is_stmt 1 view .LVU13
  66              		.loc 1 189 12 is_stmt 0 view .LVU14
  67 0034 D860     		str	r0, [r3, #12]
 190:Src/system_stm32f4xx.c **** 
 191:Src/system_stm32f4xx.c **** #if defined (DATA_IN_ExtSRAM) || defined (DATA_IN_ExtSDRAM)
 192:Src/system_stm32f4xx.c ****   SystemInit_ExtMemCtl(); 
 193:Src/system_stm32f4xx.c **** #endif /* DATA_IN_ExtSRAM || DATA_IN_ExtSDRAM */
 194:Src/system_stm32f4xx.c **** 
 195:Src/system_stm32f4xx.c ****   /* Configure the Vector Table location add offset address ------------------*/
 196:Src/system_stm32f4xx.c **** #ifdef VECT_TAB_SRAM
 197:Src/system_stm32f4xx.c ****   SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */
 198:Src/system_stm32f4xx.c **** #else
 199:Src/system_stm32f4xx.c ****   SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */
  68              		.loc 1 199 3 is_stmt 1 view .LVU15
  69              		.loc 1 199 13 is_stmt 0 view .LVU16
  70 0036 4FF00063 		mov	r3, #134217728
  71 003a 8B60     		str	r3, [r1, #8]
 200:Src/system_stm32f4xx.c **** #endif
 201:Src/system_stm32f4xx.c **** }
  72              		.loc 1 201 1 view .LVU17
  73 003c 7047     		bx	lr
  74              	.L3:
  75 003e 00BF     		.align	2
  76              	.L2:
  77 0040 00ED00E0 		.word	-536810240
  78 0044 00380240 		.word	1073887232
  79 0048 10300024 		.word	603992080
  80              		.cfi_endproc
  81              	.LFE130:
  83              		.section	.text.SystemCoreClockUpdate,"ax",%progbits
  84              		.align	1
  85              		.global	SystemCoreClockUpdate
  86              		.syntax unified
ARM GAS  /tmp/cc8x624m.s 			page 6


  87              		.thumb
  88              		.thumb_func
  90              	SystemCoreClockUpdate:
  91              	.LFB131:
 202:Src/system_stm32f4xx.c **** 
 203:Src/system_stm32f4xx.c **** /**
 204:Src/system_stm32f4xx.c ****    * @brief  Update SystemCoreClock variable according to Clock Register Values.
 205:Src/system_stm32f4xx.c ****   *         The SystemCoreClock variable contains the core clock (HCLK), it can
 206:Src/system_stm32f4xx.c ****   *         be used by the user application to setup the SysTick timer or configure
 207:Src/system_stm32f4xx.c ****   *         other parameters.
 208:Src/system_stm32f4xx.c ****   *           
 209:Src/system_stm32f4xx.c ****   * @note   Each time the core clock (HCLK) changes, this function must be called
 210:Src/system_stm32f4xx.c ****   *         to update SystemCoreClock variable value. Otherwise, any configuration
 211:Src/system_stm32f4xx.c ****   *         based on this variable will be incorrect.         
 212:Src/system_stm32f4xx.c ****   *     
 213:Src/system_stm32f4xx.c ****   * @note   - The system frequency computed by this function is not the real 
 214:Src/system_stm32f4xx.c ****   *           frequency in the chip. It is calculated based on the predefined 
 215:Src/system_stm32f4xx.c ****   *           constant and the selected clock source:
 216:Src/system_stm32f4xx.c ****   *             
 217:Src/system_stm32f4xx.c ****   *           - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*)
 218:Src/system_stm32f4xx.c ****   *                                              
 219:Src/system_stm32f4xx.c ****   *           - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**)
 220:Src/system_stm32f4xx.c ****   *                          
 221:Src/system_stm32f4xx.c ****   *           - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) 
 222:Src/system_stm32f4xx.c ****   *             or HSI_VALUE(*) multiplied/divided by the PLL factors.
 223:Src/system_stm32f4xx.c ****   *         
 224:Src/system_stm32f4xx.c ****   *         (*) HSI_VALUE is a constant defined in stm32f4xx_hal_conf.h file (default value
 225:Src/system_stm32f4xx.c ****   *             16 MHz) but the real value may vary depending on the variations
 226:Src/system_stm32f4xx.c ****   *             in voltage and temperature.   
 227:Src/system_stm32f4xx.c ****   *    
 228:Src/system_stm32f4xx.c ****   *         (**) HSE_VALUE is a constant defined in stm32f4xx_hal_conf.h file (its value
 229:Src/system_stm32f4xx.c ****   *              depends on the application requirements), user has to ensure that HSE_VALUE
 230:Src/system_stm32f4xx.c ****   *              is same as the real frequency of the crystal used. Otherwise, this function
 231:Src/system_stm32f4xx.c ****   *              may have wrong result.
 232:Src/system_stm32f4xx.c ****   *                
 233:Src/system_stm32f4xx.c ****   *         - The result of this function could be not correct when using fractional
 234:Src/system_stm32f4xx.c ****   *           value for HSE crystal.
 235:Src/system_stm32f4xx.c ****   *     
 236:Src/system_stm32f4xx.c ****   * @param  None
 237:Src/system_stm32f4xx.c ****   * @retval None
 238:Src/system_stm32f4xx.c ****   */
 239:Src/system_stm32f4xx.c **** void SystemCoreClockUpdate(void)
 240:Src/system_stm32f4xx.c **** {
  92              		.loc 1 240 1 is_stmt 1 view -0
  93              		.cfi_startproc
  94              		@ args = 0, pretend = 0, frame = 0
  95              		@ frame_needed = 0, uses_anonymous_args = 0
  96              		@ link register save eliminated.
 241:Src/system_stm32f4xx.c ****   uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2;
  97              		.loc 1 241 3 view .LVU19
  98              	.LVL0:
 242:Src/system_stm32f4xx.c ****   
 243:Src/system_stm32f4xx.c ****   /* Get SYSCLK source -------------------------------------------------------*/
 244:Src/system_stm32f4xx.c ****   tmp = RCC->CFGR & RCC_CFGR_SWS;
  99              		.loc 1 244 3 view .LVU20
 100              		.loc 1 244 12 is_stmt 0 view .LVU21
 101 0000 224B     		ldr	r3, .L12
ARM GAS  /tmp/cc8x624m.s 			page 7


 102 0002 9B68     		ldr	r3, [r3, #8]
 103              		.loc 1 244 7 view .LVU22
 104 0004 03F00C03 		and	r3, r3, #12
 105              	.LVL1:
 245:Src/system_stm32f4xx.c **** 
 246:Src/system_stm32f4xx.c ****   switch (tmp)
 106              		.loc 1 246 3 is_stmt 1 view .LVU23
 107 0008 042B     		cmp	r3, #4
 108 000a 14D0     		beq	.L5
 109 000c 082B     		cmp	r3, #8
 110 000e 16D0     		beq	.L6
 111 0010 1BB1     		cbz	r3, .L11
 247:Src/system_stm32f4xx.c ****   {
 248:Src/system_stm32f4xx.c ****     case 0x00:  /* HSI used as system clock source */
 249:Src/system_stm32f4xx.c ****       SystemCoreClock = HSI_VALUE;
 250:Src/system_stm32f4xx.c ****       break;
 251:Src/system_stm32f4xx.c ****     case 0x04:  /* HSE used as system clock source */
 252:Src/system_stm32f4xx.c ****       SystemCoreClock = HSE_VALUE;
 253:Src/system_stm32f4xx.c ****       break;
 254:Src/system_stm32f4xx.c ****     case 0x08:  /* PLL used as system clock source */
 255:Src/system_stm32f4xx.c **** 
 256:Src/system_stm32f4xx.c ****       /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N
 257:Src/system_stm32f4xx.c ****          SYSCLK = PLL_VCO / PLL_P
 258:Src/system_stm32f4xx.c ****          */    
 259:Src/system_stm32f4xx.c ****       pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22;
 260:Src/system_stm32f4xx.c ****       pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM;
 261:Src/system_stm32f4xx.c ****       
 262:Src/system_stm32f4xx.c ****       if (pllsource != 0)
 263:Src/system_stm32f4xx.c ****       {
 264:Src/system_stm32f4xx.c ****         /* HSE used as PLL clock source */
 265:Src/system_stm32f4xx.c ****         pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6);
 266:Src/system_stm32f4xx.c ****       }
 267:Src/system_stm32f4xx.c ****       else
 268:Src/system_stm32f4xx.c ****       {
 269:Src/system_stm32f4xx.c ****         /* HSI used as PLL clock source */
 270:Src/system_stm32f4xx.c ****         pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6);
 271:Src/system_stm32f4xx.c ****       }
 272:Src/system_stm32f4xx.c **** 
 273:Src/system_stm32f4xx.c ****       pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2;
 274:Src/system_stm32f4xx.c ****       SystemCoreClock = pllvco/pllp;
 275:Src/system_stm32f4xx.c ****       break;
 276:Src/system_stm32f4xx.c ****     default:
 277:Src/system_stm32f4xx.c ****       SystemCoreClock = HSI_VALUE;
 112              		.loc 1 277 7 view .LVU24
 113              		.loc 1 277 23 is_stmt 0 view .LVU25
 114 0012 1F4B     		ldr	r3, .L12+4
 115              	.LVL2:
 116              		.loc 1 277 23 view .LVU26
 117 0014 1F4A     		ldr	r2, .L12+8
 118 0016 1A60     		str	r2, [r3]
 278:Src/system_stm32f4xx.c ****       break;
 119              		.loc 1 278 7 is_stmt 1 view .LVU27
 120 0018 02E0     		b	.L8
 121              	.LVL3:
 122              	.L11:
 249:Src/system_stm32f4xx.c ****       break;
 123              		.loc 1 249 7 view .LVU28
ARM GAS  /tmp/cc8x624m.s 			page 8


 249:Src/system_stm32f4xx.c ****       break;
 124              		.loc 1 249 23 is_stmt 0 view .LVU29
 125 001a 1D4B     		ldr	r3, .L12+4
 126              	.LVL4:
 249:Src/system_stm32f4xx.c ****       break;
 127              		.loc 1 249 23 view .LVU30
 128 001c 1D4A     		ldr	r2, .L12+8
 129 001e 1A60     		str	r2, [r3]
 250:Src/system_stm32f4xx.c ****     case 0x04:  /* HSE used as system clock source */
 130              		.loc 1 250 7 is_stmt 1 view .LVU31
 131              	.LVL5:
 132              	.L8:
 279:Src/system_stm32f4xx.c ****   }
 280:Src/system_stm32f4xx.c ****   /* Compute HCLK frequency --------------------------------------------------*/
 281:Src/system_stm32f4xx.c ****   /* Get HCLK prescaler */
 282:Src/system_stm32f4xx.c ****   tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)];
 133              		.loc 1 282 3 view .LVU32
 134              		.loc 1 282 28 is_stmt 0 view .LVU33
 135 0020 1A4B     		ldr	r3, .L12
 136 0022 9B68     		ldr	r3, [r3, #8]
 137              		.loc 1 282 52 view .LVU34
 138 0024 C3F30313 		ubfx	r3, r3, #4, #4
 139              		.loc 1 282 22 view .LVU35
 140 0028 1B4A     		ldr	r2, .L12+12
 141 002a D15C     		ldrb	r1, [r2, r3]	@ zero_extendqisi2
 142              	.LVL6:
 283:Src/system_stm32f4xx.c ****   /* HCLK frequency */
 284:Src/system_stm32f4xx.c ****   SystemCoreClock >>= tmp;
 143              		.loc 1 284 3 is_stmt 1 view .LVU36
 144              		.loc 1 284 19 is_stmt 0 view .LVU37
 145 002c 184A     		ldr	r2, .L12+4
 146 002e 1368     		ldr	r3, [r2]
 147 0030 CB40     		lsrs	r3, r3, r1
 148 0032 1360     		str	r3, [r2]
 285:Src/system_stm32f4xx.c **** }
 149              		.loc 1 285 1 view .LVU38
 150 0034 7047     		bx	lr
 151              	.LVL7:
 152              	.L5:
 252:Src/system_stm32f4xx.c ****       break;
 153              		.loc 1 252 7 is_stmt 1 view .LVU39
 252:Src/system_stm32f4xx.c ****       break;
 154              		.loc 1 252 23 is_stmt 0 view .LVU40
 155 0036 164B     		ldr	r3, .L12+4
 156              	.LVL8:
 252:Src/system_stm32f4xx.c ****       break;
 157              		.loc 1 252 23 view .LVU41
 158 0038 184A     		ldr	r2, .L12+16
 159 003a 1A60     		str	r2, [r3]
 253:Src/system_stm32f4xx.c ****     case 0x08:  /* PLL used as system clock source */
 160              		.loc 1 253 7 is_stmt 1 view .LVU42
 161 003c F0E7     		b	.L8
 162              	.LVL9:
 163              	.L6:
 259:Src/system_stm32f4xx.c ****       pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM;
 164              		.loc 1 259 7 view .LVU43
 259:Src/system_stm32f4xx.c ****       pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM;
ARM GAS  /tmp/cc8x624m.s 			page 9


 165              		.loc 1 259 23 is_stmt 0 view .LVU44
 166 003e 134B     		ldr	r3, .L12
 167              	.LVL10:
 259:Src/system_stm32f4xx.c ****       pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM;
 168              		.loc 1 259 23 view .LVU45
 169 0040 5968     		ldr	r1, [r3, #4]
 170              	.LVL11:
 260:Src/system_stm32f4xx.c ****       
 171              		.loc 1 260 7 is_stmt 1 view .LVU46
 260:Src/system_stm32f4xx.c ****       
 172              		.loc 1 260 17 is_stmt 0 view .LVU47
 173 0042 5A68     		ldr	r2, [r3, #4]
 260:Src/system_stm32f4xx.c ****       
 174              		.loc 1 260 12 view .LVU48
 175 0044 02F03F02 		and	r2, r2, #63
 176              	.LVL12:
 262:Src/system_stm32f4xx.c ****       {
 177              		.loc 1 262 7 is_stmt 1 view .LVU49
 262:Src/system_stm32f4xx.c ****       {
 178              		.loc 1 262 10 is_stmt 0 view .LVU50
 179 0048 11F4800F 		tst	r1, #4194304
 180 004c 13D0     		beq	.L9
 265:Src/system_stm32f4xx.c ****       }
 181              		.loc 1 265 9 is_stmt 1 view .LVU51
 265:Src/system_stm32f4xx.c ****       }
 182              		.loc 1 265 29 is_stmt 0 view .LVU52
 183 004e 134B     		ldr	r3, .L12+16
 184 0050 B3FBF2F3 		udiv	r3, r3, r2
 265:Src/system_stm32f4xx.c ****       }
 185              		.loc 1 265 44 view .LVU53
 186 0054 0D4A     		ldr	r2, .L12
 187              	.LVL13:
 265:Src/system_stm32f4xx.c ****       }
 188              		.loc 1 265 44 view .LVU54
 189 0056 5268     		ldr	r2, [r2, #4]
 265:Src/system_stm32f4xx.c ****       }
 190              		.loc 1 265 74 view .LVU55
 191 0058 C2F38812 		ubfx	r2, r2, #6, #9
 265:Src/system_stm32f4xx.c ****       }
 192              		.loc 1 265 16 view .LVU56
 193 005c 02FB03F3 		mul	r3, r2, r3
 194              	.LVL14:
 195              	.L10:
 273:Src/system_stm32f4xx.c ****       SystemCoreClock = pllvco/pllp;
 196              		.loc 1 273 7 is_stmt 1 view .LVU57
 273:Src/system_stm32f4xx.c ****       SystemCoreClock = pllvco/pllp;
 197              		.loc 1 273 20 is_stmt 0 view .LVU58
 198 0060 0A4A     		ldr	r2, .L12
 199 0062 5268     		ldr	r2, [r2, #4]
 273:Src/system_stm32f4xx.c ****       SystemCoreClock = pllvco/pllp;
 200              		.loc 1 273 50 view .LVU59
 201 0064 C2F30142 		ubfx	r2, r2, #16, #2
 273:Src/system_stm32f4xx.c ****       SystemCoreClock = pllvco/pllp;
 202              		.loc 1 273 56 view .LVU60
 203 0068 0132     		adds	r2, r2, #1
 273:Src/system_stm32f4xx.c ****       SystemCoreClock = pllvco/pllp;
 204              		.loc 1 273 12 view .LVU61
ARM GAS  /tmp/cc8x624m.s 			page 10


 205 006a 5200     		lsls	r2, r2, #1
 206              	.LVL15:
 274:Src/system_stm32f4xx.c ****       break;
 207              		.loc 1 274 7 is_stmt 1 view .LVU62
 274:Src/system_stm32f4xx.c ****       break;
 208              		.loc 1 274 31 is_stmt 0 view .LVU63
 209 006c B3FBF2F3 		udiv	r3, r3, r2
 210              	.LVL16:
 274:Src/system_stm32f4xx.c ****       break;
 211              		.loc 1 274 23 view .LVU64
 212 0070 074A     		ldr	r2, .L12+4
 213              	.LVL17:
 274:Src/system_stm32f4xx.c ****       break;
 214              		.loc 1 274 23 view .LVU65
 215 0072 1360     		str	r3, [r2]
 275:Src/system_stm32f4xx.c ****     default:
 216              		.loc 1 275 7 is_stmt 1 view .LVU66
 217 0074 D4E7     		b	.L8
 218              	.LVL18:
 219              	.L9:
 270:Src/system_stm32f4xx.c ****       }
 220              		.loc 1 270 9 view .LVU67
 270:Src/system_stm32f4xx.c ****       }
 221              		.loc 1 270 29 is_stmt 0 view .LVU68
 222 0076 074B     		ldr	r3, .L12+8
 223 0078 B3FBF2F3 		udiv	r3, r3, r2
 270:Src/system_stm32f4xx.c ****       }
 224              		.loc 1 270 44 view .LVU69
 225 007c 034A     		ldr	r2, .L12
 226              	.LVL19:
 270:Src/system_stm32f4xx.c ****       }
 227              		.loc 1 270 44 view .LVU70
 228 007e 5268     		ldr	r2, [r2, #4]
 270:Src/system_stm32f4xx.c ****       }
 229              		.loc 1 270 74 view .LVU71
 230 0080 C2F38812 		ubfx	r2, r2, #6, #9
 270:Src/system_stm32f4xx.c ****       }
 231              		.loc 1 270 16 view .LVU72
 232 0084 02FB03F3 		mul	r3, r2, r3
 233              	.LVL20:
 270:Src/system_stm32f4xx.c ****       }
 234              		.loc 1 270 16 view .LVU73
 235 0088 EAE7     		b	.L10
 236              	.L13:
 237 008a 00BF     		.align	2
 238              	.L12:
 239 008c 00380240 		.word	1073887232
 240 0090 00000000 		.word	.LANCHOR0
 241 0094 0024F400 		.word	16000000
 242 0098 00000000 		.word	.LANCHOR1
 243 009c 40787D01 		.word	25000000
 244              		.cfi_endproc
 245              	.LFE131:
 247              		.global	APBPrescTable
 248              		.global	AHBPrescTable
 249              		.global	SystemCoreClock
 250              		.section	.data.SystemCoreClock,"aw"
ARM GAS  /tmp/cc8x624m.s 			page 11


 251              		.align	2
 252              		.set	.LANCHOR0,. + 0
 255              	SystemCoreClock:
 256 0000 0024F400 		.word	16000000
 257              		.section	.rodata.AHBPrescTable,"a"
 258              		.align	2
 259              		.set	.LANCHOR1,. + 0
 262              	AHBPrescTable:
 263 0000 00000000 		.ascii	"\000\000\000\000\000\000\000\000\001\002\003\004\006"
 263      00000000 
 263      01020304 
 263      06
 264 000d 070809   		.ascii	"\007\010\011"
 265              		.section	.rodata.APBPrescTable,"a"
 266              		.align	2
 269              	APBPrescTable:
 270 0000 00000000 		.ascii	"\000\000\000\000\001\002\003\004"
 270      01020304 
 271              		.text
 272              	.Letext0:
 273              		.file 2 "/home/gitc/\346\241\214\351\235\242/gcc-arm-none-eabi-10.3-2021.10/arm-none-eabi/include/
 274              		.file 3 "/home/gitc/\346\241\214\351\235\242/gcc-arm-none-eabi-10.3-2021.10/arm-none-eabi/include/
 275              		.file 4 "Drivers/CMSIS/Include/core_cm4.h"
 276              		.file 5 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h"
 277              		.file 6 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f407xx.h"
ARM GAS  /tmp/cc8x624m.s 			page 12


DEFINED SYMBOLS
                            *ABS*:0000000000000000 system_stm32f4xx.c
     /tmp/cc8x624m.s:20     .text.SystemInit:0000000000000000 $t
     /tmp/cc8x624m.s:26     .text.SystemInit:0000000000000000 SystemInit
     /tmp/cc8x624m.s:77     .text.SystemInit:0000000000000040 $d
     /tmp/cc8x624m.s:84     .text.SystemCoreClockUpdate:0000000000000000 $t
     /tmp/cc8x624m.s:90     .text.SystemCoreClockUpdate:0000000000000000 SystemCoreClockUpdate
     /tmp/cc8x624m.s:239    .text.SystemCoreClockUpdate:000000000000008c $d
     /tmp/cc8x624m.s:269    .rodata.APBPrescTable:0000000000000000 APBPrescTable
     /tmp/cc8x624m.s:262    .rodata.AHBPrescTable:0000000000000000 AHBPrescTable
     /tmp/cc8x624m.s:255    .data.SystemCoreClock:0000000000000000 SystemCoreClock
     /tmp/cc8x624m.s:251    .data.SystemCoreClock:0000000000000000 $d
     /tmp/cc8x624m.s:258    .rodata.AHBPrescTable:0000000000000000 $d
     /tmp/cc8x624m.s:266    .rodata.APBPrescTable:0000000000000000 $d

NO UNDEFINED SYMBOLS
