stm32f4xx_hal_gpio.lst 102 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964
  1. ARM GAS C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s page 1
  2. 1 .cpu cortex-m4
  3. 2 .arch armv7e-m
  4. 3 .fpu fpv4-sp-d16
  5. 4 .eabi_attribute 27, 1
  6. 5 .eabi_attribute 28, 1
  7. 6 .eabi_attribute 20, 1
  8. 7 .eabi_attribute 21, 1
  9. 8 .eabi_attribute 23, 3
  10. 9 .eabi_attribute 24, 1
  11. 10 .eabi_attribute 25, 1
  12. 11 .eabi_attribute 26, 1
  13. 12 .eabi_attribute 30, 6
  14. 13 .eabi_attribute 34, 1
  15. 14 .eabi_attribute 18, 4
  16. 15 .file "stm32f4xx_hal_gpio.c"
  17. 16 .text
  18. 17 .Ltext0:
  19. 18 .cfi_sections .debug_frame
  20. 19 .section .text.HAL_GPIO_Init,"ax",%progbits
  21. 20 .align 1
  22. 21 .global HAL_GPIO_Init
  23. 22 .syntax unified
  24. 23 .thumb
  25. 24 .thumb_func
  26. 26 HAL_GPIO_Init:
  27. 27 .LFB235:
  28. 28 .file 1 "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c"
  29. 1:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /**
  30. 2:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** ******************************************************************************
  31. 3:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @file stm32f4xx_hal_gpio.c
  32. 4:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @author MCD Application Team
  33. 5:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @brief GPIO HAL module driver.
  34. 6:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * This file provides firmware functions to manage the following
  35. 7:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * functionalities of the General Purpose Input/Output (GPIO) peripheral:
  36. 8:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * + Initialization and de-initialization functions
  37. 9:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * + IO operation functions
  38. 10:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** *
  39. 11:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** ******************************************************************************
  40. 12:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @attention
  41. 13:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** *
  42. 14:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * Copyright (c) 2017 STMicroelectronics.
  43. 15:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * All rights reserved.
  44. 16:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** *
  45. 17:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * This software is licensed under terms that can be found in the LICENSE file
  46. 18:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * in the root directory of this software component.
  47. 19:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
  48. 20:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** *
  49. 21:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** ******************************************************************************
  50. 22:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** @verbatim
  51. 23:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** ==============================================================================
  52. 24:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** ##### GPIO Peripheral features #####
  53. 25:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** ==============================================================================
  54. 26:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** [..]
  55. 27:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** Subject to the specific hardware characteristics of each I/O port listed in the datasheet, each
  56. 28:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** port bit of the General Purpose IO (GPIO) Ports, can be individually configured by software
  57. 29:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** in several modes:
  58. 30:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (+) Input mode
  59. ARM GAS C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s page 2
  60. 31:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (+) Analog mode
  61. 32:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (+) Output mode
  62. 33:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (+) Alternate function mode
  63. 34:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (+) External interrupt/event lines
  64. 35:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  65. 36:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** [..]
  66. 37:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** During and just after reset, the alternate functions and external interrupt
  67. 38:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** lines are not active and the I/O ports are configured in input floating mode.
  68. 39:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  69. 40:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** [..]
  70. 41:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** All GPIO pins have weak internal pull-up and pull-down resistors, which can be
  71. 42:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** activated or not.
  72. 43:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  73. 44:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** [..]
  74. 45:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** In Output or Alternate mode, each IO can be configured on open-drain or push-pull
  75. 46:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** type and the IO speed can be selected depending on the VDD value.
  76. 47:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  77. 48:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** [..]
  78. 49:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** All ports have external interrupt/event capability. To use external interrupt
  79. 50:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** lines, the port must be configured in input mode. All available GPIO pins are
  80. 51:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** connected to the 16 external interrupt/event lines from EXTI0 to EXTI15.
  81. 52:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  82. 53:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** [..]
  83. 54:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** The external interrupt/event controller consists of up to 23 edge detectors
  84. 55:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (16 lines are connected to GPIO) for generating event/interrupt requests (each
  85. 56:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** input line can be independently configured to select the type (interrupt or event)
  86. 57:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** and the corresponding trigger event (rising or falling or both). Each line can
  87. 58:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** also be masked independently.
  88. 59:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  89. 60:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** ##### How to use this driver #####
  90. 61:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** ==============================================================================
  91. 62:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** [..]
  92. 63:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (#) Enable the GPIO AHB clock using the following function: __HAL_RCC_GPIOx_CLK_ENABLE().
  93. 64:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  94. 65:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (#) Configure the GPIO pin(s) using HAL_GPIO_Init().
  95. 66:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (++) Configure the IO mode using "Mode" member from GPIO_InitTypeDef structure
  96. 67:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (++) Activate Pull-up, Pull-down resistor using "Pull" member from GPIO_InitTypeDef
  97. 68:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** structure.
  98. 69:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (++) In case of Output or alternate function mode selection: the speed is
  99. 70:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** configured through "Speed" member from GPIO_InitTypeDef structure.
  100. 71:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (++) In alternate mode is selection, the alternate function connected to the IO
  101. 72:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** is configured through "Alternate" member from GPIO_InitTypeDef structure.
  102. 73:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (++) Analog mode is required when a pin is to be used as ADC channel
  103. 74:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** or DAC output.
  104. 75:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (++) In case of external interrupt/event selection the "Mode" member from
  105. 76:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIO_InitTypeDef structure select the type (interrupt or event) and
  106. 77:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** the corresponding trigger event (rising or falling or both).
  107. 78:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  108. 79:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (#) In case of external interrupt/event mode selection, configure NVIC IRQ priority
  109. 80:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** mapped to the EXTI line using HAL_NVIC_SetPriority() and enable it using
  110. 81:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** HAL_NVIC_EnableIRQ().
  111. 82:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  112. 83:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (#) To get the level of a pin configured in input mode use HAL_GPIO_ReadPin().
  113. 84:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  114. 85:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (#) To set/reset the level of a pin configured in output mode use
  115. 86:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** HAL_GPIO_WritePin()/HAL_GPIO_TogglePin().
  116. 87:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  117. ARM GAS C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s page 3
  118. 88:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (#) To lock pin configuration until next reset use HAL_GPIO_LockPin().
  119. 89:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  120. 90:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  121. 91:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (#) During and just after reset, the alternate functions are not
  122. 92:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** active and the GPIO pins are configured in input floating mode (except JTAG
  123. 93:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** pins).
  124. 94:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  125. 95:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (#) The LSE oscillator pins OSC32_IN and OSC32_OUT can be used as general purpose
  126. 96:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (PC14 and PC15, respectively) when the LSE oscillator is off. The LSE has
  127. 97:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** priority over the GPIO function.
  128. 98:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  129. 99:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (#) The HSE oscillator pins OSC_IN/OSC_OUT can be used as
  130. 100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** general purpose PH0 and PH1, respectively, when the HSE oscillator is off.
  131. 101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** The HSE has priority over the GPIO function.
  132. 102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  133. 103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** @endverbatim
  134. 104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** ******************************************************************************
  135. 105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** */
  136. 106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  137. 107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Includes ------------------------------------------------------------------*/
  138. 108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** #include "stm32f4xx_hal.h"
  139. 109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  140. 110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /** @addtogroup STM32F4xx_HAL_Driver
  141. 111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @{
  142. 112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** */
  143. 113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  144. 114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /** @defgroup GPIO GPIO
  145. 115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @brief GPIO HAL module driver
  146. 116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @{
  147. 117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** */
  148. 118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  149. 119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** #ifdef HAL_GPIO_MODULE_ENABLED
  150. 120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  151. 121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Private typedef -----------------------------------------------------------*/
  152. 122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Private define ------------------------------------------------------------*/
  153. 123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /** @addtogroup GPIO_Private_Constants GPIO Private Constants
  154. 124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @{
  155. 125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** */
  156. 126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  157. 127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** #define GPIO_NUMBER 16U
  158. 128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /**
  159. 129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @}
  160. 130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** */
  161. 131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Private macro -------------------------------------------------------------*/
  162. 132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Private variables ---------------------------------------------------------*/
  163. 133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Private function prototypes -----------------------------------------------*/
  164. 134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Private functions ---------------------------------------------------------*/
  165. 135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Exported functions --------------------------------------------------------*/
  166. 136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /** @defgroup GPIO_Exported_Functions GPIO Exported Functions
  167. 137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @{
  168. 138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** */
  169. 139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  170. 140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /** @defgroup GPIO_Exported_Functions_Group1 Initialization and de-initialization functions
  171. 141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @brief Initialization and Configuration functions
  172. 142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** *
  173. 143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** @verbatim
  174. 144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** ===============================================================================
  175. ARM GAS C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s page 4
  176. 145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** ##### Initialization and de-initialization functions #####
  177. 146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** ===============================================================================
  178. 147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** [..]
  179. 148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** This section provides functions allowing to initialize and de-initialize the GPIOs
  180. 149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** to be ready for use.
  181. 150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  182. 151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** @endverbatim
  183. 152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @{
  184. 153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** */
  185. 154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  186. 155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  187. 156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /**
  188. 157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @brief Initializes the GPIOx peripheral according to the specified parameters in the GPIO_Init
  189. 158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @param GPIOx where x can be (A..K) to select the GPIO peripheral for STM32F429X device or
  190. 159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * x can be (A..I) to select the GPIO peripheral for STM32F40XX and STM32F427
  191. 160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @param GPIO_Init pointer to a GPIO_InitTypeDef structure that contains
  192. 161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * the configuration information for the specified GPIO peripheral.
  193. 162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @retval None
  194. 163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** */
  195. 164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init)
  196. 165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  197. 29 .loc 1 165 1
  198. 30 .cfi_startproc
  199. 31 @ args = 0, pretend = 0, frame = 32
  200. 32 @ frame_needed = 1, uses_anonymous_args = 0
  201. 33 @ link register save eliminated.
  202. 34 0000 80B4 push {r7}
  203. 35 .LCFI0:
  204. 36 .cfi_def_cfa_offset 4
  205. 37 .cfi_offset 7, -4
  206. 38 0002 89B0 sub sp, sp, #36
  207. 39 .LCFI1:
  208. 40 .cfi_def_cfa_offset 40
  209. 41 0004 00AF add r7, sp, #0
  210. 42 .LCFI2:
  211. 43 .cfi_def_cfa_register 7
  212. 44 0006 7860 str r0, [r7, #4]
  213. 45 0008 3960 str r1, [r7]
  214. 166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** uint32_t position;
  215. 167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** uint32_t ioposition = 0x00U;
  216. 46 .loc 1 167 12
  217. 47 000a 0023 movs r3, #0
  218. 48 000c 7B61 str r3, [r7, #20]
  219. 168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** uint32_t iocurrent = 0x00U;
  220. 49 .loc 1 168 12
  221. 50 000e 0023 movs r3, #0
  222. 51 0010 3B61 str r3, [r7, #16]
  223. 169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** uint32_t temp = 0x00U;
  224. 52 .loc 1 169 12
  225. 53 0012 0023 movs r3, #0
  226. 54 0014 BB61 str r3, [r7, #24]
  227. 170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  228. 171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Check the parameters */
  229. 172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** assert_param(IS_GPIO_ALL_INSTANCE(GPIOx));
  230. 173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Init->Pin));
  231. 174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** assert_param(IS_GPIO_MODE(GPIO_Init->Mode));
  232. 175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  233. ARM GAS C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s page 5
  234. 176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Configure the port pins */
  235. 177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** for(position = 0U; position < GPIO_NUMBER; position++)
  236. 55 .loc 1 177 16
  237. 56 0016 0023 movs r3, #0
  238. 57 0018 FB61 str r3, [r7, #28]
  239. 58 .loc 1 177 3
  240. 59 001a 6BE1 b .L2
  241. 60 .L28:
  242. 178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  243. 179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Get the IO position */
  244. 180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** ioposition = 0x01U << position;
  245. 61 .loc 1 180 16
  246. 62 001c 0122 movs r2, #1
  247. 63 001e FB69 ldr r3, [r7, #28]
  248. 64 0020 02FA03F3 lsl r3, r2, r3
  249. 65 0024 7B61 str r3, [r7, #20]
  250. 181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Get the current IO position */
  251. 182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** iocurrent = (uint32_t)(GPIO_Init->Pin) & ioposition;
  252. 66 .loc 1 182 37
  253. 67 0026 3B68 ldr r3, [r7]
  254. 68 0028 1B68 ldr r3, [r3]
  255. 69 .loc 1 182 15
  256. 70 002a 7A69 ldr r2, [r7, #20]
  257. 71 002c 1340 ands r3, r3, r2
  258. 72 002e 3B61 str r3, [r7, #16]
  259. 183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  260. 184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** if(iocurrent == ioposition)
  261. 73 .loc 1 184 7
  262. 74 0030 3A69 ldr r2, [r7, #16]
  263. 75 0032 7B69 ldr r3, [r7, #20]
  264. 76 0034 9A42 cmp r2, r3
  265. 77 0036 40F05A81 bne .L3
  266. 185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  267. 186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /*--------------------- GPIO Mode Configuration ------------------------*/
  268. 187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* In case of Output or Alternate function mode selection */
  269. 188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** if(((GPIO_Init->Mode & GPIO_MODE) == MODE_OUTPUT) || \
  270. 78 .loc 1 188 21
  271. 79 003a 3B68 ldr r3, [r7]
  272. 80 003c 5B68 ldr r3, [r3, #4]
  273. 81 .loc 1 188 28
  274. 82 003e 03F00303 and r3, r3, #3
  275. 83 .loc 1 188 9
  276. 84 0042 012B cmp r3, #1
  277. 85 0044 05D0 beq .L4
  278. 189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (GPIO_Init->Mode & GPIO_MODE) == MODE_AF)
  279. 86 .loc 1 189 21 discriminator 1
  280. 87 0046 3B68 ldr r3, [r7]
  281. 88 0048 5B68 ldr r3, [r3, #4]
  282. 89 .loc 1 189 28 discriminator 1
  283. 90 004a 03F00303 and r3, r3, #3
  284. 188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (GPIO_Init->Mode & GPIO_MODE) == MODE_AF)
  285. 91 .loc 1 188 57 discriminator 1
  286. 92 004e 022B cmp r3, #2
  287. 93 0050 30D1 bne .L5
  288. 94 .L4:
  289. 190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  290. 191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Check the Speed parameter */
  291. ARM GAS C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s page 6
  292. 192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** assert_param(IS_GPIO_SPEED(GPIO_Init->Speed));
  293. 193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Configure the IO Speed */
  294. 194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp = GPIOx->OSPEEDR;
  295. 95 .loc 1 194 14
  296. 96 0052 7B68 ldr r3, [r7, #4]
  297. 97 0054 9B68 ldr r3, [r3, #8]
  298. 98 0056 BB61 str r3, [r7, #24]
  299. 195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2U));
  300. 99 .loc 1 195 55
  301. 100 0058 FB69 ldr r3, [r7, #28]
  302. 101 005a 5B00 lsls r3, r3, #1
  303. 102 .loc 1 195 42
  304. 103 005c 0322 movs r2, #3
  305. 104 005e 02FA03F3 lsl r3, r2, r3
  306. 105 .loc 1 195 17
  307. 106 0062 DB43 mvns r3, r3
  308. 107 .loc 1 195 14
  309. 108 0064 BA69 ldr r2, [r7, #24]
  310. 109 0066 1340 ands r3, r3, r2
  311. 110 0068 BB61 str r3, [r7, #24]
  312. 196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= (GPIO_Init->Speed << (position * 2U));
  313. 111 .loc 1 196 27
  314. 112 006a 3B68 ldr r3, [r7]
  315. 113 006c DA68 ldr r2, [r3, #12]
  316. 114 .loc 1 196 48
  317. 115 006e FB69 ldr r3, [r7, #28]
  318. 116 0070 5B00 lsls r3, r3, #1
  319. 117 .loc 1 196 35
  320. 118 0072 02FA03F3 lsl r3, r2, r3
  321. 119 .loc 1 196 14
  322. 120 0076 BA69 ldr r2, [r7, #24]
  323. 121 0078 1343 orrs r3, r3, r2
  324. 122 007a BB61 str r3, [r7, #24]
  325. 197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->OSPEEDR = temp;
  326. 123 .loc 1 197 24
  327. 124 007c 7B68 ldr r3, [r7, #4]
  328. 125 007e BA69 ldr r2, [r7, #24]
  329. 126 0080 9A60 str r2, [r3, #8]
  330. 198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  331. 199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Configure the IO Output Type */
  332. 200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp = GPIOx->OTYPER;
  333. 127 .loc 1 200 14
  334. 128 0082 7B68 ldr r3, [r7, #4]
  335. 129 0084 5B68 ldr r3, [r3, #4]
  336. 130 0086 BB61 str r3, [r7, #24]
  337. 201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp &= ~(GPIO_OTYPER_OT_0 << position) ;
  338. 131 .loc 1 201 36
  339. 132 0088 0122 movs r2, #1
  340. 133 008a FB69 ldr r3, [r7, #28]
  341. 134 008c 02FA03F3 lsl r3, r2, r3
  342. 135 .loc 1 201 17
  343. 136 0090 DB43 mvns r3, r3
  344. 137 .loc 1 201 14
  345. 138 0092 BA69 ldr r2, [r7, #24]
  346. 139 0094 1340 ands r3, r3, r2
  347. 140 0096 BB61 str r3, [r7, #24]
  348. 202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= (((GPIO_Init->Mode & OUTPUT_TYPE) >> OUTPUT_TYPE_Pos) << position);
  349. ARM GAS C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s page 7
  350. 141 .loc 1 202 29
  351. 142 0098 3B68 ldr r3, [r7]
  352. 143 009a 5B68 ldr r3, [r3, #4]
  353. 144 .loc 1 202 51
  354. 145 009c 1B09 lsrs r3, r3, #4
  355. 146 009e 03F00102 and r2, r3, #1
  356. 147 .loc 1 202 71
  357. 148 00a2 FB69 ldr r3, [r7, #28]
  358. 149 00a4 02FA03F3 lsl r3, r2, r3
  359. 150 .loc 1 202 14
  360. 151 00a8 BA69 ldr r2, [r7, #24]
  361. 152 00aa 1343 orrs r3, r3, r2
  362. 153 00ac BB61 str r3, [r7, #24]
  363. 203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->OTYPER = temp;
  364. 154 .loc 1 203 23
  365. 155 00ae 7B68 ldr r3, [r7, #4]
  366. 156 00b0 BA69 ldr r2, [r7, #24]
  367. 157 00b2 5A60 str r2, [r3, #4]
  368. 158 .L5:
  369. 204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  370. 205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  371. 206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** if((GPIO_Init->Mode & GPIO_MODE) != MODE_ANALOG)
  372. 159 .loc 1 206 20
  373. 160 00b4 3B68 ldr r3, [r7]
  374. 161 00b6 5B68 ldr r3, [r3, #4]
  375. 162 .loc 1 206 27
  376. 163 00b8 03F00303 and r3, r3, #3
  377. 164 .loc 1 206 9
  378. 165 00bc 032B cmp r3, #3
  379. 166 00be 17D0 beq .L6
  380. 207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  381. 208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Check the parameters */
  382. 209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** assert_param(IS_GPIO_PULL(GPIO_Init->Pull));
  383. 210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  384. 211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Activate the Pull-up or Pull down resistor for the current IO */
  385. 212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp = GPIOx->PUPDR;
  386. 167 .loc 1 212 14
  387. 168 00c0 7B68 ldr r3, [r7, #4]
  388. 169 00c2 DB68 ldr r3, [r3, #12]
  389. 170 00c4 BB61 str r3, [r7, #24]
  390. 213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp &= ~(GPIO_PUPDR_PUPDR0 << (position * 2U));
  391. 171 .loc 1 213 50
  392. 172 00c6 FB69 ldr r3, [r7, #28]
  393. 173 00c8 5B00 lsls r3, r3, #1
  394. 174 .loc 1 213 37
  395. 175 00ca 0322 movs r2, #3
  396. 176 00cc 02FA03F3 lsl r3, r2, r3
  397. 177 .loc 1 213 17
  398. 178 00d0 DB43 mvns r3, r3
  399. 179 .loc 1 213 14
  400. 180 00d2 BA69 ldr r2, [r7, #24]
  401. 181 00d4 1340 ands r3, r3, r2
  402. 182 00d6 BB61 str r3, [r7, #24]
  403. 214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= ((GPIO_Init->Pull) << (position * 2U));
  404. 183 .loc 1 214 28
  405. 184 00d8 3B68 ldr r3, [r7]
  406. 185 00da 9A68 ldr r2, [r3, #8]
  407. ARM GAS C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s page 8
  408. 186 .loc 1 214 49
  409. 187 00dc FB69 ldr r3, [r7, #28]
  410. 188 00de 5B00 lsls r3, r3, #1
  411. 189 .loc 1 214 36
  412. 190 00e0 02FA03F3 lsl r3, r2, r3
  413. 191 .loc 1 214 14
  414. 192 00e4 BA69 ldr r2, [r7, #24]
  415. 193 00e6 1343 orrs r3, r3, r2
  416. 194 00e8 BB61 str r3, [r7, #24]
  417. 215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->PUPDR = temp;
  418. 195 .loc 1 215 22
  419. 196 00ea 7B68 ldr r3, [r7, #4]
  420. 197 00ec BA69 ldr r2, [r7, #24]
  421. 198 00ee DA60 str r2, [r3, #12]
  422. 199 .L6:
  423. 216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  424. 217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  425. 218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* In case of Alternate function mode selection */
  426. 219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** if((GPIO_Init->Mode & GPIO_MODE) == MODE_AF)
  427. 200 .loc 1 219 20
  428. 201 00f0 3B68 ldr r3, [r7]
  429. 202 00f2 5B68 ldr r3, [r3, #4]
  430. 203 .loc 1 219 27
  431. 204 00f4 03F00303 and r3, r3, #3
  432. 205 .loc 1 219 9
  433. 206 00f8 022B cmp r3, #2
  434. 207 00fa 23D1 bne .L7
  435. 220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  436. 221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Check the Alternate function parameter */
  437. 222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** assert_param(IS_GPIO_AF(GPIO_Init->Alternate));
  438. 223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Configure Alternate function mapped with the current IO */
  439. 224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp = GPIOx->AFR[position >> 3U];
  440. 208 .loc 1 224 36
  441. 209 00fc FB69 ldr r3, [r7, #28]
  442. 210 00fe DA08 lsrs r2, r3, #3
  443. 211 .loc 1 224 14
  444. 212 0100 7B68 ldr r3, [r7, #4]
  445. 213 0102 0832 adds r2, r2, #8
  446. 214 0104 53F82230 ldr r3, [r3, r2, lsl #2]
  447. 215 0108 BB61 str r3, [r7, #24]
  448. 225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp &= ~(0xFU << ((uint32_t)(position & 0x07U) * 4U)) ;
  449. 216 .loc 1 225 28
  450. 217 010a FB69 ldr r3, [r7, #28]
  451. 218 010c 03F00703 and r3, r3, #7
  452. 219 .loc 1 225 57
  453. 220 0110 9B00 lsls r3, r3, #2
  454. 221 .loc 1 225 24
  455. 222 0112 0F22 movs r2, #15
  456. 223 0114 02FA03F3 lsl r3, r2, r3
  457. 224 .loc 1 225 17
  458. 225 0118 DB43 mvns r3, r3
  459. 226 .loc 1 225 14
  460. 227 011a BA69 ldr r2, [r7, #24]
  461. 228 011c 1340 ands r3, r3, r2
  462. 229 011e BB61 str r3, [r7, #24]
  463. 226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= ((uint32_t)(GPIO_Init->Alternate) << (((uint32_t)position & 0x07U) * 4U));
  464. 230 .loc 1 226 38
  465. ARM GAS C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s page 9
  466. 231 0120 3B68 ldr r3, [r7]
  467. 232 0122 1A69 ldr r2, [r3, #16]
  468. 233 .loc 1 226 75
  469. 234 0124 FB69 ldr r3, [r7, #28]
  470. 235 0126 03F00703 and r3, r3, #7
  471. 236 .loc 1 226 84
  472. 237 012a 9B00 lsls r3, r3, #2
  473. 238 .loc 1 226 51
  474. 239 012c 02FA03F3 lsl r3, r2, r3
  475. 240 .loc 1 226 14
  476. 241 0130 BA69 ldr r2, [r7, #24]
  477. 242 0132 1343 orrs r3, r3, r2
  478. 243 0134 BB61 str r3, [r7, #24]
  479. 227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->AFR[position >> 3U] = temp;
  480. 244 .loc 1 227 29
  481. 245 0136 FB69 ldr r3, [r7, #28]
  482. 246 0138 DA08 lsrs r2, r3, #3
  483. 247 .loc 1 227 36
  484. 248 013a 7B68 ldr r3, [r7, #4]
  485. 249 013c 0832 adds r2, r2, #8
  486. 250 013e B969 ldr r1, [r7, #24]
  487. 251 0140 43F82210 str r1, [r3, r2, lsl #2]
  488. 252 .L7:
  489. 228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  490. 229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  491. 230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Configure IO Direction mode (Input, Output, Alternate or Analog) */
  492. 231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp = GPIOx->MODER;
  493. 253 .loc 1 231 12
  494. 254 0144 7B68 ldr r3, [r7, #4]
  495. 255 0146 1B68 ldr r3, [r3]
  496. 256 0148 BB61 str r3, [r7, #24]
  497. 232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp &= ~(GPIO_MODER_MODER0 << (position * 2U));
  498. 257 .loc 1 232 48
  499. 258 014a FB69 ldr r3, [r7, #28]
  500. 259 014c 5B00 lsls r3, r3, #1
  501. 260 .loc 1 232 35
  502. 261 014e 0322 movs r2, #3
  503. 262 0150 02FA03F3 lsl r3, r2, r3
  504. 263 .loc 1 232 15
  505. 264 0154 DB43 mvns r3, r3
  506. 265 .loc 1 232 12
  507. 266 0156 BA69 ldr r2, [r7, #24]
  508. 267 0158 1340 ands r3, r3, r2
  509. 268 015a BB61 str r3, [r7, #24]
  510. 233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2U));
  511. 269 .loc 1 233 26
  512. 270 015c 3B68 ldr r3, [r7]
  513. 271 015e 5B68 ldr r3, [r3, #4]
  514. 272 .loc 1 233 33
  515. 273 0160 03F00302 and r2, r3, #3
  516. 274 .loc 1 233 59
  517. 275 0164 FB69 ldr r3, [r7, #28]
  518. 276 0166 5B00 lsls r3, r3, #1
  519. 277 .loc 1 233 46
  520. 278 0168 02FA03F3 lsl r3, r2, r3
  521. 279 .loc 1 233 12
  522. 280 016c BA69 ldr r2, [r7, #24]
  523. ARM GAS C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s page 10
  524. 281 016e 1343 orrs r3, r3, r2
  525. 282 0170 BB61 str r3, [r7, #24]
  526. 234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->MODER = temp;
  527. 283 .loc 1 234 20
  528. 284 0172 7B68 ldr r3, [r7, #4]
  529. 285 0174 BA69 ldr r2, [r7, #24]
  530. 286 0176 1A60 str r2, [r3]
  531. 235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  532. 236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /*--------------------- EXTI Mode Configuration ------------------------*/
  533. 237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Configure the External Interrupt or event for the current IO */
  534. 238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** if((GPIO_Init->Mode & EXTI_MODE) != 0x00U)
  535. 287 .loc 1 238 20
  536. 288 0178 3B68 ldr r3, [r7]
  537. 289 017a 5B68 ldr r3, [r3, #4]
  538. 290 .loc 1 238 27
  539. 291 017c 03F44033 and r3, r3, #196608
  540. 292 .loc 1 238 9
  541. 293 0180 002B cmp r3, #0
  542. 294 0182 00F0B480 beq .L3
  543. 295 .LBB2:
  544. 239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  545. 240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Enable SYSCFG Clock */
  546. 241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** __HAL_RCC_SYSCFG_CLK_ENABLE();
  547. 296 .loc 1 241 9
  548. 297 0186 0023 movs r3, #0
  549. 298 0188 FB60 str r3, [r7, #12]
  550. 299 018a 604B ldr r3, .L29
  551. 300 018c 5B6C ldr r3, [r3, #68]
  552. 301 018e 5F4A ldr r2, .L29
  553. 302 0190 43F48043 orr r3, r3, #16384
  554. 303 0194 5364 str r3, [r2, #68]
  555. 304 0196 5D4B ldr r3, .L29
  556. 305 0198 5B6C ldr r3, [r3, #68]
  557. 306 019a 03F48043 and r3, r3, #16384
  558. 307 019e FB60 str r3, [r7, #12]
  559. 308 01a0 FB68 ldr r3, [r7, #12]
  560. 309 .LBE2:
  561. 242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  562. 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp = SYSCFG->EXTICR[position >> 2U];
  563. 310 .loc 1 243 22
  564. 311 01a2 5B4A ldr r2, .L29+4
  565. 312 .loc 1 243 40
  566. 313 01a4 FB69 ldr r3, [r7, #28]
  567. 314 01a6 9B08 lsrs r3, r3, #2
  568. 315 .loc 1 243 14
  569. 316 01a8 0233 adds r3, r3, #2
  570. 317 01aa 52F82330 ldr r3, [r2, r3, lsl #2]
  571. 318 01ae BB61 str r3, [r7, #24]
  572. 244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp &= ~(0x0FU << (4U * (position & 0x03U)));
  573. 319 .loc 1 244 44
  574. 320 01b0 FB69 ldr r3, [r7, #28]
  575. 321 01b2 03F00303 and r3, r3, #3
  576. 322 .loc 1 244 32
  577. 323 01b6 9B00 lsls r3, r3, #2
  578. 324 .loc 1 244 25
  579. 325 01b8 0F22 movs r2, #15
  580. 326 01ba 02FA03F3 lsl r3, r2, r3
  581. ARM GAS C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s page 11
  582. 327 .loc 1 244 17
  583. 328 01be DB43 mvns r3, r3
  584. 329 .loc 1 244 14
  585. 330 01c0 BA69 ldr r2, [r7, #24]
  586. 331 01c2 1340 ands r3, r3, r2
  587. 332 01c4 BB61 str r3, [r7, #24]
  588. 245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4U * (position & 0x03U)));
  589. 333 .loc 1 245 18
  590. 334 01c6 7B68 ldr r3, [r7, #4]
  591. 335 01c8 524A ldr r2, .L29+8
  592. 336 01ca 9342 cmp r3, r2
  593. 337 01cc 2BD0 beq .L8
  594. 338 .loc 1 245 29 discriminator 1
  595. 339 01ce 7B68 ldr r3, [r7, #4]
  596. 340 01d0 514A ldr r2, .L29+12
  597. 341 01d2 9342 cmp r3, r2
  598. 342 01d4 25D0 beq .L9
  599. 343 .loc 1 245 29 is_stmt 0 discriminator 3
  600. 344 01d6 7B68 ldr r3, [r7, #4]
  601. 345 01d8 504A ldr r2, .L29+16
  602. 346 01da 9342 cmp r3, r2
  603. 347 01dc 1FD0 beq .L10
  604. 348 .loc 1 245 29 discriminator 5
  605. 349 01de 7B68 ldr r3, [r7, #4]
  606. 350 01e0 4F4A ldr r2, .L29+20
  607. 351 01e2 9342 cmp r3, r2
  608. 352 01e4 19D0 beq .L11
  609. 353 .loc 1 245 29 discriminator 7
  610. 354 01e6 7B68 ldr r3, [r7, #4]
  611. 355 01e8 4E4A ldr r2, .L29+24
  612. 356 01ea 9342 cmp r3, r2
  613. 357 01ec 13D0 beq .L12
  614. 358 .loc 1 245 29 discriminator 9
  615. 359 01ee 7B68 ldr r3, [r7, #4]
  616. 360 01f0 4D4A ldr r2, .L29+28
  617. 361 01f2 9342 cmp r3, r2
  618. 362 01f4 0DD0 beq .L13
  619. 363 .loc 1 245 29 discriminator 11
  620. 364 01f6 7B68 ldr r3, [r7, #4]
  621. 365 01f8 4C4A ldr r2, .L29+32
  622. 366 01fa 9342 cmp r3, r2
  623. 367 01fc 07D0 beq .L14
  624. 368 .loc 1 245 29 discriminator 13
  625. 369 01fe 7B68 ldr r3, [r7, #4]
  626. 370 0200 4B4A ldr r2, .L29+36
  627. 371 0202 9342 cmp r3, r2
  628. 372 0204 01D1 bne .L15
  629. 373 .loc 1 245 29 discriminator 15
  630. 374 0206 0723 movs r3, #7
  631. 375 0208 0EE0 b .L23
  632. 376 .L15:
  633. 377 .loc 1 245 29 discriminator 16
  634. 378 020a 0823 movs r3, #8
  635. 379 020c 0CE0 b .L23
  636. 380 .L14:
  637. 381 .loc 1 245 29 discriminator 14
  638. 382 020e 0623 movs r3, #6
  639. ARM GAS C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s page 12
  640. 383 0210 0AE0 b .L23
  641. 384 .L13:
  642. 385 .loc 1 245 29 discriminator 12
  643. 386 0212 0523 movs r3, #5
  644. 387 0214 08E0 b .L23
  645. 388 .L12:
  646. 389 .loc 1 245 29 discriminator 10
  647. 390 0216 0423 movs r3, #4
  648. 391 0218 06E0 b .L23
  649. 392 .L11:
  650. 393 .loc 1 245 29 discriminator 8
  651. 394 021a 0323 movs r3, #3
  652. 395 021c 04E0 b .L23
  653. 396 .L10:
  654. 397 .loc 1 245 29 discriminator 6
  655. 398 021e 0223 movs r3, #2
  656. 399 0220 02E0 b .L23
  657. 400 .L9:
  658. 401 .loc 1 245 29 discriminator 4
  659. 402 0222 0123 movs r3, #1
  660. 403 0224 00E0 b .L23
  661. 404 .L8:
  662. 405 .loc 1 245 18 is_stmt 1 discriminator 2
  663. 406 0226 0023 movs r3, #0
  664. 407 .L23:
  665. 408 .loc 1 245 71 discriminator 32
  666. 409 0228 FA69 ldr r2, [r7, #28]
  667. 410 022a 02F00302 and r2, r2, #3
  668. 411 .loc 1 245 59 discriminator 32
  669. 412 022e 9200 lsls r2, r2, #2
  670. 413 .loc 1 245 52 discriminator 32
  671. 414 0230 9340 lsls r3, r3, r2
  672. 415 .loc 1 245 14 discriminator 32
  673. 416 0232 BA69 ldr r2, [r7, #24]
  674. 417 0234 1343 orrs r3, r3, r2
  675. 418 0236 BB61 str r3, [r7, #24]
  676. 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2U] = temp;
  677. 419 .loc 1 246 15 discriminator 32
  678. 420 0238 3549 ldr r1, .L29+4
  679. 421 .loc 1 246 33 discriminator 32
  680. 422 023a FB69 ldr r3, [r7, #28]
  681. 423 023c 9B08 lsrs r3, r3, #2
  682. 424 .loc 1 246 40 discriminator 32
  683. 425 023e 0233 adds r3, r3, #2
  684. 426 0240 BA69 ldr r2, [r7, #24]
  685. 427 0242 41F82320 str r2, [r1, r3, lsl #2]
  686. 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  687. 248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Clear Rising Falling edge configuration */
  688. 249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp = EXTI->RTSR;
  689. 428 .loc 1 249 20 discriminator 32
  690. 429 0246 3B4B ldr r3, .L29+40
  691. 430 .loc 1 249 14 discriminator 32
  692. 431 0248 9B68 ldr r3, [r3, #8]
  693. 432 024a BB61 str r3, [r7, #24]
  694. 250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp &= ~((uint32_t)iocurrent);
  695. 433 .loc 1 250 17 discriminator 32
  696. 434 024c 3B69 ldr r3, [r7, #16]
  697. ARM GAS C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s page 13
  698. 435 024e DB43 mvns r3, r3
  699. 436 .loc 1 250 14 discriminator 32
  700. 437 0250 BA69 ldr r2, [r7, #24]
  701. 438 0252 1340 ands r3, r3, r2
  702. 439 0254 BB61 str r3, [r7, #24]
  703. 251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** if((GPIO_Init->Mode & TRIGGER_RISING) != 0x00U)
  704. 440 .loc 1 251 22 discriminator 32
  705. 441 0256 3B68 ldr r3, [r7]
  706. 442 0258 5B68 ldr r3, [r3, #4]
  707. 443 .loc 1 251 29 discriminator 32
  708. 444 025a 03F48013 and r3, r3, #1048576
  709. 445 .loc 1 251 11 discriminator 32
  710. 446 025e 002B cmp r3, #0
  711. 447 0260 03D0 beq .L24
  712. 252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  713. 253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= iocurrent;
  714. 448 .loc 1 253 16
  715. 449 0262 BA69 ldr r2, [r7, #24]
  716. 450 0264 3B69 ldr r3, [r7, #16]
  717. 451 0266 1343 orrs r3, r3, r2
  718. 452 0268 BB61 str r3, [r7, #24]
  719. 453 .L24:
  720. 254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  721. 255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** EXTI->RTSR = temp;
  722. 454 .loc 1 255 13
  723. 455 026a 324A ldr r2, .L29+40
  724. 456 .loc 1 255 20
  725. 457 026c BB69 ldr r3, [r7, #24]
  726. 458 026e 9360 str r3, [r2, #8]
  727. 256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  728. 257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp = EXTI->FTSR;
  729. 459 .loc 1 257 20
  730. 460 0270 304B ldr r3, .L29+40
  731. 461 .loc 1 257 14
  732. 462 0272 DB68 ldr r3, [r3, #12]
  733. 463 0274 BB61 str r3, [r7, #24]
  734. 258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp &= ~((uint32_t)iocurrent);
  735. 464 .loc 1 258 17
  736. 465 0276 3B69 ldr r3, [r7, #16]
  737. 466 0278 DB43 mvns r3, r3
  738. 467 .loc 1 258 14
  739. 468 027a BA69 ldr r2, [r7, #24]
  740. 469 027c 1340 ands r3, r3, r2
  741. 470 027e BB61 str r3, [r7, #24]
  742. 259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** if((GPIO_Init->Mode & TRIGGER_FALLING) != 0x00U)
  743. 471 .loc 1 259 22
  744. 472 0280 3B68 ldr r3, [r7]
  745. 473 0282 5B68 ldr r3, [r3, #4]
  746. 474 .loc 1 259 29
  747. 475 0284 03F40013 and r3, r3, #2097152
  748. 476 .loc 1 259 11
  749. 477 0288 002B cmp r3, #0
  750. 478 028a 03D0 beq .L25
  751. 260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  752. 261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= iocurrent;
  753. 479 .loc 1 261 16
  754. 480 028c BA69 ldr r2, [r7, #24]
  755. ARM GAS C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s page 14
  756. 481 028e 3B69 ldr r3, [r7, #16]
  757. 482 0290 1343 orrs r3, r3, r2
  758. 483 0292 BB61 str r3, [r7, #24]
  759. 484 .L25:
  760. 262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  761. 263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** EXTI->FTSR = temp;
  762. 485 .loc 1 263 13
  763. 486 0294 274A ldr r2, .L29+40
  764. 487 .loc 1 263 20
  765. 488 0296 BB69 ldr r3, [r7, #24]
  766. 489 0298 D360 str r3, [r2, #12]
  767. 264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  768. 265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp = EXTI->EMR;
  769. 490 .loc 1 265 20
  770. 491 029a 264B ldr r3, .L29+40
  771. 492 .loc 1 265 14
  772. 493 029c 5B68 ldr r3, [r3, #4]
  773. 494 029e BB61 str r3, [r7, #24]
  774. 266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp &= ~((uint32_t)iocurrent);
  775. 495 .loc 1 266 17
  776. 496 02a0 3B69 ldr r3, [r7, #16]
  777. 497 02a2 DB43 mvns r3, r3
  778. 498 .loc 1 266 14
  779. 499 02a4 BA69 ldr r2, [r7, #24]
  780. 500 02a6 1340 ands r3, r3, r2
  781. 501 02a8 BB61 str r3, [r7, #24]
  782. 267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** if((GPIO_Init->Mode & EXTI_EVT) != 0x00U)
  783. 502 .loc 1 267 22
  784. 503 02aa 3B68 ldr r3, [r7]
  785. 504 02ac 5B68 ldr r3, [r3, #4]
  786. 505 .loc 1 267 29
  787. 506 02ae 03F40033 and r3, r3, #131072
  788. 507 .loc 1 267 11
  789. 508 02b2 002B cmp r3, #0
  790. 509 02b4 03D0 beq .L26
  791. 268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  792. 269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= iocurrent;
  793. 510 .loc 1 269 16
  794. 511 02b6 BA69 ldr r2, [r7, #24]
  795. 512 02b8 3B69 ldr r3, [r7, #16]
  796. 513 02ba 1343 orrs r3, r3, r2
  797. 514 02bc BB61 str r3, [r7, #24]
  798. 515 .L26:
  799. 270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  800. 271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** EXTI->EMR = temp;
  801. 516 .loc 1 271 13
  802. 517 02be 1D4A ldr r2, .L29+40
  803. 518 .loc 1 271 19
  804. 519 02c0 BB69 ldr r3, [r7, #24]
  805. 520 02c2 5360 str r3, [r2, #4]
  806. 272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  807. 273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Clear EXTI line configuration */
  808. 274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp = EXTI->IMR;
  809. 521 .loc 1 274 20
  810. 522 02c4 1B4B ldr r3, .L29+40
  811. 523 .loc 1 274 14
  812. 524 02c6 1B68 ldr r3, [r3]
  813. ARM GAS C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s page 15
  814. 525 02c8 BB61 str r3, [r7, #24]
  815. 275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp &= ~((uint32_t)iocurrent);
  816. 526 .loc 1 275 17
  817. 527 02ca 3B69 ldr r3, [r7, #16]
  818. 528 02cc DB43 mvns r3, r3
  819. 529 .loc 1 275 14
  820. 530 02ce BA69 ldr r2, [r7, #24]
  821. 531 02d0 1340 ands r3, r3, r2
  822. 532 02d2 BB61 str r3, [r7, #24]
  823. 276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** if((GPIO_Init->Mode & EXTI_IT) != 0x00U)
  824. 533 .loc 1 276 22
  825. 534 02d4 3B68 ldr r3, [r7]
  826. 535 02d6 5B68 ldr r3, [r3, #4]
  827. 536 .loc 1 276 29
  828. 537 02d8 03F48033 and r3, r3, #65536
  829. 538 .loc 1 276 11
  830. 539 02dc 002B cmp r3, #0
  831. 540 02de 03D0 beq .L27
  832. 277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  833. 278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= iocurrent;
  834. 541 .loc 1 278 16
  835. 542 02e0 BA69 ldr r2, [r7, #24]
  836. 543 02e2 3B69 ldr r3, [r7, #16]
  837. 544 02e4 1343 orrs r3, r3, r2
  838. 545 02e6 BB61 str r3, [r7, #24]
  839. 546 .L27:
  840. 279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  841. 280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** EXTI->IMR = temp;
  842. 547 .loc 1 280 13
  843. 548 02e8 124A ldr r2, .L29+40
  844. 549 .loc 1 280 19
  845. 550 02ea BB69 ldr r3, [r7, #24]
  846. 551 02ec 1360 str r3, [r2]
  847. 552 .L3:
  848. 177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  849. 553 .loc 1 177 54 discriminator 2
  850. 554 02ee FB69 ldr r3, [r7, #28]
  851. 555 02f0 0133 adds r3, r3, #1
  852. 556 02f2 FB61 str r3, [r7, #28]
  853. 557 .L2:
  854. 177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  855. 558 .loc 1 177 3 discriminator 1
  856. 559 02f4 FB69 ldr r3, [r7, #28]
  857. 560 02f6 0F2B cmp r3, #15
  858. 561 02f8 7FF690AE bls .L28
  859. 281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  860. 282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  861. 283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  862. 284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  863. 562 .loc 1 284 1
  864. 563 02fc 00BF nop
  865. 564 02fe 00BF nop
  866. 565 0300 2437 adds r7, r7, #36
  867. 566 .LCFI3:
  868. 567 .cfi_def_cfa_offset 4
  869. 568 0302 BD46 mov sp, r7
  870. 569 .LCFI4:
  871. ARM GAS C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s page 16
  872. 570 .cfi_def_cfa_register 13
  873. 571 @ sp needed
  874. 572 0304 5DF8047B ldr r7, [sp], #4
  875. 573 .LCFI5:
  876. 574 .cfi_restore 7
  877. 575 .cfi_def_cfa_offset 0
  878. 576 0308 7047 bx lr
  879. 577 .L30:
  880. 578 030a 00BF .align 2
  881. 579 .L29:
  882. 580 030c 00380240 .word 1073887232
  883. 581 0310 00380140 .word 1073821696
  884. 582 0314 00000240 .word 1073872896
  885. 583 0318 00040240 .word 1073873920
  886. 584 031c 00080240 .word 1073874944
  887. 585 0320 000C0240 .word 1073875968
  888. 586 0324 00100240 .word 1073876992
  889. 587 0328 00140240 .word 1073878016
  890. 588 032c 00180240 .word 1073879040
  891. 589 0330 001C0240 .word 1073880064
  892. 590 0334 003C0140 .word 1073822720
  893. 591 .cfi_endproc
  894. 592 .LFE235:
  895. 594 .section .text.HAL_GPIO_DeInit,"ax",%progbits
  896. 595 .align 1
  897. 596 .global HAL_GPIO_DeInit
  898. 597 .syntax unified
  899. 598 .thumb
  900. 599 .thumb_func
  901. 601 HAL_GPIO_DeInit:
  902. 602 .LFB236:
  903. 285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  904. 286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /**
  905. 287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @brief De-initializes the GPIOx peripheral registers to their default reset values.
  906. 288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @param GPIOx where x can be (A..K) to select the GPIO peripheral for STM32F429X device or
  907. 289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * x can be (A..I) to select the GPIO peripheral for STM32F40XX and STM32F427
  908. 290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @param GPIO_Pin specifies the port bit to be written.
  909. 291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * This parameter can be one of GPIO_PIN_x where x can be (0..15).
  910. 292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @retval None
  911. 293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** */
  912. 294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** void HAL_GPIO_DeInit(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin)
  913. 295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  914. 603 .loc 1 295 1
  915. 604 .cfi_startproc
  916. 605 @ args = 0, pretend = 0, frame = 24
  917. 606 @ frame_needed = 1, uses_anonymous_args = 0
  918. 607 @ link register save eliminated.
  919. 608 0000 80B4 push {r7}
  920. 609 .LCFI6:
  921. 610 .cfi_def_cfa_offset 4
  922. 611 .cfi_offset 7, -4
  923. 612 0002 87B0 sub sp, sp, #28
  924. 613 .LCFI7:
  925. 614 .cfi_def_cfa_offset 32
  926. 615 0004 00AF add r7, sp, #0
  927. 616 .LCFI8:
  928. 617 .cfi_def_cfa_register 7
  929. ARM GAS C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s page 17
  930. 618 0006 7860 str r0, [r7, #4]
  931. 619 0008 3960 str r1, [r7]
  932. 296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** uint32_t position;
  933. 297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** uint32_t ioposition = 0x00U;
  934. 620 .loc 1 297 12
  935. 621 000a 0023 movs r3, #0
  936. 622 000c 3B61 str r3, [r7, #16]
  937. 298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** uint32_t iocurrent = 0x00U;
  938. 623 .loc 1 298 12
  939. 624 000e 0023 movs r3, #0
  940. 625 0010 FB60 str r3, [r7, #12]
  941. 299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** uint32_t tmp = 0x00U;
  942. 626 .loc 1 299 12
  943. 627 0012 0023 movs r3, #0
  944. 628 0014 BB60 str r3, [r7, #8]
  945. 300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  946. 301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Check the parameters */
  947. 302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** assert_param(IS_GPIO_ALL_INSTANCE(GPIOx));
  948. 303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  949. 304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Configure the port pins */
  950. 305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** for(position = 0U; position < GPIO_NUMBER; position++)
  951. 629 .loc 1 305 16
  952. 630 0016 0023 movs r3, #0
  953. 631 0018 7B61 str r3, [r7, #20]
  954. 632 .loc 1 305 3
  955. 633 001a CDE0 b .L32
  956. 634 .L51:
  957. 306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  958. 307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Get the IO position */
  959. 308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** ioposition = 0x01U << position;
  960. 635 .loc 1 308 16
  961. 636 001c 0122 movs r2, #1
  962. 637 001e 7B69 ldr r3, [r7, #20]
  963. 638 0020 02FA03F3 lsl r3, r2, r3
  964. 639 0024 3B61 str r3, [r7, #16]
  965. 309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Get the current IO position */
  966. 310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** iocurrent = (GPIO_Pin) & ioposition;
  967. 640 .loc 1 310 15
  968. 641 0026 3A68 ldr r2, [r7]
  969. 642 0028 3B69 ldr r3, [r7, #16]
  970. 643 002a 1340 ands r3, r3, r2
  971. 644 002c FB60 str r3, [r7, #12]
  972. 311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  973. 312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** if(iocurrent == ioposition)
  974. 645 .loc 1 312 7
  975. 646 002e FA68 ldr r2, [r7, #12]
  976. 647 0030 3B69 ldr r3, [r7, #16]
  977. 648 0032 9A42 cmp r2, r3
  978. 649 0034 40F0BD80 bne .L33
  979. 313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  980. 314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /*------------------------- EXTI Mode Configuration --------------------*/
  981. 315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** tmp = SYSCFG->EXTICR[position >> 2U];
  982. 650 .loc 1 315 19
  983. 651 0038 654A ldr r2, .L52
  984. 652 .loc 1 315 37
  985. 653 003a 7B69 ldr r3, [r7, #20]
  986. 654 003c 9B08 lsrs r3, r3, #2
  987. ARM GAS C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s page 18
  988. 655 .loc 1 315 11
  989. 656 003e 0233 adds r3, r3, #2
  990. 657 0040 52F82330 ldr r3, [r2, r3, lsl #2]
  991. 658 0044 BB60 str r3, [r7, #8]
  992. 316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** tmp &= (0x0FU << (4U * (position & 0x03U)));
  993. 659 .loc 1 316 40
  994. 660 0046 7B69 ldr r3, [r7, #20]
  995. 661 0048 03F00303 and r3, r3, #3
  996. 662 .loc 1 316 28
  997. 663 004c 9B00 lsls r3, r3, #2
  998. 664 .loc 1 316 21
  999. 665 004e 0F22 movs r2, #15
  1000. 666 0050 02FA03F3 lsl r3, r2, r3
  1001. 667 .loc 1 316 11
  1002. 668 0054 BA68 ldr r2, [r7, #8]
  1003. 669 0056 1340 ands r3, r3, r2
  1004. 670 0058 BB60 str r3, [r7, #8]
  1005. 317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** if(tmp == ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4U * (position & 0x03U))))
  1006. 671 .loc 1 317 18
  1007. 672 005a 7B68 ldr r3, [r7, #4]
  1008. 673 005c 5D4A ldr r2, .L52+4
  1009. 674 005e 9342 cmp r3, r2
  1010. 675 0060 2BD0 beq .L34
  1011. 676 .loc 1 317 29 discriminator 1
  1012. 677 0062 7B68 ldr r3, [r7, #4]
  1013. 678 0064 5C4A ldr r2, .L52+8
  1014. 679 0066 9342 cmp r3, r2
  1015. 680 0068 25D0 beq .L35
  1016. 681 .loc 1 317 29 is_stmt 0 discriminator 3
  1017. 682 006a 7B68 ldr r3, [r7, #4]
  1018. 683 006c 5B4A ldr r2, .L52+12
  1019. 684 006e 9342 cmp r3, r2
  1020. 685 0070 1FD0 beq .L36
  1021. 686 .loc 1 317 29 discriminator 5
  1022. 687 0072 7B68 ldr r3, [r7, #4]
  1023. 688 0074 5A4A ldr r2, .L52+16
  1024. 689 0076 9342 cmp r3, r2
  1025. 690 0078 19D0 beq .L37
  1026. 691 .loc 1 317 29 discriminator 7
  1027. 692 007a 7B68 ldr r3, [r7, #4]
  1028. 693 007c 594A ldr r2, .L52+20
  1029. 694 007e 9342 cmp r3, r2
  1030. 695 0080 13D0 beq .L38
  1031. 696 .loc 1 317 29 discriminator 9
  1032. 697 0082 7B68 ldr r3, [r7, #4]
  1033. 698 0084 584A ldr r2, .L52+24
  1034. 699 0086 9342 cmp r3, r2
  1035. 700 0088 0DD0 beq .L39
  1036. 701 .loc 1 317 29 discriminator 11
  1037. 702 008a 7B68 ldr r3, [r7, #4]
  1038. 703 008c 574A ldr r2, .L52+28
  1039. 704 008e 9342 cmp r3, r2
  1040. 705 0090 07D0 beq .L40
  1041. 706 .loc 1 317 29 discriminator 13
  1042. 707 0092 7B68 ldr r3, [r7, #4]
  1043. 708 0094 564A ldr r2, .L52+32
  1044. 709 0096 9342 cmp r3, r2
  1045. ARM GAS C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s page 19
  1046. 710 0098 01D1 bne .L41
  1047. 711 .loc 1 317 29 discriminator 15
  1048. 712 009a 0723 movs r3, #7
  1049. 713 009c 0EE0 b .L49
  1050. 714 .L41:
  1051. 715 .loc 1 317 29 discriminator 16
  1052. 716 009e 0823 movs r3, #8
  1053. 717 00a0 0CE0 b .L49
  1054. 718 .L40:
  1055. 719 .loc 1 317 29 discriminator 14
  1056. 720 00a2 0623 movs r3, #6
  1057. 721 00a4 0AE0 b .L49
  1058. 722 .L39:
  1059. 723 .loc 1 317 29 discriminator 12
  1060. 724 00a6 0523 movs r3, #5
  1061. 725 00a8 08E0 b .L49
  1062. 726 .L38:
  1063. 727 .loc 1 317 29 discriminator 10
  1064. 728 00aa 0423 movs r3, #4
  1065. 729 00ac 06E0 b .L49
  1066. 730 .L37:
  1067. 731 .loc 1 317 29 discriminator 8
  1068. 732 00ae 0323 movs r3, #3
  1069. 733 00b0 04E0 b .L49
  1070. 734 .L36:
  1071. 735 .loc 1 317 29 discriminator 6
  1072. 736 00b2 0223 movs r3, #2
  1073. 737 00b4 02E0 b .L49
  1074. 738 .L35:
  1075. 739 .loc 1 317 29 discriminator 4
  1076. 740 00b6 0123 movs r3, #1
  1077. 741 00b8 00E0 b .L49
  1078. 742 .L34:
  1079. 743 .loc 1 317 18 is_stmt 1 discriminator 2
  1080. 744 00ba 0023 movs r3, #0
  1081. 745 .L49:
  1082. 746 .loc 1 317 71 discriminator 32
  1083. 747 00bc 7A69 ldr r2, [r7, #20]
  1084. 748 00be 02F00302 and r2, r2, #3
  1085. 749 .loc 1 317 59 discriminator 32
  1086. 750 00c2 9200 lsls r2, r2, #2
  1087. 751 .loc 1 317 52 discriminator 32
  1088. 752 00c4 9340 lsls r3, r3, r2
  1089. 753 .loc 1 317 9 discriminator 32
  1090. 754 00c6 BA68 ldr r2, [r7, #8]
  1091. 755 00c8 9A42 cmp r2, r3
  1092. 756 00ca 32D1 bne .L50
  1093. 318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1094. 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Clear EXTI line configuration */
  1095. 320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** EXTI->IMR &= ~((uint32_t)iocurrent);
  1096. 757 .loc 1 320 19
  1097. 758 00cc 494B ldr r3, .L52+36
  1098. 759 00ce 1A68 ldr r2, [r3]
  1099. 760 .loc 1 320 22
  1100. 761 00d0 FB68 ldr r3, [r7, #12]
  1101. 762 00d2 DB43 mvns r3, r3
  1102. 763 .loc 1 320 19
  1103. ARM GAS C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s page 20
  1104. 764 00d4 4749 ldr r1, .L52+36
  1105. 765 00d6 1340 ands r3, r3, r2
  1106. 766 00d8 0B60 str r3, [r1]
  1107. 321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** EXTI->EMR &= ~((uint32_t)iocurrent);
  1108. 767 .loc 1 321 19
  1109. 768 00da 464B ldr r3, .L52+36
  1110. 769 00dc 5A68 ldr r2, [r3, #4]
  1111. 770 .loc 1 321 22
  1112. 771 00de FB68 ldr r3, [r7, #12]
  1113. 772 00e0 DB43 mvns r3, r3
  1114. 773 .loc 1 321 19
  1115. 774 00e2 4449 ldr r1, .L52+36
  1116. 775 00e4 1340 ands r3, r3, r2
  1117. 776 00e6 4B60 str r3, [r1, #4]
  1118. 322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1119. 323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Clear Rising Falling edge configuration */
  1120. 324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** EXTI->FTSR &= ~((uint32_t)iocurrent);
  1121. 777 .loc 1 324 20
  1122. 778 00e8 424B ldr r3, .L52+36
  1123. 779 00ea DA68 ldr r2, [r3, #12]
  1124. 780 .loc 1 324 23
  1125. 781 00ec FB68 ldr r3, [r7, #12]
  1126. 782 00ee DB43 mvns r3, r3
  1127. 783 .loc 1 324 20
  1128. 784 00f0 4049 ldr r1, .L52+36
  1129. 785 00f2 1340 ands r3, r3, r2
  1130. 786 00f4 CB60 str r3, [r1, #12]
  1131. 325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** EXTI->RTSR &= ~((uint32_t)iocurrent);
  1132. 787 .loc 1 325 20
  1133. 788 00f6 3F4B ldr r3, .L52+36
  1134. 789 00f8 9A68 ldr r2, [r3, #8]
  1135. 790 .loc 1 325 23
  1136. 791 00fa FB68 ldr r3, [r7, #12]
  1137. 792 00fc DB43 mvns r3, r3
  1138. 793 .loc 1 325 20
  1139. 794 00fe 3D49 ldr r1, .L52+36
  1140. 795 0100 1340 ands r3, r3, r2
  1141. 796 0102 8B60 str r3, [r1, #8]
  1142. 326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1143. 327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Configure the External Interrupt or event for the current IO */
  1144. 328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** tmp = 0x0FU << (4U * (position & 0x03U));
  1145. 797 .loc 1 328 40
  1146. 798 0104 7B69 ldr r3, [r7, #20]
  1147. 799 0106 03F00303 and r3, r3, #3
  1148. 800 .loc 1 328 28
  1149. 801 010a 9B00 lsls r3, r3, #2
  1150. 802 .loc 1 328 13
  1151. 803 010c 0F22 movs r2, #15
  1152. 804 010e 02FA03F3 lsl r3, r2, r3
  1153. 805 0112 BB60 str r3, [r7, #8]
  1154. 329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2U] &= ~tmp;
  1155. 806 .loc 1 329 40
  1156. 807 0114 2E4A ldr r2, .L52
  1157. 808 0116 7B69 ldr r3, [r7, #20]
  1158. 809 0118 9B08 lsrs r3, r3, #2
  1159. 810 011a 0233 adds r3, r3, #2
  1160. 811 011c 52F82310 ldr r1, [r2, r3, lsl #2]
  1161. ARM GAS C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s page 21
  1162. 812 .loc 1 329 43
  1163. 813 0120 BB68 ldr r3, [r7, #8]
  1164. 814 0122 DA43 mvns r2, r3
  1165. 815 .loc 1 329 40
  1166. 816 0124 2A48 ldr r0, .L52
  1167. 817 0126 7B69 ldr r3, [r7, #20]
  1168. 818 0128 9B08 lsrs r3, r3, #2
  1169. 819 012a 0A40 ands r2, r2, r1
  1170. 820 012c 0233 adds r3, r3, #2
  1171. 821 012e 40F82320 str r2, [r0, r3, lsl #2]
  1172. 822 .L50:
  1173. 330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1174. 331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1175. 332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /*------------------------- GPIO Mode Configuration --------------------*/
  1176. 333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Configure IO Direction in Input Floating Mode */
  1177. 334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->MODER &= ~(GPIO_MODER_MODER0 << (position * 2U));
  1178. 823 .loc 1 334 20
  1179. 824 0132 7B68 ldr r3, [r7, #4]
  1180. 825 0134 1A68 ldr r2, [r3]
  1181. 826 .loc 1 334 56
  1182. 827 0136 7B69 ldr r3, [r7, #20]
  1183. 828 0138 5B00 lsls r3, r3, #1
  1184. 829 .loc 1 334 43
  1185. 830 013a 0321 movs r1, #3
  1186. 831 013c 01FA03F3 lsl r3, r1, r3
  1187. 832 .loc 1 334 23
  1188. 833 0140 DB43 mvns r3, r3
  1189. 834 .loc 1 334 20
  1190. 835 0142 1A40 ands r2, r2, r3
  1191. 836 0144 7B68 ldr r3, [r7, #4]
  1192. 837 0146 1A60 str r2, [r3]
  1193. 335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1194. 336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Configure the default Alternate Function in current IO */
  1195. 337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->AFR[position >> 3U] &= ~(0xFU << ((uint32_t)(position & 0x07U) * 4U)) ;
  1196. 838 .loc 1 337 34
  1197. 839 0148 7B69 ldr r3, [r7, #20]
  1198. 840 014a DA08 lsrs r2, r3, #3
  1199. 841 014c 7B68 ldr r3, [r7, #4]
  1200. 842 014e 0832 adds r2, r2, #8
  1201. 843 0150 53F82210 ldr r1, [r3, r2, lsl #2]
  1202. 844 .loc 1 337 48
  1203. 845 0154 7B69 ldr r3, [r7, #20]
  1204. 846 0156 03F00703 and r3, r3, #7
  1205. 847 .loc 1 337 77
  1206. 848 015a 9B00 lsls r3, r3, #2
  1207. 849 .loc 1 337 44
  1208. 850 015c 0F22 movs r2, #15
  1209. 851 015e 02FA03F3 lsl r3, r2, r3
  1210. 852 .loc 1 337 37
  1211. 853 0162 DB43 mvns r3, r3
  1212. 854 .loc 1 337 34
  1213. 855 0164 7A69 ldr r2, [r7, #20]
  1214. 856 0166 D208 lsrs r2, r2, #3
  1215. 857 0168 1940 ands r1, r1, r3
  1216. 858 016a 7B68 ldr r3, [r7, #4]
  1217. 859 016c 0832 adds r2, r2, #8
  1218. 860 016e 43F82210 str r1, [r3, r2, lsl #2]
  1219. ARM GAS C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s page 22
  1220. 338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1221. 339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Deactivate the Pull-up and Pull-down resistor for the current IO */
  1222. 340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->PUPDR &= ~(GPIO_PUPDR_PUPDR0 << (position * 2U));
  1223. 861 .loc 1 340 20
  1224. 862 0172 7B68 ldr r3, [r7, #4]
  1225. 863 0174 DA68 ldr r2, [r3, #12]
  1226. 864 .loc 1 340 56
  1227. 865 0176 7B69 ldr r3, [r7, #20]
  1228. 866 0178 5B00 lsls r3, r3, #1
  1229. 867 .loc 1 340 43
  1230. 868 017a 0321 movs r1, #3
  1231. 869 017c 01FA03F3 lsl r3, r1, r3
  1232. 870 .loc 1 340 23
  1233. 871 0180 DB43 mvns r3, r3
  1234. 872 .loc 1 340 20
  1235. 873 0182 1A40 ands r2, r2, r3
  1236. 874 0184 7B68 ldr r3, [r7, #4]
  1237. 875 0186 DA60 str r2, [r3, #12]
  1238. 341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1239. 342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Configure the default value IO Output Type */
  1240. 343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->OTYPER &= ~(GPIO_OTYPER_OT_0 << position) ;
  1241. 876 .loc 1 343 22
  1242. 877 0188 7B68 ldr r3, [r7, #4]
  1243. 878 018a 5A68 ldr r2, [r3, #4]
  1244. 879 .loc 1 343 44
  1245. 880 018c 0121 movs r1, #1
  1246. 881 018e 7B69 ldr r3, [r7, #20]
  1247. 882 0190 01FA03F3 lsl r3, r1, r3
  1248. 883 .loc 1 343 25
  1249. 884 0194 DB43 mvns r3, r3
  1250. 885 .loc 1 343 22
  1251. 886 0196 1A40 ands r2, r2, r3
  1252. 887 0198 7B68 ldr r3, [r7, #4]
  1253. 888 019a 5A60 str r2, [r3, #4]
  1254. 344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1255. 345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Configure the default value for IO Speed */
  1256. 346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->OSPEEDR &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2U));
  1257. 889 .loc 1 346 22
  1258. 890 019c 7B68 ldr r3, [r7, #4]
  1259. 891 019e 9A68 ldr r2, [r3, #8]
  1260. 892 .loc 1 346 63
  1261. 893 01a0 7B69 ldr r3, [r7, #20]
  1262. 894 01a2 5B00 lsls r3, r3, #1
  1263. 895 .loc 1 346 50
  1264. 896 01a4 0321 movs r1, #3
  1265. 897 01a6 01FA03F3 lsl r3, r1, r3
  1266. 898 .loc 1 346 25
  1267. 899 01aa DB43 mvns r3, r3
  1268. 900 .loc 1 346 22
  1269. 901 01ac 1A40 ands r2, r2, r3
  1270. 902 01ae 7B68 ldr r3, [r7, #4]
  1271. 903 01b0 9A60 str r2, [r3, #8]
  1272. 904 .L33:
  1273. 305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1274. 905 .loc 1 305 54 discriminator 2
  1275. 906 01b2 7B69 ldr r3, [r7, #20]
  1276. 907 01b4 0133 adds r3, r3, #1
  1277. ARM GAS C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s page 23
  1278. 908 01b6 7B61 str r3, [r7, #20]
  1279. 909 .L32:
  1280. 305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1281. 910 .loc 1 305 3 discriminator 1
  1282. 911 01b8 7B69 ldr r3, [r7, #20]
  1283. 912 01ba 0F2B cmp r3, #15
  1284. 913 01bc 7FF62EAF bls .L51
  1285. 347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1286. 348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1287. 349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1288. 914 .loc 1 349 1
  1289. 915 01c0 00BF nop
  1290. 916 01c2 00BF nop
  1291. 917 01c4 1C37 adds r7, r7, #28
  1292. 918 .LCFI9:
  1293. 919 .cfi_def_cfa_offset 4
  1294. 920 01c6 BD46 mov sp, r7
  1295. 921 .LCFI10:
  1296. 922 .cfi_def_cfa_register 13
  1297. 923 @ sp needed
  1298. 924 01c8 5DF8047B ldr r7, [sp], #4
  1299. 925 .LCFI11:
  1300. 926 .cfi_restore 7
  1301. 927 .cfi_def_cfa_offset 0
  1302. 928 01cc 7047 bx lr
  1303. 929 .L53:
  1304. 930 01ce 00BF .align 2
  1305. 931 .L52:
  1306. 932 01d0 00380140 .word 1073821696
  1307. 933 01d4 00000240 .word 1073872896
  1308. 934 01d8 00040240 .word 1073873920
  1309. 935 01dc 00080240 .word 1073874944
  1310. 936 01e0 000C0240 .word 1073875968
  1311. 937 01e4 00100240 .word 1073876992
  1312. 938 01e8 00140240 .word 1073878016
  1313. 939 01ec 00180240 .word 1073879040
  1314. 940 01f0 001C0240 .word 1073880064
  1315. 941 01f4 003C0140 .word 1073822720
  1316. 942 .cfi_endproc
  1317. 943 .LFE236:
  1318. 945 .section .text.HAL_GPIO_ReadPin,"ax",%progbits
  1319. 946 .align 1
  1320. 947 .global HAL_GPIO_ReadPin
  1321. 948 .syntax unified
  1322. 949 .thumb
  1323. 950 .thumb_func
  1324. 952 HAL_GPIO_ReadPin:
  1325. 953 .LFB237:
  1326. 350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1327. 351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /**
  1328. 352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @}
  1329. 353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** */
  1330. 354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1331. 355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /** @defgroup GPIO_Exported_Functions_Group2 IO operation functions
  1332. 356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @brief GPIO Read and Write
  1333. 357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** *
  1334. 358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** @verbatim
  1335. ARM GAS C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s page 24
  1336. 359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** ===============================================================================
  1337. 360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** ##### IO operation functions #####
  1338. 361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** ===============================================================================
  1339. 362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1340. 363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** @endverbatim
  1341. 364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @{
  1342. 365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** */
  1343. 366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1344. 367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /**
  1345. 368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @brief Reads the specified input port pin.
  1346. 369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @param GPIOx where x can be (A..K) to select the GPIO peripheral for STM32F429X device or
  1347. 370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * x can be (A..I) to select the GPIO peripheral for STM32F40XX and STM32F427
  1348. 371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @param GPIO_Pin specifies the port bit to read.
  1349. 372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * This parameter can be GPIO_PIN_x where x can be (0..15).
  1350. 373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @retval The input port pin value.
  1351. 374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** */
  1352. 375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
  1353. 376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1354. 954 .loc 1 376 1
  1355. 955 .cfi_startproc
  1356. 956 @ args = 0, pretend = 0, frame = 16
  1357. 957 @ frame_needed = 1, uses_anonymous_args = 0
  1358. 958 @ link register save eliminated.
  1359. 959 0000 80B4 push {r7}
  1360. 960 .LCFI12:
  1361. 961 .cfi_def_cfa_offset 4
  1362. 962 .cfi_offset 7, -4
  1363. 963 0002 85B0 sub sp, sp, #20
  1364. 964 .LCFI13:
  1365. 965 .cfi_def_cfa_offset 24
  1366. 966 0004 00AF add r7, sp, #0
  1367. 967 .LCFI14:
  1368. 968 .cfi_def_cfa_register 7
  1369. 969 0006 7860 str r0, [r7, #4]
  1370. 970 0008 0B46 mov r3, r1
  1371. 971 000a 7B80 strh r3, [r7, #2] @ movhi
  1372. 377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIO_PinState bitstatus;
  1373. 378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1374. 379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Check the parameters */
  1375. 380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Pin));
  1376. 381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1377. 382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** if((GPIOx->IDR & GPIO_Pin) != (uint32_t)GPIO_PIN_RESET)
  1378. 972 .loc 1 382 12
  1379. 973 000c 7B68 ldr r3, [r7, #4]
  1380. 974 000e 1A69 ldr r2, [r3, #16]
  1381. 975 .loc 1 382 18
  1382. 976 0010 7B88 ldrh r3, [r7, #2]
  1383. 977 0012 1340 ands r3, r3, r2
  1384. 978 .loc 1 382 5
  1385. 979 0014 002B cmp r3, #0
  1386. 980 0016 02D0 beq .L55
  1387. 383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1388. 384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** bitstatus = GPIO_PIN_SET;
  1389. 981 .loc 1 384 15
  1390. 982 0018 0123 movs r3, #1
  1391. 983 001a FB73 strb r3, [r7, #15]
  1392. 984 001c 01E0 b .L56
  1393. ARM GAS C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s page 25
  1394. 985 .L55:
  1395. 385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1396. 386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** else
  1397. 387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1398. 388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** bitstatus = GPIO_PIN_RESET;
  1399. 986 .loc 1 388 15
  1400. 987 001e 0023 movs r3, #0
  1401. 988 0020 FB73 strb r3, [r7, #15]
  1402. 989 .L56:
  1403. 389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1404. 390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** return bitstatus;
  1405. 990 .loc 1 390 10
  1406. 991 0022 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  1407. 391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1408. 992 .loc 1 391 1
  1409. 993 0024 1846 mov r0, r3
  1410. 994 0026 1437 adds r7, r7, #20
  1411. 995 .LCFI15:
  1412. 996 .cfi_def_cfa_offset 4
  1413. 997 0028 BD46 mov sp, r7
  1414. 998 .LCFI16:
  1415. 999 .cfi_def_cfa_register 13
  1416. 1000 @ sp needed
  1417. 1001 002a 5DF8047B ldr r7, [sp], #4
  1418. 1002 .LCFI17:
  1419. 1003 .cfi_restore 7
  1420. 1004 .cfi_def_cfa_offset 0
  1421. 1005 002e 7047 bx lr
  1422. 1006 .cfi_endproc
  1423. 1007 .LFE237:
  1424. 1009 .section .text.HAL_GPIO_WritePin,"ax",%progbits
  1425. 1010 .align 1
  1426. 1011 .global HAL_GPIO_WritePin
  1427. 1012 .syntax unified
  1428. 1013 .thumb
  1429. 1014 .thumb_func
  1430. 1016 HAL_GPIO_WritePin:
  1431. 1017 .LFB238:
  1432. 392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1433. 393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /**
  1434. 394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @brief Sets or clears the selected data port bit.
  1435. 395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** *
  1436. 396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @note This function uses GPIOx_BSRR register to allow atomic read/modify
  1437. 397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * accesses. In this way, there is no risk of an IRQ occurring between
  1438. 398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * the read and the modify access.
  1439. 399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** *
  1440. 400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @param GPIOx where x can be (A..K) to select the GPIO peripheral for STM32F429X device or
  1441. 401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * x can be (A..I) to select the GPIO peripheral for STM32F40XX and STM32F427
  1442. 402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @param GPIO_Pin specifies the port bit to be written.
  1443. 403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * This parameter can be one of GPIO_PIN_x where x can be (0..15).
  1444. 404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @param PinState specifies the value to be written to the selected bit.
  1445. 405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * This parameter can be one of the GPIO_PinState enum values:
  1446. 406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @arg GPIO_PIN_RESET: to clear the port pin
  1447. 407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @arg GPIO_PIN_SET: to set the port pin
  1448. 408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @retval None
  1449. 409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** */
  1450. 410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)
  1451. ARM GAS C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s page 26
  1452. 411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1453. 1018 .loc 1 411 1
  1454. 1019 .cfi_startproc
  1455. 1020 @ args = 0, pretend = 0, frame = 8
  1456. 1021 @ frame_needed = 1, uses_anonymous_args = 0
  1457. 1022 @ link register save eliminated.
  1458. 1023 0000 80B4 push {r7}
  1459. 1024 .LCFI18:
  1460. 1025 .cfi_def_cfa_offset 4
  1461. 1026 .cfi_offset 7, -4
  1462. 1027 0002 83B0 sub sp, sp, #12
  1463. 1028 .LCFI19:
  1464. 1029 .cfi_def_cfa_offset 16
  1465. 1030 0004 00AF add r7, sp, #0
  1466. 1031 .LCFI20:
  1467. 1032 .cfi_def_cfa_register 7
  1468. 1033 0006 7860 str r0, [r7, #4]
  1469. 1034 0008 0B46 mov r3, r1
  1470. 1035 000a 7B80 strh r3, [r7, #2] @ movhi
  1471. 1036 000c 1346 mov r3, r2
  1472. 1037 000e 7B70 strb r3, [r7, #1]
  1473. 412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Check the parameters */
  1474. 413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Pin));
  1475. 414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** assert_param(IS_GPIO_PIN_ACTION(PinState));
  1476. 415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1477. 416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** if(PinState != GPIO_PIN_RESET)
  1478. 1038 .loc 1 416 5
  1479. 1039 0010 7B78 ldrb r3, [r7, #1] @ zero_extendqisi2
  1480. 1040 0012 002B cmp r3, #0
  1481. 1041 0014 03D0 beq .L59
  1482. 417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1483. 418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->BSRR = GPIO_Pin;
  1484. 1042 .loc 1 418 17
  1485. 1043 0016 7A88 ldrh r2, [r7, #2]
  1486. 1044 0018 7B68 ldr r3, [r7, #4]
  1487. 1045 001a 9A61 str r2, [r3, #24]
  1488. 419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1489. 420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** else
  1490. 421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1491. 422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->BSRR = (uint32_t)GPIO_Pin << 16U;
  1492. 423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1493. 424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1494. 1046 .loc 1 424 1
  1495. 1047 001c 03E0 b .L61
  1496. 1048 .L59:
  1497. 422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1498. 1049 .loc 1 422 19
  1499. 1050 001e 7B88 ldrh r3, [r7, #2]
  1500. 422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1501. 1051 .loc 1 422 38
  1502. 1052 0020 1A04 lsls r2, r3, #16
  1503. 422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1504. 1053 .loc 1 422 17
  1505. 1054 0022 7B68 ldr r3, [r7, #4]
  1506. 1055 0024 9A61 str r2, [r3, #24]
  1507. 1056 .L61:
  1508. 1057 .loc 1 424 1
  1509. ARM GAS C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s page 27
  1510. 1058 0026 00BF nop
  1511. 1059 0028 0C37 adds r7, r7, #12
  1512. 1060 .LCFI21:
  1513. 1061 .cfi_def_cfa_offset 4
  1514. 1062 002a BD46 mov sp, r7
  1515. 1063 .LCFI22:
  1516. 1064 .cfi_def_cfa_register 13
  1517. 1065 @ sp needed
  1518. 1066 002c 5DF8047B ldr r7, [sp], #4
  1519. 1067 .LCFI23:
  1520. 1068 .cfi_restore 7
  1521. 1069 .cfi_def_cfa_offset 0
  1522. 1070 0030 7047 bx lr
  1523. 1071 .cfi_endproc
  1524. 1072 .LFE238:
  1525. 1074 .section .text.HAL_GPIO_TogglePin,"ax",%progbits
  1526. 1075 .align 1
  1527. 1076 .global HAL_GPIO_TogglePin
  1528. 1077 .syntax unified
  1529. 1078 .thumb
  1530. 1079 .thumb_func
  1531. 1081 HAL_GPIO_TogglePin:
  1532. 1082 .LFB239:
  1533. 425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1534. 426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /**
  1535. 427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @brief Toggles the specified GPIO pins.
  1536. 428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @param GPIOx Where x can be (A..K) to select the GPIO peripheral for STM32F429X device or
  1537. 429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * x can be (A..I) to select the GPIO peripheral for STM32F40XX and STM32F427
  1538. 430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @param GPIO_Pin Specifies the pins to be toggled.
  1539. 431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @retval None
  1540. 432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** */
  1541. 433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** void HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
  1542. 434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1543. 1083 .loc 1 434 1
  1544. 1084 .cfi_startproc
  1545. 1085 @ args = 0, pretend = 0, frame = 16
  1546. 1086 @ frame_needed = 1, uses_anonymous_args = 0
  1547. 1087 @ link register save eliminated.
  1548. 1088 0000 80B4 push {r7}
  1549. 1089 .LCFI24:
  1550. 1090 .cfi_def_cfa_offset 4
  1551. 1091 .cfi_offset 7, -4
  1552. 1092 0002 85B0 sub sp, sp, #20
  1553. 1093 .LCFI25:
  1554. 1094 .cfi_def_cfa_offset 24
  1555. 1095 0004 00AF add r7, sp, #0
  1556. 1096 .LCFI26:
  1557. 1097 .cfi_def_cfa_register 7
  1558. 1098 0006 7860 str r0, [r7, #4]
  1559. 1099 0008 0B46 mov r3, r1
  1560. 1100 000a 7B80 strh r3, [r7, #2] @ movhi
  1561. 435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** uint32_t odr;
  1562. 436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1563. 437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Check the parameters */
  1564. 438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Pin));
  1565. 439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1566. 440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* get current Output Data Register value */
  1567. ARM GAS C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s page 28
  1568. 441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** odr = GPIOx->ODR;
  1569. 1101 .loc 1 441 7
  1570. 1102 000c 7B68 ldr r3, [r7, #4]
  1571. 1103 000e 5B69 ldr r3, [r3, #20]
  1572. 1104 0010 FB60 str r3, [r7, #12]
  1573. 442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1574. 443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Set selected pins that were at low level, and reset ones that were high */
  1575. 444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->BSRR = ((odr & GPIO_Pin) << GPIO_NUMBER) | (~odr & GPIO_Pin);
  1576. 1105 .loc 1 444 23
  1577. 1106 0012 7A88 ldrh r2, [r7, #2]
  1578. 1107 0014 FB68 ldr r3, [r7, #12]
  1579. 1108 0016 1340 ands r3, r3, r2
  1580. 1109 .loc 1 444 35
  1581. 1110 0018 1A04 lsls r2, r3, #16
  1582. 1111 .loc 1 444 54
  1583. 1112 001a FB68 ldr r3, [r7, #12]
  1584. 1113 001c D943 mvns r1, r3
  1585. 1114 .loc 1 444 59
  1586. 1115 001e 7B88 ldrh r3, [r7, #2]
  1587. 1116 0020 0B40 ands r3, r3, r1
  1588. 1117 .loc 1 444 51
  1589. 1118 0022 1A43 orrs r2, r2, r3
  1590. 1119 .loc 1 444 15
  1591. 1120 0024 7B68 ldr r3, [r7, #4]
  1592. 1121 0026 9A61 str r2, [r3, #24]
  1593. 445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1594. 1122 .loc 1 445 1
  1595. 1123 0028 00BF nop
  1596. 1124 002a 1437 adds r7, r7, #20
  1597. 1125 .LCFI27:
  1598. 1126 .cfi_def_cfa_offset 4
  1599. 1127 002c BD46 mov sp, r7
  1600. 1128 .LCFI28:
  1601. 1129 .cfi_def_cfa_register 13
  1602. 1130 @ sp needed
  1603. 1131 002e 5DF8047B ldr r7, [sp], #4
  1604. 1132 .LCFI29:
  1605. 1133 .cfi_restore 7
  1606. 1134 .cfi_def_cfa_offset 0
  1607. 1135 0032 7047 bx lr
  1608. 1136 .cfi_endproc
  1609. 1137 .LFE239:
  1610. 1139 .section .text.HAL_GPIO_LockPin,"ax",%progbits
  1611. 1140 .align 1
  1612. 1141 .global HAL_GPIO_LockPin
  1613. 1142 .syntax unified
  1614. 1143 .thumb
  1615. 1144 .thumb_func
  1616. 1146 HAL_GPIO_LockPin:
  1617. 1147 .LFB240:
  1618. 446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1619. 447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /**
  1620. 448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @brief Locks GPIO Pins configuration registers.
  1621. 449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @note The locked registers are GPIOx_MODER, GPIOx_OTYPER, GPIOx_OSPEEDR,
  1622. 450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * GPIOx_PUPDR, GPIOx_AFRL and GPIOx_AFRH.
  1623. 451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @note The configuration of the locked GPIO pins can no longer be modified
  1624. 452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * until the next reset.
  1625. ARM GAS C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s page 29
  1626. 453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @param GPIOx where x can be (A..F) to select the GPIO peripheral for STM32F4 family
  1627. 454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @param GPIO_Pin specifies the port bit to be locked.
  1628. 455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * This parameter can be any combination of GPIO_PIN_x where x can be (0..15).
  1629. 456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @retval None
  1630. 457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** */
  1631. 458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** HAL_StatusTypeDef HAL_GPIO_LockPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
  1632. 459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1633. 1148 .loc 1 459 1
  1634. 1149 .cfi_startproc
  1635. 1150 @ args = 0, pretend = 0, frame = 16
  1636. 1151 @ frame_needed = 1, uses_anonymous_args = 0
  1637. 1152 @ link register save eliminated.
  1638. 1153 0000 80B4 push {r7}
  1639. 1154 .LCFI30:
  1640. 1155 .cfi_def_cfa_offset 4
  1641. 1156 .cfi_offset 7, -4
  1642. 1157 0002 85B0 sub sp, sp, #20
  1643. 1158 .LCFI31:
  1644. 1159 .cfi_def_cfa_offset 24
  1645. 1160 0004 00AF add r7, sp, #0
  1646. 1161 .LCFI32:
  1647. 1162 .cfi_def_cfa_register 7
  1648. 1163 0006 7860 str r0, [r7, #4]
  1649. 1164 0008 0B46 mov r3, r1
  1650. 1165 000a 7B80 strh r3, [r7, #2] @ movhi
  1651. 460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** __IO uint32_t tmp = GPIO_LCKR_LCKK;
  1652. 1166 .loc 1 460 17
  1653. 1167 000c 4FF48033 mov r3, #65536
  1654. 1168 0010 FB60 str r3, [r7, #12]
  1655. 461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1656. 462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Check the parameters */
  1657. 463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Pin));
  1658. 464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1659. 465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Apply lock key write sequence */
  1660. 466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** tmp |= GPIO_Pin;
  1661. 1169 .loc 1 466 7
  1662. 1170 0012 7A88 ldrh r2, [r7, #2]
  1663. 1171 0014 FB68 ldr r3, [r7, #12]
  1664. 1172 0016 1343 orrs r3, r3, r2
  1665. 1173 0018 FB60 str r3, [r7, #12]
  1666. 467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Set LCKx bit(s): LCKK='1' + LCK[15-0] */
  1667. 468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->LCKR = tmp;
  1668. 1174 .loc 1 468 15
  1669. 1175 001a FA68 ldr r2, [r7, #12]
  1670. 1176 001c 7B68 ldr r3, [r7, #4]
  1671. 1177 001e DA61 str r2, [r3, #28]
  1672. 469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Reset LCKx bit(s): LCKK='0' + LCK[15-0] */
  1673. 470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->LCKR = GPIO_Pin;
  1674. 1178 .loc 1 470 15
  1675. 1179 0020 7A88 ldrh r2, [r7, #2]
  1676. 1180 0022 7B68 ldr r3, [r7, #4]
  1677. 1181 0024 DA61 str r2, [r3, #28]
  1678. 471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Set LCKx bit(s): LCKK='1' + LCK[15-0] */
  1679. 472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->LCKR = tmp;
  1680. 1182 .loc 1 472 15
  1681. 1183 0026 FA68 ldr r2, [r7, #12]
  1682. 1184 0028 7B68 ldr r3, [r7, #4]
  1683. ARM GAS C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s page 30
  1684. 1185 002a DA61 str r2, [r3, #28]
  1685. 473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Read LCKR register. This read is mandatory to complete key lock sequence */
  1686. 474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** tmp = GPIOx->LCKR;
  1687. 1186 .loc 1 474 14
  1688. 1187 002c 7B68 ldr r3, [r7, #4]
  1689. 1188 002e DB69 ldr r3, [r3, #28]
  1690. 1189 .loc 1 474 7
  1691. 1190 0030 FB60 str r3, [r7, #12]
  1692. 475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1693. 476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Read again in order to confirm lock is active */
  1694. 477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** if((GPIOx->LCKR & GPIO_LCKR_LCKK) != RESET)
  1695. 1191 .loc 1 477 11
  1696. 1192 0032 7B68 ldr r3, [r7, #4]
  1697. 1193 0034 DB69 ldr r3, [r3, #28]
  1698. 1194 .loc 1 477 18
  1699. 1195 0036 03F48033 and r3, r3, #65536
  1700. 1196 .loc 1 477 4
  1701. 1197 003a 002B cmp r3, #0
  1702. 1198 003c 01D0 beq .L64
  1703. 478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1704. 479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** return HAL_OK;
  1705. 1199 .loc 1 479 12
  1706. 1200 003e 0023 movs r3, #0
  1707. 1201 0040 00E0 b .L65
  1708. 1202 .L64:
  1709. 480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1710. 481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** else
  1711. 482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1712. 483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** return HAL_ERROR;
  1713. 1203 .loc 1 483 12
  1714. 1204 0042 0123 movs r3, #1
  1715. 1205 .L65:
  1716. 484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1717. 485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1718. 1206 .loc 1 485 1
  1719. 1207 0044 1846 mov r0, r3
  1720. 1208 0046 1437 adds r7, r7, #20
  1721. 1209 .LCFI33:
  1722. 1210 .cfi_def_cfa_offset 4
  1723. 1211 0048 BD46 mov sp, r7
  1724. 1212 .LCFI34:
  1725. 1213 .cfi_def_cfa_register 13
  1726. 1214 @ sp needed
  1727. 1215 004a 5DF8047B ldr r7, [sp], #4
  1728. 1216 .LCFI35:
  1729. 1217 .cfi_restore 7
  1730. 1218 .cfi_def_cfa_offset 0
  1731. 1219 004e 7047 bx lr
  1732. 1220 .cfi_endproc
  1733. 1221 .LFE240:
  1734. 1223 .section .text.HAL_GPIO_EXTI_IRQHandler,"ax",%progbits
  1735. 1224 .align 1
  1736. 1225 .global HAL_GPIO_EXTI_IRQHandler
  1737. 1226 .syntax unified
  1738. 1227 .thumb
  1739. 1228 .thumb_func
  1740. 1230 HAL_GPIO_EXTI_IRQHandler:
  1741. ARM GAS C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s page 31
  1742. 1231 .LFB241:
  1743. 486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1744. 487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /**
  1745. 488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @brief This function handles EXTI interrupt request.
  1746. 489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @param GPIO_Pin Specifies the pins connected EXTI line
  1747. 490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @retval None
  1748. 491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** */
  1749. 492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin)
  1750. 493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1751. 1232 .loc 1 493 1
  1752. 1233 .cfi_startproc
  1753. 1234 @ args = 0, pretend = 0, frame = 8
  1754. 1235 @ frame_needed = 1, uses_anonymous_args = 0
  1755. 1236 0000 80B5 push {r7, lr}
  1756. 1237 .LCFI36:
  1757. 1238 .cfi_def_cfa_offset 8
  1758. 1239 .cfi_offset 7, -8
  1759. 1240 .cfi_offset 14, -4
  1760. 1241 0002 82B0 sub sp, sp, #8
  1761. 1242 .LCFI37:
  1762. 1243 .cfi_def_cfa_offset 16
  1763. 1244 0004 00AF add r7, sp, #0
  1764. 1245 .LCFI38:
  1765. 1246 .cfi_def_cfa_register 7
  1766. 1247 0006 0346 mov r3, r0
  1767. 1248 0008 FB80 strh r3, [r7, #6] @ movhi
  1768. 494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* EXTI line interrupt detected */
  1769. 495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** if(__HAL_GPIO_EXTI_GET_IT(GPIO_Pin) != RESET)
  1770. 1249 .loc 1 495 6
  1771. 1250 000a 084B ldr r3, .L69
  1772. 1251 000c 5A69 ldr r2, [r3, #20]
  1773. 1252 000e FB88 ldrh r3, [r7, #6]
  1774. 1253 0010 1340 ands r3, r3, r2
  1775. 1254 .loc 1 495 5
  1776. 1255 0012 002B cmp r3, #0
  1777. 1256 0014 06D0 beq .L68
  1778. 496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1779. 497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** __HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin);
  1780. 1257 .loc 1 497 5
  1781. 1258 0016 054A ldr r2, .L69
  1782. 1259 0018 FB88 ldrh r3, [r7, #6]
  1783. 1260 001a 5361 str r3, [r2, #20]
  1784. 498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** HAL_GPIO_EXTI_Callback(GPIO_Pin);
  1785. 1261 .loc 1 498 5
  1786. 1262 001c FB88 ldrh r3, [r7, #6]
  1787. 1263 001e 1846 mov r0, r3
  1788. 1264 0020 FFF7FEFF bl HAL_GPIO_EXTI_Callback
  1789. 1265 .L68:
  1790. 499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1791. 500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1792. 1266 .loc 1 500 1
  1793. 1267 0024 00BF nop
  1794. 1268 0026 0837 adds r7, r7, #8
  1795. 1269 .LCFI39:
  1796. 1270 .cfi_def_cfa_offset 8
  1797. 1271 0028 BD46 mov sp, r7
  1798. 1272 .LCFI40:
  1799. ARM GAS C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s page 32
  1800. 1273 .cfi_def_cfa_register 13
  1801. 1274 @ sp needed
  1802. 1275 002a 80BD pop {r7, pc}
  1803. 1276 .L70:
  1804. 1277 .align 2
  1805. 1278 .L69:
  1806. 1279 002c 003C0140 .word 1073822720
  1807. 1280 .cfi_endproc
  1808. 1281 .LFE241:
  1809. 1283 .section .text.HAL_GPIO_EXTI_Callback,"ax",%progbits
  1810. 1284 .align 1
  1811. 1285 .weak HAL_GPIO_EXTI_Callback
  1812. 1286 .syntax unified
  1813. 1287 .thumb
  1814. 1288 .thumb_func
  1815. 1290 HAL_GPIO_EXTI_Callback:
  1816. 1291 .LFB242:
  1817. 501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1818. 502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /**
  1819. 503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @brief EXTI line detection callbacks.
  1820. 504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @param GPIO_Pin Specifies the pins connected EXTI line
  1821. 505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @retval None
  1822. 506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** */
  1823. 507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** __weak void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
  1824. 508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1825. 1292 .loc 1 508 1
  1826. 1293 .cfi_startproc
  1827. 1294 @ args = 0, pretend = 0, frame = 8
  1828. 1295 @ frame_needed = 1, uses_anonymous_args = 0
  1829. 1296 @ link register save eliminated.
  1830. 1297 0000 80B4 push {r7}
  1831. 1298 .LCFI41:
  1832. 1299 .cfi_def_cfa_offset 4
  1833. 1300 .cfi_offset 7, -4
  1834. 1301 0002 83B0 sub sp, sp, #12
  1835. 1302 .LCFI42:
  1836. 1303 .cfi_def_cfa_offset 16
  1837. 1304 0004 00AF add r7, sp, #0
  1838. 1305 .LCFI43:
  1839. 1306 .cfi_def_cfa_register 7
  1840. 1307 0006 0346 mov r3, r0
  1841. 1308 0008 FB80 strh r3, [r7, #6] @ movhi
  1842. 509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Prevent unused argument(s) compilation warning */
  1843. 510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** UNUSED(GPIO_Pin);
  1844. 511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* NOTE: This function Should not be modified, when the callback is needed,
  1845. 512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** the HAL_GPIO_EXTI_Callback could be implemented in the user file
  1846. 513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** */
  1847. 514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1848. 1309 .loc 1 514 1
  1849. 1310 000a 00BF nop
  1850. 1311 000c 0C37 adds r7, r7, #12
  1851. 1312 .LCFI44:
  1852. 1313 .cfi_def_cfa_offset 4
  1853. 1314 000e BD46 mov sp, r7
  1854. 1315 .LCFI45:
  1855. 1316 .cfi_def_cfa_register 13
  1856. 1317 @ sp needed
  1857. ARM GAS C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s page 33
  1858. 1318 0010 5DF8047B ldr r7, [sp], #4
  1859. 1319 .LCFI46:
  1860. 1320 .cfi_restore 7
  1861. 1321 .cfi_def_cfa_offset 0
  1862. 1322 0014 7047 bx lr
  1863. 1323 .cfi_endproc
  1864. 1324 .LFE242:
  1865. 1326 .text
  1866. 1327 .Letext0:
  1867. 1328 .file 2 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h"
  1868. 1329 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h"
  1869. 1330 .file 4 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f405xx.h"
  1870. 1331 .file 5 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h"
  1871. 1332 .file 6 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h"
  1872. 1333 .file 7 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h"
  1873. ARM GAS C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s page 34
  1874. DEFINED SYMBOLS
  1875. *ABS*:00000000 stm32f4xx_hal_gpio.c
  1876. C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s:20 .text.HAL_GPIO_Init:00000000 $t
  1877. C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s:26 .text.HAL_GPIO_Init:00000000 HAL_GPIO_Init
  1878. C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s:580 .text.HAL_GPIO_Init:0000030c $d
  1879. C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s:595 .text.HAL_GPIO_DeInit:00000000 $t
  1880. C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s:601 .text.HAL_GPIO_DeInit:00000000 HAL_GPIO_DeInit
  1881. C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s:932 .text.HAL_GPIO_DeInit:000001d0 $d
  1882. C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s:946 .text.HAL_GPIO_ReadPin:00000000 $t
  1883. C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s:952 .text.HAL_GPIO_ReadPin:00000000 HAL_GPIO_ReadPin
  1884. C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s:1010 .text.HAL_GPIO_WritePin:00000000 $t
  1885. C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s:1016 .text.HAL_GPIO_WritePin:00000000 HAL_GPIO_WritePin
  1886. C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s:1075 .text.HAL_GPIO_TogglePin:00000000 $t
  1887. C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s:1081 .text.HAL_GPIO_TogglePin:00000000 HAL_GPIO_TogglePin
  1888. C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s:1140 .text.HAL_GPIO_LockPin:00000000 $t
  1889. C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s:1146 .text.HAL_GPIO_LockPin:00000000 HAL_GPIO_LockPin
  1890. C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s:1224 .text.HAL_GPIO_EXTI_IRQHandler:00000000 $t
  1891. C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s:1230 .text.HAL_GPIO_EXTI_IRQHandler:00000000 HAL_GPIO_EXTI_IRQHandler
  1892. C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s:1290 .text.HAL_GPIO_EXTI_Callback:00000000 HAL_GPIO_EXTI_Callback
  1893. C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s:1279 .text.HAL_GPIO_EXTI_IRQHandler:0000002c $d
  1894. C:\Users\10728\AppData\Local\Temp\ccp7AZ8q.s:1284 .text.HAL_GPIO_EXTI_Callback:00000000 $t
  1895. NO UNDEFINED SYMBOLS