stm32f3xx_hal_pwr.lst 76 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312
  1. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.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, 6
  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 .global HAL_PWR_DeInit
  23. 22 .syntax unified
  24. 23 .thumb
  25. 24 .thumb_func
  26. 26 HAL_PWR_DeInit:
  27. 27 .LFB130:
  28. 28 .file 1 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c"
  29. 1:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /**
  30. 2:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** ******************************************************************************
  31. 3:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @file stm32f3xx_hal_pwr.c
  32. 4:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @author MCD Application Team
  33. 5:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @brief PWR HAL module driver.
  34. 6:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * This file provides firmware functions to manage the following
  35. 7:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * functionalities of the Power Controller (PWR) peripheral:
  36. 8:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * + Initialization/de-initialization functions
  37. 9:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * + Peripheral Control functions
  38. 10:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** *
  39. 11:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** ******************************************************************************
  40. 12:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @attention
  41. 13:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** *
  42. 14:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * Copyright (c) 2016 STMicroelectronics.
  43. 15:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * All rights reserved.
  44. 16:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** *
  45. 17:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * This software is licensed under terms that can be found in the LICENSE file
  46. 18:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * in the root directory of this software component.
  47. 19:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
  48. 20:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** *
  49. 21:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** ******************************************************************************
  50. 22:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  51. 23:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  52. 24:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Includes ------------------------------------------------------------------*/
  53. 25:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** #include "stm32f3xx_hal.h"
  54. 26:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  55. 27:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /** @addtogroup STM32F3xx_HAL_Driver
  56. 28:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @{
  57. 29:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  58. 30:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  59. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s page 2
  60. 31:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /** @defgroup PWR PWR
  61. 32:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @brief PWR HAL module driver
  62. 33:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @{
  63. 34:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  64. 35:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  65. 36:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** #ifdef HAL_PWR_MODULE_ENABLED
  66. 37:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  67. 38:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Private typedef -----------------------------------------------------------*/
  68. 39:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Private define ------------------------------------------------------------*/
  69. 40:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Private macro -------------------------------------------------------------*/
  70. 41:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Private variables ---------------------------------------------------------*/
  71. 42:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Private function prototypes -----------------------------------------------*/
  72. 43:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Private functions ---------------------------------------------------------*/
  73. 44:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  74. 45:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /** @defgroup PWR_Exported_Functions PWR Exported Functions
  75. 46:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @{
  76. 47:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  77. 48:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  78. 49:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /** @defgroup PWR_Exported_Functions_Group1 Initialization and de-initialization functions
  79. 50:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @brief Initialization and de-initialization functions
  80. 51:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** *
  81. 52:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** @verbatim
  82. 53:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** ===============================================================================
  83. 54:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** ##### Initialization and de-initialization functions #####
  84. 55:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** ===============================================================================
  85. 56:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** [..]
  86. 57:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** After reset, the backup domain (RTC registers, RTC backup data
  87. 58:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** registers and backup SRAM) is protected against possible unwanted
  88. 59:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** write accesses.
  89. 60:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** To enable access to the RTC Domain and RTC registers, proceed as follows:
  90. 61:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+) Enable the Power Controller (PWR) APB1 interface clock using the
  91. 62:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** __HAL_RCC_PWR_CLK_ENABLE() macro.
  92. 63:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+) Enable access to RTC domain using the HAL_PWR_EnableBkUpAccess() function.
  93. 64:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  94. 65:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** @endverbatim
  95. 66:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @{
  96. 67:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  97. 68:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  98. 69:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /**
  99. 70:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @brief Deinitializes the PWR peripheral registers to their default reset values.
  100. 71:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @retval None
  101. 72:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  102. 73:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** void HAL_PWR_DeInit(void)
  103. 74:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** {
  104. 29 .loc 1 74 1
  105. 30 .cfi_startproc
  106. 31 @ args = 0, pretend = 0, frame = 0
  107. 32 @ frame_needed = 1, uses_anonymous_args = 0
  108. 33 @ link register save eliminated.
  109. 34 0000 80B4 push {r7}
  110. 35 .LCFI0:
  111. 36 .cfi_def_cfa_offset 4
  112. 37 .cfi_offset 7, -4
  113. 38 0002 00AF add r7, sp, #0
  114. 39 .LCFI1:
  115. 40 .cfi_def_cfa_register 7
  116. 75:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** __HAL_RCC_PWR_FORCE_RESET();
  117. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s page 3
  118. 41 .loc 1 75 3
  119. 42 0004 084B ldr r3, .L2
  120. 43 0006 1B69 ldr r3, [r3, #16]
  121. 44 0008 074A ldr r2, .L2
  122. 45 000a 43F08053 orr r3, r3, #268435456
  123. 46 000e 1361 str r3, [r2, #16]
  124. 76:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** __HAL_RCC_PWR_RELEASE_RESET();
  125. 47 .loc 1 76 3
  126. 48 0010 054B ldr r3, .L2
  127. 49 0012 1B69 ldr r3, [r3, #16]
  128. 50 0014 044A ldr r2, .L2
  129. 51 0016 23F08053 bic r3, r3, #268435456
  130. 52 001a 1361 str r3, [r2, #16]
  131. 77:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** }
  132. 53 .loc 1 77 1
  133. 54 001c 00BF nop
  134. 55 001e BD46 mov sp, r7
  135. 56 .LCFI2:
  136. 57 .cfi_def_cfa_register 13
  137. 58 @ sp needed
  138. 59 0020 5DF8047B ldr r7, [sp], #4
  139. 60 .LCFI3:
  140. 61 .cfi_restore 7
  141. 62 .cfi_def_cfa_offset 0
  142. 63 0024 7047 bx lr
  143. 64 .L3:
  144. 65 0026 00BF .align 2
  145. 66 .L2:
  146. 67 0028 00100240 .word 1073876992
  147. 68 .cfi_endproc
  148. 69 .LFE130:
  149. 71 .section .text.HAL_PWR_EnableBkUpAccess,"ax",%progbits
  150. 72 .align 1
  151. 73 .global HAL_PWR_EnableBkUpAccess
  152. 74 .syntax unified
  153. 75 .thumb
  154. 76 .thumb_func
  155. 78 HAL_PWR_EnableBkUpAccess:
  156. 79 .LFB131:
  157. 78:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  158. 79:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /**
  159. 80:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @brief Enables access to the backup domain (RTC registers, RTC
  160. 81:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * backup data registers and backup SRAM).
  161. 82:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @note If the HSE divided by 32 is used as the RTC clock, the
  162. 83:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * Backup Domain Access should be kept enabled.
  163. 84:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @retval None
  164. 85:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  165. 86:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** void HAL_PWR_EnableBkUpAccess(void)
  166. 87:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** {
  167. 80 .loc 1 87 1
  168. 81 .cfi_startproc
  169. 82 @ args = 0, pretend = 0, frame = 0
  170. 83 @ frame_needed = 1, uses_anonymous_args = 0
  171. 84 @ link register save eliminated.
  172. 85 0000 80B4 push {r7}
  173. 86 .LCFI4:
  174. 87 .cfi_def_cfa_offset 4
  175. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s page 4
  176. 88 .cfi_offset 7, -4
  177. 89 0002 00AF add r7, sp, #0
  178. 90 .LCFI5:
  179. 91 .cfi_def_cfa_register 7
  180. 88:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** SET_BIT(PWR->CR, PWR_CR_DBP);
  181. 92 .loc 1 88 3
  182. 93 0004 054B ldr r3, .L5
  183. 94 0006 1B68 ldr r3, [r3]
  184. 95 0008 044A ldr r2, .L5
  185. 96 000a 43F48073 orr r3, r3, #256
  186. 97 000e 1360 str r3, [r2]
  187. 89:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** }
  188. 98 .loc 1 89 1
  189. 99 0010 00BF nop
  190. 100 0012 BD46 mov sp, r7
  191. 101 .LCFI6:
  192. 102 .cfi_def_cfa_register 13
  193. 103 @ sp needed
  194. 104 0014 5DF8047B ldr r7, [sp], #4
  195. 105 .LCFI7:
  196. 106 .cfi_restore 7
  197. 107 .cfi_def_cfa_offset 0
  198. 108 0018 7047 bx lr
  199. 109 .L6:
  200. 110 001a 00BF .align 2
  201. 111 .L5:
  202. 112 001c 00700040 .word 1073770496
  203. 113 .cfi_endproc
  204. 114 .LFE131:
  205. 116 .section .text.HAL_PWR_DisableBkUpAccess,"ax",%progbits
  206. 117 .align 1
  207. 118 .global HAL_PWR_DisableBkUpAccess
  208. 119 .syntax unified
  209. 120 .thumb
  210. 121 .thumb_func
  211. 123 HAL_PWR_DisableBkUpAccess:
  212. 124 .LFB132:
  213. 90:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  214. 91:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /**
  215. 92:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @brief Disables access to the backup domain (RTC registers, RTC
  216. 93:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * backup data registers and backup SRAM).
  217. 94:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @note If the HSE divided by 32 is used as the RTC clock, the
  218. 95:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * Backup Domain Access should be kept enabled.
  219. 96:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @retval None
  220. 97:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  221. 98:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** void HAL_PWR_DisableBkUpAccess(void)
  222. 99:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** {
  223. 125 .loc 1 99 1
  224. 126 .cfi_startproc
  225. 127 @ args = 0, pretend = 0, frame = 0
  226. 128 @ frame_needed = 1, uses_anonymous_args = 0
  227. 129 @ link register save eliminated.
  228. 130 0000 80B4 push {r7}
  229. 131 .LCFI8:
  230. 132 .cfi_def_cfa_offset 4
  231. 133 .cfi_offset 7, -4
  232. 134 0002 00AF add r7, sp, #0
  233. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s page 5
  234. 135 .LCFI9:
  235. 136 .cfi_def_cfa_register 7
  236. 100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** CLEAR_BIT(PWR->CR, PWR_CR_DBP);
  237. 137 .loc 1 100 3
  238. 138 0004 054B ldr r3, .L8
  239. 139 0006 1B68 ldr r3, [r3]
  240. 140 0008 044A ldr r2, .L8
  241. 141 000a 23F48073 bic r3, r3, #256
  242. 142 000e 1360 str r3, [r2]
  243. 101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** }
  244. 143 .loc 1 101 1
  245. 144 0010 00BF nop
  246. 145 0012 BD46 mov sp, r7
  247. 146 .LCFI10:
  248. 147 .cfi_def_cfa_register 13
  249. 148 @ sp needed
  250. 149 0014 5DF8047B ldr r7, [sp], #4
  251. 150 .LCFI11:
  252. 151 .cfi_restore 7
  253. 152 .cfi_def_cfa_offset 0
  254. 153 0018 7047 bx lr
  255. 154 .L9:
  256. 155 001a 00BF .align 2
  257. 156 .L8:
  258. 157 001c 00700040 .word 1073770496
  259. 158 .cfi_endproc
  260. 159 .LFE132:
  261. 161 .section .rodata
  262. 162 .align 2
  263. 163 .LC0:
  264. 164 0000 44726976 .ascii "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr."
  265. 164 6572732F
  266. 164 53544D33
  267. 164 32463378
  268. 164 785F4841
  269. 165 0033 6300 .ascii "c\000"
  270. 166 .section .text.HAL_PWR_EnableWakeUpPin,"ax",%progbits
  271. 167 .align 1
  272. 168 .global HAL_PWR_EnableWakeUpPin
  273. 169 .syntax unified
  274. 170 .thumb
  275. 171 .thumb_func
  276. 173 HAL_PWR_EnableWakeUpPin:
  277. 174 .LFB133:
  278. 102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  279. 103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /**
  280. 104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @}
  281. 105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  282. 106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  283. 107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /** @defgroup PWR_Exported_Functions_Group2 Peripheral Control functions
  284. 108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @brief Low Power modes configuration functions
  285. 109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** *
  286. 110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** @verbatim
  287. 111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  288. 112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** ===============================================================================
  289. 113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** ##### Peripheral Control functions #####
  290. 114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** ===============================================================================
  291. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s page 6
  292. 115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  293. 116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** *** WakeUp pin configuration ***
  294. 117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** ================================
  295. 118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** [..]
  296. 119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+) WakeUp pin is used to wakeup the system from Standby mode. This pin is
  297. 120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** forced in input pull down configuration and is active on rising edges.
  298. 121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+) There are up to three WakeUp pins:
  299. 122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (++)WakeUp Pin 1 on PA.00.
  300. 123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (++)WakeUp Pin 2 on PC.13 (STM32F303xC, STM32F303xE only).
  301. 124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (++)WakeUp Pin 3 on PE.06.
  302. 125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  303. 126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** *** Main and Backup Regulators configuration ***
  304. 127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** ================================================
  305. 128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** [..]
  306. 129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+) When the backup domain is supplied by VDD (analog switch connected to VDD)
  307. 130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** the backup SRAM is powered from VDD which replaces the VBAT power supply to
  308. 131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** save battery life.
  309. 132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  310. 133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+) The backup SRAM is not mass erased by a tamper event. It is read
  311. 134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** protected to prevent confidential data, such as cryptographic private
  312. 135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** key, from being accessed. The backup SRAM can be erased only through
  313. 136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** the Flash interface when a protection level change from level 1 to
  314. 137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** level 0 is requested.
  315. 138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** -@- Refer to the description of Read protection (RDP) in the Flash
  316. 139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** programming manual.
  317. 140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  318. 141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** Refer to the datasheets for more details.
  319. 142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  320. 143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** *** Low Power modes configuration ***
  321. 144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** =====================================
  322. 145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** [..]
  323. 146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** The devices feature 3 low-power modes:
  324. 147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+) Sleep mode: Cortex-M4 core stopped, peripherals kept running.
  325. 148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+) Stop mode: all clocks are stopped, regulator running, regulator
  326. 149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** in low power mode
  327. 150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+) Standby mode: 1.2V domain powered off (mode not available on STM32F3x8 devices).
  328. 151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  329. 152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** *** Sleep mode ***
  330. 153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** ==================
  331. 154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** [..]
  332. 155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+) Entry:
  333. 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
  334. 157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** functions with
  335. 158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (++) PWR_SLEEPENTRY_WFI: enter SLEEP mode with WFI instruction
  336. 159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (++) PWR_SLEEPENTRY_WFE: enter SLEEP mode with WFE instruction
  337. 160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  338. 161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+) Exit:
  339. 162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (++) Any peripheral interrupt acknowledged by the nested vectored interrupt
  340. 163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** controller (NVIC) can wake up the device from Sleep mode.
  341. 164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  342. 165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** *** Stop mode ***
  343. 166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** =================
  344. 167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** [..]
  345. 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,
  346. 169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** and the HSE RC oscillators are disabled. Internal SRAM and register contents
  347. 170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** are preserved.
  348. 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
  349. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s page 7
  350. 172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  351. 173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+) Entry:
  352. 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
  353. 175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** function with:
  354. 176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (++) Main regulator ON or
  355. 177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (++) Low Power regulator ON.
  356. 178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (++) PWR_STOPENTRY_WFI: enter STOP mode with WFI instruction or
  357. 179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (++) PWR_STOPENTRY_WFE: enter STOP mode with WFE instruction
  358. 180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+) Exit:
  359. 181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (++) Any EXTI Line (Internal or External) configured in Interrupt/Event mode.
  360. 182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (++) Some specific communication peripherals (CEC, USART, I2C) interrupts,
  361. 183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** when programmed in wakeup mode (the peripheral must be
  362. 184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** programmed in wakeup mode and the corresponding interrupt vector
  363. 185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** must be enabled in the NVIC).
  364. 186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  365. 187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** *** Standby mode ***
  366. 188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** ====================
  367. 189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** [..]
  368. 190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** The Standby mode allows to achieve the lowest power consumption. It is based
  369. 191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** on the Cortex-M4 deep sleep mode, with the voltage regulator disabled.
  370. 192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** The 1.8V domain is consequently powered off. The PLL, the HSI oscillator and
  371. 193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** the HSE oscillator are also switched off. SRAM and register contents are lost
  372. 194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** except for the RTC registers, RTC backup registers, backup SRAM and Standby
  373. 195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** circuitry.
  374. 196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** The voltage regulator is OFF.
  375. 197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  376. 198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+) Entry:
  377. 199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (++) The Standby mode is entered using the HAL_PWR_EnterSTANDBYMode() function.
  378. 200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+) Exit:
  379. 201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (++) WKUP pin rising edge, RTC alarm (Alarm A and Alarm B), RTC wakeup,
  380. 202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** tamper event, time-stamp event, external reset in NRST pin, IWDG reset.
  381. 203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  382. 204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** *** Auto-wakeup (AWU) from low-power mode ***
  383. 205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** =============================================
  384. 206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** [..]
  385. 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
  386. 208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** Wakeup event, a tamper event, a time-stamp event, or a comparator event,
  387. 209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** without depending on an external interrupt (Auto-wakeup mode).
  388. 210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  389. 211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+) RTC auto-wakeup (AWU) from the Stop and Standby modes
  390. 212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  391. 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
  392. 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.
  393. 215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  394. 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
  395. 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
  396. 218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** HAL_RTC_SetTimeStamp_IT() or HAL_RTC_SetTamper_IT() functions.
  397. 219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  398. 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
  399. 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()
  400. 222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  401. 223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+) Comparator auto-wakeup (AWU) from the Stop mode
  402. 224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  403. 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:
  404. 226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+++) Configure the EXTI Line associated with the comparator (example EXTI Line 22 for c
  405. 227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** to be sensitive to to the selected edges (falling, rising or falling
  406. 228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** and rising) (Interrupt or Event modes) using the EXTI_Init() function.
  407. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s page 8
  408. 229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** (+++) Configure the comparator to generate the event.
  409. 230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** @endverbatim
  410. 231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @{
  411. 232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  412. 233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  413. 234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /**
  414. 235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @brief Enables the WakeUp PINx functionality.
  415. 236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @param WakeUpPinx Specifies the Power Wake-Up pin to enable.
  416. 237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * This parameter can be value of :
  417. 238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @ref PWR_WakeUp_Pins
  418. 239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @retval None
  419. 240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  420. 241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** void HAL_PWR_EnableWakeUpPin(uint32_t WakeUpPinx)
  421. 242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** {
  422. 175 .loc 1 242 1
  423. 176 .cfi_startproc
  424. 177 @ args = 0, pretend = 0, frame = 8
  425. 178 @ frame_needed = 1, uses_anonymous_args = 0
  426. 179 0000 80B5 push {r7, lr}
  427. 180 .LCFI12:
  428. 181 .cfi_def_cfa_offset 8
  429. 182 .cfi_offset 7, -8
  430. 183 .cfi_offset 14, -4
  431. 184 0002 82B0 sub sp, sp, #8
  432. 185 .LCFI13:
  433. 186 .cfi_def_cfa_offset 16
  434. 187 0004 00AF add r7, sp, #0
  435. 188 .LCFI14:
  436. 189 .cfi_def_cfa_register 7
  437. 190 0006 7860 str r0, [r7, #4]
  438. 243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Check the parameters */
  439. 244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** assert_param(IS_PWR_WAKEUP_PIN(WakeUpPinx));
  440. 191 .loc 1 244 3
  441. 192 0008 7B68 ldr r3, [r7, #4]
  442. 193 000a B3F5807F cmp r3, #256
  443. 194 000e 0BD0 beq .L11
  444. 195 .loc 1 244 3 is_stmt 0 discriminator 1
  445. 196 0010 7B68 ldr r3, [r7, #4]
  446. 197 0012 B3F5007F cmp r3, #512
  447. 198 0016 07D0 beq .L11
  448. 199 .loc 1 244 3 discriminator 2
  449. 200 0018 7B68 ldr r3, [r7, #4]
  450. 201 001a B3F5806F cmp r3, #1024
  451. 202 001e 03D0 beq .L11
  452. 203 .loc 1 244 3 discriminator 3
  453. 204 0020 F421 movs r1, #244
  454. 205 0022 0648 ldr r0, .L12
  455. 206 0024 FFF7FEFF bl assert_failed
  456. 207 .L11:
  457. 245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Enable the EWUPx pin */
  458. 246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** SET_BIT(PWR->CSR, WakeUpPinx);
  459. 208 .loc 1 246 3 is_stmt 1
  460. 209 0028 054B ldr r3, .L12+4
  461. 210 002a 5A68 ldr r2, [r3, #4]
  462. 211 002c 0449 ldr r1, .L12+4
  463. 212 002e 7B68 ldr r3, [r7, #4]
  464. 213 0030 1343 orrs r3, r3, r2
  465. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s page 9
  466. 214 0032 4B60 str r3, [r1, #4]
  467. 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** }
  468. 215 .loc 1 247 1
  469. 216 0034 00BF nop
  470. 217 0036 0837 adds r7, r7, #8
  471. 218 .LCFI15:
  472. 219 .cfi_def_cfa_offset 8
  473. 220 0038 BD46 mov sp, r7
  474. 221 .LCFI16:
  475. 222 .cfi_def_cfa_register 13
  476. 223 @ sp needed
  477. 224 003a 80BD pop {r7, pc}
  478. 225 .L13:
  479. 226 .align 2
  480. 227 .L12:
  481. 228 003c 00000000 .word .LC0
  482. 229 0040 00700040 .word 1073770496
  483. 230 .cfi_endproc
  484. 231 .LFE133:
  485. 233 .section .text.HAL_PWR_DisableWakeUpPin,"ax",%progbits
  486. 234 .align 1
  487. 235 .global HAL_PWR_DisableWakeUpPin
  488. 236 .syntax unified
  489. 237 .thumb
  490. 238 .thumb_func
  491. 240 HAL_PWR_DisableWakeUpPin:
  492. 241 .LFB134:
  493. 248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  494. 249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /**
  495. 250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @brief Disables the WakeUp PINx functionality.
  496. 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @param WakeUpPinx Specifies the Power Wake-Up pin to disable.
  497. 252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * This parameter can be values of :
  498. 253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @ref PWR_WakeUp_Pins
  499. 254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @retval None
  500. 255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  501. 256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** void HAL_PWR_DisableWakeUpPin(uint32_t WakeUpPinx)
  502. 257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** {
  503. 242 .loc 1 257 1
  504. 243 .cfi_startproc
  505. 244 @ args = 0, pretend = 0, frame = 8
  506. 245 @ frame_needed = 1, uses_anonymous_args = 0
  507. 246 0000 80B5 push {r7, lr}
  508. 247 .LCFI17:
  509. 248 .cfi_def_cfa_offset 8
  510. 249 .cfi_offset 7, -8
  511. 250 .cfi_offset 14, -4
  512. 251 0002 82B0 sub sp, sp, #8
  513. 252 .LCFI18:
  514. 253 .cfi_def_cfa_offset 16
  515. 254 0004 00AF add r7, sp, #0
  516. 255 .LCFI19:
  517. 256 .cfi_def_cfa_register 7
  518. 257 0006 7860 str r0, [r7, #4]
  519. 258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Check the parameters */
  520. 259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** assert_param(IS_PWR_WAKEUP_PIN(WakeUpPinx));
  521. 258 .loc 1 259 3
  522. 259 0008 7B68 ldr r3, [r7, #4]
  523. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s page 10
  524. 260 000a B3F5807F cmp r3, #256
  525. 261 000e 0CD0 beq .L15
  526. 262 .loc 1 259 3 is_stmt 0 discriminator 1
  527. 263 0010 7B68 ldr r3, [r7, #4]
  528. 264 0012 B3F5007F cmp r3, #512
  529. 265 0016 08D0 beq .L15
  530. 266 .loc 1 259 3 discriminator 2
  531. 267 0018 7B68 ldr r3, [r7, #4]
  532. 268 001a B3F5806F cmp r3, #1024
  533. 269 001e 04D0 beq .L15
  534. 270 .loc 1 259 3 discriminator 3
  535. 271 0020 40F20311 movw r1, #259
  536. 272 0024 0648 ldr r0, .L16
  537. 273 0026 FFF7FEFF bl assert_failed
  538. 274 .L15:
  539. 260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Disable the EWUPx pin */
  540. 261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** CLEAR_BIT(PWR->CSR, WakeUpPinx);
  541. 275 .loc 1 261 3 is_stmt 1
  542. 276 002a 064B ldr r3, .L16+4
  543. 277 002c 5A68 ldr r2, [r3, #4]
  544. 278 002e 7B68 ldr r3, [r7, #4]
  545. 279 0030 DB43 mvns r3, r3
  546. 280 0032 0449 ldr r1, .L16+4
  547. 281 0034 1340 ands r3, r3, r2
  548. 282 0036 4B60 str r3, [r1, #4]
  549. 262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** }
  550. 283 .loc 1 262 1
  551. 284 0038 00BF nop
  552. 285 003a 0837 adds r7, r7, #8
  553. 286 .LCFI20:
  554. 287 .cfi_def_cfa_offset 8
  555. 288 003c BD46 mov sp, r7
  556. 289 .LCFI21:
  557. 290 .cfi_def_cfa_register 13
  558. 291 @ sp needed
  559. 292 003e 80BD pop {r7, pc}
  560. 293 .L17:
  561. 294 .align 2
  562. 295 .L16:
  563. 296 0040 00000000 .word .LC0
  564. 297 0044 00700040 .word 1073770496
  565. 298 .cfi_endproc
  566. 299 .LFE134:
  567. 301 .section .text.HAL_PWR_EnterSLEEPMode,"ax",%progbits
  568. 302 .align 1
  569. 303 .global HAL_PWR_EnterSLEEPMode
  570. 304 .syntax unified
  571. 305 .thumb
  572. 306 .thumb_func
  573. 308 HAL_PWR_EnterSLEEPMode:
  574. 309 .LFB135:
  575. 263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  576. 264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /**
  577. 265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @brief Enters Sleep mode.
  578. 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.
  579. 267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @param Regulator Specifies the regulator state in SLEEP mode.
  580. 268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * This parameter can be one of the following values:
  581. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s page 11
  582. 269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @arg PWR_MAINREGULATOR_ON: SLEEP mode with regulator ON
  583. 270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @arg PWR_LOWPOWERREGULATOR_ON: SLEEP mode with low power regulator ON
  584. 271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @note This parameter has no effect in F3 family and is just maintained to
  585. 272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * offer full portability of other STM32 families software.
  586. 273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @param SLEEPEntry Specifies if SLEEP mode is entered with WFI or WFE instruction.
  587. 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
  588. 275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * the interrupt wake up source.
  589. 276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * This parameter can be one of the following values:
  590. 277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @arg PWR_SLEEPENTRY_WFI: enter SLEEP mode with WFI instruction
  591. 278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @arg PWR_SLEEPENTRY_WFE: enter SLEEP mode with WFE instruction
  592. 279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @retval None
  593. 280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  594. 281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** void HAL_PWR_EnterSLEEPMode(uint32_t Regulator, uint8_t SLEEPEntry)
  595. 282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** {
  596. 310 .loc 1 282 1
  597. 311 .cfi_startproc
  598. 312 @ args = 0, pretend = 0, frame = 8
  599. 313 @ frame_needed = 1, uses_anonymous_args = 0
  600. 314 0000 80B5 push {r7, lr}
  601. 315 .LCFI22:
  602. 316 .cfi_def_cfa_offset 8
  603. 317 .cfi_offset 7, -8
  604. 318 .cfi_offset 14, -4
  605. 319 0002 82B0 sub sp, sp, #8
  606. 320 .LCFI23:
  607. 321 .cfi_def_cfa_offset 16
  608. 322 0004 00AF add r7, sp, #0
  609. 323 .LCFI24:
  610. 324 .cfi_def_cfa_register 7
  611. 325 0006 7860 str r0, [r7, #4]
  612. 326 0008 0B46 mov r3, r1
  613. 327 000a FB70 strb r3, [r7, #3]
  614. 283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Check the parameters */
  615. 284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** assert_param(IS_PWR_SLEEP_ENTRY(SLEEPEntry));
  616. 328 .loc 1 284 3
  617. 329 000c FB78 ldrb r3, [r7, #3] @ zero_extendqisi2
  618. 330 000e 012B cmp r3, #1
  619. 331 0010 07D0 beq .L19
  620. 332 .loc 1 284 3 is_stmt 0 discriminator 1
  621. 333 0012 FB78 ldrb r3, [r7, #3] @ zero_extendqisi2
  622. 334 0014 022B cmp r3, #2
  623. 335 0016 04D0 beq .L19
  624. 336 .loc 1 284 3 discriminator 2
  625. 337 0018 4FF48E71 mov r1, #284
  626. 338 001c 0A48 ldr r0, .L23
  627. 339 001e FFF7FEFF bl assert_failed
  628. 340 .L19:
  629. 285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  630. 286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Prevent unused argument(s) compilation warning */
  631. 287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** UNUSED(Regulator);
  632. 288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  633. 289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Clear SLEEPDEEP bit of Cortex System Control Register */
  634. 290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP_Msk);
  635. 341 .loc 1 290 12 is_stmt 1
  636. 342 0022 0A4B ldr r3, .L23+4
  637. 343 0024 1B69 ldr r3, [r3, #16]
  638. 344 0026 094A ldr r2, .L23+4
  639. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s page 12
  640. 345 0028 23F00403 bic r3, r3, #4
  641. 346 002c 1361 str r3, [r2, #16]
  642. 291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  643. 292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Select SLEEP mode entry -------------------------------------------------*/
  644. 293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** if(SLEEPEntry == PWR_SLEEPENTRY_WFI)
  645. 347 .loc 1 293 5
  646. 348 002e FB78 ldrb r3, [r7, #3] @ zero_extendqisi2
  647. 349 0030 012B cmp r3, #1
  648. 350 0032 01D1 bne .L20
  649. 294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** {
  650. 295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Request Wait For Interrupt */
  651. 296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** __WFI();
  652. 351 .loc 1 296 5
  653. 352 .syntax unified
  654. 353 @ 296 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c" 1
  655. 354 0034 30BF wfi
  656. 355 @ 0 "" 2
  657. 297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** }
  658. 298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** else
  659. 299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** {
  660. 300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Request Wait For Event */
  661. 301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** __SEV();
  662. 302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** __WFE();
  663. 303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** __WFE();
  664. 304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** }
  665. 305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** }
  666. 356 .loc 1 305 1
  667. 357 .thumb
  668. 358 .syntax unified
  669. 359 0036 02E0 b .L22
  670. 360 .L20:
  671. 301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** __WFE();
  672. 361 .loc 1 301 5
  673. 362 .syntax unified
  674. 363 @ 301 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c" 1
  675. 364 0038 40BF sev
  676. 365 @ 0 "" 2
  677. 302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** __WFE();
  678. 366 .loc 1 302 5
  679. 367 @ 302 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c" 1
  680. 368 003a 20BF wfe
  681. 369 @ 0 "" 2
  682. 303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** }
  683. 370 .loc 1 303 5
  684. 371 @ 303 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c" 1
  685. 372 003c 20BF wfe
  686. 373 @ 0 "" 2
  687. 374 .thumb
  688. 375 .syntax unified
  689. 376 .L22:
  690. 377 .loc 1 305 1
  691. 378 003e 00BF nop
  692. 379 0040 0837 adds r7, r7, #8
  693. 380 .LCFI25:
  694. 381 .cfi_def_cfa_offset 8
  695. 382 0042 BD46 mov sp, r7
  696. 383 .LCFI26:
  697. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s page 13
  698. 384 .cfi_def_cfa_register 13
  699. 385 @ sp needed
  700. 386 0044 80BD pop {r7, pc}
  701. 387 .L24:
  702. 388 0046 00BF .align 2
  703. 389 .L23:
  704. 390 0048 00000000 .word .LC0
  705. 391 004c 00ED00E0 .word -536810240
  706. 392 .cfi_endproc
  707. 393 .LFE135:
  708. 395 .section .text.HAL_PWR_EnterSTOPMode,"ax",%progbits
  709. 396 .align 1
  710. 397 .global HAL_PWR_EnterSTOPMode
  711. 398 .syntax unified
  712. 399 .thumb
  713. 400 .thumb_func
  714. 402 HAL_PWR_EnterSTOPMode:
  715. 403 .LFB136:
  716. 306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  717. 307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /**
  718. 308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @brief Enters STOP mode.
  719. 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.
  720. 310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @note When exiting Stop mode by issuing an interrupt or a wakeup event,
  721. 311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * the HSI RC oscillator is selected as system clock.
  722. 312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @note When the voltage regulator operates in low power mode, an additional
  723. 313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * startup delay is incurred when waking up from Stop mode.
  724. 314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * By keeping the internal regulator ON during Stop mode, the consumption
  725. 315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * is higher although the startup time is reduced.
  726. 316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @param Regulator Specifies the regulator state in STOP mode.
  727. 317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * This parameter can be one of the following values:
  728. 318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @arg PWR_MAINREGULATOR_ON: STOP mode with regulator ON
  729. 319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @arg PWR_LOWPOWERREGULATOR_ON: STOP mode with low power regulator ON
  730. 320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @param STOPEntry specifies if STOP mode in entered with WFI or WFE instruction.
  731. 321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * This parameter can be one of the following values:
  732. 322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @arg PWR_STOPENTRY_WFI:Enter STOP mode with WFI instruction
  733. 323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @arg PWR_STOPENTRY_WFE: Enter STOP mode with WFE instruction
  734. 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @retval None
  735. 325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  736. 326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** void HAL_PWR_EnterSTOPMode(uint32_t Regulator, uint8_t STOPEntry)
  737. 327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** {
  738. 404 .loc 1 327 1
  739. 405 .cfi_startproc
  740. 406 @ args = 0, pretend = 0, frame = 16
  741. 407 @ frame_needed = 1, uses_anonymous_args = 0
  742. 408 0000 80B5 push {r7, lr}
  743. 409 .LCFI27:
  744. 410 .cfi_def_cfa_offset 8
  745. 411 .cfi_offset 7, -8
  746. 412 .cfi_offset 14, -4
  747. 413 0002 84B0 sub sp, sp, #16
  748. 414 .LCFI28:
  749. 415 .cfi_def_cfa_offset 24
  750. 416 0004 00AF add r7, sp, #0
  751. 417 .LCFI29:
  752. 418 .cfi_def_cfa_register 7
  753. 419 0006 7860 str r0, [r7, #4]
  754. 420 0008 0B46 mov r3, r1
  755. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s page 14
  756. 421 000a FB70 strb r3, [r7, #3]
  757. 328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** uint32_t tmpreg = 0U;
  758. 422 .loc 1 328 12
  759. 423 000c 0023 movs r3, #0
  760. 424 000e FB60 str r3, [r7, #12]
  761. 329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  762. 330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Check the parameters */
  763. 331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** assert_param(IS_PWR_REGULATOR(Regulator));
  764. 425 .loc 1 331 3
  765. 426 0010 7B68 ldr r3, [r7, #4]
  766. 427 0012 002B cmp r3, #0
  767. 428 0014 07D0 beq .L26
  768. 429 .loc 1 331 3 is_stmt 0 discriminator 1
  769. 430 0016 7B68 ldr r3, [r7, #4]
  770. 431 0018 012B cmp r3, #1
  771. 432 001a 04D0 beq .L26
  772. 433 .loc 1 331 3 discriminator 2
  773. 434 001c 40F24B11 movw r1, #331
  774. 435 0020 1948 ldr r0, .L30
  775. 436 0022 FFF7FEFF bl assert_failed
  776. 437 .L26:
  777. 332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** assert_param(IS_PWR_STOP_ENTRY(STOPEntry));
  778. 438 .loc 1 332 3 is_stmt 1
  779. 439 0026 FB78 ldrb r3, [r7, #3] @ zero_extendqisi2
  780. 440 0028 012B cmp r3, #1
  781. 441 002a 07D0 beq .L27
  782. 442 .loc 1 332 3 is_stmt 0 discriminator 1
  783. 443 002c FB78 ldrb r3, [r7, #3] @ zero_extendqisi2
  784. 444 002e 022B cmp r3, #2
  785. 445 0030 04D0 beq .L27
  786. 446 .loc 1 332 3 discriminator 2
  787. 447 0032 4FF4A671 mov r1, #332
  788. 448 0036 1448 ldr r0, .L30
  789. 449 0038 FFF7FEFF bl assert_failed
  790. 450 .L27:
  791. 333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  792. 334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Select the regulator state in STOP mode ---------------------------------*/
  793. 335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** tmpreg = PWR->CR;
  794. 451 .loc 1 335 15 is_stmt 1
  795. 452 003c 134B ldr r3, .L30+4
  796. 453 .loc 1 335 10
  797. 454 003e 1B68 ldr r3, [r3]
  798. 455 0040 FB60 str r3, [r7, #12]
  799. 336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  800. 337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Clear PDDS and LPDS bits */
  801. 338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** tmpreg &= (uint32_t)~(PWR_CR_PDDS | PWR_CR_LPDS);
  802. 456 .loc 1 338 10
  803. 457 0042 FB68 ldr r3, [r7, #12]
  804. 458 0044 23F00303 bic r3, r3, #3
  805. 459 0048 FB60 str r3, [r7, #12]
  806. 339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  807. 340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Set LPDS bit according to Regulator value */
  808. 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** tmpreg |= Regulator;
  809. 460 .loc 1 341 10
  810. 461 004a FA68 ldr r2, [r7, #12]
  811. 462 004c 7B68 ldr r3, [r7, #4]
  812. 463 004e 1343 orrs r3, r3, r2
  813. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s page 15
  814. 464 0050 FB60 str r3, [r7, #12]
  815. 342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  816. 343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Store the new value */
  817. 344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** PWR->CR = tmpreg;
  818. 465 .loc 1 344 6
  819. 466 0052 0E4A ldr r2, .L30+4
  820. 467 .loc 1 344 11
  821. 468 0054 FB68 ldr r3, [r7, #12]
  822. 469 0056 1360 str r3, [r2]
  823. 345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  824. 346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Set SLEEPDEEP bit of Cortex System Control Register */
  825. 347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk;
  826. 470 .loc 1 347 12
  827. 471 0058 0D4B ldr r3, .L30+8
  828. 472 005a 1B69 ldr r3, [r3, #16]
  829. 473 005c 0C4A ldr r2, .L30+8
  830. 474 005e 43F00403 orr r3, r3, #4
  831. 475 0062 1361 str r3, [r2, #16]
  832. 348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  833. 349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Select STOP mode entry --------------------------------------------------*/
  834. 350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** if(STOPEntry == PWR_STOPENTRY_WFI)
  835. 476 .loc 1 350 5
  836. 477 0064 FB78 ldrb r3, [r7, #3] @ zero_extendqisi2
  837. 478 0066 012B cmp r3, #1
  838. 479 0068 01D1 bne .L28
  839. 351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** {
  840. 352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Request Wait For Interrupt */
  841. 353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** __WFI();
  842. 480 .loc 1 353 5
  843. 481 .syntax unified
  844. 482 @ 353 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c" 1
  845. 483 006a 30BF wfi
  846. 484 @ 0 "" 2
  847. 485 .thumb
  848. 486 .syntax unified
  849. 487 006c 02E0 b .L29
  850. 488 .L28:
  851. 354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** }
  852. 355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** else
  853. 356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** {
  854. 357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Request Wait For Event */
  855. 358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** __SEV();
  856. 489 .loc 1 358 5
  857. 490 .syntax unified
  858. 491 @ 358 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c" 1
  859. 492 006e 40BF sev
  860. 493 @ 0 "" 2
  861. 359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** __WFE();
  862. 494 .loc 1 359 5
  863. 495 @ 359 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c" 1
  864. 496 0070 20BF wfe
  865. 497 @ 0 "" 2
  866. 360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** __WFE();
  867. 498 .loc 1 360 5
  868. 499 @ 360 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c" 1
  869. 500 0072 20BF wfe
  870. 501 @ 0 "" 2
  871. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s page 16
  872. 502 .thumb
  873. 503 .syntax unified
  874. 504 .L29:
  875. 361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** }
  876. 362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  877. 363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Reset SLEEPDEEP bit of Cortex System Control Register */
  878. 364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP_Msk);
  879. 505 .loc 1 364 12
  880. 506 0074 064B ldr r3, .L30+8
  881. 507 0076 1B69 ldr r3, [r3, #16]
  882. 508 0078 054A ldr r2, .L30+8
  883. 509 007a 23F00403 bic r3, r3, #4
  884. 510 007e 1361 str r3, [r2, #16]
  885. 365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** }
  886. 511 .loc 1 365 1
  887. 512 0080 00BF nop
  888. 513 0082 1037 adds r7, r7, #16
  889. 514 .LCFI30:
  890. 515 .cfi_def_cfa_offset 8
  891. 516 0084 BD46 mov sp, r7
  892. 517 .LCFI31:
  893. 518 .cfi_def_cfa_register 13
  894. 519 @ sp needed
  895. 520 0086 80BD pop {r7, pc}
  896. 521 .L31:
  897. 522 .align 2
  898. 523 .L30:
  899. 524 0088 00000000 .word .LC0
  900. 525 008c 00700040 .word 1073770496
  901. 526 0090 00ED00E0 .word -536810240
  902. 527 .cfi_endproc
  903. 528 .LFE136:
  904. 530 .section .text.HAL_PWR_EnterSTANDBYMode,"ax",%progbits
  905. 531 .align 1
  906. 532 .global HAL_PWR_EnterSTANDBYMode
  907. 533 .syntax unified
  908. 534 .thumb
  909. 535 .thumb_func
  910. 537 HAL_PWR_EnterSTANDBYMode:
  911. 538 .LFB137:
  912. 366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  913. 367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /**
  914. 368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @brief Enters STANDBY mode.
  915. 369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @note In Standby mode, all I/O pins are high impedance except for:
  916. 370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * - Reset pad (still available),
  917. 371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * - RTC alternate function pins if configured for tamper, time-stamp, RTC
  918. 372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * Alarm out, or RTC clock calibration out,
  919. 373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * - WKUP pins if enabled.
  920. 374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @retval None
  921. 375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  922. 376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** void HAL_PWR_EnterSTANDBYMode(void)
  923. 377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** {
  924. 539 .loc 1 377 1
  925. 540 .cfi_startproc
  926. 541 @ args = 0, pretend = 0, frame = 0
  927. 542 @ frame_needed = 1, uses_anonymous_args = 0
  928. 543 @ link register save eliminated.
  929. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s page 17
  930. 544 0000 80B4 push {r7}
  931. 545 .LCFI32:
  932. 546 .cfi_def_cfa_offset 4
  933. 547 .cfi_offset 7, -4
  934. 548 0002 00AF add r7, sp, #0
  935. 549 .LCFI33:
  936. 550 .cfi_def_cfa_register 7
  937. 378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Select STANDBY mode */
  938. 379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** PWR->CR |= PWR_CR_PDDS;
  939. 551 .loc 1 379 11
  940. 552 0004 084B ldr r3, .L33
  941. 553 0006 1B68 ldr r3, [r3]
  942. 554 0008 074A ldr r2, .L33
  943. 555 000a 43F00203 orr r3, r3, #2
  944. 556 000e 1360 str r3, [r2]
  945. 380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  946. 381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Set SLEEPDEEP bit of Cortex System Control Register */
  947. 382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk;
  948. 557 .loc 1 382 12
  949. 558 0010 064B ldr r3, .L33+4
  950. 559 0012 1B69 ldr r3, [r3, #16]
  951. 560 0014 054A ldr r2, .L33+4
  952. 561 0016 43F00403 orr r3, r3, #4
  953. 562 001a 1361 str r3, [r2, #16]
  954. 383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  955. 384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* This option is used to ensure that store operations are completed */
  956. 385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** #if defined ( __CC_ARM)
  957. 386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** __force_stores();
  958. 387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** #endif
  959. 388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Request Wait For Interrupt */
  960. 389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** __WFI();
  961. 563 .loc 1 389 3
  962. 564 .syntax unified
  963. 565 @ 389 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c" 1
  964. 566 001c 30BF wfi
  965. 567 @ 0 "" 2
  966. 390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** }
  967. 568 .loc 1 390 1
  968. 569 .thumb
  969. 570 .syntax unified
  970. 571 001e 00BF nop
  971. 572 0020 BD46 mov sp, r7
  972. 573 .LCFI34:
  973. 574 .cfi_def_cfa_register 13
  974. 575 @ sp needed
  975. 576 0022 5DF8047B ldr r7, [sp], #4
  976. 577 .LCFI35:
  977. 578 .cfi_restore 7
  978. 579 .cfi_def_cfa_offset 0
  979. 580 0026 7047 bx lr
  980. 581 .L34:
  981. 582 .align 2
  982. 583 .L33:
  983. 584 0028 00700040 .word 1073770496
  984. 585 002c 00ED00E0 .word -536810240
  985. 586 .cfi_endproc
  986. 587 .LFE137:
  987. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s page 18
  988. 589 .section .text.HAL_PWR_EnableSleepOnExit,"ax",%progbits
  989. 590 .align 1
  990. 591 .global HAL_PWR_EnableSleepOnExit
  991. 592 .syntax unified
  992. 593 .thumb
  993. 594 .thumb_func
  994. 596 HAL_PWR_EnableSleepOnExit:
  995. 597 .LFB138:
  996. 391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  997. 392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /**
  998. 393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @brief Indicates Sleep-On-Exit when returning from Handler mode to Thread mode.
  999. 394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @note Set SLEEPONEXIT bit of SCR register. When this bit is set, the processor
  1000. 395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * re-enters SLEEP mode when an interruption handling is over.
  1001. 396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * Setting this bit is useful when the processor is expected to run only on
  1002. 397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * interruptions handling.
  1003. 398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @retval None
  1004. 399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  1005. 400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** void HAL_PWR_EnableSleepOnExit(void)
  1006. 401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** {
  1007. 598 .loc 1 401 1
  1008. 599 .cfi_startproc
  1009. 600 @ args = 0, pretend = 0, frame = 0
  1010. 601 @ frame_needed = 1, uses_anonymous_args = 0
  1011. 602 @ link register save eliminated.
  1012. 603 0000 80B4 push {r7}
  1013. 604 .LCFI36:
  1014. 605 .cfi_def_cfa_offset 4
  1015. 606 .cfi_offset 7, -4
  1016. 607 0002 00AF add r7, sp, #0
  1017. 608 .LCFI37:
  1018. 609 .cfi_def_cfa_register 7
  1019. 402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Set SLEEPONEXIT bit of Cortex System Control Register */
  1020. 403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** SET_BIT(SCB->SCR, ((uint32_t)SCB_SCR_SLEEPONEXIT_Msk));
  1021. 610 .loc 1 403 3
  1022. 611 0004 054B ldr r3, .L36
  1023. 612 0006 1B69 ldr r3, [r3, #16]
  1024. 613 0008 044A ldr r2, .L36
  1025. 614 000a 43F00203 orr r3, r3, #2
  1026. 615 000e 1361 str r3, [r2, #16]
  1027. 404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** }
  1028. 616 .loc 1 404 1
  1029. 617 0010 00BF nop
  1030. 618 0012 BD46 mov sp, r7
  1031. 619 .LCFI38:
  1032. 620 .cfi_def_cfa_register 13
  1033. 621 @ sp needed
  1034. 622 0014 5DF8047B ldr r7, [sp], #4
  1035. 623 .LCFI39:
  1036. 624 .cfi_restore 7
  1037. 625 .cfi_def_cfa_offset 0
  1038. 626 0018 7047 bx lr
  1039. 627 .L37:
  1040. 628 001a 00BF .align 2
  1041. 629 .L36:
  1042. 630 001c 00ED00E0 .word -536810240
  1043. 631 .cfi_endproc
  1044. 632 .LFE138:
  1045. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s page 19
  1046. 634 .section .text.HAL_PWR_DisableSleepOnExit,"ax",%progbits
  1047. 635 .align 1
  1048. 636 .global HAL_PWR_DisableSleepOnExit
  1049. 637 .syntax unified
  1050. 638 .thumb
  1051. 639 .thumb_func
  1052. 641 HAL_PWR_DisableSleepOnExit:
  1053. 642 .LFB139:
  1054. 405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  1055. 406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  1056. 407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /**
  1057. 408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @brief Disables Sleep-On-Exit feature when returning from Handler mode to Thread mode.
  1058. 409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @note Clears SLEEPONEXIT bit of SCR register. When this bit is set, the processor
  1059. 410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * re-enters SLEEP mode when an interruption handling is over.
  1060. 411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @retval None
  1061. 412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  1062. 413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** void HAL_PWR_DisableSleepOnExit(void)
  1063. 414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** {
  1064. 643 .loc 1 414 1
  1065. 644 .cfi_startproc
  1066. 645 @ args = 0, pretend = 0, frame = 0
  1067. 646 @ frame_needed = 1, uses_anonymous_args = 0
  1068. 647 @ link register save eliminated.
  1069. 648 0000 80B4 push {r7}
  1070. 649 .LCFI40:
  1071. 650 .cfi_def_cfa_offset 4
  1072. 651 .cfi_offset 7, -4
  1073. 652 0002 00AF add r7, sp, #0
  1074. 653 .LCFI41:
  1075. 654 .cfi_def_cfa_register 7
  1076. 415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Clear SLEEPONEXIT bit of Cortex System Control Register */
  1077. 416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** CLEAR_BIT(SCB->SCR, ((uint32_t)SCB_SCR_SLEEPONEXIT_Msk));
  1078. 655 .loc 1 416 3
  1079. 656 0004 054B ldr r3, .L39
  1080. 657 0006 1B69 ldr r3, [r3, #16]
  1081. 658 0008 044A ldr r2, .L39
  1082. 659 000a 23F00203 bic r3, r3, #2
  1083. 660 000e 1361 str r3, [r2, #16]
  1084. 417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** }
  1085. 661 .loc 1 417 1
  1086. 662 0010 00BF nop
  1087. 663 0012 BD46 mov sp, r7
  1088. 664 .LCFI42:
  1089. 665 .cfi_def_cfa_register 13
  1090. 666 @ sp needed
  1091. 667 0014 5DF8047B ldr r7, [sp], #4
  1092. 668 .LCFI43:
  1093. 669 .cfi_restore 7
  1094. 670 .cfi_def_cfa_offset 0
  1095. 671 0018 7047 bx lr
  1096. 672 .L40:
  1097. 673 001a 00BF .align 2
  1098. 674 .L39:
  1099. 675 001c 00ED00E0 .word -536810240
  1100. 676 .cfi_endproc
  1101. 677 .LFE139:
  1102. 679 .section .text.HAL_PWR_EnableSEVOnPend,"ax",%progbits
  1103. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s page 20
  1104. 680 .align 1
  1105. 681 .global HAL_PWR_EnableSEVOnPend
  1106. 682 .syntax unified
  1107. 683 .thumb
  1108. 684 .thumb_func
  1109. 686 HAL_PWR_EnableSEVOnPend:
  1110. 687 .LFB140:
  1111. 418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  1112. 419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  1113. 420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  1114. 421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /**
  1115. 422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @brief Enables CORTEX M4 SEVONPEND bit.
  1116. 423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @note Sets SEVONPEND bit of SCR register. When this bit is set, this causes
  1117. 424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * WFE to wake up when an interrupt moves from inactive to pended.
  1118. 425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @retval None
  1119. 426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  1120. 427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** void HAL_PWR_EnableSEVOnPend(void)
  1121. 428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** {
  1122. 688 .loc 1 428 1
  1123. 689 .cfi_startproc
  1124. 690 @ args = 0, pretend = 0, frame = 0
  1125. 691 @ frame_needed = 1, uses_anonymous_args = 0
  1126. 692 @ link register save eliminated.
  1127. 693 0000 80B4 push {r7}
  1128. 694 .LCFI44:
  1129. 695 .cfi_def_cfa_offset 4
  1130. 696 .cfi_offset 7, -4
  1131. 697 0002 00AF add r7, sp, #0
  1132. 698 .LCFI45:
  1133. 699 .cfi_def_cfa_register 7
  1134. 429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Set SEVONPEND bit of Cortex System Control Register */
  1135. 430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** SET_BIT(SCB->SCR, ((uint32_t)SCB_SCR_SEVONPEND_Msk));
  1136. 700 .loc 1 430 3
  1137. 701 0004 054B ldr r3, .L42
  1138. 702 0006 1B69 ldr r3, [r3, #16]
  1139. 703 0008 044A ldr r2, .L42
  1140. 704 000a 43F01003 orr r3, r3, #16
  1141. 705 000e 1361 str r3, [r2, #16]
  1142. 431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** }
  1143. 706 .loc 1 431 1
  1144. 707 0010 00BF nop
  1145. 708 0012 BD46 mov sp, r7
  1146. 709 .LCFI46:
  1147. 710 .cfi_def_cfa_register 13
  1148. 711 @ sp needed
  1149. 712 0014 5DF8047B ldr r7, [sp], #4
  1150. 713 .LCFI47:
  1151. 714 .cfi_restore 7
  1152. 715 .cfi_def_cfa_offset 0
  1153. 716 0018 7047 bx lr
  1154. 717 .L43:
  1155. 718 001a 00BF .align 2
  1156. 719 .L42:
  1157. 720 001c 00ED00E0 .word -536810240
  1158. 721 .cfi_endproc
  1159. 722 .LFE140:
  1160. 724 .section .text.HAL_PWR_DisableSEVOnPend,"ax",%progbits
  1161. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s page 21
  1162. 725 .align 1
  1163. 726 .global HAL_PWR_DisableSEVOnPend
  1164. 727 .syntax unified
  1165. 728 .thumb
  1166. 729 .thumb_func
  1167. 731 HAL_PWR_DisableSEVOnPend:
  1168. 732 .LFB141:
  1169. 432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  1170. 433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c ****
  1171. 434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /**
  1172. 435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @brief Disables CORTEX M4 SEVONPEND bit.
  1173. 436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @note Clears SEVONPEND bit of SCR register. When this bit is set, this causes
  1174. 437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * WFE to wake up when an interrupt moves from inactive to pended.
  1175. 438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** * @retval None
  1176. 439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** */
  1177. 440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** void HAL_PWR_DisableSEVOnPend(void)
  1178. 441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** {
  1179. 733 .loc 1 441 1
  1180. 734 .cfi_startproc
  1181. 735 @ args = 0, pretend = 0, frame = 0
  1182. 736 @ frame_needed = 1, uses_anonymous_args = 0
  1183. 737 @ link register save eliminated.
  1184. 738 0000 80B4 push {r7}
  1185. 739 .LCFI48:
  1186. 740 .cfi_def_cfa_offset 4
  1187. 741 .cfi_offset 7, -4
  1188. 742 0002 00AF add r7, sp, #0
  1189. 743 .LCFI49:
  1190. 744 .cfi_def_cfa_register 7
  1191. 442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** /* Clear SEVONPEND bit of Cortex System Control Register */
  1192. 443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** CLEAR_BIT(SCB->SCR, ((uint32_t)SCB_SCR_SEVONPEND_Msk));
  1193. 745 .loc 1 443 3
  1194. 746 0004 054B ldr r3, .L45
  1195. 747 0006 1B69 ldr r3, [r3, #16]
  1196. 748 0008 044A ldr r2, .L45
  1197. 749 000a 23F01003 bic r3, r3, #16
  1198. 750 000e 1361 str r3, [r2, #16]
  1199. 444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c **** }
  1200. 751 .loc 1 444 1
  1201. 752 0010 00BF nop
  1202. 753 0012 BD46 mov sp, r7
  1203. 754 .LCFI50:
  1204. 755 .cfi_def_cfa_register 13
  1205. 756 @ sp needed
  1206. 757 0014 5DF8047B ldr r7, [sp], #4
  1207. 758 .LCFI51:
  1208. 759 .cfi_restore 7
  1209. 760 .cfi_def_cfa_offset 0
  1210. 761 0018 7047 bx lr
  1211. 762 .L46:
  1212. 763 001a 00BF .align 2
  1213. 764 .L45:
  1214. 765 001c 00ED00E0 .word -536810240
  1215. 766 .cfi_endproc
  1216. 767 .LFE141:
  1217. 769 .text
  1218. 770 .Letext0:
  1219. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s page 22
  1220. 771 .file 2 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h"
  1221. 772 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h"
  1222. 773 .file 4 "Drivers/CMSIS/Include/core_cm4.h"
  1223. 774 .file 5 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h"
  1224. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s page 23
  1225. DEFINED SYMBOLS
  1226. *ABS*:00000000 stm32f3xx_hal_pwr.c
  1227. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:20 .text.HAL_PWR_DeInit:00000000 $t
  1228. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:26 .text.HAL_PWR_DeInit:00000000 HAL_PWR_DeInit
  1229. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:67 .text.HAL_PWR_DeInit:00000028 $d
  1230. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:72 .text.HAL_PWR_EnableBkUpAccess:00000000 $t
  1231. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:78 .text.HAL_PWR_EnableBkUpAccess:00000000 HAL_PWR_EnableBkUpAccess
  1232. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:112 .text.HAL_PWR_EnableBkUpAccess:0000001c $d
  1233. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:117 .text.HAL_PWR_DisableBkUpAccess:00000000 $t
  1234. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:123 .text.HAL_PWR_DisableBkUpAccess:00000000 HAL_PWR_DisableBkUpAccess
  1235. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:157 .text.HAL_PWR_DisableBkUpAccess:0000001c $d
  1236. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:162 .rodata:00000000 $d
  1237. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:167 .text.HAL_PWR_EnableWakeUpPin:00000000 $t
  1238. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:173 .text.HAL_PWR_EnableWakeUpPin:00000000 HAL_PWR_EnableWakeUpPin
  1239. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:228 .text.HAL_PWR_EnableWakeUpPin:0000003c $d
  1240. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:234 .text.HAL_PWR_DisableWakeUpPin:00000000 $t
  1241. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:240 .text.HAL_PWR_DisableWakeUpPin:00000000 HAL_PWR_DisableWakeUpPin
  1242. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:296 .text.HAL_PWR_DisableWakeUpPin:00000040 $d
  1243. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:302 .text.HAL_PWR_EnterSLEEPMode:00000000 $t
  1244. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:308 .text.HAL_PWR_EnterSLEEPMode:00000000 HAL_PWR_EnterSLEEPMode
  1245. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:390 .text.HAL_PWR_EnterSLEEPMode:00000048 $d
  1246. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:396 .text.HAL_PWR_EnterSTOPMode:00000000 $t
  1247. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:402 .text.HAL_PWR_EnterSTOPMode:00000000 HAL_PWR_EnterSTOPMode
  1248. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:524 .text.HAL_PWR_EnterSTOPMode:00000088 $d
  1249. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:531 .text.HAL_PWR_EnterSTANDBYMode:00000000 $t
  1250. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:537 .text.HAL_PWR_EnterSTANDBYMode:00000000 HAL_PWR_EnterSTANDBYMode
  1251. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:584 .text.HAL_PWR_EnterSTANDBYMode:00000028 $d
  1252. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:590 .text.HAL_PWR_EnableSleepOnExit:00000000 $t
  1253. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:596 .text.HAL_PWR_EnableSleepOnExit:00000000 HAL_PWR_EnableSleepOnExit
  1254. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:630 .text.HAL_PWR_EnableSleepOnExit:0000001c $d
  1255. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:635 .text.HAL_PWR_DisableSleepOnExit:00000000 $t
  1256. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:641 .text.HAL_PWR_DisableSleepOnExit:00000000 HAL_PWR_DisableSleepOnExit
  1257. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:675 .text.HAL_PWR_DisableSleepOnExit:0000001c $d
  1258. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:680 .text.HAL_PWR_EnableSEVOnPend:00000000 $t
  1259. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:686 .text.HAL_PWR_EnableSEVOnPend:00000000 HAL_PWR_EnableSEVOnPend
  1260. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:720 .text.HAL_PWR_EnableSEVOnPend:0000001c $d
  1261. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:725 .text.HAL_PWR_DisableSEVOnPend:00000000 $t
  1262. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:731 .text.HAL_PWR_DisableSEVOnPend:00000000 HAL_PWR_DisableSEVOnPend
  1263. C:\Users\zl835\AppData\Local\Temp\ccCqdgMJ.s:765 .text.HAL_PWR_DisableSEVOnPend:0000001c $d
  1264. UNDEFINED SYMBOLS
  1265. assert_failed