stm32f3xx_hal_exti.lst 119 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402
  1. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 1
  2. 1 .cpu cortex-m4
  3. 2 .arch armv7e-m
  4. 3 .fpu fpv4-sp-d16
  5. 4 .eabi_attribute 27, 1
  6. 5 .eabi_attribute 28, 1
  7. 6 .eabi_attribute 20, 1
  8. 7 .eabi_attribute 21, 1
  9. 8 .eabi_attribute 23, 3
  10. 9 .eabi_attribute 24, 1
  11. 10 .eabi_attribute 25, 1
  12. 11 .eabi_attribute 26, 1
  13. 12 .eabi_attribute 30, 6
  14. 13 .eabi_attribute 34, 1
  15. 14 .eabi_attribute 18, 4
  16. 15 .file "stm32f3xx_hal_exti.c"
  17. 16 .text
  18. 17 .Ltext0:
  19. 18 .cfi_sections .debug_frame
  20. 19 .section .rodata
  21. 20 .align 2
  22. 21 .LC0:
  23. 22 0000 44726976 .ascii "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti"
  24. 22 6572732F
  25. 22 53544D33
  26. 22 32463378
  27. 22 785F4841
  28. 23 0033 2E6300 .ascii ".c\000"
  29. 24 .section .text.HAL_EXTI_SetConfigLine,"ax",%progbits
  30. 25 .align 1
  31. 26 .global HAL_EXTI_SetConfigLine
  32. 27 .syntax unified
  33. 28 .thumb
  34. 29 .thumb_func
  35. 31 HAL_EXTI_SetConfigLine:
  36. 32 .LFB130:
  37. 33 .file 1 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c"
  38. 1:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /**
  39. 2:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ******************************************************************************
  40. 3:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @file stm32f3xx_hal_exti.c
  41. 4:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @author MCD Application Team
  42. 5:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @brief EXTI HAL module driver.
  43. 6:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * This file provides firmware functions to manage the following
  44. 7:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * functionalities of the Extended Interrupts and events controller (EXTI) peripheral:
  45. 8:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * + Initialization and de-initialization functions
  46. 9:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * + IO operation functions
  47. 10:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *
  48. 11:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ******************************************************************************
  49. 12:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @attention
  50. 13:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *
  51. 14:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * Copyright (c) 2019 STMicroelectronics.
  52. 15:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * All rights reserved.
  53. 16:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *
  54. 17:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * This software is licensed under terms that can be found in the LICENSE file
  55. 18:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * in the root directory of this software component.
  56. 19:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
  57. 20:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *
  58. 21:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ******************************************************************************
  59. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 2
  60. 22:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** @verbatim
  61. 23:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ==============================================================================
  62. 24:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ##### EXTI Peripheral features #####
  63. 25:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ==============================================================================
  64. 26:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** [..]
  65. 27:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (+) Each Exti line can be configured within this driver.
  66. 28:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  67. 29:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (+) Exti line can be configured in 3 different modes
  68. 30:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Interrupt
  69. 31:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Event
  70. 32:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Both of them
  71. 33:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  72. 34:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (+) Configurable Exti lines can be configured with 3 different triggers
  73. 35:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Rising
  74. 36:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Falling
  75. 37:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Both of them
  76. 38:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  77. 39:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (+) When set in interrupt mode, configurable Exti lines have two different
  78. 40:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** interrupts pending registers which allow to distinguish which transition
  79. 41:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** occurs:
  80. 42:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Rising edge pending interrupt
  81. 43:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Falling
  82. 44:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  83. 45:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (+) Exti lines 0 to 15 are linked to gpio pin number 0 to 15. Gpio port can
  84. 46:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** be selected through multiplexer.
  85. 47:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  86. 48:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ##### How to use this driver #####
  87. 49:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ==============================================================================
  88. 50:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** [..]
  89. 51:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  90. 52:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (#) Configure the EXTI line using HAL_EXTI_SetConfigLine().
  91. 53:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Choose the interrupt line number by setting "Line" member from
  92. 54:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** EXTI_ConfigTypeDef structure.
  93. 55:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Configure the interrupt and/or event mode using "Mode" member from
  94. 56:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** EXTI_ConfigTypeDef structure.
  95. 57:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) For configurable lines, configure rising and/or falling trigger
  96. 58:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** "Trigger" member from EXTI_ConfigTypeDef structure.
  97. 59:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) For Exti lines linked to gpio, choose gpio port using "GPIOSel"
  98. 60:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** member from GPIO_InitTypeDef structure.
  99. 61:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  100. 62:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (#) Get current Exti configuration of a dedicated line using
  101. 63:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** HAL_EXTI_GetConfigLine().
  102. 64:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Provide exiting handle as parameter.
  103. 65:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Provide pointer on EXTI_ConfigTypeDef structure as second parameter.
  104. 66:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  105. 67:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (#) Clear Exti configuration of a dedicated line using HAL_EXTI_ClearConfigLine().
  106. 68:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Provide exiting handle as parameter.
  107. 69:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  108. 70:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (#) Register callback to treat Exti interrupts using HAL_EXTI_RegisterCallback().
  109. 71:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Provide exiting handle as first parameter.
  110. 72:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Provide which callback will be registered using one value from
  111. 73:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** EXTI_CallbackIDTypeDef.
  112. 74:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Provide callback function pointer.
  113. 75:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  114. 76:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (#) Get interrupt pending bit using HAL_EXTI_GetPending().
  115. 77:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  116. 78:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (#) Clear interrupt pending bit using HAL_EXTI_ClearPending().
  117. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 3
  118. 79:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  119. 80:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (#) Generate software interrupt using HAL_EXTI_GenerateSWI().
  120. 81:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  121. 82:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** @endverbatim
  122. 83:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
  123. 84:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  124. 85:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Includes ------------------------------------------------------------------*/
  125. 86:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** #include "stm32f3xx_hal.h"
  126. 87:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  127. 88:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /** @addtogroup STM32F3xx_HAL_Driver
  128. 89:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @{
  129. 90:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
  130. 91:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  131. 92:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /** @addtogroup EXTI
  132. 93:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @{
  133. 94:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
  134. 95:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /** MISRA C:2012 deviation rule has been granted for following rule:
  135. 96:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * Rule-18.1_b - Medium: Array `EXTICR' 1st subscript interval [0,7] may be out
  136. 97:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * of bounds [0,3] in following API :
  137. 98:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * HAL_EXTI_SetConfigLine
  138. 99:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * HAL_EXTI_GetConfigLine
  139. 100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * HAL_EXTI_ClearConfigLine
  140. 101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
  141. 102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  142. 103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** #ifdef HAL_EXTI_MODULE_ENABLED
  143. 104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  144. 105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Private typedef -----------------------------------------------------------*/
  145. 106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Private defines -----------------------------------------------------------*/
  146. 107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /** @defgroup EXTI_Private_Constants EXTI Private Constants
  147. 108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @{
  148. 109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
  149. 110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** #define EXTI_MODE_OFFSET 0x08u /* 0x20: offset between CPU IMR/EMR registers *
  150. 111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** #define EXTI_CONFIG_OFFSET 0x08u /* 0x20: offset between CPU Rising/Falling conf
  151. 112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /**
  152. 113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @}
  153. 114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
  154. 115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  155. 116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Private macros ------------------------------------------------------------*/
  156. 117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Private variables ---------------------------------------------------------*/
  157. 118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Private function prototypes -----------------------------------------------*/
  158. 119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Exported functions --------------------------------------------------------*/
  159. 120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  160. 121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions
  161. 122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @{
  162. 123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
  163. 124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  164. 125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions_Group1
  165. 126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @brief Configuration functions
  166. 127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *
  167. 128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** @verbatim
  168. 129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ===============================================================================
  169. 130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ##### Configuration functions #####
  170. 131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ===============================================================================
  171. 132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  172. 133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** @endverbatim
  173. 134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @{
  174. 135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
  175. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 4
  176. 136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  177. 137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /**
  178. 138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @brief Set configuration of a dedicated Exti line.
  179. 139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param hexti Exti handle.
  180. 140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param pExtiConfig Pointer on EXTI configuration to be set.
  181. 141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @retval HAL Status.
  182. 142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
  183. 143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_SetConfigLine(EXTI_HandleTypeDef *hexti, EXTI_ConfigTypeDef *pExtiConfig
  184. 144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
  185. 34 .loc 1 144 1
  186. 35 .cfi_startproc
  187. 36 @ args = 0, pretend = 0, frame = 32
  188. 37 @ frame_needed = 1, uses_anonymous_args = 0
  189. 38 0000 80B5 push {r7, lr}
  190. 39 .LCFI0:
  191. 40 .cfi_def_cfa_offset 8
  192. 41 .cfi_offset 7, -8
  193. 42 .cfi_offset 14, -4
  194. 43 0002 88B0 sub sp, sp, #32
  195. 44 .LCFI1:
  196. 45 .cfi_def_cfa_offset 40
  197. 46 0004 00AF add r7, sp, #0
  198. 47 .LCFI2:
  199. 48 .cfi_def_cfa_register 7
  200. 49 0006 7860 str r0, [r7, #4]
  201. 50 0008 3960 str r1, [r7]
  202. 145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** __IO uint32_t *regaddr;
  203. 146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t regval;
  204. 147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t linepos;
  205. 148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t maskline;
  206. 149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t offset;
  207. 150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  208. 151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check null pointer */
  209. 152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((hexti == NULL) || (pExtiConfig == NULL))
  210. 51 .loc 1 152 6
  211. 52 000a 7B68 ldr r3, [r7, #4]
  212. 53 000c 002B cmp r3, #0
  213. 54 000e 02D0 beq .L2
  214. 55 .loc 1 152 23 discriminator 1
  215. 56 0010 3B68 ldr r3, [r7]
  216. 57 0012 002B cmp r3, #0
  217. 58 0014 01D1 bne .L3
  218. 59 .L2:
  219. 153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
  220. 154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return HAL_ERROR;
  221. 60 .loc 1 154 12
  222. 61 0016 0123 movs r3, #1
  223. 62 0018 17E1 b .L4
  224. 63 .L3:
  225. 155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
  226. 156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  227. 157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check parameters */
  228. 158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_LINE(pExtiConfig->Line));
  229. 64 .loc 1 158 3
  230. 65 001a 3B68 ldr r3, [r7]
  231. 66 001c 1A68 ldr r2, [r3]
  232. 67 001e 8D4B ldr r3, .L22
  233. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 5
  234. 68 0020 1340 ands r3, r3, r2
  235. 69 0022 002B cmp r3, #0
  236. 70 0024 1BD1 bne .L5
  237. 71 .loc 1 158 3 is_stmt 0 discriminator 2
  238. 72 0026 3B68 ldr r3, [r7]
  239. 73 0028 1B68 ldr r3, [r3]
  240. 74 002a 03F0E063 and r3, r3, #117440512
  241. 75 002e B3F1807F cmp r3, #16777216
  242. 76 0032 0DD0 beq .L6
  243. 77 .loc 1 158 3 discriminator 3
  244. 78 0034 3B68 ldr r3, [r7]
  245. 79 0036 1B68 ldr r3, [r3]
  246. 80 0038 03F0E063 and r3, r3, #117440512
  247. 81 003c B3F1007F cmp r3, #33554432
  248. 82 0040 06D0 beq .L6
  249. 83 .loc 1 158 3 discriminator 5
  250. 84 0042 3B68 ldr r3, [r7]
  251. 85 0044 1B68 ldr r3, [r3]
  252. 86 0046 03F0E063 and r3, r3, #117440512
  253. 87 004a B3F1C06F cmp r3, #100663296
  254. 88 004e 06D1 bne .L5
  255. 89 .L6:
  256. 90 .loc 1 158 3 discriminator 8
  257. 91 0050 3B68 ldr r3, [r7]
  258. 92 0052 1A68 ldr r2, [r3]
  259. 93 0054 804B ldr r3, .L22+4
  260. 94 0056 1340 ands r3, r3, r2
  261. 95 0058 804A ldr r2, .L22+8
  262. 96 005a 9342 cmp r3, r2
  263. 97 005c 03D9 bls .L7
  264. 98 .L5:
  265. 99 .loc 1 158 3 discriminator 9
  266. 100 005e 9E21 movs r1, #158
  267. 101 0060 7F48 ldr r0, .L22+12
  268. 102 0062 FFF7FEFF bl assert_failed
  269. 103 .L7:
  270. 159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_MODE(pExtiConfig->Mode));
  271. 104 .loc 1 159 3 is_stmt 1
  272. 105 0066 3B68 ldr r3, [r7]
  273. 106 0068 5B68 ldr r3, [r3, #4]
  274. 107 006a 03F00303 and r3, r3, #3
  275. 108 006e 002B cmp r3, #0
  276. 109 0070 05D0 beq .L8
  277. 110 .loc 1 159 3 is_stmt 0 discriminator 2
  278. 111 0072 3B68 ldr r3, [r7]
  279. 112 0074 5B68 ldr r3, [r3, #4]
  280. 113 0076 23F00303 bic r3, r3, #3
  281. 114 007a 002B cmp r3, #0
  282. 115 007c 03D0 beq .L9
  283. 116 .L8:
  284. 117 .loc 1 159 3 discriminator 3
  285. 118 007e 9F21 movs r1, #159
  286. 119 0080 7748 ldr r0, .L22+12
  287. 120 0082 FFF7FEFF bl assert_failed
  288. 121 .L9:
  289. 160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  290. 161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Assign line number to handle */
  291. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 6
  292. 162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** hexti->Line = pExtiConfig->Line;
  293. 122 .loc 1 162 28 is_stmt 1
  294. 123 0086 3B68 ldr r3, [r7]
  295. 124 0088 1A68 ldr r2, [r3]
  296. 125 .loc 1 162 15
  297. 126 008a 7B68 ldr r3, [r7, #4]
  298. 127 008c 1A60 str r2, [r3]
  299. 163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  300. 164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Compute line register offset and line mask */
  301. 165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** offset = ((pExtiConfig->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT);
  302. 128 .loc 1 165 25
  303. 129 008e 3B68 ldr r3, [r7]
  304. 130 0090 1B68 ldr r3, [r3]
  305. 131 .loc 1 165 49
  306. 132 0092 1B0C lsrs r3, r3, #16
  307. 133 .loc 1 165 10
  308. 134 0094 03F00103 and r3, r3, #1
  309. 135 0098 BB61 str r3, [r7, #24]
  310. 166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** linepos = (pExtiConfig->Line & EXTI_PIN_MASK);
  311. 136 .loc 1 166 25
  312. 137 009a 3B68 ldr r3, [r7]
  313. 138 009c 1B68 ldr r3, [r3]
  314. 139 .loc 1 166 11
  315. 140 009e 03F01F03 and r3, r3, #31
  316. 141 00a2 7B61 str r3, [r7, #20]
  317. 167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** maskline = (1uL << linepos);
  318. 142 .loc 1 167 12
  319. 143 00a4 0122 movs r2, #1
  320. 144 00a6 7B69 ldr r3, [r7, #20]
  321. 145 00a8 02FA03F3 lsl r3, r2, r3
  322. 146 00ac 3B61 str r3, [r7, #16]
  323. 168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  324. 169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Configure triggers for configurable lines */
  325. 170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_CONFIG) != 0x00u)
  326. 147 .loc 1 170 19
  327. 148 00ae 3B68 ldr r3, [r7]
  328. 149 00b0 1B68 ldr r3, [r3]
  329. 150 .loc 1 170 26
  330. 151 00b2 03F00073 and r3, r3, #33554432
  331. 152 .loc 1 170 6
  332. 153 00b6 002B cmp r3, #0
  333. 154 00b8 00F08E80 beq .L10
  334. 171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
  335. 172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_TRIGGER(pExtiConfig->Trigger));
  336. 155 .loc 1 172 5
  337. 156 00bc 3B68 ldr r3, [r7]
  338. 157 00be 9B68 ldr r3, [r3, #8]
  339. 158 00c0 23F00303 bic r3, r3, #3
  340. 159 00c4 002B cmp r3, #0
  341. 160 00c6 03D0 beq .L11
  342. 161 .loc 1 172 5 is_stmt 0 discriminator 1
  343. 162 00c8 AC21 movs r1, #172
  344. 163 00ca 6548 ldr r0, .L22+12
  345. 164 00cc FFF7FEFF bl assert_failed
  346. 165 .L11:
  347. 173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  348. 174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Configure rising trigger */
  349. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 7
  350. 175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->RTSR + (EXTI_CONFIG_OFFSET * offset));
  351. 166 .loc 1 175 28 is_stmt 1
  352. 167 00d0 BB69 ldr r3, [r7, #24]
  353. 168 00d2 5A01 lsls r2, r3, #5
  354. 169 .loc 1 175 13
  355. 170 00d4 634B ldr r3, .L22+16
  356. 171 00d6 1344 add r3, r3, r2
  357. 172 00d8 FB60 str r3, [r7, #12]
  358. 176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = *regaddr;
  359. 173 .loc 1 176 12
  360. 174 00da FB68 ldr r3, [r7, #12]
  361. 175 00dc 1B68 ldr r3, [r3]
  362. 176 00de FB61 str r3, [r7, #28]
  363. 177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  364. 178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Mask or set line */
  365. 179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((pExtiConfig->Trigger & EXTI_TRIGGER_RISING) != 0x00u)
  366. 177 .loc 1 179 21
  367. 178 00e0 3B68 ldr r3, [r7]
  368. 179 00e2 9B68 ldr r3, [r3, #8]
  369. 180 .loc 1 179 31
  370. 181 00e4 03F00103 and r3, r3, #1
  371. 182 .loc 1 179 8
  372. 183 00e8 002B cmp r3, #0
  373. 184 00ea 04D0 beq .L12
  374. 180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
  375. 181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval |= maskline;
  376. 185 .loc 1 181 14
  377. 186 00ec FA69 ldr r2, [r7, #28]
  378. 187 00ee 3B69 ldr r3, [r7, #16]
  379. 188 00f0 1343 orrs r3, r3, r2
  380. 189 00f2 FB61 str r3, [r7, #28]
  381. 190 00f4 04E0 b .L13
  382. 191 .L12:
  383. 182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
  384. 183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** else
  385. 184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
  386. 185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval &= ~maskline;
  387. 192 .loc 1 185 17
  388. 193 00f6 3B69 ldr r3, [r7, #16]
  389. 194 00f8 DB43 mvns r3, r3
  390. 195 .loc 1 185 14
  391. 196 00fa FA69 ldr r2, [r7, #28]
  392. 197 00fc 1340 ands r3, r3, r2
  393. 198 00fe FB61 str r3, [r7, #28]
  394. 199 .L13:
  395. 186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
  396. 187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  397. 188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Store rising trigger mode */
  398. 189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *regaddr = regval;
  399. 200 .loc 1 189 14
  400. 201 0100 FB68 ldr r3, [r7, #12]
  401. 202 0102 FA69 ldr r2, [r7, #28]
  402. 203 0104 1A60 str r2, [r3]
  403. 190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  404. 191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Configure falling trigger */
  405. 192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->FTSR + (EXTI_CONFIG_OFFSET * offset));
  406. 204 .loc 1 192 28
  407. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 8
  408. 205 0106 BB69 ldr r3, [r7, #24]
  409. 206 0108 5A01 lsls r2, r3, #5
  410. 207 .loc 1 192 13
  411. 208 010a 574B ldr r3, .L22+20
  412. 209 010c 1344 add r3, r3, r2
  413. 210 010e FB60 str r3, [r7, #12]
  414. 193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = *regaddr;
  415. 211 .loc 1 193 12
  416. 212 0110 FB68 ldr r3, [r7, #12]
  417. 213 0112 1B68 ldr r3, [r3]
  418. 214 0114 FB61 str r3, [r7, #28]
  419. 194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  420. 195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Mask or set line */
  421. 196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((pExtiConfig->Trigger & EXTI_TRIGGER_FALLING) != 0x00u)
  422. 215 .loc 1 196 21
  423. 216 0116 3B68 ldr r3, [r7]
  424. 217 0118 9B68 ldr r3, [r3, #8]
  425. 218 .loc 1 196 31
  426. 219 011a 03F00203 and r3, r3, #2
  427. 220 .loc 1 196 8
  428. 221 011e 002B cmp r3, #0
  429. 222 0120 04D0 beq .L14
  430. 197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
  431. 198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval |= maskline;
  432. 223 .loc 1 198 14
  433. 224 0122 FA69 ldr r2, [r7, #28]
  434. 225 0124 3B69 ldr r3, [r7, #16]
  435. 226 0126 1343 orrs r3, r3, r2
  436. 227 0128 FB61 str r3, [r7, #28]
  437. 228 012a 04E0 b .L15
  438. 229 .L14:
  439. 199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
  440. 200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** else
  441. 201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
  442. 202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval &= ~maskline;
  443. 230 .loc 1 202 17
  444. 231 012c 3B69 ldr r3, [r7, #16]
  445. 232 012e DB43 mvns r3, r3
  446. 233 .loc 1 202 14
  447. 234 0130 FA69 ldr r2, [r7, #28]
  448. 235 0132 1340 ands r3, r3, r2
  449. 236 0134 FB61 str r3, [r7, #28]
  450. 237 .L15:
  451. 203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
  452. 204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  453. 205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Store falling trigger mode */
  454. 206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *regaddr = regval;
  455. 238 .loc 1 206 14
  456. 239 0136 FB68 ldr r3, [r7, #12]
  457. 240 0138 FA69 ldr r2, [r7, #28]
  458. 241 013a 1A60 str r2, [r3]
  459. 207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  460. 208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Configure gpio port selection in case of gpio exti line */
  461. 209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_GPIO) == EXTI_GPIO)
  462. 242 .loc 1 209 21
  463. 243 013c 3B68 ldr r3, [r7]
  464. 244 013e 1B68 ldr r3, [r3]
  465. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 9
  466. 245 .loc 1 209 28
  467. 246 0140 03F0C063 and r3, r3, #100663296
  468. 247 .loc 1 209 8
  469. 248 0144 B3F1C06F cmp r3, #100663296
  470. 249 0148 46D1 bne .L10
  471. 210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
  472. 211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PORT(pExtiConfig->GPIOSel));
  473. 250 .loc 1 211 7
  474. 251 014a 3B68 ldr r3, [r7]
  475. 252 014c DB68 ldr r3, [r3, #12]
  476. 253 014e 002B cmp r3, #0
  477. 254 0150 17D0 beq .L16
  478. 255 .loc 1 211 7 is_stmt 0 discriminator 1
  479. 256 0152 3B68 ldr r3, [r7]
  480. 257 0154 DB68 ldr r3, [r3, #12]
  481. 258 0156 012B cmp r3, #1
  482. 259 0158 13D0 beq .L16
  483. 260 .loc 1 211 7 discriminator 2
  484. 261 015a 3B68 ldr r3, [r7]
  485. 262 015c DB68 ldr r3, [r3, #12]
  486. 263 015e 022B cmp r3, #2
  487. 264 0160 0FD0 beq .L16
  488. 265 .loc 1 211 7 discriminator 3
  489. 266 0162 3B68 ldr r3, [r7]
  490. 267 0164 DB68 ldr r3, [r3, #12]
  491. 268 0166 032B cmp r3, #3
  492. 269 0168 0BD0 beq .L16
  493. 270 .loc 1 211 7 discriminator 4
  494. 271 016a 3B68 ldr r3, [r7]
  495. 272 016c DB68 ldr r3, [r3, #12]
  496. 273 016e 042B cmp r3, #4
  497. 274 0170 07D0 beq .L16
  498. 275 .loc 1 211 7 discriminator 5
  499. 276 0172 3B68 ldr r3, [r7]
  500. 277 0174 DB68 ldr r3, [r3, #12]
  501. 278 0176 052B cmp r3, #5
  502. 279 0178 03D0 beq .L16
  503. 280 .loc 1 211 7 discriminator 6
  504. 281 017a D321 movs r1, #211
  505. 282 017c 3848 ldr r0, .L22+12
  506. 283 017e FFF7FEFF bl assert_failed
  507. 284 .L16:
  508. 212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos));
  509. 285 .loc 1 212 7 is_stmt 1
  510. 286 0182 7B69 ldr r3, [r7, #20]
  511. 287 0184 0F2B cmp r3, #15
  512. 288 0186 03D9 bls .L17
  513. 289 .loc 1 212 7 is_stmt 0 discriminator 1
  514. 290 0188 D421 movs r1, #212
  515. 291 018a 3548 ldr r0, .L22+12
  516. 292 018c FFF7FEFF bl assert_failed
  517. 293 .L17:
  518. 213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  519. 214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = SYSCFG->EXTICR[linepos >> 2u];
  520. 294 .loc 1 214 22 is_stmt 1
  521. 295 0190 364A ldr r2, .L22+24
  522. 296 .loc 1 214 39
  523. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 10
  524. 297 0192 7B69 ldr r3, [r7, #20]
  525. 298 0194 9B08 lsrs r3, r3, #2
  526. 299 .loc 1 214 14
  527. 300 0196 0233 adds r3, r3, #2
  528. 301 0198 52F82330 ldr r3, [r2, r3, lsl #2]
  529. 302 019c FB61 str r3, [r7, #28]
  530. 215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
  531. 303 .loc 1 215 80
  532. 304 019e 7B69 ldr r3, [r7, #20]
  533. 305 01a0 03F00303 and r3, r3, #3
  534. 306 .loc 1 215 69
  535. 307 01a4 9B00 lsls r3, r3, #2
  536. 308 .loc 1 215 40
  537. 309 01a6 0F22 movs r2, #15
  538. 310 01a8 02FA03F3 lsl r3, r2, r3
  539. 311 .loc 1 215 17
  540. 312 01ac DB43 mvns r3, r3
  541. 313 .loc 1 215 14
  542. 314 01ae FA69 ldr r2, [r7, #28]
  543. 315 01b0 1340 ands r3, r3, r2
  544. 316 01b2 FB61 str r3, [r7, #28]
  545. 216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
  546. 317 .loc 1 216 29
  547. 318 01b4 3B68 ldr r3, [r7]
  548. 319 01b6 DA68 ldr r2, [r3, #12]
  549. 320 .loc 1 216 79
  550. 321 01b8 7B69 ldr r3, [r7, #20]
  551. 322 01ba 03F00303 and r3, r3, #3
  552. 323 .loc 1 216 68
  553. 324 01be 9B00 lsls r3, r3, #2
  554. 325 .loc 1 216 39
  555. 326 01c0 02FA03F3 lsl r3, r2, r3
  556. 327 .loc 1 216 14
  557. 328 01c4 FA69 ldr r2, [r7, #28]
  558. 329 01c6 1343 orrs r3, r3, r2
  559. 330 01c8 FB61 str r3, [r7, #28]
  560. 217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
  561. 331 .loc 1 217 13
  562. 332 01ca 2849 ldr r1, .L22+24
  563. 333 .loc 1 217 30
  564. 334 01cc 7B69 ldr r3, [r7, #20]
  565. 335 01ce 9B08 lsrs r3, r3, #2
  566. 336 .loc 1 217 37
  567. 337 01d0 0233 adds r3, r3, #2
  568. 338 01d2 FA69 ldr r2, [r7, #28]
  569. 339 01d4 41F82320 str r2, [r1, r3, lsl #2]
  570. 340 .L10:
  571. 218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
  572. 219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
  573. 220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  574. 221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Configure interrupt mode : read current mode */
  575. 222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->IMR + (EXTI_MODE_OFFSET * offset));
  576. 341 .loc 1 222 25
  577. 342 01d8 BB69 ldr r3, [r7, #24]
  578. 343 01da 5B01 lsls r3, r3, #5
  579. 344 .loc 1 222 11
  580. 345 01dc 03F18043 add r3, r3, #1073741824
  581. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 11
  582. 346 01e0 03F58233 add r3, r3, #66560
  583. 347 01e4 FB60 str r3, [r7, #12]
  584. 223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = *regaddr;
  585. 348 .loc 1 223 10
  586. 349 01e6 FB68 ldr r3, [r7, #12]
  587. 350 01e8 1B68 ldr r3, [r3]
  588. 351 01ea FB61 str r3, [r7, #28]
  589. 224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  590. 225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Mask or set line */
  591. 226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((pExtiConfig->Mode & EXTI_MODE_INTERRUPT) != 0x00u)
  592. 352 .loc 1 226 19
  593. 353 01ec 3B68 ldr r3, [r7]
  594. 354 01ee 5B68 ldr r3, [r3, #4]
  595. 355 .loc 1 226 26
  596. 356 01f0 03F00103 and r3, r3, #1
  597. 357 .loc 1 226 6
  598. 358 01f4 002B cmp r3, #0
  599. 359 01f6 04D0 beq .L18
  600. 227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
  601. 228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval |= maskline;
  602. 360 .loc 1 228 12
  603. 361 01f8 FA69 ldr r2, [r7, #28]
  604. 362 01fa 3B69 ldr r3, [r7, #16]
  605. 363 01fc 1343 orrs r3, r3, r2
  606. 364 01fe FB61 str r3, [r7, #28]
  607. 365 0200 04E0 b .L19
  608. 366 .L18:
  609. 229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
  610. 230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** else
  611. 231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
  612. 232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval &= ~maskline;
  613. 367 .loc 1 232 15
  614. 368 0202 3B69 ldr r3, [r7, #16]
  615. 369 0204 DB43 mvns r3, r3
  616. 370 .loc 1 232 12
  617. 371 0206 FA69 ldr r2, [r7, #28]
  618. 372 0208 1340 ands r3, r3, r2
  619. 373 020a FB61 str r3, [r7, #28]
  620. 374 .L19:
  621. 233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
  622. 234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  623. 235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Store interrupt mode */
  624. 236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *regaddr = regval;
  625. 375 .loc 1 236 12
  626. 376 020c FB68 ldr r3, [r7, #12]
  627. 377 020e FA69 ldr r2, [r7, #28]
  628. 378 0210 1A60 str r2, [r3]
  629. 237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  630. 238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Configure event mode : read current mode */
  631. 239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->EMR + (EXTI_MODE_OFFSET * offset));
  632. 379 .loc 1 239 25
  633. 380 0212 BB69 ldr r3, [r7, #24]
  634. 381 0214 5A01 lsls r2, r3, #5
  635. 382 .loc 1 239 11
  636. 383 0216 164B ldr r3, .L22+28
  637. 384 0218 1344 add r3, r3, r2
  638. 385 021a FB60 str r3, [r7, #12]
  639. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 12
  640. 240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = *regaddr;
  641. 386 .loc 1 240 10
  642. 387 021c FB68 ldr r3, [r7, #12]
  643. 388 021e 1B68 ldr r3, [r3]
  644. 389 0220 FB61 str r3, [r7, #28]
  645. 241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  646. 242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Mask or set line */
  647. 243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((pExtiConfig->Mode & EXTI_MODE_EVENT) != 0x00u)
  648. 390 .loc 1 243 19
  649. 391 0222 3B68 ldr r3, [r7]
  650. 392 0224 5B68 ldr r3, [r3, #4]
  651. 393 .loc 1 243 26
  652. 394 0226 03F00203 and r3, r3, #2
  653. 395 .loc 1 243 6
  654. 396 022a 002B cmp r3, #0
  655. 397 022c 04D0 beq .L20
  656. 244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
  657. 245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval |= maskline;
  658. 398 .loc 1 245 12
  659. 399 022e FA69 ldr r2, [r7, #28]
  660. 400 0230 3B69 ldr r3, [r7, #16]
  661. 401 0232 1343 orrs r3, r3, r2
  662. 402 0234 FB61 str r3, [r7, #28]
  663. 403 0236 04E0 b .L21
  664. 404 .L20:
  665. 246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
  666. 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** else
  667. 248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
  668. 249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval &= ~maskline;
  669. 405 .loc 1 249 15
  670. 406 0238 3B69 ldr r3, [r7, #16]
  671. 407 023a DB43 mvns r3, r3
  672. 408 .loc 1 249 12
  673. 409 023c FA69 ldr r2, [r7, #28]
  674. 410 023e 1340 ands r3, r3, r2
  675. 411 0240 FB61 str r3, [r7, #28]
  676. 412 .L21:
  677. 250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
  678. 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  679. 252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Store event mode */
  680. 253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *regaddr = regval;
  681. 413 .loc 1 253 12
  682. 414 0242 FB68 ldr r3, [r7, #12]
  683. 415 0244 FA69 ldr r2, [r7, #28]
  684. 416 0246 1A60 str r2, [r3]
  685. 254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  686. 255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return HAL_OK;
  687. 417 .loc 1 255 10
  688. 418 0248 0023 movs r3, #0
  689. 419 .L4:
  690. 256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
  691. 420 .loc 1 256 1
  692. 421 024a 1846 mov r0, r3
  693. 422 024c 2037 adds r7, r7, #32
  694. 423 .LCFI3:
  695. 424 .cfi_def_cfa_offset 8
  696. 425 024e BD46 mov sp, r7
  697. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 13
  698. 426 .LCFI4:
  699. 427 .cfi_def_cfa_register 13
  700. 428 @ sp needed
  701. 429 0250 80BD pop {r7, pc}
  702. 430 .L23:
  703. 431 0252 00BF .align 2
  704. 432 .L22:
  705. 433 0254 E0FFFEF8 .word -117506080
  706. 434 0258 1F000100 .word 65567
  707. 435 025c 03000100 .word 65539
  708. 436 0260 00000000 .word .LC0
  709. 437 0264 08040140 .word 1073808392
  710. 438 0268 0C040140 .word 1073808396
  711. 439 026c 00000140 .word 1073807360
  712. 440 0270 04040140 .word 1073808388
  713. 441 .cfi_endproc
  714. 442 .LFE130:
  715. 444 .section .text.HAL_EXTI_GetConfigLine,"ax",%progbits
  716. 445 .align 1
  717. 446 .global HAL_EXTI_GetConfigLine
  718. 447 .syntax unified
  719. 448 .thumb
  720. 449 .thumb_func
  721. 451 HAL_EXTI_GetConfigLine:
  722. 452 .LFB131:
  723. 257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  724. 258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /**
  725. 259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @brief Get configuration of a dedicated Exti line.
  726. 260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param hexti Exti handle.
  727. 261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param pExtiConfig Pointer on structure to store Exti configuration.
  728. 262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @retval HAL Status.
  729. 263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
  730. 264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_GetConfigLine(EXTI_HandleTypeDef *hexti, EXTI_ConfigTypeDef *pExtiConfig
  731. 265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
  732. 453 .loc 1 265 1
  733. 454 .cfi_startproc
  734. 455 @ args = 0, pretend = 0, frame = 32
  735. 456 @ frame_needed = 1, uses_anonymous_args = 0
  736. 457 0000 80B5 push {r7, lr}
  737. 458 .LCFI5:
  738. 459 .cfi_def_cfa_offset 8
  739. 460 .cfi_offset 7, -8
  740. 461 .cfi_offset 14, -4
  741. 462 0002 88B0 sub sp, sp, #32
  742. 463 .LCFI6:
  743. 464 .cfi_def_cfa_offset 40
  744. 465 0004 00AF add r7, sp, #0
  745. 466 .LCFI7:
  746. 467 .cfi_def_cfa_register 7
  747. 468 0006 7860 str r0, [r7, #4]
  748. 469 0008 3960 str r1, [r7]
  749. 266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** __IO uint32_t *regaddr;
  750. 267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t regval;
  751. 268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t linepos;
  752. 269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t maskline;
  753. 270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t offset;
  754. 271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  755. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 14
  756. 272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check null pointer */
  757. 273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((hexti == NULL) || (pExtiConfig == NULL))
  758. 470 .loc 1 273 6
  759. 471 000a 7B68 ldr r3, [r7, #4]
  760. 472 000c 002B cmp r3, #0
  761. 473 000e 02D0 beq .L25
  762. 474 .loc 1 273 23 discriminator 1
  763. 475 0010 3B68 ldr r3, [r7]
  764. 476 0012 002B cmp r3, #0
  765. 477 0014 01D1 bne .L26
  766. 478 .L25:
  767. 274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
  768. 275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return HAL_ERROR;
  769. 479 .loc 1 275 12
  770. 480 0016 0123 movs r3, #1
  771. 481 0018 B4E0 b .L27
  772. 482 .L26:
  773. 276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
  774. 277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  775. 278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check the parameter */
  776. 279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
  777. 483 .loc 1 279 3
  778. 484 001a 7B68 ldr r3, [r7, #4]
  779. 485 001c 1A68 ldr r2, [r3]
  780. 486 001e 5B4B ldr r3, .L38
  781. 487 0020 1340 ands r3, r3, r2
  782. 488 0022 002B cmp r3, #0
  783. 489 0024 1BD1 bne .L28
  784. 490 .loc 1 279 3 is_stmt 0 discriminator 2
  785. 491 0026 7B68 ldr r3, [r7, #4]
  786. 492 0028 1B68 ldr r3, [r3]
  787. 493 002a 03F0E063 and r3, r3, #117440512
  788. 494 002e B3F1807F cmp r3, #16777216
  789. 495 0032 0DD0 beq .L29
  790. 496 .loc 1 279 3 discriminator 3
  791. 497 0034 7B68 ldr r3, [r7, #4]
  792. 498 0036 1B68 ldr r3, [r3]
  793. 499 0038 03F0E063 and r3, r3, #117440512
  794. 500 003c B3F1007F cmp r3, #33554432
  795. 501 0040 06D0 beq .L29
  796. 502 .loc 1 279 3 discriminator 5
  797. 503 0042 7B68 ldr r3, [r7, #4]
  798. 504 0044 1B68 ldr r3, [r3]
  799. 505 0046 03F0E063 and r3, r3, #117440512
  800. 506 004a B3F1C06F cmp r3, #100663296
  801. 507 004e 06D1 bne .L28
  802. 508 .L29:
  803. 509 .loc 1 279 3 discriminator 8
  804. 510 0050 7B68 ldr r3, [r7, #4]
  805. 511 0052 1A68 ldr r2, [r3]
  806. 512 0054 4E4B ldr r3, .L38+4
  807. 513 0056 1340 ands r3, r3, r2
  808. 514 0058 4E4A ldr r2, .L38+8
  809. 515 005a 9342 cmp r3, r2
  810. 516 005c 04D9 bls .L30
  811. 517 .L28:
  812. 518 .loc 1 279 3 discriminator 9
  813. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 15
  814. 519 005e 40F21711 movw r1, #279
  815. 520 0062 4D48 ldr r0, .L38+12
  816. 521 0064 FFF7FEFF bl assert_failed
  817. 522 .L30:
  818. 280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  819. 281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Store handle line number to configuration structure */
  820. 282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** pExtiConfig->Line = hexti->Line;
  821. 523 .loc 1 282 28 is_stmt 1
  822. 524 0068 7B68 ldr r3, [r7, #4]
  823. 525 006a 1A68 ldr r2, [r3]
  824. 526 .loc 1 282 21
  825. 527 006c 3B68 ldr r3, [r7]
  826. 528 006e 1A60 str r2, [r3]
  827. 283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  828. 284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* compute line register offset and line mask */
  829. 285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** offset = ((pExtiConfig->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT);
  830. 529 .loc 1 285 25
  831. 530 0070 3B68 ldr r3, [r7]
  832. 531 0072 1B68 ldr r3, [r3]
  833. 532 .loc 1 285 49
  834. 533 0074 1B0C lsrs r3, r3, #16
  835. 534 .loc 1 285 10
  836. 535 0076 03F00103 and r3, r3, #1
  837. 536 007a FB61 str r3, [r7, #28]
  838. 286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** linepos = (pExtiConfig->Line & EXTI_PIN_MASK);
  839. 537 .loc 1 286 25
  840. 538 007c 3B68 ldr r3, [r7]
  841. 539 007e 1B68 ldr r3, [r3]
  842. 540 .loc 1 286 11
  843. 541 0080 03F01F03 and r3, r3, #31
  844. 542 0084 BB61 str r3, [r7, #24]
  845. 287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** maskline = (1uL << linepos);
  846. 543 .loc 1 287 12
  847. 544 0086 0122 movs r2, #1
  848. 545 0088 BB69 ldr r3, [r7, #24]
  849. 546 008a 02FA03F3 lsl r3, r2, r3
  850. 547 008e 7B61 str r3, [r7, #20]
  851. 288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  852. 289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* 1] Get core mode : interrupt */
  853. 290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->IMR + (EXTI_MODE_OFFSET * offset));
  854. 548 .loc 1 290 25
  855. 549 0090 FB69 ldr r3, [r7, #28]
  856. 550 0092 5B01 lsls r3, r3, #5
  857. 551 .loc 1 290 11
  858. 552 0094 03F18043 add r3, r3, #1073741824
  859. 553 0098 03F58233 add r3, r3, #66560
  860. 554 009c 3B61 str r3, [r7, #16]
  861. 291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = *regaddr;
  862. 555 .loc 1 291 10
  863. 556 009e 3B69 ldr r3, [r7, #16]
  864. 557 00a0 1B68 ldr r3, [r3]
  865. 558 00a2 FB60 str r3, [r7, #12]
  866. 292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  867. 293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check if selected line is enable */
  868. 294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((regval & maskline) != 0x00u)
  869. 559 .loc 1 294 15
  870. 560 00a4 FA68 ldr r2, [r7, #12]
  871. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 16
  872. 561 00a6 7B69 ldr r3, [r7, #20]
  873. 562 00a8 1340 ands r3, r3, r2
  874. 563 .loc 1 294 6
  875. 564 00aa 002B cmp r3, #0
  876. 565 00ac 03D0 beq .L31
  877. 295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
  878. 296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** pExtiConfig->Mode = EXTI_MODE_INTERRUPT;
  879. 566 .loc 1 296 23
  880. 567 00ae 3B68 ldr r3, [r7]
  881. 568 00b0 0122 movs r2, #1
  882. 569 00b2 5A60 str r2, [r3, #4]
  883. 570 00b4 02E0 b .L32
  884. 571 .L31:
  885. 297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
  886. 298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** else
  887. 299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
  888. 300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** pExtiConfig->Mode = EXTI_MODE_NONE;
  889. 572 .loc 1 300 23
  890. 573 00b6 3B68 ldr r3, [r7]
  891. 574 00b8 0022 movs r2, #0
  892. 575 00ba 5A60 str r2, [r3, #4]
  893. 576 .L32:
  894. 301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
  895. 302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  896. 303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Get event mode */
  897. 304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->EMR + (EXTI_MODE_OFFSET * offset));
  898. 577 .loc 1 304 25
  899. 578 00bc FB69 ldr r3, [r7, #28]
  900. 579 00be 5A01 lsls r2, r3, #5
  901. 580 .loc 1 304 11
  902. 581 00c0 364B ldr r3, .L38+16
  903. 582 00c2 1344 add r3, r3, r2
  904. 583 00c4 3B61 str r3, [r7, #16]
  905. 305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = *regaddr;
  906. 584 .loc 1 305 10
  907. 585 00c6 3B69 ldr r3, [r7, #16]
  908. 586 00c8 1B68 ldr r3, [r3]
  909. 587 00ca FB60 str r3, [r7, #12]
  910. 306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  911. 307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check if selected line is enable */
  912. 308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((regval & maskline) != 0x00u)
  913. 588 .loc 1 308 15
  914. 589 00cc FA68 ldr r2, [r7, #12]
  915. 590 00ce 7B69 ldr r3, [r7, #20]
  916. 591 00d0 1340 ands r3, r3, r2
  917. 592 .loc 1 308 6
  918. 593 00d2 002B cmp r3, #0
  919. 594 00d4 05D0 beq .L33
  920. 309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
  921. 310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** pExtiConfig->Mode |= EXTI_MODE_EVENT;
  922. 595 .loc 1 310 23
  923. 596 00d6 3B68 ldr r3, [r7]
  924. 597 00d8 5B68 ldr r3, [r3, #4]
  925. 598 00da 43F00202 orr r2, r3, #2
  926. 599 00de 3B68 ldr r3, [r7]
  927. 600 00e0 5A60 str r2, [r3, #4]
  928. 601 .L33:
  929. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 17
  930. 311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
  931. 312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  932. 313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Get default Trigger and GPIOSel configuration */
  933. 314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** pExtiConfig->Trigger = EXTI_TRIGGER_NONE;
  934. 602 .loc 1 314 24
  935. 603 00e2 3B68 ldr r3, [r7]
  936. 604 00e4 0022 movs r2, #0
  937. 605 00e6 9A60 str r2, [r3, #8]
  938. 315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** pExtiConfig->GPIOSel = 0x00u;
  939. 606 .loc 1 315 24
  940. 607 00e8 3B68 ldr r3, [r7]
  941. 608 00ea 0022 movs r2, #0
  942. 609 00ec DA60 str r2, [r3, #12]
  943. 316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  944. 317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* 2] Get trigger for configurable lines : rising */
  945. 318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_CONFIG) != 0x00u)
  946. 610 .loc 1 318 19
  947. 611 00ee 3B68 ldr r3, [r7]
  948. 612 00f0 1B68 ldr r3, [r3]
  949. 613 .loc 1 318 26
  950. 614 00f2 03F00073 and r3, r3, #33554432
  951. 615 .loc 1 318 6
  952. 616 00f6 002B cmp r3, #0
  953. 617 00f8 43D0 beq .L34
  954. 319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
  955. 320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->RTSR + (EXTI_CONFIG_OFFSET * offset));
  956. 618 .loc 1 320 28
  957. 619 00fa FB69 ldr r3, [r7, #28]
  958. 620 00fc 5A01 lsls r2, r3, #5
  959. 621 .loc 1 320 13
  960. 622 00fe 284B ldr r3, .L38+20
  961. 623 0100 1344 add r3, r3, r2
  962. 624 0102 3B61 str r3, [r7, #16]
  963. 321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = *regaddr;
  964. 625 .loc 1 321 12
  965. 626 0104 3B69 ldr r3, [r7, #16]
  966. 627 0106 1B68 ldr r3, [r3]
  967. 628 0108 FB60 str r3, [r7, #12]
  968. 322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  969. 323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check if configuration of selected line is enable */
  970. 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((regval & maskline) != 0x00u)
  971. 629 .loc 1 324 17
  972. 630 010a FA68 ldr r2, [r7, #12]
  973. 631 010c 7B69 ldr r3, [r7, #20]
  974. 632 010e 1340 ands r3, r3, r2
  975. 633 .loc 1 324 8
  976. 634 0110 002B cmp r3, #0
  977. 635 0112 02D0 beq .L35
  978. 325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
  979. 326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** pExtiConfig->Trigger = EXTI_TRIGGER_RISING;
  980. 636 .loc 1 326 28
  981. 637 0114 3B68 ldr r3, [r7]
  982. 638 0116 0122 movs r2, #1
  983. 639 0118 9A60 str r2, [r3, #8]
  984. 640 .L35:
  985. 327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
  986. 328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  987. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 18
  988. 329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Get falling configuration */
  989. 330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->FTSR + (EXTI_CONFIG_OFFSET * offset));
  990. 641 .loc 1 330 28
  991. 642 011a FB69 ldr r3, [r7, #28]
  992. 643 011c 5A01 lsls r2, r3, #5
  993. 644 .loc 1 330 13
  994. 645 011e 214B ldr r3, .L38+24
  995. 646 0120 1344 add r3, r3, r2
  996. 647 0122 3B61 str r3, [r7, #16]
  997. 331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = *regaddr;
  998. 648 .loc 1 331 12
  999. 649 0124 3B69 ldr r3, [r7, #16]
  1000. 650 0126 1B68 ldr r3, [r3]
  1001. 651 0128 FB60 str r3, [r7, #12]
  1002. 332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  1003. 333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check if configuration of selected line is enable */
  1004. 334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((regval & maskline) != 0x00u)
  1005. 652 .loc 1 334 17
  1006. 653 012a FA68 ldr r2, [r7, #12]
  1007. 654 012c 7B69 ldr r3, [r7, #20]
  1008. 655 012e 1340 ands r3, r3, r2
  1009. 656 .loc 1 334 8
  1010. 657 0130 002B cmp r3, #0
  1011. 658 0132 05D0 beq .L36
  1012. 335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
  1013. 336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** pExtiConfig->Trigger |= EXTI_TRIGGER_FALLING;
  1014. 659 .loc 1 336 28
  1015. 660 0134 3B68 ldr r3, [r7]
  1016. 661 0136 9B68 ldr r3, [r3, #8]
  1017. 662 0138 43F00202 orr r2, r3, #2
  1018. 663 013c 3B68 ldr r3, [r7]
  1019. 664 013e 9A60 str r2, [r3, #8]
  1020. 665 .L36:
  1021. 337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
  1022. 338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  1023. 339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Get Gpio port selection for gpio lines */
  1024. 340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_GPIO) == EXTI_GPIO)
  1025. 666 .loc 1 340 21
  1026. 667 0140 3B68 ldr r3, [r7]
  1027. 668 0142 1B68 ldr r3, [r3]
  1028. 669 .loc 1 340 28
  1029. 670 0144 03F0C063 and r3, r3, #100663296
  1030. 671 .loc 1 340 8
  1031. 672 0148 B3F1C06F cmp r3, #100663296
  1032. 673 014c 19D1 bne .L34
  1033. 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
  1034. 342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos));
  1035. 674 .loc 1 342 7
  1036. 675 014e BB69 ldr r3, [r7, #24]
  1037. 676 0150 0F2B cmp r3, #15
  1038. 677 0152 04D9 bls .L37
  1039. 678 .loc 1 342 7 is_stmt 0 discriminator 1
  1040. 679 0154 4FF4AB71 mov r1, #342
  1041. 680 0158 0F48 ldr r0, .L38+12
  1042. 681 015a FFF7FEFF bl assert_failed
  1043. 682 .L37:
  1044. 343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  1045. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 19
  1046. 344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = SYSCFG->EXTICR[linepos >> 2u];
  1047. 683 .loc 1 344 22 is_stmt 1
  1048. 684 015e 124A ldr r2, .L38+28
  1049. 685 .loc 1 344 39
  1050. 686 0160 BB69 ldr r3, [r7, #24]
  1051. 687 0162 9B08 lsrs r3, r3, #2
  1052. 688 .loc 1 344 14
  1053. 689 0164 0233 adds r3, r3, #2
  1054. 690 0166 52F82330 ldr r3, [r2, r3, lsl #2]
  1055. 691 016a FB60 str r3, [r7, #12]
  1056. 345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** pExtiConfig->GPIOSel = (regval >> (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))) & SYSCFG_EX
  1057. 692 .loc 1 345 78
  1058. 693 016c BB69 ldr r3, [r7, #24]
  1059. 694 016e 03F00303 and r3, r3, #3
  1060. 695 .loc 1 345 67
  1061. 696 0172 9B00 lsls r3, r3, #2
  1062. 697 .loc 1 345 38
  1063. 698 0174 FA68 ldr r2, [r7, #12]
  1064. 699 0176 22FA03F3 lsr r3, r2, r3
  1065. 700 .loc 1 345 89
  1066. 701 017a 03F00F02 and r2, r3, #15
  1067. 702 .loc 1 345 28
  1068. 703 017e 3B68 ldr r3, [r7]
  1069. 704 0180 DA60 str r2, [r3, #12]
  1070. 705 .L34:
  1071. 346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
  1072. 347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
  1073. 348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  1074. 349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return HAL_OK;
  1075. 706 .loc 1 349 10
  1076. 707 0182 0023 movs r3, #0
  1077. 708 .L27:
  1078. 350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
  1079. 709 .loc 1 350 1
  1080. 710 0184 1846 mov r0, r3
  1081. 711 0186 2037 adds r7, r7, #32
  1082. 712 .LCFI8:
  1083. 713 .cfi_def_cfa_offset 8
  1084. 714 0188 BD46 mov sp, r7
  1085. 715 .LCFI9:
  1086. 716 .cfi_def_cfa_register 13
  1087. 717 @ sp needed
  1088. 718 018a 80BD pop {r7, pc}
  1089. 719 .L39:
  1090. 720 .align 2
  1091. 721 .L38:
  1092. 722 018c E0FFFEF8 .word -117506080
  1093. 723 0190 1F000100 .word 65567
  1094. 724 0194 03000100 .word 65539
  1095. 725 0198 00000000 .word .LC0
  1096. 726 019c 04040140 .word 1073808388
  1097. 727 01a0 08040140 .word 1073808392
  1098. 728 01a4 0C040140 .word 1073808396
  1099. 729 01a8 00000140 .word 1073807360
  1100. 730 .cfi_endproc
  1101. 731 .LFE131:
  1102. 733 .section .text.HAL_EXTI_ClearConfigLine,"ax",%progbits
  1103. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 20
  1104. 734 .align 1
  1105. 735 .global HAL_EXTI_ClearConfigLine
  1106. 736 .syntax unified
  1107. 737 .thumb
  1108. 738 .thumb_func
  1109. 740 HAL_EXTI_ClearConfigLine:
  1110. 741 .LFB132:
  1111. 351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  1112. 352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /**
  1113. 353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @brief Clear whole configuration of a dedicated Exti line.
  1114. 354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param hexti Exti handle.
  1115. 355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @retval HAL Status.
  1116. 356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
  1117. 357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_ClearConfigLine(EXTI_HandleTypeDef *hexti)
  1118. 358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
  1119. 742 .loc 1 358 1
  1120. 743 .cfi_startproc
  1121. 744 @ args = 0, pretend = 0, frame = 32
  1122. 745 @ frame_needed = 1, uses_anonymous_args = 0
  1123. 746 0000 80B5 push {r7, lr}
  1124. 747 .LCFI10:
  1125. 748 .cfi_def_cfa_offset 8
  1126. 749 .cfi_offset 7, -8
  1127. 750 .cfi_offset 14, -4
  1128. 751 0002 88B0 sub sp, sp, #32
  1129. 752 .LCFI11:
  1130. 753 .cfi_def_cfa_offset 40
  1131. 754 0004 00AF add r7, sp, #0
  1132. 755 .LCFI12:
  1133. 756 .cfi_def_cfa_register 7
  1134. 757 0006 7860 str r0, [r7, #4]
  1135. 359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** __IO uint32_t *regaddr;
  1136. 360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t regval;
  1137. 361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t linepos;
  1138. 362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t maskline;
  1139. 363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t offset;
  1140. 364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  1141. 365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check null pointer */
  1142. 366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if (hexti == NULL)
  1143. 758 .loc 1 366 6
  1144. 759 0008 7B68 ldr r3, [r7, #4]
  1145. 760 000a 002B cmp r3, #0
  1146. 761 000c 01D1 bne .L41
  1147. 367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
  1148. 368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return HAL_ERROR;
  1149. 762 .loc 1 368 12
  1150. 763 000e 0123 movs r3, #1
  1151. 764 0010 9FE0 b .L42
  1152. 765 .L41:
  1153. 369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
  1154. 370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  1155. 371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check the parameter */
  1156. 372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
  1157. 766 .loc 1 372 3
  1158. 767 0012 7B68 ldr r3, [r7, #4]
  1159. 768 0014 1A68 ldr r2, [r3]
  1160. 769 0016 514B ldr r3, .L48
  1161. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 21
  1162. 770 0018 1340 ands r3, r3, r2
  1163. 771 001a 002B cmp r3, #0
  1164. 772 001c 1BD1 bne .L43
  1165. 773 .loc 1 372 3 is_stmt 0 discriminator 2
  1166. 774 001e 7B68 ldr r3, [r7, #4]
  1167. 775 0020 1B68 ldr r3, [r3]
  1168. 776 0022 03F0E063 and r3, r3, #117440512
  1169. 777 0026 B3F1807F cmp r3, #16777216
  1170. 778 002a 0DD0 beq .L44
  1171. 779 .loc 1 372 3 discriminator 3
  1172. 780 002c 7B68 ldr r3, [r7, #4]
  1173. 781 002e 1B68 ldr r3, [r3]
  1174. 782 0030 03F0E063 and r3, r3, #117440512
  1175. 783 0034 B3F1007F cmp r3, #33554432
  1176. 784 0038 06D0 beq .L44
  1177. 785 .loc 1 372 3 discriminator 5
  1178. 786 003a 7B68 ldr r3, [r7, #4]
  1179. 787 003c 1B68 ldr r3, [r3]
  1180. 788 003e 03F0E063 and r3, r3, #117440512
  1181. 789 0042 B3F1C06F cmp r3, #100663296
  1182. 790 0046 06D1 bne .L43
  1183. 791 .L44:
  1184. 792 .loc 1 372 3 discriminator 8
  1185. 793 0048 7B68 ldr r3, [r7, #4]
  1186. 794 004a 1A68 ldr r2, [r3]
  1187. 795 004c 444B ldr r3, .L48+4
  1188. 796 004e 1340 ands r3, r3, r2
  1189. 797 0050 444A ldr r2, .L48+8
  1190. 798 0052 9342 cmp r3, r2
  1191. 799 0054 04D9 bls .L45
  1192. 800 .L43:
  1193. 801 .loc 1 372 3 discriminator 9
  1194. 802 0056 4FF4BA71 mov r1, #372
  1195. 803 005a 4348 ldr r0, .L48+12
  1196. 804 005c FFF7FEFF bl assert_failed
  1197. 805 .L45:
  1198. 373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  1199. 374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* compute line register offset and line mask */
  1200. 375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** offset = ((hexti->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT);
  1201. 806 .loc 1 375 19 is_stmt 1
  1202. 807 0060 7B68 ldr r3, [r7, #4]
  1203. 808 0062 1B68 ldr r3, [r3]
  1204. 809 .loc 1 375 43
  1205. 810 0064 1B0C lsrs r3, r3, #16
  1206. 811 .loc 1 375 10
  1207. 812 0066 03F00103 and r3, r3, #1
  1208. 813 006a FB61 str r3, [r7, #28]
  1209. 376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** linepos = (hexti->Line & EXTI_PIN_MASK);
  1210. 814 .loc 1 376 19
  1211. 815 006c 7B68 ldr r3, [r7, #4]
  1212. 816 006e 1B68 ldr r3, [r3]
  1213. 817 .loc 1 376 11
  1214. 818 0070 03F01F03 and r3, r3, #31
  1215. 819 0074 BB61 str r3, [r7, #24]
  1216. 377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** maskline = (1uL << linepos);
  1217. 820 .loc 1 377 12
  1218. 821 0076 0122 movs r2, #1
  1219. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 22
  1220. 822 0078 BB69 ldr r3, [r7, #24]
  1221. 823 007a 02FA03F3 lsl r3, r2, r3
  1222. 824 007e 7B61 str r3, [r7, #20]
  1223. 378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  1224. 379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* 1] Clear interrupt mode */
  1225. 380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->IMR + (EXTI_MODE_OFFSET * offset));
  1226. 825 .loc 1 380 25
  1227. 826 0080 FB69 ldr r3, [r7, #28]
  1228. 827 0082 5B01 lsls r3, r3, #5
  1229. 828 .loc 1 380 11
  1230. 829 0084 03F18043 add r3, r3, #1073741824
  1231. 830 0088 03F58233 add r3, r3, #66560
  1232. 831 008c 3B61 str r3, [r7, #16]
  1233. 381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = (*regaddr & ~maskline);
  1234. 832 .loc 1 381 13
  1235. 833 008e 3B69 ldr r3, [r7, #16]
  1236. 834 0090 1A68 ldr r2, [r3]
  1237. 835 .loc 1 381 24
  1238. 836 0092 7B69 ldr r3, [r7, #20]
  1239. 837 0094 DB43 mvns r3, r3
  1240. 838 .loc 1 381 10
  1241. 839 0096 1340 ands r3, r3, r2
  1242. 840 0098 FB60 str r3, [r7, #12]
  1243. 382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *regaddr = regval;
  1244. 841 .loc 1 382 12
  1245. 842 009a 3B69 ldr r3, [r7, #16]
  1246. 843 009c FA68 ldr r2, [r7, #12]
  1247. 844 009e 1A60 str r2, [r3]
  1248. 383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  1249. 384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* 2] Clear event mode */
  1250. 385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->EMR + (EXTI_MODE_OFFSET * offset));
  1251. 845 .loc 1 385 25
  1252. 846 00a0 FB69 ldr r3, [r7, #28]
  1253. 847 00a2 5A01 lsls r2, r3, #5
  1254. 848 .loc 1 385 11
  1255. 849 00a4 314B ldr r3, .L48+16
  1256. 850 00a6 1344 add r3, r3, r2
  1257. 851 00a8 3B61 str r3, [r7, #16]
  1258. 386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = (*regaddr & ~maskline);
  1259. 852 .loc 1 386 13
  1260. 853 00aa 3B69 ldr r3, [r7, #16]
  1261. 854 00ac 1A68 ldr r2, [r3]
  1262. 855 .loc 1 386 24
  1263. 856 00ae 7B69 ldr r3, [r7, #20]
  1264. 857 00b0 DB43 mvns r3, r3
  1265. 858 .loc 1 386 10
  1266. 859 00b2 1340 ands r3, r3, r2
  1267. 860 00b4 FB60 str r3, [r7, #12]
  1268. 387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *regaddr = regval;
  1269. 861 .loc 1 387 12
  1270. 862 00b6 3B69 ldr r3, [r7, #16]
  1271. 863 00b8 FA68 ldr r2, [r7, #12]
  1272. 864 00ba 1A60 str r2, [r3]
  1273. 388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  1274. 389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* 3] Clear triggers in case of configurable lines */
  1275. 390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((hexti->Line & EXTI_CONFIG) != 0x00u)
  1276. 865 .loc 1 390 13
  1277. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 23
  1278. 866 00bc 7B68 ldr r3, [r7, #4]
  1279. 867 00be 1B68 ldr r3, [r3]
  1280. 868 .loc 1 390 20
  1281. 869 00c0 03F00073 and r3, r3, #33554432
  1282. 870 .loc 1 390 6
  1283. 871 00c4 002B cmp r3, #0
  1284. 872 00c6 43D0 beq .L46
  1285. 391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
  1286. 392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->RTSR + (EXTI_CONFIG_OFFSET * offset));
  1287. 873 .loc 1 392 28
  1288. 874 00c8 FB69 ldr r3, [r7, #28]
  1289. 875 00ca 5A01 lsls r2, r3, #5
  1290. 876 .loc 1 392 13
  1291. 877 00cc 284B ldr r3, .L48+20
  1292. 878 00ce 1344 add r3, r3, r2
  1293. 879 00d0 3B61 str r3, [r7, #16]
  1294. 393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = (*regaddr & ~maskline);
  1295. 880 .loc 1 393 15
  1296. 881 00d2 3B69 ldr r3, [r7, #16]
  1297. 882 00d4 1A68 ldr r2, [r3]
  1298. 883 .loc 1 393 26
  1299. 884 00d6 7B69 ldr r3, [r7, #20]
  1300. 885 00d8 DB43 mvns r3, r3
  1301. 886 .loc 1 393 12
  1302. 887 00da 1340 ands r3, r3, r2
  1303. 888 00dc FB60 str r3, [r7, #12]
  1304. 394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *regaddr = regval;
  1305. 889 .loc 1 394 14
  1306. 890 00de 3B69 ldr r3, [r7, #16]
  1307. 891 00e0 FA68 ldr r2, [r7, #12]
  1308. 892 00e2 1A60 str r2, [r3]
  1309. 395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  1310. 396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->FTSR + (EXTI_CONFIG_OFFSET * offset));
  1311. 893 .loc 1 396 28
  1312. 894 00e4 FB69 ldr r3, [r7, #28]
  1313. 895 00e6 5A01 lsls r2, r3, #5
  1314. 896 .loc 1 396 13
  1315. 897 00e8 224B ldr r3, .L48+24
  1316. 898 00ea 1344 add r3, r3, r2
  1317. 899 00ec 3B61 str r3, [r7, #16]
  1318. 397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = (*regaddr & ~maskline);
  1319. 900 .loc 1 397 15
  1320. 901 00ee 3B69 ldr r3, [r7, #16]
  1321. 902 00f0 1A68 ldr r2, [r3]
  1322. 903 .loc 1 397 26
  1323. 904 00f2 7B69 ldr r3, [r7, #20]
  1324. 905 00f4 DB43 mvns r3, r3
  1325. 906 .loc 1 397 12
  1326. 907 00f6 1340 ands r3, r3, r2
  1327. 908 00f8 FB60 str r3, [r7, #12]
  1328. 398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *regaddr = regval;
  1329. 909 .loc 1 398 14
  1330. 910 00fa 3B69 ldr r3, [r7, #16]
  1331. 911 00fc FA68 ldr r2, [r7, #12]
  1332. 912 00fe 1A60 str r2, [r3]
  1333. 399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  1334. 400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Get Gpio port selection for gpio lines */
  1335. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 24
  1336. 401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((hexti->Line & EXTI_GPIO) == EXTI_GPIO)
  1337. 913 .loc 1 401 15
  1338. 914 0100 7B68 ldr r3, [r7, #4]
  1339. 915 0102 1B68 ldr r3, [r3]
  1340. 916 .loc 1 401 22
  1341. 917 0104 03F0C063 and r3, r3, #100663296
  1342. 918 .loc 1 401 8
  1343. 919 0108 B3F1C06F cmp r3, #100663296
  1344. 920 010c 20D1 bne .L46
  1345. 402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
  1346. 403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos));
  1347. 921 .loc 1 403 7
  1348. 922 010e BB69 ldr r3, [r7, #24]
  1349. 923 0110 0F2B cmp r3, #15
  1350. 924 0112 04D9 bls .L47
  1351. 925 .loc 1 403 7 is_stmt 0 discriminator 1
  1352. 926 0114 40F29311 movw r1, #403
  1353. 927 0118 1348 ldr r0, .L48+12
  1354. 928 011a FFF7FEFF bl assert_failed
  1355. 929 .L47:
  1356. 404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  1357. 405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = SYSCFG->EXTICR[linepos >> 2u];
  1358. 930 .loc 1 405 22 is_stmt 1
  1359. 931 011e 164A ldr r2, .L48+28
  1360. 932 .loc 1 405 39
  1361. 933 0120 BB69 ldr r3, [r7, #24]
  1362. 934 0122 9B08 lsrs r3, r3, #2
  1363. 935 .loc 1 405 14
  1364. 936 0124 0233 adds r3, r3, #2
  1365. 937 0126 52F82330 ldr r3, [r2, r3, lsl #2]
  1366. 938 012a FB60 str r3, [r7, #12]
  1367. 406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
  1368. 939 .loc 1 406 80
  1369. 940 012c BB69 ldr r3, [r7, #24]
  1370. 941 012e 03F00303 and r3, r3, #3
  1371. 942 .loc 1 406 69
  1372. 943 0132 9B00 lsls r3, r3, #2
  1373. 944 .loc 1 406 40
  1374. 945 0134 0F22 movs r2, #15
  1375. 946 0136 02FA03F3 lsl r3, r2, r3
  1376. 947 .loc 1 406 17
  1377. 948 013a DB43 mvns r3, r3
  1378. 949 .loc 1 406 14
  1379. 950 013c FA68 ldr r2, [r7, #12]
  1380. 951 013e 1340 ands r3, r3, r2
  1381. 952 0140 FB60 str r3, [r7, #12]
  1382. 407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
  1383. 953 .loc 1 407 13
  1384. 954 0142 0D49 ldr r1, .L48+28
  1385. 955 .loc 1 407 30
  1386. 956 0144 BB69 ldr r3, [r7, #24]
  1387. 957 0146 9B08 lsrs r3, r3, #2
  1388. 958 .loc 1 407 37
  1389. 959 0148 0233 adds r3, r3, #2
  1390. 960 014a FA68 ldr r2, [r7, #12]
  1391. 961 014c 41F82320 str r2, [r1, r3, lsl #2]
  1392. 962 .L46:
  1393. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 25
  1394. 408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
  1395. 409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
  1396. 410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  1397. 411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return HAL_OK;
  1398. 963 .loc 1 411 10
  1399. 964 0150 0023 movs r3, #0
  1400. 965 .L42:
  1401. 412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
  1402. 966 .loc 1 412 1
  1403. 967 0152 1846 mov r0, r3
  1404. 968 0154 2037 adds r7, r7, #32
  1405. 969 .LCFI13:
  1406. 970 .cfi_def_cfa_offset 8
  1407. 971 0156 BD46 mov sp, r7
  1408. 972 .LCFI14:
  1409. 973 .cfi_def_cfa_register 13
  1410. 974 @ sp needed
  1411. 975 0158 80BD pop {r7, pc}
  1412. 976 .L49:
  1413. 977 015a 00BF .align 2
  1414. 978 .L48:
  1415. 979 015c E0FFFEF8 .word -117506080
  1416. 980 0160 1F000100 .word 65567
  1417. 981 0164 03000100 .word 65539
  1418. 982 0168 00000000 .word .LC0
  1419. 983 016c 04040140 .word 1073808388
  1420. 984 0170 08040140 .word 1073808392
  1421. 985 0174 0C040140 .word 1073808396
  1422. 986 0178 00000140 .word 1073807360
  1423. 987 .cfi_endproc
  1424. 988 .LFE132:
  1425. 990 .section .text.HAL_EXTI_RegisterCallback,"ax",%progbits
  1426. 991 .align 1
  1427. 992 .global HAL_EXTI_RegisterCallback
  1428. 993 .syntax unified
  1429. 994 .thumb
  1430. 995 .thumb_func
  1431. 997 HAL_EXTI_RegisterCallback:
  1432. 998 .LFB133:
  1433. 413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  1434. 414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /**
  1435. 415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @brief Register callback for a dedicated Exti line.
  1436. 416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param hexti Exti handle.
  1437. 417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param CallbackID User callback identifier.
  1438. 418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * This parameter can be one of @arg @ref EXTI_CallbackIDTypeDef values.
  1439. 419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param pPendingCbfn function pointer to be stored as callback.
  1440. 420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @retval HAL Status.
  1441. 421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
  1442. 422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_RegisterCallback(EXTI_HandleTypeDef *hexti, EXTI_CallbackIDTypeDef Callb
  1443. 423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
  1444. 999 .loc 1 423 1
  1445. 1000 .cfi_startproc
  1446. 1001 @ args = 0, pretend = 0, frame = 24
  1447. 1002 @ frame_needed = 1, uses_anonymous_args = 0
  1448. 1003 @ link register save eliminated.
  1449. 1004 0000 80B4 push {r7}
  1450. 1005 .LCFI15:
  1451. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 26
  1452. 1006 .cfi_def_cfa_offset 4
  1453. 1007 .cfi_offset 7, -4
  1454. 1008 0002 87B0 sub sp, sp, #28
  1455. 1009 .LCFI16:
  1456. 1010 .cfi_def_cfa_offset 32
  1457. 1011 0004 00AF add r7, sp, #0
  1458. 1012 .LCFI17:
  1459. 1013 .cfi_def_cfa_register 7
  1460. 1014 0006 F860 str r0, [r7, #12]
  1461. 1015 0008 0B46 mov r3, r1
  1462. 1016 000a 7A60 str r2, [r7, #4]
  1463. 1017 000c FB72 strb r3, [r7, #11]
  1464. 424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** HAL_StatusTypeDef status = HAL_OK;
  1465. 1018 .loc 1 424 21
  1466. 1019 000e 0023 movs r3, #0
  1467. 1020 0010 FB75 strb r3, [r7, #23]
  1468. 425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  1469. 426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** switch (CallbackID)
  1470. 1021 .loc 1 426 3
  1471. 1022 0012 FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
  1472. 1023 0014 002B cmp r3, #0
  1473. 1024 0016 03D1 bne .L51
  1474. 427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
  1475. 428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** case HAL_EXTI_COMMON_CB_ID:
  1476. 429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** hexti->PendingCallback = pPendingCbfn;
  1477. 1025 .loc 1 429 30
  1478. 1026 0018 FB68 ldr r3, [r7, #12]
  1479. 1027 001a 7A68 ldr r2, [r7, #4]
  1480. 1028 001c 5A60 str r2, [r3, #4]
  1481. 430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** break;
  1482. 1029 .loc 1 430 7
  1483. 1030 001e 02E0 b .L52
  1484. 1031 .L51:
  1485. 431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  1486. 432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** default:
  1487. 433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** status = HAL_ERROR;
  1488. 1032 .loc 1 433 14
  1489. 1033 0020 0123 movs r3, #1
  1490. 1034 0022 FB75 strb r3, [r7, #23]
  1491. 434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** break;
  1492. 1035 .loc 1 434 7
  1493. 1036 0024 00BF nop
  1494. 1037 .L52:
  1495. 435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
  1496. 436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  1497. 437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return status;
  1498. 1038 .loc 1 437 10
  1499. 1039 0026 FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
  1500. 438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
  1501. 1040 .loc 1 438 1
  1502. 1041 0028 1846 mov r0, r3
  1503. 1042 002a 1C37 adds r7, r7, #28
  1504. 1043 .LCFI18:
  1505. 1044 .cfi_def_cfa_offset 4
  1506. 1045 002c BD46 mov sp, r7
  1507. 1046 .LCFI19:
  1508. 1047 .cfi_def_cfa_register 13
  1509. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 27
  1510. 1048 @ sp needed
  1511. 1049 002e 5DF8047B ldr r7, [sp], #4
  1512. 1050 .LCFI20:
  1513. 1051 .cfi_restore 7
  1514. 1052 .cfi_def_cfa_offset 0
  1515. 1053 0032 7047 bx lr
  1516. 1054 .cfi_endproc
  1517. 1055 .LFE133:
  1518. 1057 .section .text.HAL_EXTI_GetHandle,"ax",%progbits
  1519. 1058 .align 1
  1520. 1059 .global HAL_EXTI_GetHandle
  1521. 1060 .syntax unified
  1522. 1061 .thumb
  1523. 1062 .thumb_func
  1524. 1064 HAL_EXTI_GetHandle:
  1525. 1065 .LFB134:
  1526. 439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  1527. 440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /**
  1528. 441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @brief Store line number as handle private field.
  1529. 442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param hexti Exti handle.
  1530. 443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param ExtiLine Exti line number.
  1531. 444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * This parameter can be from 0 to @ref EXTI_LINE_NB.
  1532. 445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @retval HAL Status.
  1533. 446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
  1534. 447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_GetHandle(EXTI_HandleTypeDef *hexti, uint32_t ExtiLine)
  1535. 448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
  1536. 1066 .loc 1 448 1
  1537. 1067 .cfi_startproc
  1538. 1068 @ args = 0, pretend = 0, frame = 8
  1539. 1069 @ frame_needed = 1, uses_anonymous_args = 0
  1540. 1070 0000 80B5 push {r7, lr}
  1541. 1071 .LCFI21:
  1542. 1072 .cfi_def_cfa_offset 8
  1543. 1073 .cfi_offset 7, -8
  1544. 1074 .cfi_offset 14, -4
  1545. 1075 0002 82B0 sub sp, sp, #8
  1546. 1076 .LCFI22:
  1547. 1077 .cfi_def_cfa_offset 16
  1548. 1078 0004 00AF add r7, sp, #0
  1549. 1079 .LCFI23:
  1550. 1080 .cfi_def_cfa_register 7
  1551. 1081 0006 7860 str r0, [r7, #4]
  1552. 1082 0008 3960 str r1, [r7]
  1553. 449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check the parameters */
  1554. 450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_LINE(ExtiLine));
  1555. 1083 .loc 1 450 3
  1556. 1084 000a 3A68 ldr r2, [r7]
  1557. 1085 000c 164B ldr r3, .L60
  1558. 1086 000e 1340 ands r3, r3, r2
  1559. 1087 0010 002B cmp r3, #0
  1560. 1088 0012 17D1 bne .L55
  1561. 1089 .loc 1 450 3 is_stmt 0 discriminator 2
  1562. 1090 0014 3B68 ldr r3, [r7]
  1563. 1091 0016 03F0E063 and r3, r3, #117440512
  1564. 1092 001a B3F1807F cmp r3, #16777216
  1565. 1093 001e 0BD0 beq .L56
  1566. 1094 .loc 1 450 3 discriminator 3
  1567. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 28
  1568. 1095 0020 3B68 ldr r3, [r7]
  1569. 1096 0022 03F0E063 and r3, r3, #117440512
  1570. 1097 0026 B3F1007F cmp r3, #33554432
  1571. 1098 002a 05D0 beq .L56
  1572. 1099 .loc 1 450 3 discriminator 5
  1573. 1100 002c 3B68 ldr r3, [r7]
  1574. 1101 002e 03F0E063 and r3, r3, #117440512
  1575. 1102 0032 B3F1C06F cmp r3, #100663296
  1576. 1103 0036 05D1 bne .L55
  1577. 1104 .L56:
  1578. 1105 .loc 1 450 3 discriminator 8
  1579. 1106 0038 3A68 ldr r2, [r7]
  1580. 1107 003a 0C4B ldr r3, .L60+4
  1581. 1108 003c 1340 ands r3, r3, r2
  1582. 1109 003e 0C4A ldr r2, .L60+8
  1583. 1110 0040 9342 cmp r3, r2
  1584. 1111 0042 04D9 bls .L57
  1585. 1112 .L55:
  1586. 1113 .loc 1 450 3 discriminator 9
  1587. 1114 0044 4FF4E171 mov r1, #450
  1588. 1115 0048 0A48 ldr r0, .L60+12
  1589. 1116 004a FFF7FEFF bl assert_failed
  1590. 1117 .L57:
  1591. 451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  1592. 452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check null pointer */
  1593. 453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if (hexti == NULL)
  1594. 1118 .loc 1 453 6 is_stmt 1
  1595. 1119 004e 7B68 ldr r3, [r7, #4]
  1596. 1120 0050 002B cmp r3, #0
  1597. 1121 0052 01D1 bne .L58
  1598. 454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
  1599. 455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return HAL_ERROR;
  1600. 1122 .loc 1 455 12
  1601. 1123 0054 0123 movs r3, #1
  1602. 1124 0056 03E0 b .L59
  1603. 1125 .L58:
  1604. 456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
  1605. 457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** else
  1606. 458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
  1607. 459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Store line number as handle private field */
  1608. 460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** hexti->Line = ExtiLine;
  1609. 1126 .loc 1 460 17
  1610. 1127 0058 7B68 ldr r3, [r7, #4]
  1611. 1128 005a 3A68 ldr r2, [r7]
  1612. 1129 005c 1A60 str r2, [r3]
  1613. 461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  1614. 462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return HAL_OK;
  1615. 1130 .loc 1 462 12
  1616. 1131 005e 0023 movs r3, #0
  1617. 1132 .L59:
  1618. 463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
  1619. 464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
  1620. 1133 .loc 1 464 1
  1621. 1134 0060 1846 mov r0, r3
  1622. 1135 0062 0837 adds r7, r7, #8
  1623. 1136 .LCFI24:
  1624. 1137 .cfi_def_cfa_offset 8
  1625. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 29
  1626. 1138 0064 BD46 mov sp, r7
  1627. 1139 .LCFI25:
  1628. 1140 .cfi_def_cfa_register 13
  1629. 1141 @ sp needed
  1630. 1142 0066 80BD pop {r7, pc}
  1631. 1143 .L61:
  1632. 1144 .align 2
  1633. 1145 .L60:
  1634. 1146 0068 E0FFFEF8 .word -117506080
  1635. 1147 006c 1F000100 .word 65567
  1636. 1148 0070 03000100 .word 65539
  1637. 1149 0074 00000000 .word .LC0
  1638. 1150 .cfi_endproc
  1639. 1151 .LFE134:
  1640. 1153 .section .text.HAL_EXTI_IRQHandler,"ax",%progbits
  1641. 1154 .align 1
  1642. 1155 .global HAL_EXTI_IRQHandler
  1643. 1156 .syntax unified
  1644. 1157 .thumb
  1645. 1158 .thumb_func
  1646. 1160 HAL_EXTI_IRQHandler:
  1647. 1161 .LFB135:
  1648. 465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  1649. 466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /**
  1650. 467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @}
  1651. 468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
  1652. 469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  1653. 470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions_Group2
  1654. 471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @brief EXTI IO functions.
  1655. 472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *
  1656. 473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** @verbatim
  1657. 474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ===============================================================================
  1658. 475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ##### IO operation functions #####
  1659. 476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ===============================================================================
  1660. 477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  1661. 478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** @endverbatim
  1662. 479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @{
  1663. 480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
  1664. 481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  1665. 482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /**
  1666. 483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @brief Handle EXTI interrupt request.
  1667. 484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param hexti Exti handle.
  1668. 485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @retval none.
  1669. 486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
  1670. 487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** void HAL_EXTI_IRQHandler(EXTI_HandleTypeDef *hexti)
  1671. 488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
  1672. 1162 .loc 1 488 1
  1673. 1163 .cfi_startproc
  1674. 1164 @ args = 0, pretend = 0, frame = 24
  1675. 1165 @ frame_needed = 1, uses_anonymous_args = 0
  1676. 1166 0000 80B5 push {r7, lr}
  1677. 1167 .LCFI26:
  1678. 1168 .cfi_def_cfa_offset 8
  1679. 1169 .cfi_offset 7, -8
  1680. 1170 .cfi_offset 14, -4
  1681. 1171 0002 86B0 sub sp, sp, #24
  1682. 1172 .LCFI27:
  1683. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 30
  1684. 1173 .cfi_def_cfa_offset 32
  1685. 1174 0004 00AF add r7, sp, #0
  1686. 1175 .LCFI28:
  1687. 1176 .cfi_def_cfa_register 7
  1688. 1177 0006 7860 str r0, [r7, #4]
  1689. 489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** __IO uint32_t *regaddr;
  1690. 490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t regval;
  1691. 491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t maskline;
  1692. 492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t offset;
  1693. 493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  1694. 494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Compute line register offset and line mask */
  1695. 495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** offset = ((hexti->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT);
  1696. 1178 .loc 1 495 19
  1697. 1179 0008 7B68 ldr r3, [r7, #4]
  1698. 1180 000a 1B68 ldr r3, [r3]
  1699. 1181 .loc 1 495 43
  1700. 1182 000c 1B0C lsrs r3, r3, #16
  1701. 1183 .loc 1 495 10
  1702. 1184 000e 03F00103 and r3, r3, #1
  1703. 1185 0012 7B61 str r3, [r7, #20]
  1704. 496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK));
  1705. 1186 .loc 1 496 28
  1706. 1187 0014 7B68 ldr r3, [r7, #4]
  1707. 1188 0016 1B68 ldr r3, [r3]
  1708. 1189 .loc 1 496 35
  1709. 1190 0018 03F01F03 and r3, r3, #31
  1710. 1191 .loc 1 496 12
  1711. 1192 001c 0122 movs r2, #1
  1712. 1193 001e 02FA03F3 lsl r3, r2, r3
  1713. 1194 0022 3B61 str r3, [r7, #16]
  1714. 497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  1715. 498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Get pending bit */
  1716. 499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->PR + (EXTI_CONFIG_OFFSET * offset));
  1717. 1195 .loc 1 499 24
  1718. 1196 0024 7B69 ldr r3, [r7, #20]
  1719. 1197 0026 5A01 lsls r2, r3, #5
  1720. 1198 .loc 1 499 11
  1721. 1199 0028 0C4B ldr r3, .L65
  1722. 1200 002a 1344 add r3, r3, r2
  1723. 1201 002c FB60 str r3, [r7, #12]
  1724. 500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = (*regaddr & maskline);
  1725. 1202 .loc 1 500 13
  1726. 1203 002e FB68 ldr r3, [r7, #12]
  1727. 1204 0030 1B68 ldr r3, [r3]
  1728. 1205 .loc 1 500 10
  1729. 1206 0032 3A69 ldr r2, [r7, #16]
  1730. 1207 0034 1340 ands r3, r3, r2
  1731. 1208 0036 BB60 str r3, [r7, #8]
  1732. 501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  1733. 502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if (regval != 0x00u)
  1734. 1209 .loc 1 502 6
  1735. 1210 0038 BB68 ldr r3, [r7, #8]
  1736. 1211 003a 002B cmp r3, #0
  1737. 1212 003c 09D0 beq .L64
  1738. 503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
  1739. 504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Clear pending bit */
  1740. 505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** EXTI->PR = maskline;
  1741. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 31
  1742. 1213 .loc 1 505 9
  1743. 1214 003e 084A ldr r2, .L65+4
  1744. 1215 .loc 1 505 14
  1745. 1216 0040 3B69 ldr r3, [r7, #16]
  1746. 1217 0042 5361 str r3, [r2, #20]
  1747. 506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  1748. 507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Call callback */
  1749. 508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if (hexti->PendingCallback != NULL)
  1750. 1218 .loc 1 508 14
  1751. 1219 0044 7B68 ldr r3, [r7, #4]
  1752. 1220 0046 5B68 ldr r3, [r3, #4]
  1753. 1221 .loc 1 508 8
  1754. 1222 0048 002B cmp r3, #0
  1755. 1223 004a 02D0 beq .L64
  1756. 509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
  1757. 510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** hexti->PendingCallback();
  1758. 1224 .loc 1 510 12
  1759. 1225 004c 7B68 ldr r3, [r7, #4]
  1760. 1226 004e 5B68 ldr r3, [r3, #4]
  1761. 1227 .loc 1 510 7
  1762. 1228 0050 9847 blx r3
  1763. 1229 .LVL0:
  1764. 1230 .L64:
  1765. 511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
  1766. 512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
  1767. 513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
  1768. 1231 .loc 1 513 1
  1769. 1232 0052 00BF nop
  1770. 1233 0054 1837 adds r7, r7, #24
  1771. 1234 .LCFI29:
  1772. 1235 .cfi_def_cfa_offset 8
  1773. 1236 0056 BD46 mov sp, r7
  1774. 1237 .LCFI30:
  1775. 1238 .cfi_def_cfa_register 13
  1776. 1239 @ sp needed
  1777. 1240 0058 80BD pop {r7, pc}
  1778. 1241 .L66:
  1779. 1242 005a 00BF .align 2
  1780. 1243 .L65:
  1781. 1244 005c 14040140 .word 1073808404
  1782. 1245 0060 00040140 .word 1073808384
  1783. 1246 .cfi_endproc
  1784. 1247 .LFE135:
  1785. 1249 .section .text.HAL_EXTI_GetPending,"ax",%progbits
  1786. 1250 .align 1
  1787. 1251 .global HAL_EXTI_GetPending
  1788. 1252 .syntax unified
  1789. 1253 .thumb
  1790. 1254 .thumb_func
  1791. 1256 HAL_EXTI_GetPending:
  1792. 1257 .LFB136:
  1793. 514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  1794. 515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /**
  1795. 516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @brief Get interrupt pending bit of a dedicated line.
  1796. 517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param hexti Exti handle.
  1797. 518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param Edge Specify which pending edge as to be checked.
  1798. 519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * This parameter can be one of the following values:
  1799. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 32
  1800. 520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @arg @ref EXTI_TRIGGER_RISING_FALLING
  1801. 521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * This parameter is kept for compatibility with other series.
  1802. 522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @retval 1 if interrupt is pending else 0.
  1803. 523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
  1804. 524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t HAL_EXTI_GetPending(EXTI_HandleTypeDef *hexti, uint32_t Edge)
  1805. 525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
  1806. 1258 .loc 1 525 1
  1807. 1259 .cfi_startproc
  1808. 1260 @ args = 0, pretend = 0, frame = 32
  1809. 1261 @ frame_needed = 1, uses_anonymous_args = 0
  1810. 1262 0000 80B5 push {r7, lr}
  1811. 1263 .LCFI31:
  1812. 1264 .cfi_def_cfa_offset 8
  1813. 1265 .cfi_offset 7, -8
  1814. 1266 .cfi_offset 14, -4
  1815. 1267 0002 88B0 sub sp, sp, #32
  1816. 1268 .LCFI32:
  1817. 1269 .cfi_def_cfa_offset 40
  1818. 1270 0004 00AF add r7, sp, #0
  1819. 1271 .LCFI33:
  1820. 1272 .cfi_def_cfa_register 7
  1821. 1273 0006 7860 str r0, [r7, #4]
  1822. 1274 0008 3960 str r1, [r7]
  1823. 526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** __IO uint32_t *regaddr;
  1824. 527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t regval;
  1825. 528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t linepos;
  1826. 529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t maskline;
  1827. 530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t offset;
  1828. 531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  1829. 532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check parameters */
  1830. 533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
  1831. 1275 .loc 1 533 3
  1832. 1276 000a 7B68 ldr r3, [r7, #4]
  1833. 1277 000c 1A68 ldr r2, [r3]
  1834. 1278 000e 2D4B ldr r3, .L74
  1835. 1279 0010 1340 ands r3, r3, r2
  1836. 1280 0012 002B cmp r3, #0
  1837. 1281 0014 1BD1 bne .L68
  1838. 1282 .loc 1 533 3 is_stmt 0 discriminator 2
  1839. 1283 0016 7B68 ldr r3, [r7, #4]
  1840. 1284 0018 1B68 ldr r3, [r3]
  1841. 1285 001a 03F0E063 and r3, r3, #117440512
  1842. 1286 001e B3F1807F cmp r3, #16777216
  1843. 1287 0022 0DD0 beq .L69
  1844. 1288 .loc 1 533 3 discriminator 3
  1845. 1289 0024 7B68 ldr r3, [r7, #4]
  1846. 1290 0026 1B68 ldr r3, [r3]
  1847. 1291 0028 03F0E063 and r3, r3, #117440512
  1848. 1292 002c B3F1007F cmp r3, #33554432
  1849. 1293 0030 06D0 beq .L69
  1850. 1294 .loc 1 533 3 discriminator 5
  1851. 1295 0032 7B68 ldr r3, [r7, #4]
  1852. 1296 0034 1B68 ldr r3, [r3]
  1853. 1297 0036 03F0E063 and r3, r3, #117440512
  1854. 1298 003a B3F1C06F cmp r3, #100663296
  1855. 1299 003e 06D1 bne .L68
  1856. 1300 .L69:
  1857. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 33
  1858. 1301 .loc 1 533 3 discriminator 8
  1859. 1302 0040 7B68 ldr r3, [r7, #4]
  1860. 1303 0042 1A68 ldr r2, [r3]
  1861. 1304 0044 204B ldr r3, .L74+4
  1862. 1305 0046 1340 ands r3, r3, r2
  1863. 1306 0048 204A ldr r2, .L74+8
  1864. 1307 004a 9342 cmp r3, r2
  1865. 1308 004c 04D9 bls .L70
  1866. 1309 .L68:
  1867. 1310 .loc 1 533 3 discriminator 9
  1868. 1311 004e 40F21521 movw r1, #533
  1869. 1312 0052 1F48 ldr r0, .L74+12
  1870. 1313 0054 FFF7FEFF bl assert_failed
  1871. 1314 .L70:
  1872. 534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
  1873. 1315 .loc 1 534 3 is_stmt 1
  1874. 1316 0058 7B68 ldr r3, [r7, #4]
  1875. 1317 005a 1B68 ldr r3, [r3]
  1876. 1318 005c 03F00073 and r3, r3, #33554432
  1877. 1319 0060 002B cmp r3, #0
  1878. 1320 0062 04D1 bne .L71
  1879. 1321 .loc 1 534 3 is_stmt 0 discriminator 1
  1880. 1322 0064 40F21621 movw r1, #534
  1881. 1323 0068 1948 ldr r0, .L74+12
  1882. 1324 006a FFF7FEFF bl assert_failed
  1883. 1325 .L71:
  1884. 535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_PENDING_EDGE(Edge));
  1885. 1326 .loc 1 535 3 is_stmt 1
  1886. 1327 006e 3B68 ldr r3, [r7]
  1887. 1328 0070 032B cmp r3, #3
  1888. 1329 0072 04D0 beq .L72
  1889. 1330 .loc 1 535 3 is_stmt 0 discriminator 1
  1890. 1331 0074 40F21721 movw r1, #535
  1891. 1332 0078 1548 ldr r0, .L74+12
  1892. 1333 007a FFF7FEFF bl assert_failed
  1893. 1334 .L72:
  1894. 536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  1895. 537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* compute line register offset and line mask */
  1896. 538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** offset = ((hexti->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT);
  1897. 1335 .loc 1 538 19 is_stmt 1
  1898. 1336 007e 7B68 ldr r3, [r7, #4]
  1899. 1337 0080 1B68 ldr r3, [r3]
  1900. 1338 .loc 1 538 43
  1901. 1339 0082 1B0C lsrs r3, r3, #16
  1902. 1340 .loc 1 538 10
  1903. 1341 0084 03F00103 and r3, r3, #1
  1904. 1342 0088 FB61 str r3, [r7, #28]
  1905. 539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** linepos = (hexti->Line & EXTI_PIN_MASK);
  1906. 1343 .loc 1 539 19
  1907. 1344 008a 7B68 ldr r3, [r7, #4]
  1908. 1345 008c 1B68 ldr r3, [r3]
  1909. 1346 .loc 1 539 11
  1910. 1347 008e 03F01F03 and r3, r3, #31
  1911. 1348 0092 BB61 str r3, [r7, #24]
  1912. 540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** maskline = (1uL << linepos);
  1913. 1349 .loc 1 540 12
  1914. 1350 0094 0122 movs r2, #1
  1915. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 34
  1916. 1351 0096 BB69 ldr r3, [r7, #24]
  1917. 1352 0098 02FA03F3 lsl r3, r2, r3
  1918. 1353 009c 7B61 str r3, [r7, #20]
  1919. 541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  1920. 542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Get pending bit */
  1921. 543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->PR + (EXTI_CONFIG_OFFSET * offset));
  1922. 1354 .loc 1 543 24
  1923. 1355 009e FB69 ldr r3, [r7, #28]
  1924. 1356 00a0 5A01 lsls r2, r3, #5
  1925. 1357 .loc 1 543 11
  1926. 1358 00a2 0C4B ldr r3, .L74+16
  1927. 1359 00a4 1344 add r3, r3, r2
  1928. 1360 00a6 3B61 str r3, [r7, #16]
  1929. 544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* return 1 if bit is set else 0 */
  1930. 545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = ((*regaddr & maskline) >> linepos);
  1931. 1361 .loc 1 545 14
  1932. 1362 00a8 3B69 ldr r3, [r7, #16]
  1933. 1363 00aa 1A68 ldr r2, [r3]
  1934. 1364 .loc 1 545 23
  1935. 1365 00ac 7B69 ldr r3, [r7, #20]
  1936. 1366 00ae 1A40 ands r2, r2, r3
  1937. 1367 .loc 1 545 10
  1938. 1368 00b0 BB69 ldr r3, [r7, #24]
  1939. 1369 00b2 22FA03F3 lsr r3, r2, r3
  1940. 1370 00b6 FB60 str r3, [r7, #12]
  1941. 546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return regval;
  1942. 1371 .loc 1 546 10
  1943. 1372 00b8 FB68 ldr r3, [r7, #12]
  1944. 547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
  1945. 1373 .loc 1 547 1
  1946. 1374 00ba 1846 mov r0, r3
  1947. 1375 00bc 2037 adds r7, r7, #32
  1948. 1376 .LCFI34:
  1949. 1377 .cfi_def_cfa_offset 8
  1950. 1378 00be BD46 mov sp, r7
  1951. 1379 .LCFI35:
  1952. 1380 .cfi_def_cfa_register 13
  1953. 1381 @ sp needed
  1954. 1382 00c0 80BD pop {r7, pc}
  1955. 1383 .L75:
  1956. 1384 00c2 00BF .align 2
  1957. 1385 .L74:
  1958. 1386 00c4 E0FFFEF8 .word -117506080
  1959. 1387 00c8 1F000100 .word 65567
  1960. 1388 00cc 03000100 .word 65539
  1961. 1389 00d0 00000000 .word .LC0
  1962. 1390 00d4 14040140 .word 1073808404
  1963. 1391 .cfi_endproc
  1964. 1392 .LFE136:
  1965. 1394 .section .text.HAL_EXTI_ClearPending,"ax",%progbits
  1966. 1395 .align 1
  1967. 1396 .global HAL_EXTI_ClearPending
  1968. 1397 .syntax unified
  1969. 1398 .thumb
  1970. 1399 .thumb_func
  1971. 1401 HAL_EXTI_ClearPending:
  1972. 1402 .LFB137:
  1973. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 35
  1974. 548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  1975. 549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /**
  1976. 550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @brief Clear interrupt pending bit of a dedicated line.
  1977. 551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param hexti Exti handle.
  1978. 552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param Edge Specify which pending edge as to be clear.
  1979. 553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * This parameter can be one of the following values:
  1980. 554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @arg @ref EXTI_TRIGGER_RISING_FALLING
  1981. 555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * This parameter is kept for compatibility with other series.
  1982. 556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @retval None.
  1983. 557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
  1984. 558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** void HAL_EXTI_ClearPending(EXTI_HandleTypeDef *hexti, uint32_t Edge)
  1985. 559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
  1986. 1403 .loc 1 559 1
  1987. 1404 .cfi_startproc
  1988. 1405 @ args = 0, pretend = 0, frame = 24
  1989. 1406 @ frame_needed = 1, uses_anonymous_args = 0
  1990. 1407 0000 80B5 push {r7, lr}
  1991. 1408 .LCFI36:
  1992. 1409 .cfi_def_cfa_offset 8
  1993. 1410 .cfi_offset 7, -8
  1994. 1411 .cfi_offset 14, -4
  1995. 1412 0002 86B0 sub sp, sp, #24
  1996. 1413 .LCFI37:
  1997. 1414 .cfi_def_cfa_offset 32
  1998. 1415 0004 00AF add r7, sp, #0
  1999. 1416 .LCFI38:
  2000. 1417 .cfi_def_cfa_register 7
  2001. 1418 0006 7860 str r0, [r7, #4]
  2002. 1419 0008 3960 str r1, [r7]
  2003. 560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** __IO uint32_t *regaddr;
  2004. 561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t maskline;
  2005. 562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t offset;
  2006. 563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  2007. 564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check parameters */
  2008. 565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
  2009. 1420 .loc 1 565 3
  2010. 1421 000a 7B68 ldr r3, [r7, #4]
  2011. 1422 000c 1A68 ldr r2, [r3]
  2012. 1423 000e 294B ldr r3, .L82
  2013. 1424 0010 1340 ands r3, r3, r2
  2014. 1425 0012 002B cmp r3, #0
  2015. 1426 0014 1BD1 bne .L77
  2016. 1427 .loc 1 565 3 is_stmt 0 discriminator 2
  2017. 1428 0016 7B68 ldr r3, [r7, #4]
  2018. 1429 0018 1B68 ldr r3, [r3]
  2019. 1430 001a 03F0E063 and r3, r3, #117440512
  2020. 1431 001e B3F1807F cmp r3, #16777216
  2021. 1432 0022 0DD0 beq .L78
  2022. 1433 .loc 1 565 3 discriminator 3
  2023. 1434 0024 7B68 ldr r3, [r7, #4]
  2024. 1435 0026 1B68 ldr r3, [r3]
  2025. 1436 0028 03F0E063 and r3, r3, #117440512
  2026. 1437 002c B3F1007F cmp r3, #33554432
  2027. 1438 0030 06D0 beq .L78
  2028. 1439 .loc 1 565 3 discriminator 5
  2029. 1440 0032 7B68 ldr r3, [r7, #4]
  2030. 1441 0034 1B68 ldr r3, [r3]
  2031. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 36
  2032. 1442 0036 03F0E063 and r3, r3, #117440512
  2033. 1443 003a B3F1C06F cmp r3, #100663296
  2034. 1444 003e 06D1 bne .L77
  2035. 1445 .L78:
  2036. 1446 .loc 1 565 3 discriminator 8
  2037. 1447 0040 7B68 ldr r3, [r7, #4]
  2038. 1448 0042 1A68 ldr r2, [r3]
  2039. 1449 0044 1C4B ldr r3, .L82+4
  2040. 1450 0046 1340 ands r3, r3, r2
  2041. 1451 0048 1C4A ldr r2, .L82+8
  2042. 1452 004a 9342 cmp r3, r2
  2043. 1453 004c 04D9 bls .L79
  2044. 1454 .L77:
  2045. 1455 .loc 1 565 3 discriminator 9
  2046. 1456 004e 40F23521 movw r1, #565
  2047. 1457 0052 1B48 ldr r0, .L82+12
  2048. 1458 0054 FFF7FEFF bl assert_failed
  2049. 1459 .L79:
  2050. 566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
  2051. 1460 .loc 1 566 3 is_stmt 1
  2052. 1461 0058 7B68 ldr r3, [r7, #4]
  2053. 1462 005a 1B68 ldr r3, [r3]
  2054. 1463 005c 03F00073 and r3, r3, #33554432
  2055. 1464 0060 002B cmp r3, #0
  2056. 1465 0062 04D1 bne .L80
  2057. 1466 .loc 1 566 3 is_stmt 0 discriminator 1
  2058. 1467 0064 40F23621 movw r1, #566
  2059. 1468 0068 1548 ldr r0, .L82+12
  2060. 1469 006a FFF7FEFF bl assert_failed
  2061. 1470 .L80:
  2062. 567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_PENDING_EDGE(Edge));
  2063. 1471 .loc 1 567 3 is_stmt 1
  2064. 1472 006e 3B68 ldr r3, [r7]
  2065. 1473 0070 032B cmp r3, #3
  2066. 1474 0072 04D0 beq .L81
  2067. 1475 .loc 1 567 3 is_stmt 0 discriminator 1
  2068. 1476 0074 40F23721 movw r1, #567
  2069. 1477 0078 1148 ldr r0, .L82+12
  2070. 1478 007a FFF7FEFF bl assert_failed
  2071. 1479 .L81:
  2072. 568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  2073. 569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* compute line register offset and line mask */
  2074. 570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** offset = ((hexti->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT);
  2075. 1480 .loc 1 570 19 is_stmt 1
  2076. 1481 007e 7B68 ldr r3, [r7, #4]
  2077. 1482 0080 1B68 ldr r3, [r3]
  2078. 1483 .loc 1 570 43
  2079. 1484 0082 1B0C lsrs r3, r3, #16
  2080. 1485 .loc 1 570 10
  2081. 1486 0084 03F00103 and r3, r3, #1
  2082. 1487 0088 7B61 str r3, [r7, #20]
  2083. 571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK));
  2084. 1488 .loc 1 571 28
  2085. 1489 008a 7B68 ldr r3, [r7, #4]
  2086. 1490 008c 1B68 ldr r3, [r3]
  2087. 1491 .loc 1 571 35
  2088. 1492 008e 03F01F03 and r3, r3, #31
  2089. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 37
  2090. 1493 .loc 1 571 12
  2091. 1494 0092 0122 movs r2, #1
  2092. 1495 0094 02FA03F3 lsl r3, r2, r3
  2093. 1496 0098 3B61 str r3, [r7, #16]
  2094. 572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  2095. 573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Get pending bit */
  2096. 574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->PR + (EXTI_CONFIG_OFFSET * offset));
  2097. 1497 .loc 1 574 24
  2098. 1498 009a 7B69 ldr r3, [r7, #20]
  2099. 1499 009c 5A01 lsls r2, r3, #5
  2100. 1500 .loc 1 574 11
  2101. 1501 009e 094B ldr r3, .L82+16
  2102. 1502 00a0 1344 add r3, r3, r2
  2103. 1503 00a2 FB60 str r3, [r7, #12]
  2104. 575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  2105. 576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Clear Pending bit */
  2106. 577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *regaddr = maskline;
  2107. 1504 .loc 1 577 12
  2108. 1505 00a4 FB68 ldr r3, [r7, #12]
  2109. 1506 00a6 3A69 ldr r2, [r7, #16]
  2110. 1507 00a8 1A60 str r2, [r3]
  2111. 578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
  2112. 1508 .loc 1 578 1
  2113. 1509 00aa 00BF nop
  2114. 1510 00ac 1837 adds r7, r7, #24
  2115. 1511 .LCFI39:
  2116. 1512 .cfi_def_cfa_offset 8
  2117. 1513 00ae BD46 mov sp, r7
  2118. 1514 .LCFI40:
  2119. 1515 .cfi_def_cfa_register 13
  2120. 1516 @ sp needed
  2121. 1517 00b0 80BD pop {r7, pc}
  2122. 1518 .L83:
  2123. 1519 00b2 00BF .align 2
  2124. 1520 .L82:
  2125. 1521 00b4 E0FFFEF8 .word -117506080
  2126. 1522 00b8 1F000100 .word 65567
  2127. 1523 00bc 03000100 .word 65539
  2128. 1524 00c0 00000000 .word .LC0
  2129. 1525 00c4 14040140 .word 1073808404
  2130. 1526 .cfi_endproc
  2131. 1527 .LFE137:
  2132. 1529 .section .text.HAL_EXTI_GenerateSWI,"ax",%progbits
  2133. 1530 .align 1
  2134. 1531 .global HAL_EXTI_GenerateSWI
  2135. 1532 .syntax unified
  2136. 1533 .thumb
  2137. 1534 .thumb_func
  2138. 1536 HAL_EXTI_GenerateSWI:
  2139. 1537 .LFB138:
  2140. 579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  2141. 580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /**
  2142. 581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @brief Generate a software interrupt for a dedicated line.
  2143. 582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param hexti Exti handle.
  2144. 583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @retval None.
  2145. 584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
  2146. 585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** void HAL_EXTI_GenerateSWI(EXTI_HandleTypeDef *hexti)
  2147. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 38
  2148. 586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
  2149. 1538 .loc 1 586 1
  2150. 1539 .cfi_startproc
  2151. 1540 @ args = 0, pretend = 0, frame = 24
  2152. 1541 @ frame_needed = 1, uses_anonymous_args = 0
  2153. 1542 0000 80B5 push {r7, lr}
  2154. 1543 .LCFI41:
  2155. 1544 .cfi_def_cfa_offset 8
  2156. 1545 .cfi_offset 7, -8
  2157. 1546 .cfi_offset 14, -4
  2158. 1547 0002 86B0 sub sp, sp, #24
  2159. 1548 .LCFI42:
  2160. 1549 .cfi_def_cfa_offset 32
  2161. 1550 0004 00AF add r7, sp, #0
  2162. 1551 .LCFI43:
  2163. 1552 .cfi_def_cfa_register 7
  2164. 1553 0006 7860 str r0, [r7, #4]
  2165. 587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** __IO uint32_t *regaddr;
  2166. 588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t maskline;
  2167. 589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t offset;
  2168. 590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  2169. 591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check parameters */
  2170. 592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
  2171. 1554 .loc 1 592 3
  2172. 1555 0008 7B68 ldr r3, [r7, #4]
  2173. 1556 000a 1A68 ldr r2, [r3]
  2174. 1557 000c 244B ldr r3, .L89
  2175. 1558 000e 1340 ands r3, r3, r2
  2176. 1559 0010 002B cmp r3, #0
  2177. 1560 0012 1BD1 bne .L85
  2178. 1561 .loc 1 592 3 is_stmt 0 discriminator 2
  2179. 1562 0014 7B68 ldr r3, [r7, #4]
  2180. 1563 0016 1B68 ldr r3, [r3]
  2181. 1564 0018 03F0E063 and r3, r3, #117440512
  2182. 1565 001c B3F1807F cmp r3, #16777216
  2183. 1566 0020 0DD0 beq .L86
  2184. 1567 .loc 1 592 3 discriminator 3
  2185. 1568 0022 7B68 ldr r3, [r7, #4]
  2186. 1569 0024 1B68 ldr r3, [r3]
  2187. 1570 0026 03F0E063 and r3, r3, #117440512
  2188. 1571 002a B3F1007F cmp r3, #33554432
  2189. 1572 002e 06D0 beq .L86
  2190. 1573 .loc 1 592 3 discriminator 5
  2191. 1574 0030 7B68 ldr r3, [r7, #4]
  2192. 1575 0032 1B68 ldr r3, [r3]
  2193. 1576 0034 03F0E063 and r3, r3, #117440512
  2194. 1577 0038 B3F1C06F cmp r3, #100663296
  2195. 1578 003c 06D1 bne .L85
  2196. 1579 .L86:
  2197. 1580 .loc 1 592 3 discriminator 8
  2198. 1581 003e 7B68 ldr r3, [r7, #4]
  2199. 1582 0040 1A68 ldr r2, [r3]
  2200. 1583 0042 184B ldr r3, .L89+4
  2201. 1584 0044 1340 ands r3, r3, r2
  2202. 1585 0046 184A ldr r2, .L89+8
  2203. 1586 0048 9342 cmp r3, r2
  2204. 1587 004a 04D9 bls .L87
  2205. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 39
  2206. 1588 .L85:
  2207. 1589 .loc 1 592 3 discriminator 9
  2208. 1590 004c 4FF41471 mov r1, #592
  2209. 1591 0050 1648 ldr r0, .L89+12
  2210. 1592 0052 FFF7FEFF bl assert_failed
  2211. 1593 .L87:
  2212. 593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
  2213. 1594 .loc 1 593 3 is_stmt 1
  2214. 1595 0056 7B68 ldr r3, [r7, #4]
  2215. 1596 0058 1B68 ldr r3, [r3]
  2216. 1597 005a 03F00073 and r3, r3, #33554432
  2217. 1598 005e 002B cmp r3, #0
  2218. 1599 0060 04D1 bne .L88
  2219. 1600 .loc 1 593 3 is_stmt 0 discriminator 1
  2220. 1601 0062 40F25121 movw r1, #593
  2221. 1602 0066 1148 ldr r0, .L89+12
  2222. 1603 0068 FFF7FEFF bl assert_failed
  2223. 1604 .L88:
  2224. 594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  2225. 595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* compute line register offset and line mask */
  2226. 596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** offset = ((hexti->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT);
  2227. 1605 .loc 1 596 19 is_stmt 1
  2228. 1606 006c 7B68 ldr r3, [r7, #4]
  2229. 1607 006e 1B68 ldr r3, [r3]
  2230. 1608 .loc 1 596 43
  2231. 1609 0070 1B0C lsrs r3, r3, #16
  2232. 1610 .loc 1 596 10
  2233. 1611 0072 03F00103 and r3, r3, #1
  2234. 1612 0076 7B61 str r3, [r7, #20]
  2235. 597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK));
  2236. 1613 .loc 1 597 28
  2237. 1614 0078 7B68 ldr r3, [r7, #4]
  2238. 1615 007a 1B68 ldr r3, [r3]
  2239. 1616 .loc 1 597 35
  2240. 1617 007c 03F01F03 and r3, r3, #31
  2241. 1618 .loc 1 597 12
  2242. 1619 0080 0122 movs r2, #1
  2243. 1620 0082 02FA03F3 lsl r3, r2, r3
  2244. 1621 0086 3B61 str r3, [r7, #16]
  2245. 598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
  2246. 599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->SWIER + (EXTI_CONFIG_OFFSET * offset));
  2247. 1622 .loc 1 599 27
  2248. 1623 0088 7B69 ldr r3, [r7, #20]
  2249. 1624 008a 5A01 lsls r2, r3, #5
  2250. 1625 .loc 1 599 11
  2251. 1626 008c 084B ldr r3, .L89+16
  2252. 1627 008e 1344 add r3, r3, r2
  2253. 1628 0090 FB60 str r3, [r7, #12]
  2254. 600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *regaddr = maskline;
  2255. 1629 .loc 1 600 12
  2256. 1630 0092 FB68 ldr r3, [r7, #12]
  2257. 1631 0094 3A69 ldr r2, [r7, #16]
  2258. 1632 0096 1A60 str r2, [r3]
  2259. 601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
  2260. 1633 .loc 1 601 1
  2261. 1634 0098 00BF nop
  2262. 1635 009a 1837 adds r7, r7, #24
  2263. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 40
  2264. 1636 .LCFI44:
  2265. 1637 .cfi_def_cfa_offset 8
  2266. 1638 009c BD46 mov sp, r7
  2267. 1639 .LCFI45:
  2268. 1640 .cfi_def_cfa_register 13
  2269. 1641 @ sp needed
  2270. 1642 009e 80BD pop {r7, pc}
  2271. 1643 .L90:
  2272. 1644 .align 2
  2273. 1645 .L89:
  2274. 1646 00a0 E0FFFEF8 .word -117506080
  2275. 1647 00a4 1F000100 .word 65567
  2276. 1648 00a8 03000100 .word 65539
  2277. 1649 00ac 00000000 .word .LC0
  2278. 1650 00b0 10040140 .word 1073808400
  2279. 1651 .cfi_endproc
  2280. 1652 .LFE138:
  2281. 1654 .text
  2282. 1655 .Letext0:
  2283. 1656 .file 2 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h"
  2284. 1657 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h"
  2285. 1658 .file 4 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h"
  2286. 1659 .file 5 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h"
  2287. 1660 .file 6 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_exti.h"
  2288. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s page 41
  2289. DEFINED SYMBOLS
  2290. *ABS*:00000000 stm32f3xx_hal_exti.c
  2291. C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s:20 .rodata:00000000 $d
  2292. C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s:25 .text.HAL_EXTI_SetConfigLine:00000000 $t
  2293. C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s:31 .text.HAL_EXTI_SetConfigLine:00000000 HAL_EXTI_SetConfigLine
  2294. C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s:433 .text.HAL_EXTI_SetConfigLine:00000254 $d
  2295. C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s:445 .text.HAL_EXTI_GetConfigLine:00000000 $t
  2296. C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s:451 .text.HAL_EXTI_GetConfigLine:00000000 HAL_EXTI_GetConfigLine
  2297. C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s:722 .text.HAL_EXTI_GetConfigLine:0000018c $d
  2298. C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s:734 .text.HAL_EXTI_ClearConfigLine:00000000 $t
  2299. C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s:740 .text.HAL_EXTI_ClearConfigLine:00000000 HAL_EXTI_ClearConfigLine
  2300. C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s:979 .text.HAL_EXTI_ClearConfigLine:0000015c $d
  2301. C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s:991 .text.HAL_EXTI_RegisterCallback:00000000 $t
  2302. C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s:997 .text.HAL_EXTI_RegisterCallback:00000000 HAL_EXTI_RegisterCallback
  2303. C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s:1058 .text.HAL_EXTI_GetHandle:00000000 $t
  2304. C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s:1064 .text.HAL_EXTI_GetHandle:00000000 HAL_EXTI_GetHandle
  2305. C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s:1146 .text.HAL_EXTI_GetHandle:00000068 $d
  2306. C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s:1154 .text.HAL_EXTI_IRQHandler:00000000 $t
  2307. C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s:1160 .text.HAL_EXTI_IRQHandler:00000000 HAL_EXTI_IRQHandler
  2308. C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s:1244 .text.HAL_EXTI_IRQHandler:0000005c $d
  2309. C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s:1250 .text.HAL_EXTI_GetPending:00000000 $t
  2310. C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s:1256 .text.HAL_EXTI_GetPending:00000000 HAL_EXTI_GetPending
  2311. C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s:1386 .text.HAL_EXTI_GetPending:000000c4 $d
  2312. C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s:1395 .text.HAL_EXTI_ClearPending:00000000 $t
  2313. C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s:1401 .text.HAL_EXTI_ClearPending:00000000 HAL_EXTI_ClearPending
  2314. C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s:1521 .text.HAL_EXTI_ClearPending:000000b4 $d
  2315. C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s:1530 .text.HAL_EXTI_GenerateSWI:00000000 $t
  2316. C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s:1536 .text.HAL_EXTI_GenerateSWI:00000000 HAL_EXTI_GenerateSWI
  2317. C:\Users\zl835\AppData\Local\Temp\ccOo5IDX.s:1646 .text.HAL_EXTI_GenerateSWI:000000a0 $d
  2318. UNDEFINED SYMBOLS
  2319. assert_failed