stm32f4xx_hal_exti.lst 88 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668
  1. ARM GAS C:\Users\10728\AppData\Local\Temp\cc81LJZC.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 "stm32f4xx_hal_exti.c"
  17. 16 .text
  18. 17 .Ltext0:
  19. 18 .cfi_sections .debug_frame
  20. 19 .section .text.HAL_EXTI_SetConfigLine,"ax",%progbits
  21. 20 .align 1
  22. 21 .global HAL_EXTI_SetConfigLine
  23. 22 .syntax unified
  24. 23 .thumb
  25. 24 .thumb_func
  26. 26 HAL_EXTI_SetConfigLine:
  27. 27 .LFB235:
  28. 28 .file 1 "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c"
  29. 1:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /**
  30. 2:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** ******************************************************************************
  31. 3:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @file stm32f4xx_hal_exti.c
  32. 4:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @author MCD Application Team
  33. 5:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @brief EXTI HAL module driver.
  34. 6:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * This file provides firmware functions to manage the following
  35. 7:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * functionalities of the Extended Interrupts and events controller (EXTI) peripheral:
  36. 8:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * + Initialization and de-initialization functions
  37. 9:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * + IO operation functions
  38. 10:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** *
  39. 11:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** ******************************************************************************
  40. 12:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @attention
  41. 13:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** *
  42. 14:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * Copyright (c) 2018 STMicroelectronics.
  43. 15:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * All rights reserved.
  44. 16:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** *
  45. 17:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * This software is licensed under terms that can be found in the LICENSE file
  46. 18:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * in the root directory of this software component.
  47. 19:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
  48. 20:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** *
  49. 21:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** ******************************************************************************
  50. 22:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** @verbatim
  51. 23:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** ==============================================================================
  52. 24:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** ##### EXTI Peripheral features #####
  53. 25:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** ==============================================================================
  54. 26:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** [..]
  55. 27:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (+) Each Exti line can be configured within this driver.
  56. 28:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  57. 29:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (+) Exti line can be configured in 3 different modes
  58. 30:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (++) Interrupt
  59. ARM GAS C:\Users\10728\AppData\Local\Temp\cc81LJZC.s page 2
  60. 31:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (++) Event
  61. 32:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (++) Both of them
  62. 33:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  63. 34:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (+) Configurable Exti lines can be configured with 3 different triggers
  64. 35:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (++) Rising
  65. 36:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (++) Falling
  66. 37:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (++) Both of them
  67. 38:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  68. 39:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (+) When set in interrupt mode, configurable Exti lines have two different
  69. 40:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** interrupts pending registers which allow to distinguish which transition
  70. 41:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** occurs:
  71. 42:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (++) Rising edge pending interrupt
  72. 43:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (++) Falling
  73. 44:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  74. 45:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (+) Exti lines 0 to 15 are linked to gpio pin number 0 to 15. Gpio port can
  75. 46:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** be selected through multiplexer.
  76. 47:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  77. 48:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** ##### How to use this driver #####
  78. 49:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** ==============================================================================
  79. 50:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** [..]
  80. 51:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  81. 52:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (#) Configure the EXTI line using HAL_EXTI_SetConfigLine().
  82. 53:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (++) Choose the interrupt line number by setting "Line" member from
  83. 54:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** EXTI_ConfigTypeDef structure.
  84. 55:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (++) Configure the interrupt and/or event mode using "Mode" member from
  85. 56:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** EXTI_ConfigTypeDef structure.
  86. 57:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (++) For configurable lines, configure rising and/or falling trigger
  87. 58:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** "Trigger" member from EXTI_ConfigTypeDef structure.
  88. 59:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (++) For Exti lines linked to gpio, choose gpio port using "GPIOSel"
  89. 60:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** member from GPIO_InitTypeDef structure.
  90. 61:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  91. 62:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (#) Get current Exti configuration of a dedicated line using
  92. 63:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** HAL_EXTI_GetConfigLine().
  93. 64:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (++) Provide exiting handle as parameter.
  94. 65:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (++) Provide pointer on EXTI_ConfigTypeDef structure as second parameter.
  95. 66:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  96. 67:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (#) Clear Exti configuration of a dedicated line using HAL_EXTI_GetConfigLine().
  97. 68:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (++) Provide exiting handle as parameter.
  98. 69:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  99. 70:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (#) Register callback to treat Exti interrupts using HAL_EXTI_RegisterCallback().
  100. 71:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (++) Provide exiting handle as first parameter.
  101. 72:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (++) Provide which callback will be registered using one value from
  102. 73:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** EXTI_CallbackIDTypeDef.
  103. 74:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (++) Provide callback function pointer.
  104. 75:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  105. 76:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (#) Get interrupt pending bit using HAL_EXTI_GetPending().
  106. 77:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  107. 78:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (#) Clear interrupt pending bit using HAL_EXTI_GetPending().
  108. 79:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  109. 80:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (#) Generate software interrupt using HAL_EXTI_GenerateSWI().
  110. 81:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  111. 82:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** @endverbatim
  112. 83:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
  113. 84:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  114. 85:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Includes ------------------------------------------------------------------*/
  115. 86:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** #include "stm32f4xx_hal.h"
  116. 87:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  117. ARM GAS C:\Users\10728\AppData\Local\Temp\cc81LJZC.s page 3
  118. 88:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /** @addtogroup STM32F4xx_HAL_Driver
  119. 89:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @{
  120. 90:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
  121. 91:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  122. 92:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /** @addtogroup EXTI
  123. 93:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @{
  124. 94:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
  125. 95:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /** MISRA C:2012 deviation rule has been granted for following rule:
  126. 96:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * Rule-18.1_b - Medium: Array `EXTICR' 1st subscript interval [0,7] may be out
  127. 97:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * of bounds [0,3] in following API :
  128. 98:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * HAL_EXTI_SetConfigLine
  129. 99:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * HAL_EXTI_GetConfigLine
  130. 100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * HAL_EXTI_ClearConfigLine
  131. 101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
  132. 102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  133. 103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** #ifdef HAL_EXTI_MODULE_ENABLED
  134. 104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  135. 105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Private typedef -----------------------------------------------------------*/
  136. 106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Private defines -----------------------------------------------------------*/
  137. 107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /** @defgroup EXTI_Private_Constants EXTI Private Constants
  138. 108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @{
  139. 109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
  140. 110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  141. 111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /**
  142. 112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @}
  143. 113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
  144. 114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  145. 115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Private macros ------------------------------------------------------------*/
  146. 116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Private variables ---------------------------------------------------------*/
  147. 117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Private function prototypes -----------------------------------------------*/
  148. 118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Exported functions --------------------------------------------------------*/
  149. 119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  150. 120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions
  151. 121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @{
  152. 122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
  153. 123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  154. 124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions_Group1
  155. 125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @brief Configuration functions
  156. 126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** *
  157. 127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** @verbatim
  158. 128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** ===============================================================================
  159. 129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** ##### Configuration functions #####
  160. 130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** ===============================================================================
  161. 131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  162. 132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** @endverbatim
  163. 133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @{
  164. 134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
  165. 135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  166. 136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /**
  167. 137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @brief Set configuration of a dedicated Exti line.
  168. 138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @param hexti Exti handle.
  169. 139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @param pExtiConfig Pointer on EXTI configuration to be set.
  170. 140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @retval HAL Status.
  171. 141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
  172. 142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_SetConfigLine(EXTI_HandleTypeDef *hexti, EXTI_ConfigTypeDef *pExtiConfig
  173. 143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
  174. 29 .loc 1 143 1
  175. ARM GAS C:\Users\10728\AppData\Local\Temp\cc81LJZC.s page 4
  176. 30 .cfi_startproc
  177. 31 @ args = 0, pretend = 0, frame = 24
  178. 32 @ frame_needed = 1, uses_anonymous_args = 0
  179. 33 @ link register save eliminated.
  180. 34 0000 80B4 push {r7}
  181. 35 .LCFI0:
  182. 36 .cfi_def_cfa_offset 4
  183. 37 .cfi_offset 7, -4
  184. 38 0002 87B0 sub sp, sp, #28
  185. 39 .LCFI1:
  186. 40 .cfi_def_cfa_offset 32
  187. 41 0004 00AF add r7, sp, #0
  188. 42 .LCFI2:
  189. 43 .cfi_def_cfa_register 7
  190. 44 0006 7860 str r0, [r7, #4]
  191. 45 0008 3960 str r1, [r7]
  192. 144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t regval;
  193. 145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t linepos;
  194. 146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t maskline;
  195. 147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  196. 148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Check null pointer */
  197. 149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if ((hexti == NULL) || (pExtiConfig == NULL))
  198. 46 .loc 1 149 6
  199. 47 000a 7B68 ldr r3, [r7, #4]
  200. 48 000c 002B cmp r3, #0
  201. 49 000e 02D0 beq .L2
  202. 50 .loc 1 149 23 discriminator 1
  203. 51 0010 3B68 ldr r3, [r7]
  204. 52 0012 002B cmp r3, #0
  205. 53 0014 01D1 bne .L3
  206. 54 .L2:
  207. 150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
  208. 151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** return HAL_ERROR;
  209. 55 .loc 1 151 12
  210. 56 0016 0123 movs r3, #1
  211. 57 0018 8FE0 b .L4
  212. 58 .L3:
  213. 152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
  214. 153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  215. 154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Check parameters */
  216. 155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_LINE(pExtiConfig->Line));
  217. 156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_MODE(pExtiConfig->Mode));
  218. 157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  219. 158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Assign line number to handle */
  220. 159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** hexti->Line = pExtiConfig->Line;
  221. 59 .loc 1 159 28
  222. 60 001a 3B68 ldr r3, [r7]
  223. 61 001c 1A68 ldr r2, [r3]
  224. 62 .loc 1 159 15
  225. 63 001e 7B68 ldr r3, [r7, #4]
  226. 64 0020 1A60 str r2, [r3]
  227. 160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  228. 161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Compute line mask */
  229. 162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** linepos = (pExtiConfig->Line & EXTI_PIN_MASK);
  230. 65 .loc 1 162 25
  231. 66 0022 3B68 ldr r3, [r7]
  232. 67 0024 1B68 ldr r3, [r3]
  233. ARM GAS C:\Users\10728\AppData\Local\Temp\cc81LJZC.s page 5
  234. 68 .loc 1 162 11
  235. 69 0026 03F01F03 and r3, r3, #31
  236. 70 002a 7B61 str r3, [r7, #20]
  237. 163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** maskline = (1uL << linepos);
  238. 71 .loc 1 163 12
  239. 72 002c 0122 movs r2, #1
  240. 73 002e 7B69 ldr r3, [r7, #20]
  241. 74 0030 02FA03F3 lsl r3, r2, r3
  242. 75 0034 3B61 str r3, [r7, #16]
  243. 164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  244. 165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Configure triggers for configurable lines */
  245. 166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_CONFIG) != 0x00u)
  246. 76 .loc 1 166 19
  247. 77 0036 3B68 ldr r3, [r7]
  248. 78 0038 1B68 ldr r3, [r3]
  249. 79 .loc 1 166 26
  250. 80 003a 03F00073 and r3, r3, #33554432
  251. 81 .loc 1 166 6
  252. 82 003e 002B cmp r3, #0
  253. 83 0040 52D0 beq .L5
  254. 167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
  255. 168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_TRIGGER(pExtiConfig->Trigger));
  256. 169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  257. 170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Configure rising trigger */
  258. 171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Mask or set line */
  259. 172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if ((pExtiConfig->Trigger & EXTI_TRIGGER_RISING) != 0x00u)
  260. 84 .loc 1 172 21
  261. 85 0042 3B68 ldr r3, [r7]
  262. 86 0044 9B68 ldr r3, [r3, #8]
  263. 87 .loc 1 172 31
  264. 88 0046 03F00103 and r3, r3, #1
  265. 89 .loc 1 172 8
  266. 90 004a 002B cmp r3, #0
  267. 91 004c 06D0 beq .L6
  268. 173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
  269. 174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** EXTI->RTSR |= maskline;
  270. 92 .loc 1 174 18
  271. 93 004e 3E4B ldr r3, .L14
  272. 94 0050 9A68 ldr r2, [r3, #8]
  273. 95 0052 3D49 ldr r1, .L14
  274. 96 0054 3B69 ldr r3, [r7, #16]
  275. 97 0056 1343 orrs r3, r3, r2
  276. 98 0058 8B60 str r3, [r1, #8]
  277. 99 005a 06E0 b .L7
  278. 100 .L6:
  279. 175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
  280. 176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** else
  281. 177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
  282. 178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** EXTI->RTSR &= ~maskline;
  283. 101 .loc 1 178 18
  284. 102 005c 3A4B ldr r3, .L14
  285. 103 005e 9A68 ldr r2, [r3, #8]
  286. 104 .loc 1 178 21
  287. 105 0060 3B69 ldr r3, [r7, #16]
  288. 106 0062 DB43 mvns r3, r3
  289. 107 .loc 1 178 18
  290. 108 0064 3849 ldr r1, .L14
  291. ARM GAS C:\Users\10728\AppData\Local\Temp\cc81LJZC.s page 6
  292. 109 0066 1340 ands r3, r3, r2
  293. 110 0068 8B60 str r3, [r1, #8]
  294. 111 .L7:
  295. 179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
  296. 180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  297. 181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Configure falling trigger */
  298. 182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Mask or set line */
  299. 183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if ((pExtiConfig->Trigger & EXTI_TRIGGER_FALLING) != 0x00u)
  300. 112 .loc 1 183 21
  301. 113 006a 3B68 ldr r3, [r7]
  302. 114 006c 9B68 ldr r3, [r3, #8]
  303. 115 .loc 1 183 31
  304. 116 006e 03F00203 and r3, r3, #2
  305. 117 .loc 1 183 8
  306. 118 0072 002B cmp r3, #0
  307. 119 0074 06D0 beq .L8
  308. 184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
  309. 185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** EXTI->FTSR |= maskline;
  310. 120 .loc 1 185 18
  311. 121 0076 344B ldr r3, .L14
  312. 122 0078 DA68 ldr r2, [r3, #12]
  313. 123 007a 3349 ldr r1, .L14
  314. 124 007c 3B69 ldr r3, [r7, #16]
  315. 125 007e 1343 orrs r3, r3, r2
  316. 126 0080 CB60 str r3, [r1, #12]
  317. 127 0082 06E0 b .L9
  318. 128 .L8:
  319. 186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
  320. 187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** else
  321. 188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
  322. 189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** EXTI->FTSR &= ~maskline;
  323. 129 .loc 1 189 18
  324. 130 0084 304B ldr r3, .L14
  325. 131 0086 DA68 ldr r2, [r3, #12]
  326. 132 .loc 1 189 21
  327. 133 0088 3B69 ldr r3, [r7, #16]
  328. 134 008a DB43 mvns r3, r3
  329. 135 .loc 1 189 18
  330. 136 008c 2E49 ldr r1, .L14
  331. 137 008e 1340 ands r3, r3, r2
  332. 138 0090 CB60 str r3, [r1, #12]
  333. 139 .L9:
  334. 190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
  335. 191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  336. 192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  337. 193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Configure gpio port selection in case of gpio exti line */
  338. 194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_GPIO) == EXTI_GPIO)
  339. 140 .loc 1 194 21
  340. 141 0092 3B68 ldr r3, [r7]
  341. 142 0094 1B68 ldr r3, [r3]
  342. 143 .loc 1 194 28
  343. 144 0096 03F0C063 and r3, r3, #100663296
  344. 145 .loc 1 194 8
  345. 146 009a B3F1C06F cmp r3, #100663296
  346. 147 009e 23D1 bne .L5
  347. 195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
  348. 196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PORT(pExtiConfig->GPIOSel));
  349. ARM GAS C:\Users\10728\AppData\Local\Temp\cc81LJZC.s page 7
  350. 197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos));
  351. 198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  352. 199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** regval = SYSCFG->EXTICR[linepos >> 2u];
  353. 148 .loc 1 199 22
  354. 149 00a0 2A4A ldr r2, .L14+4
  355. 150 .loc 1 199 39
  356. 151 00a2 7B69 ldr r3, [r7, #20]
  357. 152 00a4 9B08 lsrs r3, r3, #2
  358. 153 .loc 1 199 14
  359. 154 00a6 0233 adds r3, r3, #2
  360. 155 00a8 52F82330 ldr r3, [r2, r3, lsl #2]
  361. 156 00ac FB60 str r3, [r7, #12]
  362. 200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
  363. 157 .loc 1 200 80
  364. 158 00ae 7B69 ldr r3, [r7, #20]
  365. 159 00b0 03F00303 and r3, r3, #3
  366. 160 .loc 1 200 69
  367. 161 00b4 9B00 lsls r3, r3, #2
  368. 162 .loc 1 200 40
  369. 163 00b6 0F22 movs r2, #15
  370. 164 00b8 02FA03F3 lsl r3, r2, r3
  371. 165 .loc 1 200 17
  372. 166 00bc DB43 mvns r3, r3
  373. 167 .loc 1 200 14
  374. 168 00be FA68 ldr r2, [r7, #12]
  375. 169 00c0 1340 ands r3, r3, r2
  376. 170 00c2 FB60 str r3, [r7, #12]
  377. 201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
  378. 171 .loc 1 201 29
  379. 172 00c4 3B68 ldr r3, [r7]
  380. 173 00c6 DA68 ldr r2, [r3, #12]
  381. 174 .loc 1 201 79
  382. 175 00c8 7B69 ldr r3, [r7, #20]
  383. 176 00ca 03F00303 and r3, r3, #3
  384. 177 .loc 1 201 68
  385. 178 00ce 9B00 lsls r3, r3, #2
  386. 179 .loc 1 201 39
  387. 180 00d0 02FA03F3 lsl r3, r2, r3
  388. 181 .loc 1 201 14
  389. 182 00d4 FA68 ldr r2, [r7, #12]
  390. 183 00d6 1343 orrs r3, r3, r2
  391. 184 00d8 FB60 str r3, [r7, #12]
  392. 202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
  393. 185 .loc 1 202 13
  394. 186 00da 1C49 ldr r1, .L14+4
  395. 187 .loc 1 202 30
  396. 188 00dc 7B69 ldr r3, [r7, #20]
  397. 189 00de 9B08 lsrs r3, r3, #2
  398. 190 .loc 1 202 37
  399. 191 00e0 0233 adds r3, r3, #2
  400. 192 00e2 FA68 ldr r2, [r7, #12]
  401. 193 00e4 41F82320 str r2, [r1, r3, lsl #2]
  402. 194 .L5:
  403. 203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
  404. 204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
  405. 205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  406. 206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Configure interrupt mode : read current mode */
  407. ARM GAS C:\Users\10728\AppData\Local\Temp\cc81LJZC.s page 8
  408. 207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Mask or set line */
  409. 208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if ((pExtiConfig->Mode & EXTI_MODE_INTERRUPT) != 0x00u)
  410. 195 .loc 1 208 19
  411. 196 00e8 3B68 ldr r3, [r7]
  412. 197 00ea 5B68 ldr r3, [r3, #4]
  413. 198 .loc 1 208 26
  414. 199 00ec 03F00103 and r3, r3, #1
  415. 200 .loc 1 208 6
  416. 201 00f0 002B cmp r3, #0
  417. 202 00f2 06D0 beq .L10
  418. 209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
  419. 210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** EXTI->IMR |= maskline;
  420. 203 .loc 1 210 15
  421. 204 00f4 144B ldr r3, .L14
  422. 205 00f6 1A68 ldr r2, [r3]
  423. 206 00f8 1349 ldr r1, .L14
  424. 207 00fa 3B69 ldr r3, [r7, #16]
  425. 208 00fc 1343 orrs r3, r3, r2
  426. 209 00fe 0B60 str r3, [r1]
  427. 210 0100 06E0 b .L11
  428. 211 .L10:
  429. 211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
  430. 212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** else
  431. 213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
  432. 214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** EXTI->IMR &= ~maskline;
  433. 212 .loc 1 214 15
  434. 213 0102 114B ldr r3, .L14
  435. 214 0104 1A68 ldr r2, [r3]
  436. 215 .loc 1 214 18
  437. 216 0106 3B69 ldr r3, [r7, #16]
  438. 217 0108 DB43 mvns r3, r3
  439. 218 .loc 1 214 15
  440. 219 010a 0F49 ldr r1, .L14
  441. 220 010c 1340 ands r3, r3, r2
  442. 221 010e 0B60 str r3, [r1]
  443. 222 .L11:
  444. 215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
  445. 216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  446. 217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Configure event mode : read current mode */
  447. 218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Mask or set line */
  448. 219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if ((pExtiConfig->Mode & EXTI_MODE_EVENT) != 0x00u)
  449. 223 .loc 1 219 19
  450. 224 0110 3B68 ldr r3, [r7]
  451. 225 0112 5B68 ldr r3, [r3, #4]
  452. 226 .loc 1 219 26
  453. 227 0114 03F00203 and r3, r3, #2
  454. 228 .loc 1 219 6
  455. 229 0118 002B cmp r3, #0
  456. 230 011a 06D0 beq .L12
  457. 220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
  458. 221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** EXTI->EMR |= maskline;
  459. 231 .loc 1 221 15
  460. 232 011c 0A4B ldr r3, .L14
  461. 233 011e 5A68 ldr r2, [r3, #4]
  462. 234 0120 0949 ldr r1, .L14
  463. 235 0122 3B69 ldr r3, [r7, #16]
  464. 236 0124 1343 orrs r3, r3, r2
  465. ARM GAS C:\Users\10728\AppData\Local\Temp\cc81LJZC.s page 9
  466. 237 0126 4B60 str r3, [r1, #4]
  467. 238 0128 06E0 b .L13
  468. 239 .L12:
  469. 222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
  470. 223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** else
  471. 224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
  472. 225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** EXTI->EMR &= ~maskline;
  473. 240 .loc 1 225 15
  474. 241 012a 074B ldr r3, .L14
  475. 242 012c 5A68 ldr r2, [r3, #4]
  476. 243 .loc 1 225 18
  477. 244 012e 3B69 ldr r3, [r7, #16]
  478. 245 0130 DB43 mvns r3, r3
  479. 246 .loc 1 225 15
  480. 247 0132 0549 ldr r1, .L14
  481. 248 0134 1340 ands r3, r3, r2
  482. 249 0136 4B60 str r3, [r1, #4]
  483. 250 .L13:
  484. 226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
  485. 227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  486. 228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** return HAL_OK;
  487. 251 .loc 1 228 10
  488. 252 0138 0023 movs r3, #0
  489. 253 .L4:
  490. 229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
  491. 254 .loc 1 229 1
  492. 255 013a 1846 mov r0, r3
  493. 256 013c 1C37 adds r7, r7, #28
  494. 257 .LCFI3:
  495. 258 .cfi_def_cfa_offset 4
  496. 259 013e BD46 mov sp, r7
  497. 260 .LCFI4:
  498. 261 .cfi_def_cfa_register 13
  499. 262 @ sp needed
  500. 263 0140 5DF8047B ldr r7, [sp], #4
  501. 264 .LCFI5:
  502. 265 .cfi_restore 7
  503. 266 .cfi_def_cfa_offset 0
  504. 267 0144 7047 bx lr
  505. 268 .L15:
  506. 269 0146 00BF .align 2
  507. 270 .L14:
  508. 271 0148 003C0140 .word 1073822720
  509. 272 014c 00380140 .word 1073821696
  510. 273 .cfi_endproc
  511. 274 .LFE235:
  512. 276 .section .text.HAL_EXTI_GetConfigLine,"ax",%progbits
  513. 277 .align 1
  514. 278 .global HAL_EXTI_GetConfigLine
  515. 279 .syntax unified
  516. 280 .thumb
  517. 281 .thumb_func
  518. 283 HAL_EXTI_GetConfigLine:
  519. 284 .LFB236:
  520. 230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  521. 231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /**
  522. 232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @brief Get configuration of a dedicated Exti line.
  523. ARM GAS C:\Users\10728\AppData\Local\Temp\cc81LJZC.s page 10
  524. 233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @param hexti Exti handle.
  525. 234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @param pExtiConfig Pointer on structure to store Exti configuration.
  526. 235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @retval HAL Status.
  527. 236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
  528. 237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_GetConfigLine(EXTI_HandleTypeDef *hexti, EXTI_ConfigTypeDef *pExtiConfig
  529. 238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
  530. 285 .loc 1 238 1
  531. 286 .cfi_startproc
  532. 287 @ args = 0, pretend = 0, frame = 24
  533. 288 @ frame_needed = 1, uses_anonymous_args = 0
  534. 289 @ link register save eliminated.
  535. 290 0000 80B4 push {r7}
  536. 291 .LCFI6:
  537. 292 .cfi_def_cfa_offset 4
  538. 293 .cfi_offset 7, -4
  539. 294 0002 87B0 sub sp, sp, #28
  540. 295 .LCFI7:
  541. 296 .cfi_def_cfa_offset 32
  542. 297 0004 00AF add r7, sp, #0
  543. 298 .LCFI8:
  544. 299 .cfi_def_cfa_register 7
  545. 300 0006 7860 str r0, [r7, #4]
  546. 301 0008 3960 str r1, [r7]
  547. 239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t regval;
  548. 240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t linepos;
  549. 241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t maskline;
  550. 242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  551. 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Check null pointer */
  552. 244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if ((hexti == NULL) || (pExtiConfig == NULL))
  553. 302 .loc 1 244 6
  554. 303 000a 7B68 ldr r3, [r7, #4]
  555. 304 000c 002B cmp r3, #0
  556. 305 000e 02D0 beq .L17
  557. 306 .loc 1 244 23 discriminator 1
  558. 307 0010 3B68 ldr r3, [r7]
  559. 308 0012 002B cmp r3, #0
  560. 309 0014 01D1 bne .L18
  561. 310 .L17:
  562. 245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
  563. 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** return HAL_ERROR;
  564. 311 .loc 1 246 12
  565. 312 0016 0123 movs r3, #1
  566. 313 0018 62E0 b .L19
  567. 314 .L18:
  568. 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
  569. 248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  570. 249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Check the parameter */
  571. 250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
  572. 251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  573. 252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Store handle line number to configuration structure */
  574. 253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** pExtiConfig->Line = hexti->Line;
  575. 315 .loc 1 253 28
  576. 316 001a 7B68 ldr r3, [r7, #4]
  577. 317 001c 1A68 ldr r2, [r3]
  578. 318 .loc 1 253 21
  579. 319 001e 3B68 ldr r3, [r7]
  580. 320 0020 1A60 str r2, [r3]
  581. ARM GAS C:\Users\10728\AppData\Local\Temp\cc81LJZC.s page 11
  582. 254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  583. 255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Compute line mask */
  584. 256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** linepos = (pExtiConfig->Line & EXTI_PIN_MASK);
  585. 321 .loc 1 256 25
  586. 322 0022 3B68 ldr r3, [r7]
  587. 323 0024 1B68 ldr r3, [r3]
  588. 324 .loc 1 256 11
  589. 325 0026 03F01F03 and r3, r3, #31
  590. 326 002a 7B61 str r3, [r7, #20]
  591. 257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** maskline = (1uL << linepos);
  592. 327 .loc 1 257 12
  593. 328 002c 0122 movs r2, #1
  594. 329 002e 7B69 ldr r3, [r7, #20]
  595. 330 0030 02FA03F3 lsl r3, r2, r3
  596. 331 0034 3B61 str r3, [r7, #16]
  597. 258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  598. 259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* 1] Get core mode : interrupt */
  599. 260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  600. 261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Check if selected line is enable */
  601. 262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if ((EXTI->IMR & maskline) != 0x00u)
  602. 332 .loc 1 262 12
  603. 333 0036 2D4B ldr r3, .L26
  604. 334 0038 1A68 ldr r2, [r3]
  605. 335 .loc 1 262 18
  606. 336 003a 3B69 ldr r3, [r7, #16]
  607. 337 003c 1340 ands r3, r3, r2
  608. 338 .loc 1 262 6
  609. 339 003e 002B cmp r3, #0
  610. 340 0040 03D0 beq .L20
  611. 263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
  612. 264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** pExtiConfig->Mode = EXTI_MODE_INTERRUPT;
  613. 341 .loc 1 264 23
  614. 342 0042 3B68 ldr r3, [r7]
  615. 343 0044 0122 movs r2, #1
  616. 344 0046 5A60 str r2, [r3, #4]
  617. 345 0048 02E0 b .L21
  618. 346 .L20:
  619. 265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
  620. 266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** else
  621. 267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
  622. 268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** pExtiConfig->Mode = EXTI_MODE_NONE;
  623. 347 .loc 1 268 23
  624. 348 004a 3B68 ldr r3, [r7]
  625. 349 004c 0022 movs r2, #0
  626. 350 004e 5A60 str r2, [r3, #4]
  627. 351 .L21:
  628. 269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
  629. 270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  630. 271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Get event mode */
  631. 272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Check if selected line is enable */
  632. 273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if ((EXTI->EMR & maskline) != 0x00u)
  633. 352 .loc 1 273 12
  634. 353 0050 264B ldr r3, .L26
  635. 354 0052 5A68 ldr r2, [r3, #4]
  636. 355 .loc 1 273 18
  637. 356 0054 3B69 ldr r3, [r7, #16]
  638. 357 0056 1340 ands r3, r3, r2
  639. ARM GAS C:\Users\10728\AppData\Local\Temp\cc81LJZC.s page 12
  640. 358 .loc 1 273 6
  641. 359 0058 002B cmp r3, #0
  642. 360 005a 05D0 beq .L22
  643. 274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
  644. 275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** pExtiConfig->Mode |= EXTI_MODE_EVENT;
  645. 361 .loc 1 275 23
  646. 362 005c 3B68 ldr r3, [r7]
  647. 363 005e 5B68 ldr r3, [r3, #4]
  648. 364 0060 43F00202 orr r2, r3, #2
  649. 365 0064 3B68 ldr r3, [r7]
  650. 366 0066 5A60 str r2, [r3, #4]
  651. 367 .L22:
  652. 276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
  653. 277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  654. 278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Get default Trigger and GPIOSel configuration */
  655. 279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** pExtiConfig->Trigger = EXTI_TRIGGER_NONE;
  656. 368 .loc 1 279 24
  657. 369 0068 3B68 ldr r3, [r7]
  658. 370 006a 0022 movs r2, #0
  659. 371 006c 9A60 str r2, [r3, #8]
  660. 280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** pExtiConfig->GPIOSel = 0x00u;
  661. 372 .loc 1 280 24
  662. 373 006e 3B68 ldr r3, [r7]
  663. 374 0070 0022 movs r2, #0
  664. 375 0072 DA60 str r2, [r3, #12]
  665. 281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  666. 282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* 2] Get trigger for configurable lines : rising */
  667. 283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_CONFIG) != 0x00u)
  668. 376 .loc 1 283 19
  669. 377 0074 3B68 ldr r3, [r7]
  670. 378 0076 1B68 ldr r3, [r3]
  671. 379 .loc 1 283 26
  672. 380 0078 03F00073 and r3, r3, #33554432
  673. 381 .loc 1 283 6
  674. 382 007c 002B cmp r3, #0
  675. 383 007e 2ED0 beq .L23
  676. 284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
  677. 285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Check if configuration of selected line is enable */
  678. 286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if ((EXTI->RTSR & maskline) != 0x00u)
  679. 384 .loc 1 286 14
  680. 385 0080 1A4B ldr r3, .L26
  681. 386 0082 9A68 ldr r2, [r3, #8]
  682. 387 .loc 1 286 21
  683. 388 0084 3B69 ldr r3, [r7, #16]
  684. 389 0086 1340 ands r3, r3, r2
  685. 390 .loc 1 286 8
  686. 391 0088 002B cmp r3, #0
  687. 392 008a 02D0 beq .L24
  688. 287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
  689. 288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** pExtiConfig->Trigger = EXTI_TRIGGER_RISING;
  690. 393 .loc 1 288 28
  691. 394 008c 3B68 ldr r3, [r7]
  692. 395 008e 0122 movs r2, #1
  693. 396 0090 9A60 str r2, [r3, #8]
  694. 397 .L24:
  695. 289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
  696. 290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  697. ARM GAS C:\Users\10728\AppData\Local\Temp\cc81LJZC.s page 13
  698. 291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Get falling configuration */
  699. 292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Check if configuration of selected line is enable */
  700. 293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if ((EXTI->FTSR & maskline) != 0x00u)
  701. 398 .loc 1 293 14
  702. 399 0092 164B ldr r3, .L26
  703. 400 0094 DA68 ldr r2, [r3, #12]
  704. 401 .loc 1 293 21
  705. 402 0096 3B69 ldr r3, [r7, #16]
  706. 403 0098 1340 ands r3, r3, r2
  707. 404 .loc 1 293 8
  708. 405 009a 002B cmp r3, #0
  709. 406 009c 05D0 beq .L25
  710. 294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
  711. 295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** pExtiConfig->Trigger |= EXTI_TRIGGER_FALLING;
  712. 407 .loc 1 295 28
  713. 408 009e 3B68 ldr r3, [r7]
  714. 409 00a0 9B68 ldr r3, [r3, #8]
  715. 410 00a2 43F00202 orr r2, r3, #2
  716. 411 00a6 3B68 ldr r3, [r7]
  717. 412 00a8 9A60 str r2, [r3, #8]
  718. 413 .L25:
  719. 296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
  720. 297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  721. 298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Get Gpio port selection for gpio lines */
  722. 299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_GPIO) == EXTI_GPIO)
  723. 414 .loc 1 299 21
  724. 415 00aa 3B68 ldr r3, [r7]
  725. 416 00ac 1B68 ldr r3, [r3]
  726. 417 .loc 1 299 28
  727. 418 00ae 03F0C063 and r3, r3, #100663296
  728. 419 .loc 1 299 8
  729. 420 00b2 B3F1C06F cmp r3, #100663296
  730. 421 00b6 12D1 bne .L23
  731. 300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
  732. 301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos));
  733. 302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  734. 303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** regval = (SYSCFG->EXTICR[linepos >> 2u] << 16u );
  735. 422 .loc 1 303 23
  736. 423 00b8 0D4A ldr r2, .L26+4
  737. 424 .loc 1 303 40
  738. 425 00ba 7B69 ldr r3, [r7, #20]
  739. 426 00bc 9B08 lsrs r3, r3, #2
  740. 427 .loc 1 303 31
  741. 428 00be 0233 adds r3, r3, #2
  742. 429 00c0 52F82330 ldr r3, [r2, r3, lsl #2]
  743. 430 .loc 1 303 14
  744. 431 00c4 1B04 lsls r3, r3, #16
  745. 432 00c6 FB60 str r3, [r7, #12]
  746. 304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** pExtiConfig->GPIOSel = ((regval << (SYSCFG_EXTICR1_EXTI1_Pos * (3uL - (linepos & 0x03u)))) >>
  747. 433 .loc 1 304 75
  748. 434 00c8 7B69 ldr r3, [r7, #20]
  749. 435 00ca DB43 mvns r3, r3
  750. 436 00cc 03F00303 and r3, r3, #3
  751. 437 .loc 1 304 68
  752. 438 00d0 9B00 lsls r3, r3, #2
  753. 439 .loc 1 304 39
  754. 440 00d2 FA68 ldr r2, [r7, #12]
  755. ARM GAS C:\Users\10728\AppData\Local\Temp\cc81LJZC.s page 14
  756. 441 00d4 02FA03F3 lsl r3, r2, r3
  757. 442 .loc 1 304 98
  758. 443 00d8 1A0F lsrs r2, r3, #28
  759. 444 .loc 1 304 28
  760. 445 00da 3B68 ldr r3, [r7]
  761. 446 00dc DA60 str r2, [r3, #12]
  762. 447 .L23:
  763. 305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
  764. 306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
  765. 307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  766. 308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** return HAL_OK;
  767. 448 .loc 1 308 10
  768. 449 00de 0023 movs r3, #0
  769. 450 .L19:
  770. 309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
  771. 451 .loc 1 309 1
  772. 452 00e0 1846 mov r0, r3
  773. 453 00e2 1C37 adds r7, r7, #28
  774. 454 .LCFI9:
  775. 455 .cfi_def_cfa_offset 4
  776. 456 00e4 BD46 mov sp, r7
  777. 457 .LCFI10:
  778. 458 .cfi_def_cfa_register 13
  779. 459 @ sp needed
  780. 460 00e6 5DF8047B ldr r7, [sp], #4
  781. 461 .LCFI11:
  782. 462 .cfi_restore 7
  783. 463 .cfi_def_cfa_offset 0
  784. 464 00ea 7047 bx lr
  785. 465 .L27:
  786. 466 .align 2
  787. 467 .L26:
  788. 468 00ec 003C0140 .word 1073822720
  789. 469 00f0 00380140 .word 1073821696
  790. 470 .cfi_endproc
  791. 471 .LFE236:
  792. 473 .section .text.HAL_EXTI_ClearConfigLine,"ax",%progbits
  793. 474 .align 1
  794. 475 .global HAL_EXTI_ClearConfigLine
  795. 476 .syntax unified
  796. 477 .thumb
  797. 478 .thumb_func
  798. 480 HAL_EXTI_ClearConfigLine:
  799. 481 .LFB237:
  800. 310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  801. 311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /**
  802. 312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @brief Clear whole configuration of a dedicated Exti line.
  803. 313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @param hexti Exti handle.
  804. 314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @retval HAL Status.
  805. 315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
  806. 316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_ClearConfigLine(EXTI_HandleTypeDef *hexti)
  807. 317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
  808. 482 .loc 1 317 1
  809. 483 .cfi_startproc
  810. 484 @ args = 0, pretend = 0, frame = 24
  811. 485 @ frame_needed = 1, uses_anonymous_args = 0
  812. 486 @ link register save eliminated.
  813. ARM GAS C:\Users\10728\AppData\Local\Temp\cc81LJZC.s page 15
  814. 487 0000 80B4 push {r7}
  815. 488 .LCFI12:
  816. 489 .cfi_def_cfa_offset 4
  817. 490 .cfi_offset 7, -4
  818. 491 0002 87B0 sub sp, sp, #28
  819. 492 .LCFI13:
  820. 493 .cfi_def_cfa_offset 32
  821. 494 0004 00AF add r7, sp, #0
  822. 495 .LCFI14:
  823. 496 .cfi_def_cfa_register 7
  824. 497 0006 7860 str r0, [r7, #4]
  825. 318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t regval;
  826. 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t linepos;
  827. 320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t maskline;
  828. 321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  829. 322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Check null pointer */
  830. 323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if (hexti == NULL)
  831. 498 .loc 1 323 6
  832. 499 0008 7B68 ldr r3, [r7, #4]
  833. 500 000a 002B cmp r3, #0
  834. 501 000c 01D1 bne .L29
  835. 324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
  836. 325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** return HAL_ERROR;
  837. 502 .loc 1 325 12
  838. 503 000e 0123 movs r3, #1
  839. 504 0010 4CE0 b .L30
  840. 505 .L29:
  841. 326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
  842. 327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  843. 328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Check the parameter */
  844. 329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
  845. 330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  846. 331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* compute line mask */
  847. 332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** linepos = (hexti->Line & EXTI_PIN_MASK);
  848. 506 .loc 1 332 19
  849. 507 0012 7B68 ldr r3, [r7, #4]
  850. 508 0014 1B68 ldr r3, [r3]
  851. 509 .loc 1 332 11
  852. 510 0016 03F01F03 and r3, r3, #31
  853. 511 001a 7B61 str r3, [r7, #20]
  854. 333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** maskline = (1uL << linepos);
  855. 512 .loc 1 333 12
  856. 513 001c 0122 movs r2, #1
  857. 514 001e 7B69 ldr r3, [r7, #20]
  858. 515 0020 02FA03F3 lsl r3, r2, r3
  859. 516 0024 3B61 str r3, [r7, #16]
  860. 334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  861. 335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* 1] Clear interrupt mode */
  862. 336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** EXTI->IMR = (EXTI->IMR & ~maskline);
  863. 517 .loc 1 336 20
  864. 518 0026 244B ldr r3, .L32
  865. 519 0028 1A68 ldr r2, [r3]
  866. 520 .loc 1 336 28
  867. 521 002a 3B69 ldr r3, [r7, #16]
  868. 522 002c DB43 mvns r3, r3
  869. 523 .loc 1 336 7
  870. 524 002e 2249 ldr r1, .L32
  871. ARM GAS C:\Users\10728\AppData\Local\Temp\cc81LJZC.s page 16
  872. 525 .loc 1 336 26
  873. 526 0030 1340 ands r3, r3, r2
  874. 527 .loc 1 336 13
  875. 528 0032 0B60 str r3, [r1]
  876. 337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  877. 338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* 2] Clear event mode */
  878. 339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** EXTI->EMR = (EXTI->EMR & ~maskline);
  879. 529 .loc 1 339 20
  880. 530 0034 204B ldr r3, .L32
  881. 531 0036 5A68 ldr r2, [r3, #4]
  882. 532 .loc 1 339 28
  883. 533 0038 3B69 ldr r3, [r7, #16]
  884. 534 003a DB43 mvns r3, r3
  885. 535 .loc 1 339 7
  886. 536 003c 1E49 ldr r1, .L32
  887. 537 .loc 1 339 26
  888. 538 003e 1340 ands r3, r3, r2
  889. 539 .loc 1 339 13
  890. 540 0040 4B60 str r3, [r1, #4]
  891. 340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  892. 341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* 3] Clear triggers in case of configurable lines */
  893. 342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if ((hexti->Line & EXTI_CONFIG) != 0x00u)
  894. 541 .loc 1 342 13
  895. 542 0042 7B68 ldr r3, [r7, #4]
  896. 543 0044 1B68 ldr r3, [r3]
  897. 544 .loc 1 342 20
  898. 545 0046 03F00073 and r3, r3, #33554432
  899. 546 .loc 1 342 6
  900. 547 004a 002B cmp r3, #0
  901. 548 004c 2DD0 beq .L31
  902. 343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
  903. 344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** EXTI->RTSR = (EXTI->RTSR & ~maskline);
  904. 549 .loc 1 344 23
  905. 550 004e 1A4B ldr r3, .L32
  906. 551 0050 9A68 ldr r2, [r3, #8]
  907. 552 .loc 1 344 32
  908. 553 0052 3B69 ldr r3, [r7, #16]
  909. 554 0054 DB43 mvns r3, r3
  910. 555 .loc 1 344 9
  911. 556 0056 1849 ldr r1, .L32
  912. 557 .loc 1 344 30
  913. 558 0058 1340 ands r3, r3, r2
  914. 559 .loc 1 344 16
  915. 560 005a 8B60 str r3, [r1, #8]
  916. 345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** EXTI->FTSR = (EXTI->FTSR & ~maskline);
  917. 561 .loc 1 345 23
  918. 562 005c 164B ldr r3, .L32
  919. 563 005e DA68 ldr r2, [r3, #12]
  920. 564 .loc 1 345 32
  921. 565 0060 3B69 ldr r3, [r7, #16]
  922. 566 0062 DB43 mvns r3, r3
  923. 567 .loc 1 345 9
  924. 568 0064 1449 ldr r1, .L32
  925. 569 .loc 1 345 30
  926. 570 0066 1340 ands r3, r3, r2
  927. 571 .loc 1 345 16
  928. 572 0068 CB60 str r3, [r1, #12]
  929. ARM GAS C:\Users\10728\AppData\Local\Temp\cc81LJZC.s page 17
  930. 346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  931. 347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Get Gpio port selection for gpio lines */
  932. 348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if ((hexti->Line & EXTI_GPIO) == EXTI_GPIO)
  933. 573 .loc 1 348 15
  934. 574 006a 7B68 ldr r3, [r7, #4]
  935. 575 006c 1B68 ldr r3, [r3]
  936. 576 .loc 1 348 22
  937. 577 006e 03F0C063 and r3, r3, #100663296
  938. 578 .loc 1 348 8
  939. 579 0072 B3F1C06F cmp r3, #100663296
  940. 580 0076 18D1 bne .L31
  941. 349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
  942. 350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos));
  943. 351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  944. 352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** regval = SYSCFG->EXTICR[linepos >> 2u];
  945. 581 .loc 1 352 22
  946. 582 0078 104A ldr r2, .L32+4
  947. 583 .loc 1 352 39
  948. 584 007a 7B69 ldr r3, [r7, #20]
  949. 585 007c 9B08 lsrs r3, r3, #2
  950. 586 .loc 1 352 14
  951. 587 007e 0233 adds r3, r3, #2
  952. 588 0080 52F82330 ldr r3, [r2, r3, lsl #2]
  953. 589 0084 FB60 str r3, [r7, #12]
  954. 353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
  955. 590 .loc 1 353 80
  956. 591 0086 7B69 ldr r3, [r7, #20]
  957. 592 0088 03F00303 and r3, r3, #3
  958. 593 .loc 1 353 69
  959. 594 008c 9B00 lsls r3, r3, #2
  960. 595 .loc 1 353 40
  961. 596 008e 0F22 movs r2, #15
  962. 597 0090 02FA03F3 lsl r3, r2, r3
  963. 598 .loc 1 353 17
  964. 599 0094 DB43 mvns r3, r3
  965. 600 .loc 1 353 14
  966. 601 0096 FA68 ldr r2, [r7, #12]
  967. 602 0098 1340 ands r3, r3, r2
  968. 603 009a FB60 str r3, [r7, #12]
  969. 354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
  970. 604 .loc 1 354 13
  971. 605 009c 0749 ldr r1, .L32+4
  972. 606 .loc 1 354 30
  973. 607 009e 7B69 ldr r3, [r7, #20]
  974. 608 00a0 9B08 lsrs r3, r3, #2
  975. 609 .loc 1 354 37
  976. 610 00a2 0233 adds r3, r3, #2
  977. 611 00a4 FA68 ldr r2, [r7, #12]
  978. 612 00a6 41F82320 str r2, [r1, r3, lsl #2]
  979. 613 .L31:
  980. 355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
  981. 356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
  982. 357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  983. 358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** return HAL_OK;
  984. 614 .loc 1 358 10
  985. 615 00aa 0023 movs r3, #0
  986. 616 .L30:
  987. ARM GAS C:\Users\10728\AppData\Local\Temp\cc81LJZC.s page 18
  988. 359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
  989. 617 .loc 1 359 1
  990. 618 00ac 1846 mov r0, r3
  991. 619 00ae 1C37 adds r7, r7, #28
  992. 620 .LCFI15:
  993. 621 .cfi_def_cfa_offset 4
  994. 622 00b0 BD46 mov sp, r7
  995. 623 .LCFI16:
  996. 624 .cfi_def_cfa_register 13
  997. 625 @ sp needed
  998. 626 00b2 5DF8047B ldr r7, [sp], #4
  999. 627 .LCFI17:
  1000. 628 .cfi_restore 7
  1001. 629 .cfi_def_cfa_offset 0
  1002. 630 00b6 7047 bx lr
  1003. 631 .L33:
  1004. 632 .align 2
  1005. 633 .L32:
  1006. 634 00b8 003C0140 .word 1073822720
  1007. 635 00bc 00380140 .word 1073821696
  1008. 636 .cfi_endproc
  1009. 637 .LFE237:
  1010. 639 .section .text.HAL_EXTI_RegisterCallback,"ax",%progbits
  1011. 640 .align 1
  1012. 641 .global HAL_EXTI_RegisterCallback
  1013. 642 .syntax unified
  1014. 643 .thumb
  1015. 644 .thumb_func
  1016. 646 HAL_EXTI_RegisterCallback:
  1017. 647 .LFB238:
  1018. 360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  1019. 361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /**
  1020. 362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @brief Register callback for a dedicated Exti line.
  1021. 363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @param hexti Exti handle.
  1022. 364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @param CallbackID User callback identifier.
  1023. 365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * This parameter can be one of @arg @ref EXTI_CallbackIDTypeDef values.
  1024. 366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @param pPendingCbfn function pointer to be stored as callback.
  1025. 367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @retval HAL Status.
  1026. 368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
  1027. 369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_RegisterCallback(EXTI_HandleTypeDef *hexti, EXTI_CallbackIDTypeDef Callb
  1028. 370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
  1029. 648 .loc 1 370 1
  1030. 649 .cfi_startproc
  1031. 650 @ args = 0, pretend = 0, frame = 24
  1032. 651 @ frame_needed = 1, uses_anonymous_args = 0
  1033. 652 @ link register save eliminated.
  1034. 653 0000 80B4 push {r7}
  1035. 654 .LCFI18:
  1036. 655 .cfi_def_cfa_offset 4
  1037. 656 .cfi_offset 7, -4
  1038. 657 0002 87B0 sub sp, sp, #28
  1039. 658 .LCFI19:
  1040. 659 .cfi_def_cfa_offset 32
  1041. 660 0004 00AF add r7, sp, #0
  1042. 661 .LCFI20:
  1043. 662 .cfi_def_cfa_register 7
  1044. 663 0006 F860 str r0, [r7, #12]
  1045. ARM GAS C:\Users\10728\AppData\Local\Temp\cc81LJZC.s page 19
  1046. 664 0008 0B46 mov r3, r1
  1047. 665 000a 7A60 str r2, [r7, #4]
  1048. 666 000c FB72 strb r3, [r7, #11]
  1049. 371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** HAL_StatusTypeDef status = HAL_OK;
  1050. 667 .loc 1 371 21
  1051. 668 000e 0023 movs r3, #0
  1052. 669 0010 FB75 strb r3, [r7, #23]
  1053. 372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  1054. 373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** switch (CallbackID)
  1055. 670 .loc 1 373 3
  1056. 671 0012 FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
  1057. 672 0014 002B cmp r3, #0
  1058. 673 0016 03D1 bne .L35
  1059. 374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
  1060. 375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** case HAL_EXTI_COMMON_CB_ID:
  1061. 376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** hexti->PendingCallback = pPendingCbfn;
  1062. 674 .loc 1 376 30
  1063. 675 0018 FB68 ldr r3, [r7, #12]
  1064. 676 001a 7A68 ldr r2, [r7, #4]
  1065. 677 001c 5A60 str r2, [r3, #4]
  1066. 377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** break;
  1067. 678 .loc 1 377 7
  1068. 679 001e 02E0 b .L36
  1069. 680 .L35:
  1070. 378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  1071. 379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** default:
  1072. 380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** status = HAL_ERROR;
  1073. 681 .loc 1 380 14
  1074. 682 0020 0123 movs r3, #1
  1075. 683 0022 FB75 strb r3, [r7, #23]
  1076. 381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** break;
  1077. 684 .loc 1 381 7
  1078. 685 0024 00BF nop
  1079. 686 .L36:
  1080. 382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
  1081. 383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  1082. 384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** return status;
  1083. 687 .loc 1 384 10
  1084. 688 0026 FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
  1085. 385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
  1086. 689 .loc 1 385 1
  1087. 690 0028 1846 mov r0, r3
  1088. 691 002a 1C37 adds r7, r7, #28
  1089. 692 .LCFI21:
  1090. 693 .cfi_def_cfa_offset 4
  1091. 694 002c BD46 mov sp, r7
  1092. 695 .LCFI22:
  1093. 696 .cfi_def_cfa_register 13
  1094. 697 @ sp needed
  1095. 698 002e 5DF8047B ldr r7, [sp], #4
  1096. 699 .LCFI23:
  1097. 700 .cfi_restore 7
  1098. 701 .cfi_def_cfa_offset 0
  1099. 702 0032 7047 bx lr
  1100. 703 .cfi_endproc
  1101. 704 .LFE238:
  1102. 706 .section .text.HAL_EXTI_GetHandle,"ax",%progbits
  1103. ARM GAS C:\Users\10728\AppData\Local\Temp\cc81LJZC.s page 20
  1104. 707 .align 1
  1105. 708 .global HAL_EXTI_GetHandle
  1106. 709 .syntax unified
  1107. 710 .thumb
  1108. 711 .thumb_func
  1109. 713 HAL_EXTI_GetHandle:
  1110. 714 .LFB239:
  1111. 386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  1112. 387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /**
  1113. 388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @brief Store line number as handle private field.
  1114. 389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @param hexti Exti handle.
  1115. 390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @param ExtiLine Exti line number.
  1116. 391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * This parameter can be from 0 to @ref EXTI_LINE_NB.
  1117. 392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @retval HAL Status.
  1118. 393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
  1119. 394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_GetHandle(EXTI_HandleTypeDef *hexti, uint32_t ExtiLine)
  1120. 395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
  1121. 715 .loc 1 395 1
  1122. 716 .cfi_startproc
  1123. 717 @ args = 0, pretend = 0, frame = 8
  1124. 718 @ frame_needed = 1, uses_anonymous_args = 0
  1125. 719 @ link register save eliminated.
  1126. 720 0000 80B4 push {r7}
  1127. 721 .LCFI24:
  1128. 722 .cfi_def_cfa_offset 4
  1129. 723 .cfi_offset 7, -4
  1130. 724 0002 83B0 sub sp, sp, #12
  1131. 725 .LCFI25:
  1132. 726 .cfi_def_cfa_offset 16
  1133. 727 0004 00AF add r7, sp, #0
  1134. 728 .LCFI26:
  1135. 729 .cfi_def_cfa_register 7
  1136. 730 0006 7860 str r0, [r7, #4]
  1137. 731 0008 3960 str r1, [r7]
  1138. 396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Check the parameters */
  1139. 397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_LINE(ExtiLine));
  1140. 398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  1141. 399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Check null pointer */
  1142. 400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if (hexti == NULL)
  1143. 732 .loc 1 400 6
  1144. 733 000a 7B68 ldr r3, [r7, #4]
  1145. 734 000c 002B cmp r3, #0
  1146. 735 000e 01D1 bne .L39
  1147. 401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
  1148. 402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** return HAL_ERROR;
  1149. 736 .loc 1 402 12
  1150. 737 0010 0123 movs r3, #1
  1151. 738 0012 03E0 b .L40
  1152. 739 .L39:
  1153. 403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
  1154. 404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** else
  1155. 405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
  1156. 406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Store line number as handle private field */
  1157. 407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** hexti->Line = ExtiLine;
  1158. 740 .loc 1 407 17
  1159. 741 0014 7B68 ldr r3, [r7, #4]
  1160. 742 0016 3A68 ldr r2, [r7]
  1161. ARM GAS C:\Users\10728\AppData\Local\Temp\cc81LJZC.s page 21
  1162. 743 0018 1A60 str r2, [r3]
  1163. 408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  1164. 409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** return HAL_OK;
  1165. 744 .loc 1 409 12
  1166. 745 001a 0023 movs r3, #0
  1167. 746 .L40:
  1168. 410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
  1169. 411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
  1170. 747 .loc 1 411 1
  1171. 748 001c 1846 mov r0, r3
  1172. 749 001e 0C37 adds r7, r7, #12
  1173. 750 .LCFI27:
  1174. 751 .cfi_def_cfa_offset 4
  1175. 752 0020 BD46 mov sp, r7
  1176. 753 .LCFI28:
  1177. 754 .cfi_def_cfa_register 13
  1178. 755 @ sp needed
  1179. 756 0022 5DF8047B ldr r7, [sp], #4
  1180. 757 .LCFI29:
  1181. 758 .cfi_restore 7
  1182. 759 .cfi_def_cfa_offset 0
  1183. 760 0026 7047 bx lr
  1184. 761 .cfi_endproc
  1185. 762 .LFE239:
  1186. 764 .section .text.HAL_EXTI_IRQHandler,"ax",%progbits
  1187. 765 .align 1
  1188. 766 .global HAL_EXTI_IRQHandler
  1189. 767 .syntax unified
  1190. 768 .thumb
  1191. 769 .thumb_func
  1192. 771 HAL_EXTI_IRQHandler:
  1193. 772 .LFB240:
  1194. 412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  1195. 413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /**
  1196. 414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @}
  1197. 415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
  1198. 416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  1199. 417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions_Group2
  1200. 418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @brief EXTI IO functions.
  1201. 419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** *
  1202. 420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** @verbatim
  1203. 421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** ===============================================================================
  1204. 422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** ##### IO operation functions #####
  1205. 423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** ===============================================================================
  1206. 424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  1207. 425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** @endverbatim
  1208. 426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @{
  1209. 427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
  1210. 428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  1211. 429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /**
  1212. 430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @brief Handle EXTI interrupt request.
  1213. 431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @param hexti Exti handle.
  1214. 432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @retval none.
  1215. 433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
  1216. 434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** void HAL_EXTI_IRQHandler(EXTI_HandleTypeDef *hexti)
  1217. 435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
  1218. 773 .loc 1 435 1
  1219. ARM GAS C:\Users\10728\AppData\Local\Temp\cc81LJZC.s page 22
  1220. 774 .cfi_startproc
  1221. 775 @ args = 0, pretend = 0, frame = 16
  1222. 776 @ frame_needed = 1, uses_anonymous_args = 0
  1223. 777 0000 80B5 push {r7, lr}
  1224. 778 .LCFI30:
  1225. 779 .cfi_def_cfa_offset 8
  1226. 780 .cfi_offset 7, -8
  1227. 781 .cfi_offset 14, -4
  1228. 782 0002 84B0 sub sp, sp, #16
  1229. 783 .LCFI31:
  1230. 784 .cfi_def_cfa_offset 24
  1231. 785 0004 00AF add r7, sp, #0
  1232. 786 .LCFI32:
  1233. 787 .cfi_def_cfa_register 7
  1234. 788 0006 7860 str r0, [r7, #4]
  1235. 436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t regval;
  1236. 437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t maskline;
  1237. 438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  1238. 439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Compute line mask */
  1239. 440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK));
  1240. 789 .loc 1 440 28
  1241. 790 0008 7B68 ldr r3, [r7, #4]
  1242. 791 000a 1B68 ldr r3, [r3]
  1243. 792 .loc 1 440 35
  1244. 793 000c 03F01F03 and r3, r3, #31
  1245. 794 .loc 1 440 12
  1246. 795 0010 0122 movs r2, #1
  1247. 796 0012 02FA03F3 lsl r3, r2, r3
  1248. 797 0016 FB60 str r3, [r7, #12]
  1249. 441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  1250. 442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Get pending bit */
  1251. 443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** regval = (EXTI->PR & maskline);
  1252. 798 .loc 1 443 17
  1253. 799 0018 0A4B ldr r3, .L44
  1254. 800 001a 5B69 ldr r3, [r3, #20]
  1255. 801 .loc 1 443 10
  1256. 802 001c FA68 ldr r2, [r7, #12]
  1257. 803 001e 1340 ands r3, r3, r2
  1258. 804 0020 BB60 str r3, [r7, #8]
  1259. 444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if (regval != 0x00u)
  1260. 805 .loc 1 444 6
  1261. 806 0022 BB68 ldr r3, [r7, #8]
  1262. 807 0024 002B cmp r3, #0
  1263. 808 0026 09D0 beq .L43
  1264. 445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
  1265. 446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Clear pending bit */
  1266. 447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** EXTI->PR = maskline;
  1267. 809 .loc 1 447 9
  1268. 810 0028 064A ldr r2, .L44
  1269. 811 .loc 1 447 14
  1270. 812 002a FB68 ldr r3, [r7, #12]
  1271. 813 002c 5361 str r3, [r2, #20]
  1272. 448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  1273. 449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Call callback */
  1274. 450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if (hexti->PendingCallback != NULL)
  1275. 814 .loc 1 450 14
  1276. 815 002e 7B68 ldr r3, [r7, #4]
  1277. ARM GAS C:\Users\10728\AppData\Local\Temp\cc81LJZC.s page 23
  1278. 816 0030 5B68 ldr r3, [r3, #4]
  1279. 817 .loc 1 450 8
  1280. 818 0032 002B cmp r3, #0
  1281. 819 0034 02D0 beq .L43
  1282. 451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
  1283. 452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** hexti->PendingCallback();
  1284. 820 .loc 1 452 12
  1285. 821 0036 7B68 ldr r3, [r7, #4]
  1286. 822 0038 5B68 ldr r3, [r3, #4]
  1287. 823 .loc 1 452 7
  1288. 824 003a 9847 blx r3
  1289. 825 .LVL0:
  1290. 826 .L43:
  1291. 453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
  1292. 454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
  1293. 455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
  1294. 827 .loc 1 455 1
  1295. 828 003c 00BF nop
  1296. 829 003e 1037 adds r7, r7, #16
  1297. 830 .LCFI33:
  1298. 831 .cfi_def_cfa_offset 8
  1299. 832 0040 BD46 mov sp, r7
  1300. 833 .LCFI34:
  1301. 834 .cfi_def_cfa_register 13
  1302. 835 @ sp needed
  1303. 836 0042 80BD pop {r7, pc}
  1304. 837 .L45:
  1305. 838 .align 2
  1306. 839 .L44:
  1307. 840 0044 003C0140 .word 1073822720
  1308. 841 .cfi_endproc
  1309. 842 .LFE240:
  1310. 844 .section .text.HAL_EXTI_GetPending,"ax",%progbits
  1311. 845 .align 1
  1312. 846 .global HAL_EXTI_GetPending
  1313. 847 .syntax unified
  1314. 848 .thumb
  1315. 849 .thumb_func
  1316. 851 HAL_EXTI_GetPending:
  1317. 852 .LFB241:
  1318. 456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  1319. 457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /**
  1320. 458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @brief Get interrupt pending bit of a dedicated line.
  1321. 459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @param hexti Exti handle.
  1322. 460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @param Edge Specify which pending edge as to be checked.
  1323. 461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * This parameter can be one of the following values:
  1324. 462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @arg @ref EXTI_TRIGGER_RISING_FALLING
  1325. 463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * This parameter is kept for compatibility with other series.
  1326. 464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @retval 1 if interrupt is pending else 0.
  1327. 465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
  1328. 466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t HAL_EXTI_GetPending(EXTI_HandleTypeDef *hexti, uint32_t Edge)
  1329. 467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
  1330. 853 .loc 1 467 1
  1331. 854 .cfi_startproc
  1332. 855 @ args = 0, pretend = 0, frame = 24
  1333. 856 @ frame_needed = 1, uses_anonymous_args = 0
  1334. 857 @ link register save eliminated.
  1335. ARM GAS C:\Users\10728\AppData\Local\Temp\cc81LJZC.s page 24
  1336. 858 0000 80B4 push {r7}
  1337. 859 .LCFI35:
  1338. 860 .cfi_def_cfa_offset 4
  1339. 861 .cfi_offset 7, -4
  1340. 862 0002 87B0 sub sp, sp, #28
  1341. 863 .LCFI36:
  1342. 864 .cfi_def_cfa_offset 32
  1343. 865 0004 00AF add r7, sp, #0
  1344. 866 .LCFI37:
  1345. 867 .cfi_def_cfa_register 7
  1346. 868 0006 7860 str r0, [r7, #4]
  1347. 869 0008 3960 str r1, [r7]
  1348. 468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t regval;
  1349. 469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t linepos;
  1350. 470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t maskline;
  1351. 471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  1352. 472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Check parameters */
  1353. 473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
  1354. 474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
  1355. 475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_PENDING_EDGE(Edge));
  1356. 476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  1357. 477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Compute line mask */
  1358. 478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** linepos = (hexti->Line & EXTI_PIN_MASK);
  1359. 870 .loc 1 478 19
  1360. 871 000a 7B68 ldr r3, [r7, #4]
  1361. 872 000c 1B68 ldr r3, [r3]
  1362. 873 .loc 1 478 11
  1363. 874 000e 03F01F03 and r3, r3, #31
  1364. 875 0012 7B61 str r3, [r7, #20]
  1365. 479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** maskline = (1uL << linepos);
  1366. 876 .loc 1 479 12
  1367. 877 0014 0122 movs r2, #1
  1368. 878 0016 7B69 ldr r3, [r7, #20]
  1369. 879 0018 02FA03F3 lsl r3, r2, r3
  1370. 880 001c 3B61 str r3, [r7, #16]
  1371. 480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  1372. 481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* return 1 if bit is set else 0 */
  1373. 482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** regval = ((EXTI->PR & maskline) >> linepos);
  1374. 881 .loc 1 482 18
  1375. 882 001e 074B ldr r3, .L48
  1376. 883 0020 5A69 ldr r2, [r3, #20]
  1377. 884 .loc 1 482 23
  1378. 885 0022 3B69 ldr r3, [r7, #16]
  1379. 886 0024 1A40 ands r2, r2, r3
  1380. 887 .loc 1 482 10
  1381. 888 0026 7B69 ldr r3, [r7, #20]
  1382. 889 0028 22FA03F3 lsr r3, r2, r3
  1383. 890 002c FB60 str r3, [r7, #12]
  1384. 483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** return regval;
  1385. 891 .loc 1 483 10
  1386. 892 002e FB68 ldr r3, [r7, #12]
  1387. 484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
  1388. 893 .loc 1 484 1
  1389. 894 0030 1846 mov r0, r3
  1390. 895 0032 1C37 adds r7, r7, #28
  1391. 896 .LCFI38:
  1392. 897 .cfi_def_cfa_offset 4
  1393. ARM GAS C:\Users\10728\AppData\Local\Temp\cc81LJZC.s page 25
  1394. 898 0034 BD46 mov sp, r7
  1395. 899 .LCFI39:
  1396. 900 .cfi_def_cfa_register 13
  1397. 901 @ sp needed
  1398. 902 0036 5DF8047B ldr r7, [sp], #4
  1399. 903 .LCFI40:
  1400. 904 .cfi_restore 7
  1401. 905 .cfi_def_cfa_offset 0
  1402. 906 003a 7047 bx lr
  1403. 907 .L49:
  1404. 908 .align 2
  1405. 909 .L48:
  1406. 910 003c 003C0140 .word 1073822720
  1407. 911 .cfi_endproc
  1408. 912 .LFE241:
  1409. 914 .section .text.HAL_EXTI_ClearPending,"ax",%progbits
  1410. 915 .align 1
  1411. 916 .global HAL_EXTI_ClearPending
  1412. 917 .syntax unified
  1413. 918 .thumb
  1414. 919 .thumb_func
  1415. 921 HAL_EXTI_ClearPending:
  1416. 922 .LFB242:
  1417. 485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  1418. 486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /**
  1419. 487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @brief Clear interrupt pending bit of a dedicated line.
  1420. 488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @param hexti Exti handle.
  1421. 489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @param Edge Specify which pending edge as to be clear.
  1422. 490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * This parameter can be one of the following values:
  1423. 491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @arg @ref EXTI_TRIGGER_RISING_FALLING
  1424. 492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * This parameter is kept for compatibility with other series.
  1425. 493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @retval None.
  1426. 494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
  1427. 495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** void HAL_EXTI_ClearPending(EXTI_HandleTypeDef *hexti, uint32_t Edge)
  1428. 496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
  1429. 923 .loc 1 496 1
  1430. 924 .cfi_startproc
  1431. 925 @ args = 0, pretend = 0, frame = 16
  1432. 926 @ frame_needed = 1, uses_anonymous_args = 0
  1433. 927 @ link register save eliminated.
  1434. 928 0000 80B4 push {r7}
  1435. 929 .LCFI41:
  1436. 930 .cfi_def_cfa_offset 4
  1437. 931 .cfi_offset 7, -4
  1438. 932 0002 85B0 sub sp, sp, #20
  1439. 933 .LCFI42:
  1440. 934 .cfi_def_cfa_offset 24
  1441. 935 0004 00AF add r7, sp, #0
  1442. 936 .LCFI43:
  1443. 937 .cfi_def_cfa_register 7
  1444. 938 0006 7860 str r0, [r7, #4]
  1445. 939 0008 3960 str r1, [r7]
  1446. 497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t maskline;
  1447. 498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  1448. 499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Check parameters */
  1449. 500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
  1450. 501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
  1451. ARM GAS C:\Users\10728\AppData\Local\Temp\cc81LJZC.s page 26
  1452. 502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_PENDING_EDGE(Edge));
  1453. 503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  1454. 504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Compute line mask */
  1455. 505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK));
  1456. 940 .loc 1 505 28
  1457. 941 000a 7B68 ldr r3, [r7, #4]
  1458. 942 000c 1B68 ldr r3, [r3]
  1459. 943 .loc 1 505 35
  1460. 944 000e 03F01F03 and r3, r3, #31
  1461. 945 .loc 1 505 12
  1462. 946 0012 0122 movs r2, #1
  1463. 947 0014 02FA03F3 lsl r3, r2, r3
  1464. 948 0018 FB60 str r3, [r7, #12]
  1465. 506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  1466. 507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Clear Pending bit */
  1467. 508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** EXTI->PR = maskline;
  1468. 949 .loc 1 508 7
  1469. 950 001a 044A ldr r2, .L51
  1470. 951 .loc 1 508 12
  1471. 952 001c FB68 ldr r3, [r7, #12]
  1472. 953 001e 5361 str r3, [r2, #20]
  1473. 509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
  1474. 954 .loc 1 509 1
  1475. 955 0020 00BF nop
  1476. 956 0022 1437 adds r7, r7, #20
  1477. 957 .LCFI44:
  1478. 958 .cfi_def_cfa_offset 4
  1479. 959 0024 BD46 mov sp, r7
  1480. 960 .LCFI45:
  1481. 961 .cfi_def_cfa_register 13
  1482. 962 @ sp needed
  1483. 963 0026 5DF8047B ldr r7, [sp], #4
  1484. 964 .LCFI46:
  1485. 965 .cfi_restore 7
  1486. 966 .cfi_def_cfa_offset 0
  1487. 967 002a 7047 bx lr
  1488. 968 .L52:
  1489. 969 .align 2
  1490. 970 .L51:
  1491. 971 002c 003C0140 .word 1073822720
  1492. 972 .cfi_endproc
  1493. 973 .LFE242:
  1494. 975 .section .text.HAL_EXTI_GenerateSWI,"ax",%progbits
  1495. 976 .align 1
  1496. 977 .global HAL_EXTI_GenerateSWI
  1497. 978 .syntax unified
  1498. 979 .thumb
  1499. 980 .thumb_func
  1500. 982 HAL_EXTI_GenerateSWI:
  1501. 983 .LFB243:
  1502. 510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  1503. 511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /**
  1504. 512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @brief Generate a software interrupt for a dedicated line.
  1505. 513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @param hexti Exti handle.
  1506. 514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @retval None.
  1507. 515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
  1508. 516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** void HAL_EXTI_GenerateSWI(EXTI_HandleTypeDef *hexti)
  1509. ARM GAS C:\Users\10728\AppData\Local\Temp\cc81LJZC.s page 27
  1510. 517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
  1511. 984 .loc 1 517 1
  1512. 985 .cfi_startproc
  1513. 986 @ args = 0, pretend = 0, frame = 16
  1514. 987 @ frame_needed = 1, uses_anonymous_args = 0
  1515. 988 @ link register save eliminated.
  1516. 989 0000 80B4 push {r7}
  1517. 990 .LCFI47:
  1518. 991 .cfi_def_cfa_offset 4
  1519. 992 .cfi_offset 7, -4
  1520. 993 0002 85B0 sub sp, sp, #20
  1521. 994 .LCFI48:
  1522. 995 .cfi_def_cfa_offset 24
  1523. 996 0004 00AF add r7, sp, #0
  1524. 997 .LCFI49:
  1525. 998 .cfi_def_cfa_register 7
  1526. 999 0006 7860 str r0, [r7, #4]
  1527. 518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t maskline;
  1528. 519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  1529. 520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Check parameters */
  1530. 521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
  1531. 522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
  1532. 523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  1533. 524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Compute line mask */
  1534. 525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK));
  1535. 1000 .loc 1 525 28
  1536. 1001 0008 7B68 ldr r3, [r7, #4]
  1537. 1002 000a 1B68 ldr r3, [r3]
  1538. 1003 .loc 1 525 35
  1539. 1004 000c 03F01F03 and r3, r3, #31
  1540. 1005 .loc 1 525 12
  1541. 1006 0010 0122 movs r2, #1
  1542. 1007 0012 02FA03F3 lsl r3, r2, r3
  1543. 1008 0016 FB60 str r3, [r7, #12]
  1544. 526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
  1545. 527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Generate Software interrupt */
  1546. 528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** EXTI->SWIER = maskline;
  1547. 1009 .loc 1 528 7
  1548. 1010 0018 044A ldr r2, .L54
  1549. 1011 .loc 1 528 15
  1550. 1012 001a FB68 ldr r3, [r7, #12]
  1551. 1013 001c 1361 str r3, [r2, #16]
  1552. 529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
  1553. 1014 .loc 1 529 1
  1554. 1015 001e 00BF nop
  1555. 1016 0020 1437 adds r7, r7, #20
  1556. 1017 .LCFI50:
  1557. 1018 .cfi_def_cfa_offset 4
  1558. 1019 0022 BD46 mov sp, r7
  1559. 1020 .LCFI51:
  1560. 1021 .cfi_def_cfa_register 13
  1561. 1022 @ sp needed
  1562. 1023 0024 5DF8047B ldr r7, [sp], #4
  1563. 1024 .LCFI52:
  1564. 1025 .cfi_restore 7
  1565. 1026 .cfi_def_cfa_offset 0
  1566. 1027 0028 7047 bx lr
  1567. ARM GAS C:\Users\10728\AppData\Local\Temp\cc81LJZC.s page 28
  1568. 1028 .L55:
  1569. 1029 002a 00BF .align 2
  1570. 1030 .L54:
  1571. 1031 002c 003C0140 .word 1073822720
  1572. 1032 .cfi_endproc
  1573. 1033 .LFE243:
  1574. 1035 .text
  1575. 1036 .Letext0:
  1576. 1037 .file 2 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h"
  1577. 1038 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h"
  1578. 1039 .file 4 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f405xx.h"
  1579. 1040 .file 5 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h"
  1580. 1041 .file 6 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h"
  1581. ARM GAS C:\Users\10728\AppData\Local\Temp\cc81LJZC.s page 29
  1582. DEFINED SYMBOLS
  1583. *ABS*:00000000 stm32f4xx_hal_exti.c
  1584. C:\Users\10728\AppData\Local\Temp\cc81LJZC.s:20 .text.HAL_EXTI_SetConfigLine:00000000 $t
  1585. C:\Users\10728\AppData\Local\Temp\cc81LJZC.s:26 .text.HAL_EXTI_SetConfigLine:00000000 HAL_EXTI_SetConfigLine
  1586. C:\Users\10728\AppData\Local\Temp\cc81LJZC.s:271 .text.HAL_EXTI_SetConfigLine:00000148 $d
  1587. C:\Users\10728\AppData\Local\Temp\cc81LJZC.s:277 .text.HAL_EXTI_GetConfigLine:00000000 $t
  1588. C:\Users\10728\AppData\Local\Temp\cc81LJZC.s:283 .text.HAL_EXTI_GetConfigLine:00000000 HAL_EXTI_GetConfigLine
  1589. C:\Users\10728\AppData\Local\Temp\cc81LJZC.s:468 .text.HAL_EXTI_GetConfigLine:000000ec $d
  1590. C:\Users\10728\AppData\Local\Temp\cc81LJZC.s:474 .text.HAL_EXTI_ClearConfigLine:00000000 $t
  1591. C:\Users\10728\AppData\Local\Temp\cc81LJZC.s:480 .text.HAL_EXTI_ClearConfigLine:00000000 HAL_EXTI_ClearConfigLine
  1592. C:\Users\10728\AppData\Local\Temp\cc81LJZC.s:634 .text.HAL_EXTI_ClearConfigLine:000000b8 $d
  1593. C:\Users\10728\AppData\Local\Temp\cc81LJZC.s:640 .text.HAL_EXTI_RegisterCallback:00000000 $t
  1594. C:\Users\10728\AppData\Local\Temp\cc81LJZC.s:646 .text.HAL_EXTI_RegisterCallback:00000000 HAL_EXTI_RegisterCallback
  1595. C:\Users\10728\AppData\Local\Temp\cc81LJZC.s:707 .text.HAL_EXTI_GetHandle:00000000 $t
  1596. C:\Users\10728\AppData\Local\Temp\cc81LJZC.s:713 .text.HAL_EXTI_GetHandle:00000000 HAL_EXTI_GetHandle
  1597. C:\Users\10728\AppData\Local\Temp\cc81LJZC.s:765 .text.HAL_EXTI_IRQHandler:00000000 $t
  1598. C:\Users\10728\AppData\Local\Temp\cc81LJZC.s:771 .text.HAL_EXTI_IRQHandler:00000000 HAL_EXTI_IRQHandler
  1599. C:\Users\10728\AppData\Local\Temp\cc81LJZC.s:840 .text.HAL_EXTI_IRQHandler:00000044 $d
  1600. C:\Users\10728\AppData\Local\Temp\cc81LJZC.s:845 .text.HAL_EXTI_GetPending:00000000 $t
  1601. C:\Users\10728\AppData\Local\Temp\cc81LJZC.s:851 .text.HAL_EXTI_GetPending:00000000 HAL_EXTI_GetPending
  1602. C:\Users\10728\AppData\Local\Temp\cc81LJZC.s:910 .text.HAL_EXTI_GetPending:0000003c $d
  1603. C:\Users\10728\AppData\Local\Temp\cc81LJZC.s:915 .text.HAL_EXTI_ClearPending:00000000 $t
  1604. C:\Users\10728\AppData\Local\Temp\cc81LJZC.s:921 .text.HAL_EXTI_ClearPending:00000000 HAL_EXTI_ClearPending
  1605. C:\Users\10728\AppData\Local\Temp\cc81LJZC.s:971 .text.HAL_EXTI_ClearPending:0000002c $d
  1606. C:\Users\10728\AppData\Local\Temp\cc81LJZC.s:976 .text.HAL_EXTI_GenerateSWI:00000000 $t
  1607. C:\Users\10728\AppData\Local\Temp\cc81LJZC.s:982 .text.HAL_EXTI_GenerateSWI:00000000 HAL_EXTI_GenerateSWI
  1608. C:\Users\10728\AppData\Local\Temp\cc81LJZC.s:1031 .text.HAL_EXTI_GenerateSWI:0000002c $d
  1609. NO UNDEFINED SYMBOLS