stm32f3xx_hal_pwr.lst 76 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212
  1. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.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 "stm32f3xx_hal_pwr.c"
  17. 16 .text
  18. 17 .Ltext0:
  19. 18 .cfi_sections .debug_frame
  20. 19 .section .text.HAL_PWR_DeInit,"ax",%progbits
  21. 20 .align 1
  22. 21 .p2align 2,,3
  23. 22 .global HAL_PWR_DeInit
  24. 23 .syntax unified
  25. 24 .thumb
  26. 25 .thumb_func
  27. 27 HAL_PWR_DeInit:
  28. 28 .LFB130:
  29. 29 .file 1 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c"
  30. 1:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /**
  31. 2:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** ******************************************************************************
  32. 3:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @file stm32f3xx_hal_pwr.c
  33. 4:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @author MCD Application Team
  34. 5:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @brief PWR HAL module driver.
  35. 6:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * This file provides firmware functions to manage the following
  36. 7:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * functionalities of the Power Controller (PWR) peripheral:
  37. 8:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * + Initialization/de-initialization functions
  38. 9:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * + Peripheral Control functions
  39. 10:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** *
  40. 11:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** ******************************************************************************
  41. 12:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @attention
  42. 13:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** *
  43. 14:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * Copyright (c) 2016 STMicroelectronics.
  44. 15:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * All rights reserved.
  45. 16:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** *
  46. 17:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * This software is licensed under terms that can be found in the LICENSE file
  47. 18:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * in the root directory of this software component.
  48. 19:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
  49. 20:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** *
  50. 21:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** ******************************************************************************
  51. 22:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  52. 23:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  53. 24:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Includes ------------------------------------------------------------------*/
  54. 25:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** #include "stm32f3xx_hal.h"
  55. 26:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  56. 27:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /** @addtogroup STM32F3xx_HAL_Driver
  57. 28:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @{
  58. 29:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  59. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s page 2
  60. 30:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  61. 31:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /** @defgroup PWR PWR
  62. 32:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @brief PWR HAL module driver
  63. 33:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @{
  64. 34:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  65. 35:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  66. 36:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** #ifdef HAL_PWR_MODULE_ENABLED
  67. 37:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  68. 38:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Private typedef -----------------------------------------------------------*/
  69. 39:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Private define ------------------------------------------------------------*/
  70. 40:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Private macro -------------------------------------------------------------*/
  71. 41:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Private variables ---------------------------------------------------------*/
  72. 42:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Private function prototypes -----------------------------------------------*/
  73. 43:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Private functions ---------------------------------------------------------*/
  74. 44:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  75. 45:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /** @defgroup PWR_Exported_Functions PWR Exported Functions
  76. 46:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @{
  77. 47:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  78. 48:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  79. 49:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /** @defgroup PWR_Exported_Functions_Group1 Initialization and de-initialization functions
  80. 50:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @brief Initialization and de-initialization functions
  81. 51:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** *
  82. 52:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** @verbatim
  83. 53:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** ===============================================================================
  84. 54:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** ##### Initialization and de-initialization functions #####
  85. 55:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** ===============================================================================
  86. 56:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** [..]
  87. 57:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** After reset, the backup domain (RTC registers, RTC backup data
  88. 58:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** registers and backup SRAM) is protected against possible unwanted
  89. 59:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** write accesses.
  90. 60:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** To enable access to the RTC Domain and RTC registers, proceed as follows:
  91. 61:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+) Enable the Power Controller (PWR) APB1 interface clock using the
  92. 62:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** __HAL_RCC_PWR_CLK_ENABLE() macro.
  93. 63:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+) Enable access to RTC domain using the HAL_PWR_EnableBkUpAccess() function.
  94. 64:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  95. 65:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** @endverbatim
  96. 66:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @{
  97. 67:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  98. 68:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  99. 69:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /**
  100. 70:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @brief Deinitializes the PWR peripheral registers to their default reset values.
  101. 71:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @retval None
  102. 72:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  103. 73:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** void HAL_PWR_DeInit(void)
  104. 74:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** {
  105. 30 .loc 1 74 1 view -0
  106. 31 .cfi_startproc
  107. 32 @ args = 0, pretend = 0, frame = 0
  108. 33 @ frame_needed = 0, uses_anonymous_args = 0
  109. 34 @ link register save eliminated.
  110. 75:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** __HAL_RCC_PWR_FORCE_RESET();
  111. 35 .loc 1 75 3 view .LVU1
  112. 36 0000 044B ldr r3, .L3
  113. 37 0002 1A69 ldr r2, [r3, #16]
  114. 38 0004 42F08052 orr r2, r2, #268435456
  115. 39 0008 1A61 str r2, [r3, #16]
  116. 76:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** __HAL_RCC_PWR_RELEASE_RESET();
  117. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s page 3
  118. 40 .loc 1 76 3 view .LVU2
  119. 41 000a 1A69 ldr r2, [r3, #16]
  120. 42 000c 22F08052 bic r2, r2, #268435456
  121. 43 0010 1A61 str r2, [r3, #16]
  122. 77:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** }
  123. 44 .loc 1 77 1 is_stmt 0 view .LVU3
  124. 45 0012 7047 bx lr
  125. 46 .L4:
  126. 47 .align 2
  127. 48 .L3:
  128. 49 0014 00100240 .word 1073876992
  129. 50 .cfi_endproc
  130. 51 .LFE130:
  131. 53 .section .text.HAL_PWR_EnableBkUpAccess,"ax",%progbits
  132. 54 .align 1
  133. 55 .p2align 2,,3
  134. 56 .global HAL_PWR_EnableBkUpAccess
  135. 57 .syntax unified
  136. 58 .thumb
  137. 59 .thumb_func
  138. 61 HAL_PWR_EnableBkUpAccess:
  139. 62 .LFB131:
  140. 78:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  141. 79:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /**
  142. 80:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @brief Enables access to the backup domain (RTC registers, RTC
  143. 81:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * backup data registers and backup SRAM).
  144. 82:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @note If the HSE divided by 32 is used as the RTC clock, the
  145. 83:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * Backup Domain Access should be kept enabled.
  146. 84:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @retval None
  147. 85:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  148. 86:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** void HAL_PWR_EnableBkUpAccess(void)
  149. 87:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** {
  150. 63 .loc 1 87 1 is_stmt 1 view -0
  151. 64 .cfi_startproc
  152. 65 @ args = 0, pretend = 0, frame = 0
  153. 66 @ frame_needed = 0, uses_anonymous_args = 0
  154. 67 @ link register save eliminated.
  155. 88:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** SET_BIT(PWR->CR, PWR_CR_DBP);
  156. 68 .loc 1 88 3 view .LVU5
  157. 69 0000 024A ldr r2, .L6
  158. 70 0002 1368 ldr r3, [r2]
  159. 71 0004 43F48073 orr r3, r3, #256
  160. 72 0008 1360 str r3, [r2]
  161. 89:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** }
  162. 73 .loc 1 89 1 is_stmt 0 view .LVU6
  163. 74 000a 7047 bx lr
  164. 75 .L7:
  165. 76 .align 2
  166. 77 .L6:
  167. 78 000c 00700040 .word 1073770496
  168. 79 .cfi_endproc
  169. 80 .LFE131:
  170. 82 .section .text.HAL_PWR_DisableBkUpAccess,"ax",%progbits
  171. 83 .align 1
  172. 84 .p2align 2,,3
  173. 85 .global HAL_PWR_DisableBkUpAccess
  174. 86 .syntax unified
  175. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s page 4
  176. 87 .thumb
  177. 88 .thumb_func
  178. 90 HAL_PWR_DisableBkUpAccess:
  179. 91 .LFB132:
  180. 90:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  181. 91:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /**
  182. 92:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @brief Disables access to the backup domain (RTC registers, RTC
  183. 93:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * backup data registers and backup SRAM).
  184. 94:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @note If the HSE divided by 32 is used as the RTC clock, the
  185. 95:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * Backup Domain Access should be kept enabled.
  186. 96:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @retval None
  187. 97:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  188. 98:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** void HAL_PWR_DisableBkUpAccess(void)
  189. 99:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** {
  190. 92 .loc 1 99 1 is_stmt 1 view -0
  191. 93 .cfi_startproc
  192. 94 @ args = 0, pretend = 0, frame = 0
  193. 95 @ frame_needed = 0, uses_anonymous_args = 0
  194. 96 @ link register save eliminated.
  195. 100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** CLEAR_BIT(PWR->CR, PWR_CR_DBP);
  196. 97 .loc 1 100 3 view .LVU8
  197. 98 0000 024A ldr r2, .L9
  198. 99 0002 1368 ldr r3, [r2]
  199. 100 0004 23F48073 bic r3, r3, #256
  200. 101 0008 1360 str r3, [r2]
  201. 101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** }
  202. 102 .loc 1 101 1 is_stmt 0 view .LVU9
  203. 103 000a 7047 bx lr
  204. 104 .L10:
  205. 105 .align 2
  206. 106 .L9:
  207. 107 000c 00700040 .word 1073770496
  208. 108 .cfi_endproc
  209. 109 .LFE132:
  210. 111 .section .rodata.HAL_PWR_EnableWakeUpPin.str1.4,"aMS",%progbits,1
  211. 112 .align 2
  212. 113 .LC0:
  213. 114 0000 44726976 .ascii "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr."
  214. 114 6572732F
  215. 114 53544D33
  216. 114 32463378
  217. 114 785F4841
  218. 115 0033 6300 .ascii "c\000"
  219. 116 .section .text.HAL_PWR_EnableWakeUpPin,"ax",%progbits
  220. 117 .align 1
  221. 118 .p2align 2,,3
  222. 119 .global HAL_PWR_EnableWakeUpPin
  223. 120 .syntax unified
  224. 121 .thumb
  225. 122 .thumb_func
  226. 124 HAL_PWR_EnableWakeUpPin:
  227. 125 .LVL0:
  228. 126 .LFB133:
  229. 102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  230. 103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /**
  231. 104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @}
  232. 105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  233. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s page 5
  234. 106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  235. 107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /** @defgroup PWR_Exported_Functions_Group2 Peripheral Control functions
  236. 108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @brief Low Power modes configuration functions
  237. 109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** *
  238. 110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** @verbatim
  239. 111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  240. 112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** ===============================================================================
  241. 113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** ##### Peripheral Control functions #####
  242. 114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** ===============================================================================
  243. 115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  244. 116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** *** WakeUp pin configuration ***
  245. 117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** ================================
  246. 118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** [..]
  247. 119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+) WakeUp pin is used to wakeup the system from Standby mode. This pin is
  248. 120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** forced in input pull down configuration and is active on rising edges.
  249. 121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+) There are up to three WakeUp pins:
  250. 122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (++)WakeUp Pin 1 on PA.00.
  251. 123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (++)WakeUp Pin 2 on PC.13 (STM32F303xC, STM32F303xE only).
  252. 124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (++)WakeUp Pin 3 on PE.06.
  253. 125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  254. 126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** *** Main and Backup Regulators configuration ***
  255. 127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** ================================================
  256. 128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** [..]
  257. 129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+) When the backup domain is supplied by VDD (analog switch connected to VDD)
  258. 130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** the backup SRAM is powered from VDD which replaces the VBAT power supply to
  259. 131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** save battery life.
  260. 132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  261. 133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+) The backup SRAM is not mass erased by a tamper event. It is read
  262. 134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** protected to prevent confidential data, such as cryptographic private
  263. 135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** key, from being accessed. The backup SRAM can be erased only through
  264. 136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** the Flash interface when a protection level change from level 1 to
  265. 137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** level 0 is requested.
  266. 138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** -@- Refer to the description of Read protection (RDP) in the Flash
  267. 139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** programming manual.
  268. 140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  269. 141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** Refer to the datasheets for more details.
  270. 142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  271. 143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** *** Low Power modes configuration ***
  272. 144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** =====================================
  273. 145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** [..]
  274. 146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** The devices feature 3 low-power modes:
  275. 147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+) Sleep mode: Cortex-M4 core stopped, peripherals kept running.
  276. 148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+) Stop mode: all clocks are stopped, regulator running, regulator
  277. 149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** in low power mode
  278. 150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+) Standby mode: 1.2V domain powered off (mode not available on STM32F3x8 devices).
  279. 151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  280. 152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** *** Sleep mode ***
  281. 153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** ==================
  282. 154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** [..]
  283. 155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+) Entry:
  284. 156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** The Sleep mode is entered by using the HAL_PWR_EnterSLEEPMode(PWR_MAINREGULATOR_ON, PWR_S
  285. 157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** functions with
  286. 158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (++) PWR_SLEEPENTRY_WFI: enter SLEEP mode with WFI instruction
  287. 159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (++) PWR_SLEEPENTRY_WFE: enter SLEEP mode with WFE instruction
  288. 160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  289. 161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+) Exit:
  290. 162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (++) Any peripheral interrupt acknowledged by the nested vectored interrupt
  291. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s page 6
  292. 163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** controller (NVIC) can wake up the device from Sleep mode.
  293. 164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  294. 165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** *** Stop mode ***
  295. 166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** =================
  296. 167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** [..]
  297. 168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** In Stop mode, all clocks in the 1.8V domain are stopped, the PLL, the HSI,
  298. 169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** and the HSE RC oscillators are disabled. Internal SRAM and register contents
  299. 170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** are preserved.
  300. 171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** The voltage regulator can be configured either in normal or low-power mode to minimize the co
  301. 172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  302. 173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+) Entry:
  303. 174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** The Stop mode is entered using the HAL_PWR_EnterSTOPMode(PWR_MAINREGULATOR_ON, PWR_STOPEN
  304. 175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** function with:
  305. 176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (++) Main regulator ON or
  306. 177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (++) Low Power regulator ON.
  307. 178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (++) PWR_STOPENTRY_WFI: enter STOP mode with WFI instruction or
  308. 179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (++) PWR_STOPENTRY_WFE: enter STOP mode with WFE instruction
  309. 180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+) Exit:
  310. 181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (++) Any EXTI Line (Internal or External) configured in Interrupt/Event mode.
  311. 182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (++) Some specific communication peripherals (CEC, USART, I2C) interrupts,
  312. 183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** when programmed in wakeup mode (the peripheral must be
  313. 184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** programmed in wakeup mode and the corresponding interrupt vector
  314. 185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** must be enabled in the NVIC).
  315. 186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  316. 187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** *** Standby mode ***
  317. 188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** ====================
  318. 189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** [..]
  319. 190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** The Standby mode allows to achieve the lowest power consumption. It is based
  320. 191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** on the Cortex-M4 deep sleep mode, with the voltage regulator disabled.
  321. 192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** The 1.8V domain is consequently powered off. The PLL, the HSI oscillator and
  322. 193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** the HSE oscillator are also switched off. SRAM and register contents are lost
  323. 194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** except for the RTC registers, RTC backup registers, backup SRAM and Standby
  324. 195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** circuitry.
  325. 196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** The voltage regulator is OFF.
  326. 197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  327. 198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+) Entry:
  328. 199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (++) The Standby mode is entered using the HAL_PWR_EnterSTANDBYMode() function.
  329. 200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+) Exit:
  330. 201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (++) WKUP pin rising edge, RTC alarm (Alarm A and Alarm B), RTC wakeup,
  331. 202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** tamper event, time-stamp event, external reset in NRST pin, IWDG reset.
  332. 203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  333. 204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** *** Auto-wakeup (AWU) from low-power mode ***
  334. 205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** =============================================
  335. 206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** [..]
  336. 207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** The MCU can be woken up from low-power mode by an RTC Alarm event, an RTC
  337. 208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** Wakeup event, a tamper event, a time-stamp event, or a comparator event,
  338. 209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** without depending on an external interrupt (Auto-wakeup mode).
  339. 210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  340. 211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+) RTC auto-wakeup (AWU) from the Stop and Standby modes
  341. 212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  342. 213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (++) To wake up from the Stop mode with an RTC alarm event, it is necessary to
  343. 214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** configure the RTC to generate the RTC alarm using the HAL_RTC_SetAlarm_IT() function.
  344. 215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  345. 216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (++) To wake up from the Stop mode with an RTC Tamper or time stamp event, it
  346. 217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** is necessary to configure the RTC to detect the tamper or time stamp event using the
  347. 218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** HAL_RTC_SetTimeStamp_IT() or HAL_RTC_SetTamper_IT() functions.
  348. 219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  349. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s page 7
  350. 220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (++) To wake up from the Stop mode with an RTC WakeUp event, it is necessary to
  351. 221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** configure the RTC to generate the RTC WakeUp event using the HAL_RTC_SetWakeUpTimer_IT()
  352. 222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  353. 223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+) Comparator auto-wakeup (AWU) from the Stop mode
  354. 224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  355. 225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (++) To wake up from the Stop mode with a comparator wakeup event, it is necessary to:
  356. 226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+++) Configure the EXTI Line associated with the comparator (example EXTI Line 22 for c
  357. 227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** to be sensitive to to the selected edges (falling, rising or falling
  358. 228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** and rising) (Interrupt or Event modes) using the EXTI_Init() function.
  359. 229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+++) Configure the comparator to generate the event.
  360. 230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** @endverbatim
  361. 231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @{
  362. 232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  363. 233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  364. 234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /**
  365. 235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @brief Enables the WakeUp PINx functionality.
  366. 236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @param WakeUpPinx Specifies the Power Wake-Up pin to enable.
  367. 237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * This parameter can be value of :
  368. 238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @ref PWR_WakeUp_Pins
  369. 239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @retval None
  370. 240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  371. 241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** void HAL_PWR_EnableWakeUpPin(uint32_t WakeUpPinx)
  372. 242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** {
  373. 127 .loc 1 242 1 is_stmt 1 view -0
  374. 128 .cfi_startproc
  375. 129 @ args = 0, pretend = 0, frame = 0
  376. 130 @ frame_needed = 0, uses_anonymous_args = 0
  377. 243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Check the parameters */
  378. 244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** assert_param(IS_PWR_WAKEUP_PIN(WakeUpPinx));
  379. 131 .loc 1 244 3 view .LVU11
  380. 132 0000 B0F5807F cmp r0, #256
  381. 242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Check the parameters */
  382. 133 .loc 1 242 1 is_stmt 0 view .LVU12
  383. 134 0004 10B5 push {r4, lr}
  384. 135 .LCFI0:
  385. 136 .cfi_def_cfa_offset 8
  386. 137 .cfi_offset 4, -8
  387. 138 .cfi_offset 14, -4
  388. 242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Check the parameters */
  389. 139 .loc 1 242 1 view .LVU13
  390. 140 0006 0446 mov r4, r0
  391. 141 .loc 1 244 3 view .LVU14
  392. 142 0008 09D0 beq .L12
  393. 143 .loc 1 244 3 discriminator 1 view .LVU15
  394. 144 000a B0F5007F cmp r0, #512
  395. 145 000e 06D0 beq .L12
  396. 146 .loc 1 244 3 discriminator 2 view .LVU16
  397. 147 0010 B0F5806F cmp r0, #1024
  398. 148 0014 03D0 beq .L12
  399. 149 .loc 1 244 3 discriminator 3 view .LVU17
  400. 150 0016 0448 ldr r0, .L23
  401. 151 .LVL1:
  402. 152 .loc 1 244 3 discriminator 3 view .LVU18
  403. 153 0018 F421 movs r1, #244
  404. 154 001a FFF7FEFF bl assert_failed
  405. 155 .LVL2:
  406. 156 .L12:
  407. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s page 8
  408. 245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Enable the EWUPx pin */
  409. 246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** SET_BIT(PWR->CSR, WakeUpPinx);
  410. 157 .loc 1 246 3 is_stmt 1 view .LVU19
  411. 158 001e 034B ldr r3, .L23+4
  412. 159 0020 5868 ldr r0, [r3, #4]
  413. 160 0022 0443 orrs r4, r4, r0
  414. 161 .LVL3:
  415. 162 .loc 1 246 3 is_stmt 0 view .LVU20
  416. 163 0024 5C60 str r4, [r3, #4]
  417. 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** }
  418. 164 .loc 1 247 1 view .LVU21
  419. 165 0026 10BD pop {r4, pc}
  420. 166 .L24:
  421. 167 .align 2
  422. 168 .L23:
  423. 169 0028 00000000 .word .LC0
  424. 170 002c 00700040 .word 1073770496
  425. 171 .cfi_endproc
  426. 172 .LFE133:
  427. 174 .section .text.HAL_PWR_DisableWakeUpPin,"ax",%progbits
  428. 175 .align 1
  429. 176 .p2align 2,,3
  430. 177 .global HAL_PWR_DisableWakeUpPin
  431. 178 .syntax unified
  432. 179 .thumb
  433. 180 .thumb_func
  434. 182 HAL_PWR_DisableWakeUpPin:
  435. 183 .LVL4:
  436. 184 .LFB134:
  437. 248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  438. 249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /**
  439. 250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @brief Disables the WakeUp PINx functionality.
  440. 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @param WakeUpPinx Specifies the Power Wake-Up pin to disable.
  441. 252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * This parameter can be values of :
  442. 253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @ref PWR_WakeUp_Pins
  443. 254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @retval None
  444. 255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  445. 256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** void HAL_PWR_DisableWakeUpPin(uint32_t WakeUpPinx)
  446. 257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** {
  447. 185 .loc 1 257 1 is_stmt 1 view -0
  448. 186 .cfi_startproc
  449. 187 @ args = 0, pretend = 0, frame = 0
  450. 188 @ frame_needed = 0, uses_anonymous_args = 0
  451. 258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Check the parameters */
  452. 259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** assert_param(IS_PWR_WAKEUP_PIN(WakeUpPinx));
  453. 189 .loc 1 259 3 view .LVU23
  454. 190 0000 B0F5807F cmp r0, #256
  455. 257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Check the parameters */
  456. 191 .loc 1 257 1 is_stmt 0 view .LVU24
  457. 192 0004 10B5 push {r4, lr}
  458. 193 .LCFI1:
  459. 194 .cfi_def_cfa_offset 8
  460. 195 .cfi_offset 4, -8
  461. 196 .cfi_offset 14, -4
  462. 257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Check the parameters */
  463. 197 .loc 1 257 1 view .LVU25
  464. 198 0006 0446 mov r4, r0
  465. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s page 9
  466. 199 .loc 1 259 3 view .LVU26
  467. 200 0008 0AD0 beq .L26
  468. 201 .loc 1 259 3 discriminator 1 view .LVU27
  469. 202 000a B0F5007F cmp r0, #512
  470. 203 000e 07D0 beq .L26
  471. 204 .loc 1 259 3 discriminator 2 view .LVU28
  472. 205 0010 B0F5806F cmp r0, #1024
  473. 206 0014 04D0 beq .L26
  474. 207 .loc 1 259 3 discriminator 3 view .LVU29
  475. 208 0016 0548 ldr r0, .L37
  476. 209 .LVL5:
  477. 210 .loc 1 259 3 discriminator 3 view .LVU30
  478. 211 0018 40F20311 movw r1, #259
  479. 212 001c FFF7FEFF bl assert_failed
  480. 213 .LVL6:
  481. 214 .L26:
  482. 260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Disable the EWUPx pin */
  483. 261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** CLEAR_BIT(PWR->CSR, WakeUpPinx);
  484. 215 .loc 1 261 3 is_stmt 1 view .LVU31
  485. 216 0020 034B ldr r3, .L37+4
  486. 217 0022 5868 ldr r0, [r3, #4]
  487. 218 0024 20EA0404 bic r4, r0, r4
  488. 219 .LVL7:
  489. 220 .loc 1 261 3 is_stmt 0 view .LVU32
  490. 221 0028 5C60 str r4, [r3, #4]
  491. 262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** }
  492. 222 .loc 1 262 1 view .LVU33
  493. 223 002a 10BD pop {r4, pc}
  494. 224 .L38:
  495. 225 .align 2
  496. 226 .L37:
  497. 227 002c 00000000 .word .LC0
  498. 228 0030 00700040 .word 1073770496
  499. 229 .cfi_endproc
  500. 230 .LFE134:
  501. 232 .section .text.HAL_PWR_EnterSLEEPMode,"ax",%progbits
  502. 233 .align 1
  503. 234 .p2align 2,,3
  504. 235 .global HAL_PWR_EnterSLEEPMode
  505. 236 .syntax unified
  506. 237 .thumb
  507. 238 .thumb_func
  508. 240 HAL_PWR_EnterSLEEPMode:
  509. 241 .LVL8:
  510. 242 .LFB135:
  511. 263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  512. 264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /**
  513. 265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @brief Enters Sleep mode.
  514. 266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @note In Sleep mode, all I/O pins keep the same state as in Run mode.
  515. 267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @param Regulator Specifies the regulator state in SLEEP mode.
  516. 268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * This parameter can be one of the following values:
  517. 269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @arg PWR_MAINREGULATOR_ON: SLEEP mode with regulator ON
  518. 270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @arg PWR_LOWPOWERREGULATOR_ON: SLEEP mode with low power regulator ON
  519. 271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @note This parameter has no effect in F3 family and is just maintained to
  520. 272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * offer full portability of other STM32 families software.
  521. 273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @param SLEEPEntry Specifies if SLEEP mode is entered with WFI or WFE instruction.
  522. 274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * When WFI entry is used, tick interrupt have to be disabled if not desired as
  523. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s page 10
  524. 275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * the interrupt wake up source.
  525. 276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * This parameter can be one of the following values:
  526. 277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @arg PWR_SLEEPENTRY_WFI: enter SLEEP mode with WFI instruction
  527. 278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @arg PWR_SLEEPENTRY_WFE: enter SLEEP mode with WFE instruction
  528. 279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @retval None
  529. 280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  530. 281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** void HAL_PWR_EnterSLEEPMode(uint32_t Regulator, uint8_t SLEEPEntry)
  531. 282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** {
  532. 243 .loc 1 282 1 is_stmt 1 view -0
  533. 244 .cfi_startproc
  534. 245 @ args = 0, pretend = 0, frame = 0
  535. 246 @ frame_needed = 0, uses_anonymous_args = 0
  536. 283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Check the parameters */
  537. 284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** assert_param(IS_PWR_SLEEP_ENTRY(SLEEPEntry));
  538. 247 .loc 1 284 3 view .LVU35
  539. 282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Check the parameters */
  540. 248 .loc 1 282 1 is_stmt 0 view .LVU36
  541. 249 0000 08B5 push {r3, lr}
  542. 250 .LCFI2:
  543. 251 .cfi_def_cfa_offset 8
  544. 252 .cfi_offset 3, -8
  545. 253 .cfi_offset 14, -4
  546. 254 .loc 1 284 3 view .LVU37
  547. 255 0002 4B1E subs r3, r1, #1
  548. 256 0004 012B cmp r3, #1
  549. 257 0006 08D8 bhi .L44
  550. 285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  551. 286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Prevent unused argument(s) compilation warning */
  552. 287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** UNUSED(Regulator);
  553. 258 .loc 1 287 3 is_stmt 1 view .LVU38
  554. 288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  555. 289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Clear SLEEPDEEP bit of Cortex System Control Register */
  556. 290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP_Msk);
  557. 259 .loc 1 290 3 view .LVU39
  558. 260 .loc 1 290 12 is_stmt 0 view .LVU40
  559. 261 0008 0B4A ldr r2, .L45
  560. 262 000a 1369 ldr r3, [r2, #16]
  561. 291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  562. 292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Select SLEEP mode entry -------------------------------------------------*/
  563. 293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** if(SLEEPEntry == PWR_SLEEPENTRY_WFI)
  564. 263 .loc 1 293 5 view .LVU41
  565. 264 000c 0129 cmp r1, #1
  566. 290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  567. 265 .loc 1 290 12 view .LVU42
  568. 266 000e 23F00403 bic r3, r3, #4
  569. 267 0012 1361 str r3, [r2, #16]
  570. 268 .loc 1 293 3 is_stmt 1 view .LVU43
  571. 269 .loc 1 293 5 is_stmt 0 view .LVU44
  572. 270 0014 0BD1 bne .L41
  573. 294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** {
  574. 295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Request Wait For Interrupt */
  575. 296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** __WFI();
  576. 271 .loc 1 296 5 is_stmt 1 view .LVU45
  577. 272 .syntax unified
  578. 273 @ 296 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c" 1
  579. 274 0016 30BF wfi
  580. 275 @ 0 "" 2
  581. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s page 11
  582. 297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** }
  583. 298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** else
  584. 299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** {
  585. 300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Request Wait For Event */
  586. 301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** __SEV();
  587. 302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** __WFE();
  588. 303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** __WFE();
  589. 304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** }
  590. 305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** }
  591. 276 .loc 1 305 1 is_stmt 0 view .LVU46
  592. 277 .thumb
  593. 278 .syntax unified
  594. 279 0018 08BD pop {r3, pc}
  595. 280 .L44:
  596. 284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  597. 281 .loc 1 284 3 discriminator 1 view .LVU47
  598. 282 001a 0848 ldr r0, .L45+4
  599. 283 .LVL9:
  600. 284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  601. 284 .loc 1 284 3 discriminator 1 view .LVU48
  602. 285 001c 4FF48E71 mov r1, #284
  603. 286 .LVL10:
  604. 284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  605. 287 .loc 1 284 3 discriminator 1 view .LVU49
  606. 288 0020 FFF7FEFF bl assert_failed
  607. 289 .LVL11:
  608. 287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  609. 290 .loc 1 287 3 is_stmt 1 discriminator 1 view .LVU50
  610. 290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  611. 291 .loc 1 290 3 discriminator 1 view .LVU51
  612. 290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  613. 292 .loc 1 290 12 is_stmt 0 discriminator 1 view .LVU52
  614. 293 0024 044A ldr r2, .L45
  615. 294 0026 1369 ldr r3, [r2, #16]
  616. 295 0028 23F00403 bic r3, r3, #4
  617. 296 002c 1361 str r3, [r2, #16]
  618. 293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** {
  619. 297 .loc 1 293 3 is_stmt 1 discriminator 1 view .LVU53
  620. 298 .L41:
  621. 301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** __WFE();
  622. 299 .loc 1 301 5 view .LVU54
  623. 300 .syntax unified
  624. 301 @ 301 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c" 1
  625. 302 002e 40BF sev
  626. 303 @ 0 "" 2
  627. 302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** __WFE();
  628. 304 .loc 1 302 5 view .LVU55
  629. 305 @ 302 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c" 1
  630. 306 0030 20BF wfe
  631. 307 @ 0 "" 2
  632. 303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** }
  633. 308 .loc 1 303 5 view .LVU56
  634. 309 @ 303 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c" 1
  635. 310 0032 20BF wfe
  636. 311 @ 0 "" 2
  637. 312 .loc 1 305 1 is_stmt 0 view .LVU57
  638. 313 .thumb
  639. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s page 12
  640. 314 .syntax unified
  641. 315 0034 08BD pop {r3, pc}
  642. 316 .L46:
  643. 317 0036 00BF .align 2
  644. 318 .L45:
  645. 319 0038 00ED00E0 .word -536810240
  646. 320 003c 00000000 .word .LC0
  647. 321 .cfi_endproc
  648. 322 .LFE135:
  649. 324 .section .text.HAL_PWR_EnterSTOPMode,"ax",%progbits
  650. 325 .align 1
  651. 326 .p2align 2,,3
  652. 327 .global HAL_PWR_EnterSTOPMode
  653. 328 .syntax unified
  654. 329 .thumb
  655. 330 .thumb_func
  656. 332 HAL_PWR_EnterSTOPMode:
  657. 333 .LVL12:
  658. 334 .LFB136:
  659. 306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  660. 307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /**
  661. 308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @brief Enters STOP mode.
  662. 309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @note In Stop mode, all I/O pins keep the same state as in Run mode.
  663. 310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @note When exiting Stop mode by issuing an interrupt or a wakeup event,
  664. 311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * the HSI RC oscillator is selected as system clock.
  665. 312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @note When the voltage regulator operates in low power mode, an additional
  666. 313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * startup delay is incurred when waking up from Stop mode.
  667. 314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * By keeping the internal regulator ON during Stop mode, the consumption
  668. 315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * is higher although the startup time is reduced.
  669. 316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @param Regulator Specifies the regulator state in STOP mode.
  670. 317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * This parameter can be one of the following values:
  671. 318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @arg PWR_MAINREGULATOR_ON: STOP mode with regulator ON
  672. 319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @arg PWR_LOWPOWERREGULATOR_ON: STOP mode with low power regulator ON
  673. 320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @param STOPEntry specifies if STOP mode in entered with WFI or WFE instruction.
  674. 321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * This parameter can be one of the following values:
  675. 322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @arg PWR_STOPENTRY_WFI:Enter STOP mode with WFI instruction
  676. 323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @arg PWR_STOPENTRY_WFE: Enter STOP mode with WFE instruction
  677. 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @retval None
  678. 325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  679. 326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** void HAL_PWR_EnterSTOPMode(uint32_t Regulator, uint8_t STOPEntry)
  680. 327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** {
  681. 335 .loc 1 327 1 is_stmt 1 view -0
  682. 336 .cfi_startproc
  683. 337 @ args = 0, pretend = 0, frame = 0
  684. 338 @ frame_needed = 0, uses_anonymous_args = 0
  685. 328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** uint32_t tmpreg = 0U;
  686. 339 .loc 1 328 3 view .LVU59
  687. 329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  688. 330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Check the parameters */
  689. 331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** assert_param(IS_PWR_REGULATOR(Regulator));
  690. 340 .loc 1 331 3 view .LVU60
  691. 341 0000 0128 cmp r0, #1
  692. 327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** uint32_t tmpreg = 0U;
  693. 342 .loc 1 327 1 is_stmt 0 view .LVU61
  694. 343 0002 38B5 push {r3, r4, r5, lr}
  695. 344 .LCFI3:
  696. 345 .cfi_def_cfa_offset 16
  697. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s page 13
  698. 346 .cfi_offset 3, -16
  699. 347 .cfi_offset 4, -12
  700. 348 .cfi_offset 5, -8
  701. 349 .cfi_offset 14, -4
  702. 327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** uint32_t tmpreg = 0U;
  703. 350 .loc 1 327 1 view .LVU62
  704. 351 0004 0446 mov r4, r0
  705. 352 0006 0D46 mov r5, r1
  706. 353 .loc 1 331 3 view .LVU63
  707. 354 0008 04D9 bls .L48
  708. 355 .loc 1 331 3 discriminator 1 view .LVU64
  709. 356 000a 1848 ldr r0, .L54
  710. 357 .LVL13:
  711. 358 .loc 1 331 3 discriminator 1 view .LVU65
  712. 359 000c 40F24B11 movw r1, #331
  713. 360 .LVL14:
  714. 361 .loc 1 331 3 discriminator 1 view .LVU66
  715. 362 0010 FFF7FEFF bl assert_failed
  716. 363 .LVL15:
  717. 364 .L48:
  718. 332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** assert_param(IS_PWR_STOP_ENTRY(STOPEntry));
  719. 365 .loc 1 332 3 is_stmt 1 view .LVU67
  720. 366 0014 6B1E subs r3, r5, #1
  721. 367 0016 012B cmp r3, #1
  722. 368 0018 0ED8 bhi .L53
  723. 333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  724. 334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Select the regulator state in STOP mode ---------------------------------*/
  725. 335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** tmpreg = PWR->CR;
  726. 369 .loc 1 335 3 view .LVU68
  727. 370 .loc 1 335 10 is_stmt 0 view .LVU69
  728. 371 001a 154B ldr r3, .L54+4
  729. 336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  730. 337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Clear PDDS and LPDS bits */
  731. 338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** tmpreg &= (uint32_t)~(PWR_CR_PDDS | PWR_CR_LPDS);
  732. 339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  733. 340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Set LPDS bit according to Regulator value */
  734. 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** tmpreg |= Regulator;
  735. 342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  736. 343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Store the new value */
  737. 344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** PWR->CR = tmpreg;
  738. 345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  739. 346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Set SLEEPDEEP bit of Cortex System Control Register */
  740. 347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk;
  741. 372 .loc 1 347 12 view .LVU70
  742. 373 001c 154A ldr r2, .L54+8
  743. 335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  744. 374 .loc 1 335 10 view .LVU71
  745. 375 001e 1868 ldr r0, [r3]
  746. 376 .LVL16:
  747. 338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  748. 377 .loc 1 338 3 is_stmt 1 view .LVU72
  749. 338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  750. 378 .loc 1 338 10 is_stmt 0 view .LVU73
  751. 379 0020 20F00300 bic r0, r0, #3
  752. 380 .LVL17:
  753. 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  754. 381 .loc 1 341 3 is_stmt 1 view .LVU74
  755. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s page 14
  756. 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  757. 382 .loc 1 341 10 is_stmt 0 view .LVU75
  758. 383 0024 0443 orrs r4, r4, r0
  759. 384 .LVL18:
  760. 344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  761. 385 .loc 1 344 3 is_stmt 1 view .LVU76
  762. 344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  763. 386 .loc 1 344 11 is_stmt 0 view .LVU77
  764. 387 0026 1C60 str r4, [r3]
  765. 388 .loc 1 347 3 is_stmt 1 view .LVU78
  766. 389 .loc 1 347 12 is_stmt 0 view .LVU79
  767. 390 0028 1369 ldr r3, [r2, #16]
  768. 348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  769. 349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Select STOP mode entry --------------------------------------------------*/
  770. 350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** if(STOPEntry == PWR_STOPENTRY_WFI)
  771. 391 .loc 1 350 5 view .LVU80
  772. 392 002a 012D cmp r5, #1
  773. 347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  774. 393 .loc 1 347 12 view .LVU81
  775. 394 002c 43F00403 orr r3, r3, #4
  776. 395 0030 1361 str r3, [r2, #16]
  777. 396 .loc 1 350 3 is_stmt 1 view .LVU82
  778. 397 .loc 1 350 5 is_stmt 0 view .LVU83
  779. 398 0032 11D1 bne .L50
  780. 351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** {
  781. 352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Request Wait For Interrupt */
  782. 353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** __WFI();
  783. 399 .loc 1 353 5 is_stmt 1 view .LVU84
  784. 400 .syntax unified
  785. 401 @ 353 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c" 1
  786. 402 0034 30BF wfi
  787. 403 @ 0 "" 2
  788. 404 .thumb
  789. 405 .syntax unified
  790. 406 0036 12E0 b .L51
  791. 407 .LVL19:
  792. 408 .L53:
  793. 332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  794. 409 .loc 1 332 3 is_stmt 0 discriminator 1 view .LVU85
  795. 410 0038 0C48 ldr r0, .L54
  796. 411 003a 4FF4A671 mov r1, #332
  797. 412 003e FFF7FEFF bl assert_failed
  798. 413 .LVL20:
  799. 335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  800. 414 .loc 1 335 3 is_stmt 1 discriminator 1 view .LVU86
  801. 335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  802. 415 .loc 1 335 10 is_stmt 0 discriminator 1 view .LVU87
  803. 416 0042 0B4B ldr r3, .L54+4
  804. 347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  805. 417 .loc 1 347 12 discriminator 1 view .LVU88
  806. 418 0044 0B4A ldr r2, .L54+8
  807. 335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  808. 419 .loc 1 335 10 discriminator 1 view .LVU89
  809. 420 0046 1868 ldr r0, [r3]
  810. 421 .LVL21:
  811. 338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  812. 422 .loc 1 338 3 is_stmt 1 discriminator 1 view .LVU90
  813. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s page 15
  814. 338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  815. 423 .loc 1 338 10 is_stmt 0 discriminator 1 view .LVU91
  816. 424 0048 20F00300 bic r0, r0, #3
  817. 425 .LVL22:
  818. 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  819. 426 .loc 1 341 3 is_stmt 1 discriminator 1 view .LVU92
  820. 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  821. 427 .loc 1 341 10 is_stmt 0 discriminator 1 view .LVU93
  822. 428 004c 0443 orrs r4, r4, r0
  823. 429 .LVL23:
  824. 344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  825. 430 .loc 1 344 3 is_stmt 1 discriminator 1 view .LVU94
  826. 344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  827. 431 .loc 1 344 11 is_stmt 0 discriminator 1 view .LVU95
  828. 432 004e 1C60 str r4, [r3]
  829. 347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  830. 433 .loc 1 347 3 is_stmt 1 discriminator 1 view .LVU96
  831. 347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  832. 434 .loc 1 347 12 is_stmt 0 discriminator 1 view .LVU97
  833. 435 0050 1369 ldr r3, [r2, #16]
  834. 436 0052 43F00403 orr r3, r3, #4
  835. 437 0056 1361 str r3, [r2, #16]
  836. 350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** {
  837. 438 .loc 1 350 3 is_stmt 1 discriminator 1 view .LVU98
  838. 439 .L50:
  839. 440 .LVL24:
  840. 354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** }
  841. 355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** else
  842. 356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** {
  843. 357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Request Wait For Event */
  844. 358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** __SEV();
  845. 441 .loc 1 358 5 view .LVU99
  846. 442 .syntax unified
  847. 443 @ 358 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c" 1
  848. 444 0058 40BF sev
  849. 445 @ 0 "" 2
  850. 359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** __WFE();
  851. 446 .loc 1 359 5 view .LVU100
  852. 447 @ 359 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c" 1
  853. 448 005a 20BF wfe
  854. 449 @ 0 "" 2
  855. 360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** __WFE();
  856. 450 .loc 1 360 5 view .LVU101
  857. 451 @ 360 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c" 1
  858. 452 005c 20BF wfe
  859. 453 @ 0 "" 2
  860. 454 .thumb
  861. 455 .syntax unified
  862. 456 .L51:
  863. 361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** }
  864. 362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  865. 363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Reset SLEEPDEEP bit of Cortex System Control Register */
  866. 364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP_Msk);
  867. 457 .loc 1 364 3 view .LVU102
  868. 458 .loc 1 364 12 is_stmt 0 view .LVU103
  869. 459 005e 054A ldr r2, .L54+8
  870. 460 0060 1369 ldr r3, [r2, #16]
  871. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s page 16
  872. 461 0062 23F00403 bic r3, r3, #4
  873. 462 0066 1361 str r3, [r2, #16]
  874. 365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** }
  875. 463 .loc 1 365 1 view .LVU104
  876. 464 0068 38BD pop {r3, r4, r5, pc}
  877. 465 .L55:
  878. 466 006a 00BF .align 2
  879. 467 .L54:
  880. 468 006c 00000000 .word .LC0
  881. 469 0070 00700040 .word 1073770496
  882. 470 0074 00ED00E0 .word -536810240
  883. 471 .cfi_endproc
  884. 472 .LFE136:
  885. 474 .section .text.HAL_PWR_EnterSTANDBYMode,"ax",%progbits
  886. 475 .align 1
  887. 476 .p2align 2,,3
  888. 477 .global HAL_PWR_EnterSTANDBYMode
  889. 478 .syntax unified
  890. 479 .thumb
  891. 480 .thumb_func
  892. 482 HAL_PWR_EnterSTANDBYMode:
  893. 483 .LFB137:
  894. 366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  895. 367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /**
  896. 368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @brief Enters STANDBY mode.
  897. 369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @note In Standby mode, all I/O pins are high impedance except for:
  898. 370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * - Reset pad (still available),
  899. 371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * - RTC alternate function pins if configured for tamper, time-stamp, RTC
  900. 372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * Alarm out, or RTC clock calibration out,
  901. 373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * - WKUP pins if enabled.
  902. 374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @retval None
  903. 375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  904. 376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** void HAL_PWR_EnterSTANDBYMode(void)
  905. 377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** {
  906. 484 .loc 1 377 1 is_stmt 1 view -0
  907. 485 .cfi_startproc
  908. 486 @ args = 0, pretend = 0, frame = 0
  909. 487 @ frame_needed = 0, uses_anonymous_args = 0
  910. 488 @ link register save eliminated.
  911. 378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Select STANDBY mode */
  912. 379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** PWR->CR |= PWR_CR_PDDS;
  913. 489 .loc 1 379 3 view .LVU106
  914. 490 .loc 1 379 11 is_stmt 0 view .LVU107
  915. 491 0000 0549 ldr r1, .L57
  916. 380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  917. 381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Set SLEEPDEEP bit of Cortex System Control Register */
  918. 382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk;
  919. 492 .loc 1 382 12 view .LVU108
  920. 493 0002 064A ldr r2, .L57+4
  921. 379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  922. 494 .loc 1 379 11 view .LVU109
  923. 495 0004 0B68 ldr r3, [r1]
  924. 496 0006 43F00203 orr r3, r3, #2
  925. 497 000a 0B60 str r3, [r1]
  926. 498 .loc 1 382 3 is_stmt 1 view .LVU110
  927. 499 .loc 1 382 12 is_stmt 0 view .LVU111
  928. 500 000c 1369 ldr r3, [r2, #16]
  929. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s page 17
  930. 501 000e 43F00403 orr r3, r3, #4
  931. 502 0012 1361 str r3, [r2, #16]
  932. 383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  933. 384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* This option is used to ensure that store operations are completed */
  934. 385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** #if defined ( __CC_ARM)
  935. 386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** __force_stores();
  936. 387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** #endif
  937. 388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Request Wait For Interrupt */
  938. 389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** __WFI();
  939. 503 .loc 1 389 3 is_stmt 1 view .LVU112
  940. 504 .syntax unified
  941. 505 @ 389 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c" 1
  942. 506 0014 30BF wfi
  943. 507 @ 0 "" 2
  944. 390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** }
  945. 508 .loc 1 390 1 is_stmt 0 view .LVU113
  946. 509 .thumb
  947. 510 .syntax unified
  948. 511 0016 7047 bx lr
  949. 512 .L58:
  950. 513 .align 2
  951. 514 .L57:
  952. 515 0018 00700040 .word 1073770496
  953. 516 001c 00ED00E0 .word -536810240
  954. 517 .cfi_endproc
  955. 518 .LFE137:
  956. 520 .section .text.HAL_PWR_EnableSleepOnExit,"ax",%progbits
  957. 521 .align 1
  958. 522 .p2align 2,,3
  959. 523 .global HAL_PWR_EnableSleepOnExit
  960. 524 .syntax unified
  961. 525 .thumb
  962. 526 .thumb_func
  963. 528 HAL_PWR_EnableSleepOnExit:
  964. 529 .LFB138:
  965. 391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  966. 392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /**
  967. 393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @brief Indicates Sleep-On-Exit when returning from Handler mode to Thread mode.
  968. 394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @note Set SLEEPONEXIT bit of SCR register. When this bit is set, the processor
  969. 395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * re-enters SLEEP mode when an interruption handling is over.
  970. 396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * Setting this bit is useful when the processor is expected to run only on
  971. 397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * interruptions handling.
  972. 398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @retval None
  973. 399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  974. 400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** void HAL_PWR_EnableSleepOnExit(void)
  975. 401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** {
  976. 530 .loc 1 401 1 is_stmt 1 view -0
  977. 531 .cfi_startproc
  978. 532 @ args = 0, pretend = 0, frame = 0
  979. 533 @ frame_needed = 0, uses_anonymous_args = 0
  980. 534 @ link register save eliminated.
  981. 402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Set SLEEPONEXIT bit of Cortex System Control Register */
  982. 403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** SET_BIT(SCB->SCR, ((uint32_t)SCB_SCR_SLEEPONEXIT_Msk));
  983. 535 .loc 1 403 3 view .LVU115
  984. 536 0000 024A ldr r2, .L60
  985. 537 0002 1369 ldr r3, [r2, #16]
  986. 538 0004 43F00203 orr r3, r3, #2
  987. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s page 18
  988. 539 0008 1361 str r3, [r2, #16]
  989. 404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** }
  990. 540 .loc 1 404 1 is_stmt 0 view .LVU116
  991. 541 000a 7047 bx lr
  992. 542 .L61:
  993. 543 .align 2
  994. 544 .L60:
  995. 545 000c 00ED00E0 .word -536810240
  996. 546 .cfi_endproc
  997. 547 .LFE138:
  998. 549 .section .text.HAL_PWR_DisableSleepOnExit,"ax",%progbits
  999. 550 .align 1
  1000. 551 .p2align 2,,3
  1001. 552 .global HAL_PWR_DisableSleepOnExit
  1002. 553 .syntax unified
  1003. 554 .thumb
  1004. 555 .thumb_func
  1005. 557 HAL_PWR_DisableSleepOnExit:
  1006. 558 .LFB139:
  1007. 405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  1008. 406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  1009. 407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /**
  1010. 408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @brief Disables Sleep-On-Exit feature when returning from Handler mode to Thread mode.
  1011. 409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @note Clears SLEEPONEXIT bit of SCR register. When this bit is set, the processor
  1012. 410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * re-enters SLEEP mode when an interruption handling is over.
  1013. 411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @retval None
  1014. 412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  1015. 413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** void HAL_PWR_DisableSleepOnExit(void)
  1016. 414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** {
  1017. 559 .loc 1 414 1 is_stmt 1 view -0
  1018. 560 .cfi_startproc
  1019. 561 @ args = 0, pretend = 0, frame = 0
  1020. 562 @ frame_needed = 0, uses_anonymous_args = 0
  1021. 563 @ link register save eliminated.
  1022. 415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Clear SLEEPONEXIT bit of Cortex System Control Register */
  1023. 416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** CLEAR_BIT(SCB->SCR, ((uint32_t)SCB_SCR_SLEEPONEXIT_Msk));
  1024. 564 .loc 1 416 3 view .LVU118
  1025. 565 0000 024A ldr r2, .L63
  1026. 566 0002 1369 ldr r3, [r2, #16]
  1027. 567 0004 23F00203 bic r3, r3, #2
  1028. 568 0008 1361 str r3, [r2, #16]
  1029. 417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** }
  1030. 569 .loc 1 417 1 is_stmt 0 view .LVU119
  1031. 570 000a 7047 bx lr
  1032. 571 .L64:
  1033. 572 .align 2
  1034. 573 .L63:
  1035. 574 000c 00ED00E0 .word -536810240
  1036. 575 .cfi_endproc
  1037. 576 .LFE139:
  1038. 578 .section .text.HAL_PWR_EnableSEVOnPend,"ax",%progbits
  1039. 579 .align 1
  1040. 580 .p2align 2,,3
  1041. 581 .global HAL_PWR_EnableSEVOnPend
  1042. 582 .syntax unified
  1043. 583 .thumb
  1044. 584 .thumb_func
  1045. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s page 19
  1046. 586 HAL_PWR_EnableSEVOnPend:
  1047. 587 .LFB140:
  1048. 418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  1049. 419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  1050. 420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  1051. 421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /**
  1052. 422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @brief Enables CORTEX M4 SEVONPEND bit.
  1053. 423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @note Sets SEVONPEND bit of SCR register. When this bit is set, this causes
  1054. 424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * WFE to wake up when an interrupt moves from inactive to pended.
  1055. 425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @retval None
  1056. 426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  1057. 427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** void HAL_PWR_EnableSEVOnPend(void)
  1058. 428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** {
  1059. 588 .loc 1 428 1 is_stmt 1 view -0
  1060. 589 .cfi_startproc
  1061. 590 @ args = 0, pretend = 0, frame = 0
  1062. 591 @ frame_needed = 0, uses_anonymous_args = 0
  1063. 592 @ link register save eliminated.
  1064. 429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Set SEVONPEND bit of Cortex System Control Register */
  1065. 430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** SET_BIT(SCB->SCR, ((uint32_t)SCB_SCR_SEVONPEND_Msk));
  1066. 593 .loc 1 430 3 view .LVU121
  1067. 594 0000 024A ldr r2, .L66
  1068. 595 0002 1369 ldr r3, [r2, #16]
  1069. 596 0004 43F01003 orr r3, r3, #16
  1070. 597 0008 1361 str r3, [r2, #16]
  1071. 431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** }
  1072. 598 .loc 1 431 1 is_stmt 0 view .LVU122
  1073. 599 000a 7047 bx lr
  1074. 600 .L67:
  1075. 601 .align 2
  1076. 602 .L66:
  1077. 603 000c 00ED00E0 .word -536810240
  1078. 604 .cfi_endproc
  1079. 605 .LFE140:
  1080. 607 .section .text.HAL_PWR_DisableSEVOnPend,"ax",%progbits
  1081. 608 .align 1
  1082. 609 .p2align 2,,3
  1083. 610 .global HAL_PWR_DisableSEVOnPend
  1084. 611 .syntax unified
  1085. 612 .thumb
  1086. 613 .thumb_func
  1087. 615 HAL_PWR_DisableSEVOnPend:
  1088. 616 .LFB141:
  1089. 432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  1090. 433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  1091. 434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /**
  1092. 435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @brief Disables CORTEX M4 SEVONPEND bit.
  1093. 436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @note Clears SEVONPEND bit of SCR register. When this bit is set, this causes
  1094. 437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * WFE to wake up when an interrupt moves from inactive to pended.
  1095. 438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @retval None
  1096. 439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  1097. 440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** void HAL_PWR_DisableSEVOnPend(void)
  1098. 441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** {
  1099. 617 .loc 1 441 1 is_stmt 1 view -0
  1100. 618 .cfi_startproc
  1101. 619 @ args = 0, pretend = 0, frame = 0
  1102. 620 @ frame_needed = 0, uses_anonymous_args = 0
  1103. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s page 20
  1104. 621 @ link register save eliminated.
  1105. 442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Clear SEVONPEND bit of Cortex System Control Register */
  1106. 443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** CLEAR_BIT(SCB->SCR, ((uint32_t)SCB_SCR_SEVONPEND_Msk));
  1107. 622 .loc 1 443 3 view .LVU124
  1108. 623 0000 024A ldr r2, .L69
  1109. 624 0002 1369 ldr r3, [r2, #16]
  1110. 625 0004 23F01003 bic r3, r3, #16
  1111. 626 0008 1361 str r3, [r2, #16]
  1112. 444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** }
  1113. 627 .loc 1 444 1 is_stmt 0 view .LVU125
  1114. 628 000a 7047 bx lr
  1115. 629 .L70:
  1116. 630 .align 2
  1117. 631 .L69:
  1118. 632 000c 00ED00E0 .word -536810240
  1119. 633 .cfi_endproc
  1120. 634 .LFE141:
  1121. 636 .text
  1122. 637 .Letext0:
  1123. 638 .file 2 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h"
  1124. 639 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h"
  1125. 640 .file 4 "Drivers/CMSIS/Include/core_cm4.h"
  1126. 641 .file 5 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h"
  1127. 642 .file 6 "Core/Inc/stm32f3xx_hal_conf.h"
  1128. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s page 21
  1129. DEFINED SYMBOLS
  1130. *ABS*:00000000 stm32f3xx_hal_pwr.c
  1131. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:20 .text.HAL_PWR_DeInit:00000000 $t
  1132. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:27 .text.HAL_PWR_DeInit:00000000 HAL_PWR_DeInit
  1133. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:49 .text.HAL_PWR_DeInit:00000014 $d
  1134. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:54 .text.HAL_PWR_EnableBkUpAccess:00000000 $t
  1135. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:61 .text.HAL_PWR_EnableBkUpAccess:00000000 HAL_PWR_EnableBkUpAccess
  1136. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:78 .text.HAL_PWR_EnableBkUpAccess:0000000c $d
  1137. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:83 .text.HAL_PWR_DisableBkUpAccess:00000000 $t
  1138. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:90 .text.HAL_PWR_DisableBkUpAccess:00000000 HAL_PWR_DisableBkUpAccess
  1139. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:107 .text.HAL_PWR_DisableBkUpAccess:0000000c $d
  1140. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:112 .rodata.HAL_PWR_EnableWakeUpPin.str1.4:00000000 $d
  1141. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:117 .text.HAL_PWR_EnableWakeUpPin:00000000 $t
  1142. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:124 .text.HAL_PWR_EnableWakeUpPin:00000000 HAL_PWR_EnableWakeUpPin
  1143. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:169 .text.HAL_PWR_EnableWakeUpPin:00000028 $d
  1144. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:175 .text.HAL_PWR_DisableWakeUpPin:00000000 $t
  1145. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:182 .text.HAL_PWR_DisableWakeUpPin:00000000 HAL_PWR_DisableWakeUpPin
  1146. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:227 .text.HAL_PWR_DisableWakeUpPin:0000002c $d
  1147. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:233 .text.HAL_PWR_EnterSLEEPMode:00000000 $t
  1148. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:240 .text.HAL_PWR_EnterSLEEPMode:00000000 HAL_PWR_EnterSLEEPMode
  1149. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:319 .text.HAL_PWR_EnterSLEEPMode:00000038 $d
  1150. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:325 .text.HAL_PWR_EnterSTOPMode:00000000 $t
  1151. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:332 .text.HAL_PWR_EnterSTOPMode:00000000 HAL_PWR_EnterSTOPMode
  1152. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:468 .text.HAL_PWR_EnterSTOPMode:0000006c $d
  1153. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:475 .text.HAL_PWR_EnterSTANDBYMode:00000000 $t
  1154. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:482 .text.HAL_PWR_EnterSTANDBYMode:00000000 HAL_PWR_EnterSTANDBYMode
  1155. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:515 .text.HAL_PWR_EnterSTANDBYMode:00000018 $d
  1156. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:521 .text.HAL_PWR_EnableSleepOnExit:00000000 $t
  1157. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:528 .text.HAL_PWR_EnableSleepOnExit:00000000 HAL_PWR_EnableSleepOnExit
  1158. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:545 .text.HAL_PWR_EnableSleepOnExit:0000000c $d
  1159. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:550 .text.HAL_PWR_DisableSleepOnExit:00000000 $t
  1160. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:557 .text.HAL_PWR_DisableSleepOnExit:00000000 HAL_PWR_DisableSleepOnExit
  1161. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:574 .text.HAL_PWR_DisableSleepOnExit:0000000c $d
  1162. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:579 .text.HAL_PWR_EnableSEVOnPend:00000000 $t
  1163. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:586 .text.HAL_PWR_EnableSEVOnPend:00000000 HAL_PWR_EnableSEVOnPend
  1164. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:603 .text.HAL_PWR_EnableSEVOnPend:0000000c $d
  1165. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:608 .text.HAL_PWR_DisableSEVOnPend:00000000 $t
  1166. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:615 .text.HAL_PWR_DisableSEVOnPend:00000000 HAL_PWR_DisableSEVOnPend
  1167. C:\Users\zl835\AppData\Local\Temp\ccHmHWYD.s:632 .text.HAL_PWR_DisableSEVOnPend:0000000c $d
  1168. UNDEFINED SYMBOLS
  1169. assert_failed