system_stm32f3xx.lst 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537
  1. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc9aF3u8.s page 1
  2. 1 .cpu cortex-m4
  3. 2 .arch armv7e-m
  4. 3 .fpu fpv4-sp-d16
  5. 4 .eabi_attribute 27, 1
  6. 5 .eabi_attribute 28, 1
  7. 6 .eabi_attribute 20, 1
  8. 7 .eabi_attribute 21, 1
  9. 8 .eabi_attribute 23, 3
  10. 9 .eabi_attribute 24, 1
  11. 10 .eabi_attribute 25, 1
  12. 11 .eabi_attribute 26, 1
  13. 12 .eabi_attribute 30, 2
  14. 13 .eabi_attribute 34, 1
  15. 14 .eabi_attribute 18, 4
  16. 15 .file "system_stm32f3xx.c"
  17. 16 .text
  18. 17 .Ltext0:
  19. 18 .cfi_sections .debug_frame
  20. 19 .section .text.SystemInit,"ax",%progbits
  21. 20 .align 1
  22. 21 .p2align 2,,3
  23. 22 .global SystemInit
  24. 23 .syntax unified
  25. 24 .thumb
  26. 25 .thumb_func
  27. 27 SystemInit:
  28. 28 .LFB130:
  29. 29 .file 1 "Core/Src/system_stm32f3xx.c"
  30. 1:Core/Src/system_stm32f3xx.c **** /**
  31. 2:Core/Src/system_stm32f3xx.c **** ******************************************************************************
  32. 3:Core/Src/system_stm32f3xx.c **** * @file system_stm32f3xx.c
  33. 4:Core/Src/system_stm32f3xx.c **** * @author MCD Application Team
  34. 5:Core/Src/system_stm32f3xx.c **** * @brief CMSIS Cortex-M4 Device Peripheral Access Layer System Source File.
  35. 6:Core/Src/system_stm32f3xx.c **** *
  36. 7:Core/Src/system_stm32f3xx.c **** * 1. This file provides two functions and one global variable to be called from
  37. 8:Core/Src/system_stm32f3xx.c **** * user application:
  38. 9:Core/Src/system_stm32f3xx.c **** * - SystemInit(): This function is called at startup just after reset and
  39. 10:Core/Src/system_stm32f3xx.c **** * before branch to main program. This call is made inside
  40. 11:Core/Src/system_stm32f3xx.c **** * the "startup_stm32f3xx.s" file.
  41. 12:Core/Src/system_stm32f3xx.c **** *
  42. 13:Core/Src/system_stm32f3xx.c **** * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used
  43. 14:Core/Src/system_stm32f3xx.c **** * by the user application to setup the SysTick
  44. 15:Core/Src/system_stm32f3xx.c **** * timer or configure other parameters.
  45. 16:Core/Src/system_stm32f3xx.c **** *
  46. 17:Core/Src/system_stm32f3xx.c **** * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must
  47. 18:Core/Src/system_stm32f3xx.c **** * be called whenever the core clock is changed
  48. 19:Core/Src/system_stm32f3xx.c **** * during program execution.
  49. 20:Core/Src/system_stm32f3xx.c **** *
  50. 21:Core/Src/system_stm32f3xx.c **** * 2. After each device reset the HSI (8 MHz) is used as system clock source.
  51. 22:Core/Src/system_stm32f3xx.c **** * Then SystemInit() function is called, in "startup_stm32f3xx.s" file, to
  52. 23:Core/Src/system_stm32f3xx.c **** * configure the system clock before to branch to main program.
  53. 24:Core/Src/system_stm32f3xx.c **** *
  54. 25:Core/Src/system_stm32f3xx.c **** * 3. This file configures the system clock as follows:
  55. 26:Core/Src/system_stm32f3xx.c **** *=============================================================================
  56. 27:Core/Src/system_stm32f3xx.c **** * Supported STM32F3xx device
  57. 28:Core/Src/system_stm32f3xx.c **** *-----------------------------------------------------------------------------
  58. 29:Core/Src/system_stm32f3xx.c **** * System Clock source | HSI
  59. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc9aF3u8.s page 2
  60. 30:Core/Src/system_stm32f3xx.c **** *-----------------------------------------------------------------------------
  61. 31:Core/Src/system_stm32f3xx.c **** * SYSCLK(Hz) | 8000000
  62. 32:Core/Src/system_stm32f3xx.c **** *-----------------------------------------------------------------------------
  63. 33:Core/Src/system_stm32f3xx.c **** * HCLK(Hz) | 8000000
  64. 34:Core/Src/system_stm32f3xx.c **** *-----------------------------------------------------------------------------
  65. 35:Core/Src/system_stm32f3xx.c **** * AHB Prescaler | 1
  66. 36:Core/Src/system_stm32f3xx.c **** *-----------------------------------------------------------------------------
  67. 37:Core/Src/system_stm32f3xx.c **** * APB2 Prescaler | 1
  68. 38:Core/Src/system_stm32f3xx.c **** *-----------------------------------------------------------------------------
  69. 39:Core/Src/system_stm32f3xx.c **** * APB1 Prescaler | 1
  70. 40:Core/Src/system_stm32f3xx.c **** *-----------------------------------------------------------------------------
  71. 41:Core/Src/system_stm32f3xx.c **** * USB Clock | DISABLE
  72. 42:Core/Src/system_stm32f3xx.c **** *-----------------------------------------------------------------------------
  73. 43:Core/Src/system_stm32f3xx.c **** *=============================================================================
  74. 44:Core/Src/system_stm32f3xx.c **** ******************************************************************************
  75. 45:Core/Src/system_stm32f3xx.c **** * @attention
  76. 46:Core/Src/system_stm32f3xx.c **** *
  77. 47:Core/Src/system_stm32f3xx.c **** * Copyright (c) 2016 STMicroelectronics.
  78. 48:Core/Src/system_stm32f3xx.c **** * All rights reserved.
  79. 49:Core/Src/system_stm32f3xx.c **** *
  80. 50:Core/Src/system_stm32f3xx.c **** * This software is licensed under terms that can be found in the LICENSE file
  81. 51:Core/Src/system_stm32f3xx.c **** * in the root directory of this software component.
  82. 52:Core/Src/system_stm32f3xx.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
  83. 53:Core/Src/system_stm32f3xx.c **** *
  84. 54:Core/Src/system_stm32f3xx.c **** ******************************************************************************
  85. 55:Core/Src/system_stm32f3xx.c **** */
  86. 56:Core/Src/system_stm32f3xx.c ****
  87. 57:Core/Src/system_stm32f3xx.c **** /** @addtogroup CMSIS
  88. 58:Core/Src/system_stm32f3xx.c **** * @{
  89. 59:Core/Src/system_stm32f3xx.c **** */
  90. 60:Core/Src/system_stm32f3xx.c ****
  91. 61:Core/Src/system_stm32f3xx.c **** /** @addtogroup stm32f3xx_system
  92. 62:Core/Src/system_stm32f3xx.c **** * @{
  93. 63:Core/Src/system_stm32f3xx.c **** */
  94. 64:Core/Src/system_stm32f3xx.c ****
  95. 65:Core/Src/system_stm32f3xx.c **** /** @addtogroup STM32F3xx_System_Private_Includes
  96. 66:Core/Src/system_stm32f3xx.c **** * @{
  97. 67:Core/Src/system_stm32f3xx.c **** */
  98. 68:Core/Src/system_stm32f3xx.c ****
  99. 69:Core/Src/system_stm32f3xx.c **** #include "stm32f3xx.h"
  100. 70:Core/Src/system_stm32f3xx.c ****
  101. 71:Core/Src/system_stm32f3xx.c **** /**
  102. 72:Core/Src/system_stm32f3xx.c **** * @}
  103. 73:Core/Src/system_stm32f3xx.c **** */
  104. 74:Core/Src/system_stm32f3xx.c ****
  105. 75:Core/Src/system_stm32f3xx.c **** /** @addtogroup STM32F3xx_System_Private_TypesDefinitions
  106. 76:Core/Src/system_stm32f3xx.c **** * @{
  107. 77:Core/Src/system_stm32f3xx.c **** */
  108. 78:Core/Src/system_stm32f3xx.c ****
  109. 79:Core/Src/system_stm32f3xx.c **** /**
  110. 80:Core/Src/system_stm32f3xx.c **** * @}
  111. 81:Core/Src/system_stm32f3xx.c **** */
  112. 82:Core/Src/system_stm32f3xx.c ****
  113. 83:Core/Src/system_stm32f3xx.c **** /** @addtogroup STM32F3xx_System_Private_Defines
  114. 84:Core/Src/system_stm32f3xx.c **** * @{
  115. 85:Core/Src/system_stm32f3xx.c **** */
  116. 86:Core/Src/system_stm32f3xx.c **** #if !defined (HSE_VALUE)
  117. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc9aF3u8.s page 3
  118. 87:Core/Src/system_stm32f3xx.c **** #define HSE_VALUE ((uint32_t)8000000) /*!< Default value of the External oscillator in Hz.
  119. 88:Core/Src/system_stm32f3xx.c **** This value can be provided and adapted by the user
  120. 89:Core/Src/system_stm32f3xx.c **** #endif /* HSE_VALUE */
  121. 90:Core/Src/system_stm32f3xx.c ****
  122. 91:Core/Src/system_stm32f3xx.c **** #if !defined (HSI_VALUE)
  123. 92:Core/Src/system_stm32f3xx.c **** #define HSI_VALUE ((uint32_t)8000000) /*!< Default value of the Internal oscillator in Hz.
  124. 93:Core/Src/system_stm32f3xx.c **** This value can be provided and adapted by the user
  125. 94:Core/Src/system_stm32f3xx.c **** #endif /* HSI_VALUE */
  126. 95:Core/Src/system_stm32f3xx.c ****
  127. 96:Core/Src/system_stm32f3xx.c **** /* Note: Following vector table addresses must be defined in line with linker
  128. 97:Core/Src/system_stm32f3xx.c **** configuration. */
  129. 98:Core/Src/system_stm32f3xx.c **** /*!< Uncomment the following line if you need to relocate the vector table
  130. 99:Core/Src/system_stm32f3xx.c **** anywhere in Flash or Sram, else the vector table is kept at the automatic
  131. 100:Core/Src/system_stm32f3xx.c **** remap of boot address selected */
  132. 101:Core/Src/system_stm32f3xx.c **** /* #define USER_VECT_TAB_ADDRESS */
  133. 102:Core/Src/system_stm32f3xx.c ****
  134. 103:Core/Src/system_stm32f3xx.c **** #if defined(USER_VECT_TAB_ADDRESS)
  135. 104:Core/Src/system_stm32f3xx.c **** /*!< Uncomment the following line if you need to relocate your vector Table
  136. 105:Core/Src/system_stm32f3xx.c **** in Sram else user remap will be done in Flash. */
  137. 106:Core/Src/system_stm32f3xx.c **** /* #define VECT_TAB_SRAM */
  138. 107:Core/Src/system_stm32f3xx.c **** #if defined(VECT_TAB_SRAM)
  139. 108:Core/Src/system_stm32f3xx.c **** #define VECT_TAB_BASE_ADDRESS SRAM_BASE /*!< Vector Table base address field.
  140. 109:Core/Src/system_stm32f3xx.c **** This value must be a multiple of 0x200. */
  141. 110:Core/Src/system_stm32f3xx.c **** #define VECT_TAB_OFFSET 0x00000000U /*!< Vector Table base offset field.
  142. 111:Core/Src/system_stm32f3xx.c **** This value must be a multiple of 0x200. */
  143. 112:Core/Src/system_stm32f3xx.c **** #else
  144. 113:Core/Src/system_stm32f3xx.c **** #define VECT_TAB_BASE_ADDRESS FLASH_BASE /*!< Vector Table base address field.
  145. 114:Core/Src/system_stm32f3xx.c **** This value must be a multiple of 0x200. */
  146. 115:Core/Src/system_stm32f3xx.c **** #define VECT_TAB_OFFSET 0x00000000U /*!< Vector Table base offset field.
  147. 116:Core/Src/system_stm32f3xx.c **** This value must be a multiple of 0x200. */
  148. 117:Core/Src/system_stm32f3xx.c **** #endif /* VECT_TAB_SRAM */
  149. 118:Core/Src/system_stm32f3xx.c **** #endif /* USER_VECT_TAB_ADDRESS */
  150. 119:Core/Src/system_stm32f3xx.c ****
  151. 120:Core/Src/system_stm32f3xx.c **** /******************************************************************************/
  152. 121:Core/Src/system_stm32f3xx.c **** /**
  153. 122:Core/Src/system_stm32f3xx.c **** * @}
  154. 123:Core/Src/system_stm32f3xx.c **** */
  155. 124:Core/Src/system_stm32f3xx.c ****
  156. 125:Core/Src/system_stm32f3xx.c **** /** @addtogroup STM32F3xx_System_Private_Macros
  157. 126:Core/Src/system_stm32f3xx.c **** * @{
  158. 127:Core/Src/system_stm32f3xx.c **** */
  159. 128:Core/Src/system_stm32f3xx.c ****
  160. 129:Core/Src/system_stm32f3xx.c **** /**
  161. 130:Core/Src/system_stm32f3xx.c **** * @}
  162. 131:Core/Src/system_stm32f3xx.c **** */
  163. 132:Core/Src/system_stm32f3xx.c ****
  164. 133:Core/Src/system_stm32f3xx.c **** /** @addtogroup STM32F3xx_System_Private_Variables
  165. 134:Core/Src/system_stm32f3xx.c **** * @{
  166. 135:Core/Src/system_stm32f3xx.c **** */
  167. 136:Core/Src/system_stm32f3xx.c **** /* This variable is updated in three ways:
  168. 137:Core/Src/system_stm32f3xx.c **** 1) by calling CMSIS function SystemCoreClockUpdate()
  169. 138:Core/Src/system_stm32f3xx.c **** 2) by calling HAL API function HAL_RCC_GetHCLKFreq()
  170. 139:Core/Src/system_stm32f3xx.c **** 3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency
  171. 140:Core/Src/system_stm32f3xx.c **** Note: If you use this function to configure the system clock there is no need to
  172. 141:Core/Src/system_stm32f3xx.c **** call the 2 first functions listed above, since SystemCoreClock variable is
  173. 142:Core/Src/system_stm32f3xx.c **** updated automatically.
  174. 143:Core/Src/system_stm32f3xx.c **** */
  175. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc9aF3u8.s page 4
  176. 144:Core/Src/system_stm32f3xx.c **** uint32_t SystemCoreClock = 8000000;
  177. 145:Core/Src/system_stm32f3xx.c ****
  178. 146:Core/Src/system_stm32f3xx.c **** const uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9};
  179. 147:Core/Src/system_stm32f3xx.c **** const uint8_t APBPrescTable[8] = {0, 0, 0, 0, 1, 2, 3, 4};
  180. 148:Core/Src/system_stm32f3xx.c ****
  181. 149:Core/Src/system_stm32f3xx.c **** /**
  182. 150:Core/Src/system_stm32f3xx.c **** * @}
  183. 151:Core/Src/system_stm32f3xx.c **** */
  184. 152:Core/Src/system_stm32f3xx.c ****
  185. 153:Core/Src/system_stm32f3xx.c **** /** @addtogroup STM32F3xx_System_Private_FunctionPrototypes
  186. 154:Core/Src/system_stm32f3xx.c **** * @{
  187. 155:Core/Src/system_stm32f3xx.c **** */
  188. 156:Core/Src/system_stm32f3xx.c ****
  189. 157:Core/Src/system_stm32f3xx.c **** /**
  190. 158:Core/Src/system_stm32f3xx.c **** * @}
  191. 159:Core/Src/system_stm32f3xx.c **** */
  192. 160:Core/Src/system_stm32f3xx.c ****
  193. 161:Core/Src/system_stm32f3xx.c **** /** @addtogroup STM32F3xx_System_Private_Functions
  194. 162:Core/Src/system_stm32f3xx.c **** * @{
  195. 163:Core/Src/system_stm32f3xx.c **** */
  196. 164:Core/Src/system_stm32f3xx.c ****
  197. 165:Core/Src/system_stm32f3xx.c **** /**
  198. 166:Core/Src/system_stm32f3xx.c **** * @brief Setup the microcontroller system
  199. 167:Core/Src/system_stm32f3xx.c **** * @param None
  200. 168:Core/Src/system_stm32f3xx.c **** * @retval None
  201. 169:Core/Src/system_stm32f3xx.c **** */
  202. 170:Core/Src/system_stm32f3xx.c **** void SystemInit(void)
  203. 171:Core/Src/system_stm32f3xx.c **** {
  204. 30 .loc 1 171 1 view -0
  205. 31 .cfi_startproc
  206. 32 @ args = 0, pretend = 0, frame = 0
  207. 33 @ frame_needed = 0, uses_anonymous_args = 0
  208. 34 @ link register save eliminated.
  209. 172:Core/Src/system_stm32f3xx.c **** /* FPU settings --------------------------------------------------------------*/
  210. 173:Core/Src/system_stm32f3xx.c **** #if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
  211. 174:Core/Src/system_stm32f3xx.c **** SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */
  212. 35 .loc 1 174 3 view .LVU1
  213. 36 .loc 1 174 14 is_stmt 0 view .LVU2
  214. 37 0000 034A ldr r2, .L3
  215. 38 0002 D2F88830 ldr r3, [r2, #136]
  216. 39 0006 43F47003 orr r3, r3, #15728640
  217. 40 000a C2F88830 str r3, [r2, #136]
  218. 175:Core/Src/system_stm32f3xx.c **** #endif
  219. 176:Core/Src/system_stm32f3xx.c ****
  220. 177:Core/Src/system_stm32f3xx.c **** /* Configure the Vector Table location -------------------------------------*/
  221. 178:Core/Src/system_stm32f3xx.c **** #if defined(USER_VECT_TAB_ADDRESS)
  222. 179:Core/Src/system_stm32f3xx.c **** SCB->VTOR = VECT_TAB_BASE_ADDRESS | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM
  223. 180:Core/Src/system_stm32f3xx.c **** #endif /* USER_VECT_TAB_ADDRESS */
  224. 181:Core/Src/system_stm32f3xx.c **** }
  225. 41 .loc 1 181 1 view .LVU3
  226. 42 000e 7047 bx lr
  227. 43 .L4:
  228. 44 .align 2
  229. 45 .L3:
  230. 46 0010 00ED00E0 .word -536810240
  231. 47 .cfi_endproc
  232. 48 .LFE130:
  233. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc9aF3u8.s page 5
  234. 50 .section .text.SystemCoreClockUpdate,"ax",%progbits
  235. 51 .align 1
  236. 52 .p2align 2,,3
  237. 53 .global SystemCoreClockUpdate
  238. 54 .syntax unified
  239. 55 .thumb
  240. 56 .thumb_func
  241. 58 SystemCoreClockUpdate:
  242. 59 .LFB131:
  243. 182:Core/Src/system_stm32f3xx.c ****
  244. 183:Core/Src/system_stm32f3xx.c **** /**
  245. 184:Core/Src/system_stm32f3xx.c **** * @brief Update SystemCoreClock variable according to Clock Register Values.
  246. 185:Core/Src/system_stm32f3xx.c **** * The SystemCoreClock variable contains the core clock (HCLK), it can
  247. 186:Core/Src/system_stm32f3xx.c **** * be used by the user application to setup the SysTick timer or configure
  248. 187:Core/Src/system_stm32f3xx.c **** * other parameters.
  249. 188:Core/Src/system_stm32f3xx.c **** *
  250. 189:Core/Src/system_stm32f3xx.c **** * @note Each time the core clock (HCLK) changes, this function must be called
  251. 190:Core/Src/system_stm32f3xx.c **** * to update SystemCoreClock variable value. Otherwise, any configuration
  252. 191:Core/Src/system_stm32f3xx.c **** * based on this variable will be incorrect.
  253. 192:Core/Src/system_stm32f3xx.c **** *
  254. 193:Core/Src/system_stm32f3xx.c **** * @note - The system frequency computed by this function is not the real
  255. 194:Core/Src/system_stm32f3xx.c **** * frequency in the chip. It is calculated based on the predefined
  256. 195:Core/Src/system_stm32f3xx.c **** * constant and the selected clock source:
  257. 196:Core/Src/system_stm32f3xx.c **** *
  258. 197:Core/Src/system_stm32f3xx.c **** * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*)
  259. 198:Core/Src/system_stm32f3xx.c **** *
  260. 199:Core/Src/system_stm32f3xx.c **** * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**)
  261. 200:Core/Src/system_stm32f3xx.c **** *
  262. 201:Core/Src/system_stm32f3xx.c **** * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**)
  263. 202:Core/Src/system_stm32f3xx.c **** * or HSI_VALUE(*) multiplied/divided by the PLL factors.
  264. 203:Core/Src/system_stm32f3xx.c **** *
  265. 204:Core/Src/system_stm32f3xx.c **** * (*) HSI_VALUE is a constant defined in stm32f3xx_hal.h file (default value
  266. 205:Core/Src/system_stm32f3xx.c **** * 8 MHz) but the real value may vary depending on the variations
  267. 206:Core/Src/system_stm32f3xx.c **** * in voltage and temperature.
  268. 207:Core/Src/system_stm32f3xx.c **** *
  269. 208:Core/Src/system_stm32f3xx.c **** * (**) HSE_VALUE is a constant defined in stm32f3xx_hal.h file (default value
  270. 209:Core/Src/system_stm32f3xx.c **** * 8 MHz), user has to ensure that HSE_VALUE is same as the real
  271. 210:Core/Src/system_stm32f3xx.c **** * frequency of the crystal used. Otherwise, this function may
  272. 211:Core/Src/system_stm32f3xx.c **** * have wrong result.
  273. 212:Core/Src/system_stm32f3xx.c **** *
  274. 213:Core/Src/system_stm32f3xx.c **** * - The result of this function could be not correct when using fractional
  275. 214:Core/Src/system_stm32f3xx.c **** * value for HSE crystal.
  276. 215:Core/Src/system_stm32f3xx.c **** *
  277. 216:Core/Src/system_stm32f3xx.c **** * @param None
  278. 217:Core/Src/system_stm32f3xx.c **** * @retval None
  279. 218:Core/Src/system_stm32f3xx.c **** */
  280. 219:Core/Src/system_stm32f3xx.c **** void SystemCoreClockUpdate (void)
  281. 220:Core/Src/system_stm32f3xx.c **** {
  282. 60 .loc 1 220 1 is_stmt 1 view -0
  283. 61 .cfi_startproc
  284. 62 @ args = 0, pretend = 0, frame = 0
  285. 63 @ frame_needed = 0, uses_anonymous_args = 0
  286. 64 @ link register save eliminated.
  287. 221:Core/Src/system_stm32f3xx.c **** uint32_t tmp = 0, pllmull = 0, pllsource = 0, predivfactor = 0;
  288. 65 .loc 1 221 3 view .LVU5
  289. 66 .LVL0:
  290. 222:Core/Src/system_stm32f3xx.c ****
  291. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc9aF3u8.s page 6
  292. 223:Core/Src/system_stm32f3xx.c **** /* Get SYSCLK source -------------------------------------------------------*/
  293. 224:Core/Src/system_stm32f3xx.c **** tmp = RCC->CFGR & RCC_CFGR_SWS;
  294. 67 .loc 1 224 3 view .LVU6
  295. 68 .loc 1 224 12 is_stmt 0 view .LVU7
  296. 69 0000 134A ldr r2, .L10
  297. 70 0002 5368 ldr r3, [r2, #4]
  298. 71 .LVL1:
  299. 225:Core/Src/system_stm32f3xx.c ****
  300. 226:Core/Src/system_stm32f3xx.c **** switch (tmp)
  301. 72 .loc 1 226 3 is_stmt 1 view .LVU8
  302. 224:Core/Src/system_stm32f3xx.c ****
  303. 73 .loc 1 224 7 is_stmt 0 view .LVU9
  304. 74 0004 03F00C03 and r3, r3, #12
  305. 75 .LVL2:
  306. 76 .loc 1 226 3 view .LVU10
  307. 77 0008 082B cmp r3, #8
  308. 78 000a 0AD0 beq .L9
  309. 79 000c 114B ldr r3, .L10+4
  310. 80 .LVL3:
  311. 81 .L6:
  312. 227:Core/Src/system_stm32f3xx.c **** {
  313. 228:Core/Src/system_stm32f3xx.c **** case RCC_CFGR_SWS_HSI: /* HSI used as system clock */
  314. 229:Core/Src/system_stm32f3xx.c **** SystemCoreClock = HSI_VALUE;
  315. 230:Core/Src/system_stm32f3xx.c **** break;
  316. 231:Core/Src/system_stm32f3xx.c **** case RCC_CFGR_SWS_HSE: /* HSE used as system clock */
  317. 232:Core/Src/system_stm32f3xx.c **** SystemCoreClock = HSE_VALUE;
  318. 233:Core/Src/system_stm32f3xx.c **** break;
  319. 234:Core/Src/system_stm32f3xx.c **** case RCC_CFGR_SWS_PLL: /* PLL used as system clock */
  320. 235:Core/Src/system_stm32f3xx.c **** /* Get PLL clock source and multiplication factor ----------------------*/
  321. 236:Core/Src/system_stm32f3xx.c **** pllmull = RCC->CFGR & RCC_CFGR_PLLMUL;
  322. 237:Core/Src/system_stm32f3xx.c **** pllsource = RCC->CFGR & RCC_CFGR_PLLSRC;
  323. 238:Core/Src/system_stm32f3xx.c **** pllmull = ( pllmull >> 18) + 2;
  324. 239:Core/Src/system_stm32f3xx.c ****
  325. 240:Core/Src/system_stm32f3xx.c **** #if defined (STM32F302xE) || defined (STM32F303xE) || defined (STM32F398xx)
  326. 241:Core/Src/system_stm32f3xx.c **** predivfactor = (RCC->CFGR2 & RCC_CFGR2_PREDIV) + 1;
  327. 242:Core/Src/system_stm32f3xx.c **** if (pllsource == RCC_CFGR_PLLSRC_HSE_PREDIV)
  328. 243:Core/Src/system_stm32f3xx.c **** {
  329. 244:Core/Src/system_stm32f3xx.c **** /* HSE oscillator clock selected as PREDIV1 clock entry */
  330. 245:Core/Src/system_stm32f3xx.c **** SystemCoreClock = (HSE_VALUE / predivfactor) * pllmull;
  331. 246:Core/Src/system_stm32f3xx.c **** }
  332. 247:Core/Src/system_stm32f3xx.c **** else
  333. 248:Core/Src/system_stm32f3xx.c **** {
  334. 249:Core/Src/system_stm32f3xx.c **** /* HSI oscillator clock selected as PREDIV1 clock entry */
  335. 250:Core/Src/system_stm32f3xx.c **** SystemCoreClock = (HSI_VALUE / predivfactor) * pllmull;
  336. 251:Core/Src/system_stm32f3xx.c **** }
  337. 252:Core/Src/system_stm32f3xx.c **** #else
  338. 253:Core/Src/system_stm32f3xx.c **** if (pllsource == RCC_CFGR_PLLSRC_HSI_DIV2)
  339. 254:Core/Src/system_stm32f3xx.c **** {
  340. 255:Core/Src/system_stm32f3xx.c **** /* HSI oscillator clock divided by 2 selected as PLL clock entry */
  341. 256:Core/Src/system_stm32f3xx.c **** SystemCoreClock = (HSI_VALUE >> 1) * pllmull;
  342. 257:Core/Src/system_stm32f3xx.c **** }
  343. 258:Core/Src/system_stm32f3xx.c **** else
  344. 259:Core/Src/system_stm32f3xx.c **** {
  345. 260:Core/Src/system_stm32f3xx.c **** predivfactor = (RCC->CFGR2 & RCC_CFGR2_PREDIV) + 1;
  346. 261:Core/Src/system_stm32f3xx.c **** /* HSE oscillator clock selected as PREDIV1 clock entry */
  347. 262:Core/Src/system_stm32f3xx.c **** SystemCoreClock = (HSE_VALUE / predivfactor) * pllmull;
  348. 263:Core/Src/system_stm32f3xx.c **** }
  349. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc9aF3u8.s page 7
  350. 264:Core/Src/system_stm32f3xx.c **** #endif /* STM32F302xE || STM32F303xE || STM32F398xx */
  351. 265:Core/Src/system_stm32f3xx.c **** break;
  352. 266:Core/Src/system_stm32f3xx.c **** default: /* HSI used as system clock */
  353. 267:Core/Src/system_stm32f3xx.c **** SystemCoreClock = HSI_VALUE;
  354. 268:Core/Src/system_stm32f3xx.c **** break;
  355. 269:Core/Src/system_stm32f3xx.c **** }
  356. 270:Core/Src/system_stm32f3xx.c **** /* Compute HCLK clock frequency ----------------*/
  357. 271:Core/Src/system_stm32f3xx.c **** /* Get HCLK prescaler */
  358. 272:Core/Src/system_stm32f3xx.c **** tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)];
  359. 82 .loc 1 272 3 is_stmt 1 view .LVU11
  360. 83 .loc 1 272 28 is_stmt 0 view .LVU12
  361. 84 000e 104A ldr r2, .L10
  362. 85 .loc 1 272 22 view .LVU13
  363. 86 0010 1148 ldr r0, .L10+8
  364. 87 .loc 1 272 28 view .LVU14
  365. 88 0012 5268 ldr r2, [r2, #4]
  366. 89 .LVL4:
  367. 273:Core/Src/system_stm32f3xx.c **** /* HCLK clock frequency */
  368. 274:Core/Src/system_stm32f3xx.c **** SystemCoreClock >>= tmp;
  369. 90 .loc 1 274 3 is_stmt 1 view .LVU15
  370. 91 .loc 1 274 19 is_stmt 0 view .LVU16
  371. 92 0014 1149 ldr r1, .L10+12
  372. 272:Core/Src/system_stm32f3xx.c **** /* HCLK clock frequency */
  373. 93 .loc 1 272 52 view .LVU17
  374. 94 0016 C2F30312 ubfx r2, r2, #4, #4
  375. 95 .LVL5:
  376. 272:Core/Src/system_stm32f3xx.c **** /* HCLK clock frequency */
  377. 96 .loc 1 272 7 view .LVU18
  378. 97 001a 825C ldrb r2, [r0, r2] @ zero_extendqisi2
  379. 98 .loc 1 274 19 view .LVU19
  380. 99 001c D340 lsrs r3, r3, r2
  381. 100 001e 0B60 str r3, [r1]
  382. 275:Core/Src/system_stm32f3xx.c **** }
  383. 101 .loc 1 275 1 view .LVU20
  384. 102 0020 7047 bx lr
  385. 103 .LVL6:
  386. 104 .L9:
  387. 236:Core/Src/system_stm32f3xx.c **** pllsource = RCC->CFGR & RCC_CFGR_PLLSRC;
  388. 105 .loc 1 236 7 is_stmt 1 view .LVU21
  389. 236:Core/Src/system_stm32f3xx.c **** pllsource = RCC->CFGR & RCC_CFGR_PLLSRC;
  390. 106 .loc 1 236 20 is_stmt 0 view .LVU22
  391. 107 0022 5368 ldr r3, [r2, #4]
  392. 108 .LVL7:
  393. 237:Core/Src/system_stm32f3xx.c **** pllmull = ( pllmull >> 18) + 2;
  394. 109 .loc 1 237 7 is_stmt 1 view .LVU23
  395. 237:Core/Src/system_stm32f3xx.c **** pllmull = ( pllmull >> 18) + 2;
  396. 110 .loc 1 237 22 is_stmt 0 view .LVU24
  397. 111 0024 5168 ldr r1, [r2, #4]
  398. 112 .LVL8:
  399. 238:Core/Src/system_stm32f3xx.c ****
  400. 113 .loc 1 238 7 is_stmt 1 view .LVU25
  401. 238:Core/Src/system_stm32f3xx.c ****
  402. 114 .loc 1 238 27 is_stmt 0 view .LVU26
  403. 115 0026 C3F38343 ubfx r3, r3, #18, #4
  404. 116 .LVL9:
  405. 253:Core/Src/system_stm32f3xx.c **** {
  406. 117 .loc 1 253 10 view .LVU27
  407. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc9aF3u8.s page 8
  408. 118 002a C903 lsls r1, r1, #15
  409. 119 .LVL10:
  410. 238:Core/Src/system_stm32f3xx.c ****
  411. 120 .loc 1 238 15 view .LVU28
  412. 121 002c 03F10203 add r3, r3, #2
  413. 122 .LVL11:
  414. 253:Core/Src/system_stm32f3xx.c **** {
  415. 123 .loc 1 253 7 is_stmt 1 view .LVU29
  416. 253:Core/Src/system_stm32f3xx.c **** {
  417. 124 .loc 1 253 10 is_stmt 0 view .LVU30
  418. 125 0030 03D4 bmi .L7
  419. 256:Core/Src/system_stm32f3xx.c **** }
  420. 126 .loc 1 256 9 is_stmt 1 view .LVU31
  421. 256:Core/Src/system_stm32f3xx.c **** }
  422. 127 .loc 1 256 44 is_stmt 0 view .LVU32
  423. 128 0032 0B4A ldr r2, .L10+16
  424. 129 0034 02FB03F3 mul r3, r2, r3
  425. 130 .LVL12:
  426. 256:Core/Src/system_stm32f3xx.c **** }
  427. 131 .loc 1 256 44 view .LVU33
  428. 132 0038 E9E7 b .L6
  429. 133 .LVL13:
  430. 134 .L7:
  431. 260:Core/Src/system_stm32f3xx.c **** /* HSE oscillator clock selected as PREDIV1 clock entry */
  432. 135 .loc 1 260 9 is_stmt 1 view .LVU34
  433. 260:Core/Src/system_stm32f3xx.c **** /* HSE oscillator clock selected as PREDIV1 clock entry */
  434. 136 .loc 1 260 28 is_stmt 0 view .LVU35
  435. 137 003a D26A ldr r2, [r2, #44]
  436. 138 .LVL14:
  437. 262:Core/Src/system_stm32f3xx.c **** }
  438. 139 .loc 1 262 9 is_stmt 1 view .LVU36
  439. 262:Core/Src/system_stm32f3xx.c **** }
  440. 140 .loc 1 262 38 is_stmt 0 view .LVU37
  441. 141 003c 0549 ldr r1, .L10+4
  442. 260:Core/Src/system_stm32f3xx.c **** /* HSE oscillator clock selected as PREDIV1 clock entry */
  443. 142 .loc 1 260 36 view .LVU38
  444. 143 003e 02F00F02 and r2, r2, #15
  445. 144 .LVL15:
  446. 260:Core/Src/system_stm32f3xx.c **** /* HSE oscillator clock selected as PREDIV1 clock entry */
  447. 145 .loc 1 260 22 view .LVU39
  448. 146 0042 0132 adds r2, r2, #1
  449. 147 .LVL16:
  450. 262:Core/Src/system_stm32f3xx.c **** }
  451. 148 .loc 1 262 38 view .LVU40
  452. 149 0044 B1FBF2F2 udiv r2, r1, r2
  453. 150 .LVL17:
  454. 262:Core/Src/system_stm32f3xx.c **** }
  455. 151 .loc 1 262 54 view .LVU41
  456. 152 0048 02FB03F3 mul r3, r2, r3
  457. 153 .LVL18:
  458. 262:Core/Src/system_stm32f3xx.c **** }
  459. 154 .loc 1 262 54 view .LVU42
  460. 155 004c DFE7 b .L6
  461. 156 .L11:
  462. 157 004e 00BF .align 2
  463. 158 .L10:
  464. 159 0050 00100240 .word 1073876992
  465. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc9aF3u8.s page 9
  466. 160 0054 00127A00 .word 8000000
  467. 161 0058 00000000 .word .LANCHOR1
  468. 162 005c 00000000 .word .LANCHOR0
  469. 163 0060 00093D00 .word 4000000
  470. 164 .cfi_endproc
  471. 165 .LFE131:
  472. 167 .global APBPrescTable
  473. 168 .global AHBPrescTable
  474. 169 .global SystemCoreClock
  475. 170 .section .data.SystemCoreClock,"aw"
  476. 171 .align 2
  477. 172 .set .LANCHOR0,. + 0
  478. 175 SystemCoreClock:
  479. 176 0000 00127A00 .word 8000000
  480. 177 .section .rodata.AHBPrescTable,"a"
  481. 178 .align 2
  482. 179 .set .LANCHOR1,. + 0
  483. 182 AHBPrescTable:
  484. 183 0000 00000000 .ascii "\000\000\000\000\000\000\000\000\001\002\003\004\006"
  485. 183 00000000
  486. 183 01020304
  487. 183 06
  488. 184 000d 070809 .ascii "\007\010\011"
  489. 185 .section .rodata.APBPrescTable,"a"
  490. 186 .align 2
  491. 189 APBPrescTable:
  492. 190 0000 00000000 .ascii "\000\000\000\000\001\002\003\004"
  493. 190 01020304
  494. 191 .text
  495. 192 .Letext0:
  496. 193 .file 2 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h"
  497. 194 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h"
  498. 195 .file 4 "Drivers/CMSIS/Include/core_cm4.h"
  499. 196 .file 5 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/system_stm32f3xx.h"
  500. 197 .file 6 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h"
  501. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc9aF3u8.s page 10
  502. DEFINED SYMBOLS
  503. *ABS*:00000000 system_stm32f3xx.c
  504. C:\Users\zl835\AppData\Local\Temp\cc9aF3u8.s:20 .text.SystemInit:00000000 $t
  505. C:\Users\zl835\AppData\Local\Temp\cc9aF3u8.s:27 .text.SystemInit:00000000 SystemInit
  506. C:\Users\zl835\AppData\Local\Temp\cc9aF3u8.s:46 .text.SystemInit:00000010 $d
  507. C:\Users\zl835\AppData\Local\Temp\cc9aF3u8.s:51 .text.SystemCoreClockUpdate:00000000 $t
  508. C:\Users\zl835\AppData\Local\Temp\cc9aF3u8.s:58 .text.SystemCoreClockUpdate:00000000 SystemCoreClockUpdate
  509. C:\Users\zl835\AppData\Local\Temp\cc9aF3u8.s:159 .text.SystemCoreClockUpdate:00000050 $d
  510. C:\Users\zl835\AppData\Local\Temp\cc9aF3u8.s:189 .rodata.APBPrescTable:00000000 APBPrescTable
  511. C:\Users\zl835\AppData\Local\Temp\cc9aF3u8.s:182 .rodata.AHBPrescTable:00000000 AHBPrescTable
  512. C:\Users\zl835\AppData\Local\Temp\cc9aF3u8.s:175 .data.SystemCoreClock:00000000 SystemCoreClock
  513. C:\Users\zl835\AppData\Local\Temp\cc9aF3u8.s:171 .data.SystemCoreClock:00000000 $d
  514. C:\Users\zl835\AppData\Local\Temp\cc9aF3u8.s:178 .rodata.AHBPrescTable:00000000 $d
  515. C:\Users\zl835\AppData\Local\Temp\cc9aF3u8.s:186 .rodata.APBPrescTable:00000000 $d
  516. NO UNDEFINED SYMBOLS