1
0

stm32f4xx_hal_gpio.lst 109 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783
  1. ARM GAS /tmp/ccOa6coP.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, 1
  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 .LVL0:
  28. 28 .LFB130:
  29. 29 .file 1 "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c"
  30. 1:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /**
  31. 2:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** ******************************************************************************
  32. 3:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @file stm32f4xx_hal_gpio.c
  33. 4:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @author MCD Application Team
  34. 5:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @brief GPIO HAL module driver.
  35. 6:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * This file provides firmware functions to manage the following
  36. 7:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * functionalities of the General Purpose Input/Output (GPIO) peripheral:
  37. 8:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * + Initialization and de-initialization functions
  38. 9:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * + IO operation functions
  39. 10:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** *
  40. 11:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** @verbatim
  41. 12:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** ==============================================================================
  42. 13:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** ##### GPIO Peripheral features #####
  43. 14:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** ==============================================================================
  44. 15:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** [..]
  45. 16: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
  46. 17:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** port bit of the General Purpose IO (GPIO) Ports, can be individually configured by software
  47. 18:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** in several modes:
  48. 19:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (+) Input mode
  49. 20:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (+) Analog mode
  50. 21:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (+) Output mode
  51. 22:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (+) Alternate function mode
  52. 23:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (+) External interrupt/event lines
  53. 24:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  54. 25:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** [..]
  55. 26:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** During and just after reset, the alternate functions and external interrupt
  56. 27:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** lines are not active and the I/O ports are configured in input floating mode.
  57. 28:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  58. 29:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** [..]
  59. ARM GAS /tmp/ccOa6coP.s page 2
  60. 30:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** All GPIO pins have weak internal pull-up and pull-down resistors, which can be
  61. 31:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** activated or not.
  62. 32:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  63. 33:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** [..]
  64. 34: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
  65. 35:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** type and the IO speed can be selected depending on the VDD value.
  66. 36:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  67. 37:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** [..]
  68. 38:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** All ports have external interrupt/event capability. To use external interrupt
  69. 39:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** lines, the port must be configured in input mode. All available GPIO pins are
  70. 40:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** connected to the 16 external interrupt/event lines from EXTI0 to EXTI15.
  71. 41:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  72. 42:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** [..]
  73. 43:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** The external interrupt/event controller consists of up to 23 edge detectors
  74. 44:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (16 lines are connected to GPIO) for generating event/interrupt requests (each
  75. 45:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** input line can be independently configured to select the type (interrupt or event)
  76. 46:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** and the corresponding trigger event (rising or falling or both). Each line can
  77. 47:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** also be masked independently.
  78. 48:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  79. 49:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** ##### How to use this driver #####
  80. 50:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** ==============================================================================
  81. 51:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** [..]
  82. 52:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (#) Enable the GPIO AHB clock using the following function: __HAL_RCC_GPIOx_CLK_ENABLE().
  83. 53:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  84. 54:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (#) Configure the GPIO pin(s) using HAL_GPIO_Init().
  85. 55:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (++) Configure the IO mode using "Mode" member from GPIO_InitTypeDef structure
  86. 56:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (++) Activate Pull-up, Pull-down resistor using "Pull" member from GPIO_InitTypeDef
  87. 57:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** structure.
  88. 58:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (++) In case of Output or alternate function mode selection: the speed is
  89. 59:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** configured through "Speed" member from GPIO_InitTypeDef structure.
  90. 60:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (++) In alternate mode is selection, the alternate function connected to the IO
  91. 61:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** is configured through "Alternate" member from GPIO_InitTypeDef structure.
  92. 62:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (++) Analog mode is required when a pin is to be used as ADC channel
  93. 63:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** or DAC output.
  94. 64:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (++) In case of external interrupt/event selection the "Mode" member from
  95. 65:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIO_InitTypeDef structure select the type (interrupt or event) and
  96. 66:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** the corresponding trigger event (rising or falling or both).
  97. 67:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  98. 68:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (#) In case of external interrupt/event mode selection, configure NVIC IRQ priority
  99. 69:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** mapped to the EXTI line using HAL_NVIC_SetPriority() and enable it using
  100. 70:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** HAL_NVIC_EnableIRQ().
  101. 71:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  102. 72:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (#) To get the level of a pin configured in input mode use HAL_GPIO_ReadPin().
  103. 73:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  104. 74:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (#) To set/reset the level of a pin configured in output mode use
  105. 75:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** HAL_GPIO_WritePin()/HAL_GPIO_TogglePin().
  106. 76:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  107. 77:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (#) To lock pin configuration until next reset use HAL_GPIO_LockPin().
  108. 78:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  109. 79:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  110. 80:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (#) During and just after reset, the alternate functions are not
  111. 81:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** active and the GPIO pins are configured in input floating mode (except JTAG
  112. 82:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** pins).
  113. 83:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  114. 84:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (#) The LSE oscillator pins OSC32_IN and OSC32_OUT can be used as general purpose
  115. 85:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (PC14 and PC15, respectively) when the LSE oscillator is off. The LSE has
  116. 86:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** priority over the GPIO function.
  117. ARM GAS /tmp/ccOa6coP.s page 3
  118. 87:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  119. 88:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (#) The HSE oscillator pins OSC_IN/OSC_OUT can be used as
  120. 89:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** general purpose PH0 and PH1, respectively, when the HSE oscillator is off.
  121. 90:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** The HSE has priority over the GPIO function.
  122. 91:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  123. 92:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** @endverbatim
  124. 93:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** ******************************************************************************
  125. 94:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @attention
  126. 95:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** *
  127. 96:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * <h2><center>&copy; Copyright (c) 2017 STMicroelectronics.
  128. 97:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * All rights reserved.</center></h2>
  129. 98:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** *
  130. 99:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * This software component is licensed by ST under BSD 3-Clause license,
  131. 100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * the "License"; You may not use this file except in compliance with the
  132. 101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * License. You may obtain a copy of the License at:
  133. 102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * opensource.org/licenses/BSD-3-Clause
  134. 103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** *
  135. 104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** ******************************************************************************
  136. 105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** */
  137. 106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  138. 107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Includes ------------------------------------------------------------------*/
  139. 108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** #include "stm32f4xx_hal.h"
  140. 109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  141. 110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /** @addtogroup STM32F4xx_HAL_Driver
  142. 111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @{
  143. 112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** */
  144. 113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  145. 114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /** @defgroup GPIO GPIO
  146. 115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @brief GPIO HAL module driver
  147. 116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @{
  148. 117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** */
  149. 118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  150. 119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** #ifdef HAL_GPIO_MODULE_ENABLED
  151. 120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  152. 121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Private typedef -----------------------------------------------------------*/
  153. 122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Private define ------------------------------------------------------------*/
  154. 123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /** @addtogroup GPIO_Private_Constants GPIO Private Constants
  155. 124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @{
  156. 125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** */
  157. 126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** #define GPIO_MODE 0x00000003U
  158. 127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** #define EXTI_MODE 0x10000000U
  159. 128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** #define GPIO_MODE_IT 0x00010000U
  160. 129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** #define GPIO_MODE_EVT 0x00020000U
  161. 130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** #define RISING_EDGE 0x00100000U
  162. 131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** #define FALLING_EDGE 0x00200000U
  163. 132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** #define GPIO_OUTPUT_TYPE 0x00000010U
  164. 133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  165. 134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** #define GPIO_NUMBER 16U
  166. 135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /**
  167. 136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @}
  168. 137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** */
  169. 138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Private macro -------------------------------------------------------------*/
  170. 139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Private variables ---------------------------------------------------------*/
  171. 140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Private function prototypes -----------------------------------------------*/
  172. 141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Private functions ---------------------------------------------------------*/
  173. 142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Exported functions --------------------------------------------------------*/
  174. 143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /** @defgroup GPIO_Exported_Functions GPIO Exported Functions
  175. ARM GAS /tmp/ccOa6coP.s page 4
  176. 144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @{
  177. 145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** */
  178. 146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  179. 147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /** @defgroup GPIO_Exported_Functions_Group1 Initialization and de-initialization functions
  180. 148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @brief Initialization and Configuration functions
  181. 149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** *
  182. 150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** @verbatim
  183. 151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** ===============================================================================
  184. 152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** ##### Initialization and de-initialization functions #####
  185. 153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** ===============================================================================
  186. 154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** [..]
  187. 155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** This section provides functions allowing to initialize and de-initialize the GPIOs
  188. 156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** to be ready for use.
  189. 157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  190. 158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** @endverbatim
  191. 159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @{
  192. 160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** */
  193. 161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  194. 162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  195. 163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /**
  196. 164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @brief Initializes the GPIOx peripheral according to the specified parameters in the GPIO_Init
  197. 165: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
  198. 166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * x can be (A..I) to select the GPIO peripheral for STM32F40XX and STM32F427
  199. 167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @param GPIO_Init pointer to a GPIO_InitTypeDef structure that contains
  200. 168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * the configuration information for the specified GPIO peripheral.
  201. 169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @retval None
  202. 170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** */
  203. 171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init)
  204. 172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  205. 30 .loc 1 172 1 view -0
  206. 31 .cfi_startproc
  207. 32 @ args = 0, pretend = 0, frame = 8
  208. 33 @ frame_needed = 0, uses_anonymous_args = 0
  209. 173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** uint32_t position;
  210. 34 .loc 1 173 3 view .LVU1
  211. 174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** uint32_t ioposition = 0x00U;
  212. 35 .loc 1 174 3 view .LVU2
  213. 175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** uint32_t iocurrent = 0x00U;
  214. 36 .loc 1 175 3 view .LVU3
  215. 176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** uint32_t temp = 0x00U;
  216. 37 .loc 1 176 3 view .LVU4
  217. 177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  218. 178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Check the parameters */
  219. 179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** assert_param(IS_GPIO_ALL_INSTANCE(GPIOx));
  220. 38 .loc 1 179 3 view .LVU5
  221. 180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Init->Pin));
  222. 39 .loc 1 180 3 view .LVU6
  223. 181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** assert_param(IS_GPIO_MODE(GPIO_Init->Mode));
  224. 40 .loc 1 181 3 view .LVU7
  225. 182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** assert_param(IS_GPIO_PULL(GPIO_Init->Pull));
  226. 41 .loc 1 182 3 view .LVU8
  227. 183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  228. 184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Configure the port pins */
  229. 185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** for(position = 0U; position < GPIO_NUMBER; position++)
  230. 42 .loc 1 185 3 view .LVU9
  231. 43 .loc 1 185 16 is_stmt 0 view .LVU10
  232. 44 0000 0023 movs r3, #0
  233. ARM GAS /tmp/ccOa6coP.s page 5
  234. 45 .LVL1:
  235. 46 .loc 1 185 22 is_stmt 1 view .LVU11
  236. 47 .loc 1 185 3 is_stmt 0 view .LVU12
  237. 48 0002 0F2B cmp r3, #15
  238. 49 0004 00F2D880 bhi .L25
  239. 172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** uint32_t position;
  240. 50 .loc 1 172 1 view .LVU13
  241. 51 0008 F0B5 push {r4, r5, r6, r7, lr}
  242. 52 .LCFI0:
  243. 53 .cfi_def_cfa_offset 20
  244. 54 .cfi_offset 4, -20
  245. 55 .cfi_offset 5, -16
  246. 56 .cfi_offset 6, -12
  247. 57 .cfi_offset 7, -8
  248. 58 .cfi_offset 14, -4
  249. 59 000a 83B0 sub sp, sp, #12
  250. 60 .LCFI1:
  251. 61 .cfi_def_cfa_offset 32
  252. 62 000c 3AE0 b .L13
  253. 63 .LVL2:
  254. 64 .L27:
  255. 186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  256. 187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Get the IO position */
  257. 188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** ioposition = 0x01U << position;
  258. 189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Get the current IO position */
  259. 190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** iocurrent = (uint32_t)(GPIO_Init->Pin) & ioposition;
  260. 191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  261. 192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** if(iocurrent == ioposition)
  262. 193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  263. 194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /*--------------------- GPIO Mode Configuration ------------------------*/
  264. 195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* In case of Alternate function mode selection */
  265. 196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** if((GPIO_Init->Mode == GPIO_MODE_AF_PP) || (GPIO_Init->Mode == GPIO_MODE_AF_OD))
  266. 197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  267. 198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Check the Alternate function parameter */
  268. 199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** assert_param(IS_GPIO_AF(GPIO_Init->Alternate));
  269. 200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Configure Alternate function mapped with the current IO */
  270. 201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp = GPIOx->AFR[position >> 3U];
  271. 202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp &= ~(0xFU << ((uint32_t)(position & 0x07U) * 4U)) ;
  272. 203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= ((uint32_t)(GPIO_Init->Alternate) << (((uint32_t)position & 0x07U) * 4U));
  273. 204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->AFR[position >> 3U] = temp;
  274. 205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  275. 206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  276. 207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Configure IO Direction mode (Input, Output, Alternate or Analog) */
  277. 208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp = GPIOx->MODER;
  278. 209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp &= ~(GPIO_MODER_MODER0 << (position * 2U));
  279. 210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2U));
  280. 211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->MODER = temp;
  281. 212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  282. 213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* In case of Output or Alternate function mode selection */
  283. 214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** if((GPIO_Init->Mode == GPIO_MODE_OUTPUT_PP) || (GPIO_Init->Mode == GPIO_MODE_AF_PP) ||
  284. 215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (GPIO_Init->Mode == GPIO_MODE_OUTPUT_OD) || (GPIO_Init->Mode == GPIO_MODE_AF_OD))
  285. 216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  286. 217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Check the Speed parameter */
  287. 218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** assert_param(IS_GPIO_SPEED(GPIO_Init->Speed));
  288. 219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Configure the IO Speed */
  289. 220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp = GPIOx->OSPEEDR;
  290. 221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2U));
  291. ARM GAS /tmp/ccOa6coP.s page 6
  292. 222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= (GPIO_Init->Speed << (position * 2U));
  293. 223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->OSPEEDR = temp;
  294. 224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  295. 225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Configure the IO Output Type */
  296. 226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp = GPIOx->OTYPER;
  297. 227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp &= ~(GPIO_OTYPER_OT_0 << position) ;
  298. 228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= (((GPIO_Init->Mode & GPIO_OUTPUT_TYPE) >> 4U) << position);
  299. 229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->OTYPER = temp;
  300. 230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  301. 231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  302. 232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Activate the Pull-up or Pull down resistor for the current IO */
  303. 233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp = GPIOx->PUPDR;
  304. 234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp &= ~(GPIO_PUPDR_PUPDR0 << (position * 2U));
  305. 235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= ((GPIO_Init->Pull) << (position * 2U));
  306. 236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->PUPDR = temp;
  307. 237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  308. 238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /*--------------------- EXTI Mode Configuration ------------------------*/
  309. 239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Configure the External Interrupt or event for the current IO */
  310. 240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** if((GPIO_Init->Mode & EXTI_MODE) == EXTI_MODE)
  311. 241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  312. 242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Enable SYSCFG Clock */
  313. 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** __HAL_RCC_SYSCFG_CLK_ENABLE();
  314. 244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  315. 245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp = SYSCFG->EXTICR[position >> 2U];
  316. 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp &= ~(0x0FU << (4U * (position & 0x03U)));
  317. 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4U * (position & 0x03U)));
  318. 65 .loc 1 247 29 view .LVU14
  319. 66 000e 0722 movs r2, #7
  320. 67 0010 00E0 b .L8
  321. 68 .L14:
  322. 69 .loc 1 247 18 view .LVU15
  323. 70 0012 0022 movs r2, #0
  324. 71 .L8:
  325. 72 .loc 1 247 52 discriminator 32 view .LVU16
  326. 73 0014 AA40 lsls r2, r2, r5
  327. 74 .loc 1 247 14 discriminator 32 view .LVU17
  328. 75 0016 3243 orrs r2, r2, r6
  329. 76 .LVL3:
  330. 248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2U] = temp;
  331. 77 .loc 1 248 9 is_stmt 1 discriminator 32 view .LVU18
  332. 78 .loc 1 248 40 is_stmt 0 discriminator 32 view .LVU19
  333. 79 0018 0234 adds r4, r4, #2
  334. 80 001a 684D ldr r5, .L28
  335. 81 001c 45F82420 str r2, [r5, r4, lsl #2]
  336. 249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  337. 250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Clear EXTI line configuration */
  338. 251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp = EXTI->IMR;
  339. 82 .loc 1 251 9 is_stmt 1 discriminator 32 view .LVU20
  340. 83 .loc 1 251 14 is_stmt 0 discriminator 32 view .LVU21
  341. 84 0020 674A ldr r2, .L28+4
  342. 85 .LVL4:
  343. 86 .loc 1 251 14 discriminator 32 view .LVU22
  344. 87 0022 1468 ldr r4, [r2]
  345. 88 .LVL5:
  346. 252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp &= ~((uint32_t)iocurrent);
  347. 89 .loc 1 252 9 is_stmt 1 discriminator 32 view .LVU23
  348. 90 .loc 1 252 17 is_stmt 0 discriminator 32 view .LVU24
  349. ARM GAS /tmp/ccOa6coP.s page 7
  350. 91 0024 6FEA0C02 mvn r2, ip
  351. 92 .loc 1 252 14 discriminator 32 view .LVU25
  352. 93 0028 24EA0C05 bic r5, r4, ip
  353. 94 .LVL6:
  354. 253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** if((GPIO_Init->Mode & GPIO_MODE_IT) == GPIO_MODE_IT)
  355. 95 .loc 1 253 9 is_stmt 1 discriminator 32 view .LVU26
  356. 96 .loc 1 253 22 is_stmt 0 discriminator 32 view .LVU27
  357. 97 002c 4E68 ldr r6, [r1, #4]
  358. 98 .loc 1 253 11 discriminator 32 view .LVU28
  359. 99 002e 16F4803F tst r6, #65536
  360. 100 0032 01D0 beq .L9
  361. 254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  362. 255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= iocurrent;
  363. 101 .loc 1 255 11 is_stmt 1 view .LVU29
  364. 102 .loc 1 255 16 is_stmt 0 view .LVU30
  365. 103 0034 4CEA0405 orr r5, ip, r4
  366. 104 .LVL7:
  367. 105 .L9:
  368. 256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  369. 257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** EXTI->IMR = temp;
  370. 106 .loc 1 257 9 is_stmt 1 view .LVU31
  371. 107 .loc 1 257 19 is_stmt 0 view .LVU32
  372. 108 0038 614C ldr r4, .L28+4
  373. 109 003a 2560 str r5, [r4]
  374. 258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  375. 259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp = EXTI->EMR;
  376. 110 .loc 1 259 9 is_stmt 1 view .LVU33
  377. 111 .loc 1 259 14 is_stmt 0 view .LVU34
  378. 112 003c 6468 ldr r4, [r4, #4]
  379. 113 .LVL8:
  380. 260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp &= ~((uint32_t)iocurrent);
  381. 114 .loc 1 260 9 is_stmt 1 view .LVU35
  382. 115 .loc 1 260 14 is_stmt 0 view .LVU36
  383. 116 003e 02EA0405 and r5, r2, r4
  384. 117 .LVL9:
  385. 261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** if((GPIO_Init->Mode & GPIO_MODE_EVT) == GPIO_MODE_EVT)
  386. 118 .loc 1 261 9 is_stmt 1 view .LVU37
  387. 119 .loc 1 261 22 is_stmt 0 view .LVU38
  388. 120 0042 4E68 ldr r6, [r1, #4]
  389. 121 .loc 1 261 11 view .LVU39
  390. 122 0044 16F4003F tst r6, #131072
  391. 123 0048 01D0 beq .L10
  392. 262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  393. 263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= iocurrent;
  394. 124 .loc 1 263 11 is_stmt 1 view .LVU40
  395. 125 .loc 1 263 16 is_stmt 0 view .LVU41
  396. 126 004a 4CEA0405 orr r5, ip, r4
  397. 127 .LVL10:
  398. 128 .L10:
  399. 264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  400. 265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** EXTI->EMR = temp;
  401. 129 .loc 1 265 9 is_stmt 1 view .LVU42
  402. 130 .loc 1 265 19 is_stmt 0 view .LVU43
  403. 131 004e 5C4C ldr r4, .L28+4
  404. 132 0050 6560 str r5, [r4, #4]
  405. 266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  406. 267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Clear Rising Falling edge configuration */
  407. ARM GAS /tmp/ccOa6coP.s page 8
  408. 268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp = EXTI->RTSR;
  409. 133 .loc 1 268 9 is_stmt 1 view .LVU44
  410. 134 .loc 1 268 14 is_stmt 0 view .LVU45
  411. 135 0052 A468 ldr r4, [r4, #8]
  412. 136 .LVL11:
  413. 269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp &= ~((uint32_t)iocurrent);
  414. 137 .loc 1 269 9 is_stmt 1 view .LVU46
  415. 138 .loc 1 269 14 is_stmt 0 view .LVU47
  416. 139 0054 02EA0405 and r5, r2, r4
  417. 140 .LVL12:
  418. 270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** if((GPIO_Init->Mode & RISING_EDGE) == RISING_EDGE)
  419. 141 .loc 1 270 9 is_stmt 1 view .LVU48
  420. 142 .loc 1 270 22 is_stmt 0 view .LVU49
  421. 143 0058 4E68 ldr r6, [r1, #4]
  422. 144 .loc 1 270 11 view .LVU50
  423. 145 005a 16F4801F tst r6, #1048576
  424. 146 005e 01D0 beq .L11
  425. 271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  426. 272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= iocurrent;
  427. 147 .loc 1 272 11 is_stmt 1 view .LVU51
  428. 148 .loc 1 272 16 is_stmt 0 view .LVU52
  429. 149 0060 4CEA0405 orr r5, ip, r4
  430. 150 .LVL13:
  431. 151 .L11:
  432. 273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  433. 274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** EXTI->RTSR = temp;
  434. 152 .loc 1 274 9 is_stmt 1 view .LVU53
  435. 153 .loc 1 274 20 is_stmt 0 view .LVU54
  436. 154 0064 564C ldr r4, .L28+4
  437. 155 0066 A560 str r5, [r4, #8]
  438. 275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  439. 276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp = EXTI->FTSR;
  440. 156 .loc 1 276 9 is_stmt 1 view .LVU55
  441. 157 .loc 1 276 14 is_stmt 0 view .LVU56
  442. 158 0068 E468 ldr r4, [r4, #12]
  443. 159 .LVL14:
  444. 277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp &= ~((uint32_t)iocurrent);
  445. 160 .loc 1 277 9 is_stmt 1 view .LVU57
  446. 161 .loc 1 277 14 is_stmt 0 view .LVU58
  447. 162 006a 2240 ands r2, r2, r4
  448. 163 .LVL15:
  449. 278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** if((GPIO_Init->Mode & FALLING_EDGE) == FALLING_EDGE)
  450. 164 .loc 1 278 9 is_stmt 1 view .LVU59
  451. 165 .loc 1 278 22 is_stmt 0 view .LVU60
  452. 166 006c 4D68 ldr r5, [r1, #4]
  453. 167 .loc 1 278 11 view .LVU61
  454. 168 006e 15F4001F tst r5, #2097152
  455. 169 0072 01D0 beq .L12
  456. 279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  457. 280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= iocurrent;
  458. 170 .loc 1 280 11 is_stmt 1 view .LVU62
  459. 171 .loc 1 280 16 is_stmt 0 view .LVU63
  460. 172 0074 4CEA0402 orr r2, ip, r4
  461. 173 .LVL16:
  462. 174 .L12:
  463. 281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  464. 282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** EXTI->FTSR = temp;
  465. ARM GAS /tmp/ccOa6coP.s page 9
  466. 175 .loc 1 282 9 is_stmt 1 view .LVU64
  467. 176 .loc 1 282 20 is_stmt 0 view .LVU65
  468. 177 0078 514C ldr r4, .L28+4
  469. 178 007a E260 str r2, [r4, #12]
  470. 179 .LVL17:
  471. 180 .L3:
  472. 185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  473. 181 .loc 1 185 46 is_stmt 1 discriminator 2 view .LVU66
  474. 185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  475. 182 .loc 1 185 54 is_stmt 0 discriminator 2 view .LVU67
  476. 183 007c 0133 adds r3, r3, #1
  477. 184 .LVL18:
  478. 185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  479. 185 .loc 1 185 22 is_stmt 1 discriminator 2 view .LVU68
  480. 185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  481. 186 .loc 1 185 3 is_stmt 0 discriminator 2 view .LVU69
  482. 187 007e 0F2B cmp r3, #15
  483. 188 0080 00F29880 bhi .L26
  484. 189 .LVL19:
  485. 190 .L13:
  486. 188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Get the current IO position */
  487. 191 .loc 1 188 5 is_stmt 1 view .LVU70
  488. 188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Get the current IO position */
  489. 192 .loc 1 188 16 is_stmt 0 view .LVU71
  490. 193 0084 0122 movs r2, #1
  491. 194 0086 9A40 lsls r2, r2, r3
  492. 195 .LVL20:
  493. 190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  494. 196 .loc 1 190 5 is_stmt 1 view .LVU72
  495. 190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  496. 197 .loc 1 190 37 is_stmt 0 view .LVU73
  497. 198 0088 0C68 ldr r4, [r1]
  498. 190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  499. 199 .loc 1 190 15 view .LVU74
  500. 200 008a 04EA020C and ip, r4, r2
  501. 201 .LVL21:
  502. 192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  503. 202 .loc 1 192 5 is_stmt 1 view .LVU75
  504. 192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  505. 203 .loc 1 192 7 is_stmt 0 view .LVU76
  506. 204 008e 32EA0404 bics r4, r2, r4
  507. 205 0092 F3D1 bne .L3
  508. 196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  509. 206 .loc 1 196 7 is_stmt 1 view .LVU77
  510. 196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  511. 207 .loc 1 196 20 is_stmt 0 view .LVU78
  512. 208 0094 4C68 ldr r4, [r1, #4]
  513. 196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  514. 209 .loc 1 196 9 view .LVU79
  515. 210 0096 022C cmp r4, #2
  516. 211 0098 01D0 beq .L4
  517. 196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  518. 212 .loc 1 196 47 discriminator 1 view .LVU80
  519. 213 009a 122C cmp r4, #18
  520. 214 009c 10D1 bne .L5
  521. 215 .L4:
  522. 199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Configure Alternate function mapped with the current IO */
  523. ARM GAS /tmp/ccOa6coP.s page 10
  524. 216 .loc 1 199 9 is_stmt 1 view .LVU81
  525. 201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp &= ~(0xFU << ((uint32_t)(position & 0x07U) * 4U)) ;
  526. 217 .loc 1 201 9 view .LVU82
  527. 201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp &= ~(0xFU << ((uint32_t)(position & 0x07U) * 4U)) ;
  528. 218 .loc 1 201 36 is_stmt 0 view .LVU83
  529. 219 009e DD08 lsrs r5, r3, #3
  530. 201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp &= ~(0xFU << ((uint32_t)(position & 0x07U) * 4U)) ;
  531. 220 .loc 1 201 14 view .LVU84
  532. 221 00a0 0835 adds r5, r5, #8
  533. 222 00a2 50F82570 ldr r7, [r0, r5, lsl #2]
  534. 223 .LVL22:
  535. 202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= ((uint32_t)(GPIO_Init->Alternate) << (((uint32_t)position & 0x07U) * 4U));
  536. 224 .loc 1 202 9 is_stmt 1 view .LVU85
  537. 202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= ((uint32_t)(GPIO_Init->Alternate) << (((uint32_t)position & 0x07U) * 4U));
  538. 225 .loc 1 202 28 is_stmt 0 view .LVU86
  539. 226 00a6 03F00704 and r4, r3, #7
  540. 202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= ((uint32_t)(GPIO_Init->Alternate) << (((uint32_t)position & 0x07U) * 4U));
  541. 227 .loc 1 202 57 view .LVU87
  542. 228 00aa A600 lsls r6, r4, #2
  543. 202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= ((uint32_t)(GPIO_Init->Alternate) << (((uint32_t)position & 0x07U) * 4U));
  544. 229 .loc 1 202 24 view .LVU88
  545. 230 00ac 0F24 movs r4, #15
  546. 231 00ae B440 lsls r4, r4, r6
  547. 202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= ((uint32_t)(GPIO_Init->Alternate) << (((uint32_t)position & 0x07U) * 4U));
  548. 232 .loc 1 202 14 view .LVU89
  549. 233 00b0 27EA040E bic lr, r7, r4
  550. 234 .LVL23:
  551. 203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->AFR[position >> 3U] = temp;
  552. 235 .loc 1 203 9 is_stmt 1 view .LVU90
  553. 203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->AFR[position >> 3U] = temp;
  554. 236 .loc 1 203 38 is_stmt 0 view .LVU91
  555. 237 00b4 0C69 ldr r4, [r1, #16]
  556. 203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->AFR[position >> 3U] = temp;
  557. 238 .loc 1 203 51 view .LVU92
  558. 239 00b6 B440 lsls r4, r4, r6
  559. 203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->AFR[position >> 3U] = temp;
  560. 240 .loc 1 203 14 view .LVU93
  561. 241 00b8 44EA0E04 orr r4, r4, lr
  562. 242 .LVL24:
  563. 204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  564. 243 .loc 1 204 9 is_stmt 1 view .LVU94
  565. 204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  566. 244 .loc 1 204 36 is_stmt 0 view .LVU95
  567. 245 00bc 40F82540 str r4, [r0, r5, lsl #2]
  568. 246 .LVL25:
  569. 247 .L5:
  570. 208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp &= ~(GPIO_MODER_MODER0 << (position * 2U));
  571. 248 .loc 1 208 7 is_stmt 1 view .LVU96
  572. 208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp &= ~(GPIO_MODER_MODER0 << (position * 2U));
  573. 249 .loc 1 208 12 is_stmt 0 view .LVU97
  574. 250 00c0 0668 ldr r6, [r0]
  575. 251 .LVL26:
  576. 209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2U));
  577. 252 .loc 1 209 7 is_stmt 1 view .LVU98
  578. 209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2U));
  579. 253 .loc 1 209 48 is_stmt 0 view .LVU99
  580. 254 00c2 4FEA430E lsl lr, r3, #1
  581. ARM GAS /tmp/ccOa6coP.s page 11
  582. 209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2U));
  583. 255 .loc 1 209 35 view .LVU100
  584. 256 00c6 0324 movs r4, #3
  585. 257 00c8 04FA0EF4 lsl r4, r4, lr
  586. 209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2U));
  587. 258 .loc 1 209 15 view .LVU101
  588. 259 00cc E543 mvns r5, r4
  589. 209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2U));
  590. 260 .loc 1 209 12 view .LVU102
  591. 261 00ce 26EA0406 bic r6, r6, r4
  592. 262 .LVL27:
  593. 210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->MODER = temp;
  594. 263 .loc 1 210 7 is_stmt 1 view .LVU103
  595. 210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->MODER = temp;
  596. 264 .loc 1 210 26 is_stmt 0 view .LVU104
  597. 265 00d2 4C68 ldr r4, [r1, #4]
  598. 210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->MODER = temp;
  599. 266 .loc 1 210 33 view .LVU105
  600. 267 00d4 04F00304 and r4, r4, #3
  601. 210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->MODER = temp;
  602. 268 .loc 1 210 46 view .LVU106
  603. 269 00d8 04FA0EF4 lsl r4, r4, lr
  604. 210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->MODER = temp;
  605. 270 .loc 1 210 12 view .LVU107
  606. 271 00dc 3443 orrs r4, r4, r6
  607. 272 .LVL28:
  608. 211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  609. 273 .loc 1 211 7 is_stmt 1 view .LVU108
  610. 211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  611. 274 .loc 1 211 20 is_stmt 0 view .LVU109
  612. 275 00de 0460 str r4, [r0]
  613. 214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (GPIO_Init->Mode == GPIO_MODE_OUTPUT_OD) || (GPIO_Init->Mode == GPIO_MODE_AF_OD))
  614. 276 .loc 1 214 7 is_stmt 1 view .LVU110
  615. 214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (GPIO_Init->Mode == GPIO_MODE_OUTPUT_OD) || (GPIO_Init->Mode == GPIO_MODE_AF_OD))
  616. 277 .loc 1 214 20 is_stmt 0 view .LVU111
  617. 278 00e0 4C68 ldr r4, [r1, #4]
  618. 279 .LVL29:
  619. 214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (GPIO_Init->Mode == GPIO_MODE_OUTPUT_OD) || (GPIO_Init->Mode == GPIO_MODE_AF_OD))
  620. 280 .loc 1 214 51 view .LVU112
  621. 281 00e2 661E subs r6, r4, #1
  622. 214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (GPIO_Init->Mode == GPIO_MODE_OUTPUT_OD) || (GPIO_Init->Mode == GPIO_MODE_AF_OD))
  623. 282 .loc 1 214 9 view .LVU113
  624. 283 00e4 012E cmp r6, #1
  625. 284 00e6 03D9 bls .L6
  626. 214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** (GPIO_Init->Mode == GPIO_MODE_OUTPUT_OD) || (GPIO_Init->Mode == GPIO_MODE_AF_OD))
  627. 285 .loc 1 214 91 discriminator 1 view .LVU114
  628. 286 00e8 112C cmp r4, #17
  629. 287 00ea 01D0 beq .L6
  630. 215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  631. 288 .loc 1 215 51 view .LVU115
  632. 289 00ec 122C cmp r4, #18
  633. 290 00ee 0FD1 bne .L7
  634. 291 .L6:
  635. 218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Configure the IO Speed */
  636. 292 .loc 1 218 9 is_stmt 1 view .LVU116
  637. 220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2U));
  638. 293 .loc 1 220 9 view .LVU117
  639. ARM GAS /tmp/ccOa6coP.s page 12
  640. 220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2U));
  641. 294 .loc 1 220 14 is_stmt 0 view .LVU118
  642. 295 00f0 8668 ldr r6, [r0, #8]
  643. 296 .LVL30:
  644. 221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= (GPIO_Init->Speed << (position * 2U));
  645. 297 .loc 1 221 9 is_stmt 1 view .LVU119
  646. 221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= (GPIO_Init->Speed << (position * 2U));
  647. 298 .loc 1 221 14 is_stmt 0 view .LVU120
  648. 299 00f2 2E40 ands r6, r6, r5
  649. 300 .LVL31:
  650. 222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->OSPEEDR = temp;
  651. 301 .loc 1 222 9 is_stmt 1 view .LVU121
  652. 222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->OSPEEDR = temp;
  653. 302 .loc 1 222 27 is_stmt 0 view .LVU122
  654. 303 00f4 CC68 ldr r4, [r1, #12]
  655. 222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->OSPEEDR = temp;
  656. 304 .loc 1 222 35 view .LVU123
  657. 305 00f6 04FA0EF4 lsl r4, r4, lr
  658. 222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->OSPEEDR = temp;
  659. 306 .loc 1 222 14 view .LVU124
  660. 307 00fa 3443 orrs r4, r4, r6
  661. 308 .LVL32:
  662. 223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  663. 309 .loc 1 223 9 is_stmt 1 view .LVU125
  664. 223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  665. 310 .loc 1 223 24 is_stmt 0 view .LVU126
  666. 311 00fc 8460 str r4, [r0, #8]
  667. 226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp &= ~(GPIO_OTYPER_OT_0 << position) ;
  668. 312 .loc 1 226 9 is_stmt 1 view .LVU127
  669. 226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp &= ~(GPIO_OTYPER_OT_0 << position) ;
  670. 313 .loc 1 226 14 is_stmt 0 view .LVU128
  671. 314 00fe 4468 ldr r4, [r0, #4]
  672. 315 .LVL33:
  673. 227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= (((GPIO_Init->Mode & GPIO_OUTPUT_TYPE) >> 4U) << position);
  674. 316 .loc 1 227 9 is_stmt 1 view .LVU129
  675. 227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= (((GPIO_Init->Mode & GPIO_OUTPUT_TYPE) >> 4U) << position);
  676. 317 .loc 1 227 14 is_stmt 0 view .LVU130
  677. 318 0100 24EA0202 bic r2, r4, r2
  678. 319 .LVL34:
  679. 228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->OTYPER = temp;
  680. 320 .loc 1 228 9 is_stmt 1 view .LVU131
  681. 228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->OTYPER = temp;
  682. 321 .loc 1 228 29 is_stmt 0 view .LVU132
  683. 322 0104 4C68 ldr r4, [r1, #4]
  684. 228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->OTYPER = temp;
  685. 323 .loc 1 228 56 view .LVU133
  686. 324 0106 C4F30014 ubfx r4, r4, #4, #1
  687. 228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->OTYPER = temp;
  688. 325 .loc 1 228 63 view .LVU134
  689. 326 010a 9C40 lsls r4, r4, r3
  690. 228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->OTYPER = temp;
  691. 327 .loc 1 228 14 view .LVU135
  692. 328 010c 1443 orrs r4, r4, r2
  693. 329 .LVL35:
  694. 229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  695. 330 .loc 1 229 9 is_stmt 1 view .LVU136
  696. 229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  697. ARM GAS /tmp/ccOa6coP.s page 13
  698. 331 .loc 1 229 23 is_stmt 0 view .LVU137
  699. 332 010e 4460 str r4, [r0, #4]
  700. 333 .LVL36:
  701. 334 .L7:
  702. 233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp &= ~(GPIO_PUPDR_PUPDR0 << (position * 2U));
  703. 335 .loc 1 233 7 is_stmt 1 view .LVU138
  704. 233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp &= ~(GPIO_PUPDR_PUPDR0 << (position * 2U));
  705. 336 .loc 1 233 12 is_stmt 0 view .LVU139
  706. 337 0110 C268 ldr r2, [r0, #12]
  707. 338 .LVL37:
  708. 234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= ((GPIO_Init->Pull) << (position * 2U));
  709. 339 .loc 1 234 7 is_stmt 1 view .LVU140
  710. 234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= ((GPIO_Init->Pull) << (position * 2U));
  711. 340 .loc 1 234 12 is_stmt 0 view .LVU141
  712. 341 0112 1540 ands r5, r5, r2
  713. 342 .LVL38:
  714. 235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->PUPDR = temp;
  715. 343 .loc 1 235 7 is_stmt 1 view .LVU142
  716. 235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->PUPDR = temp;
  717. 344 .loc 1 235 26 is_stmt 0 view .LVU143
  718. 345 0114 8A68 ldr r2, [r1, #8]
  719. 235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->PUPDR = temp;
  720. 346 .loc 1 235 34 view .LVU144
  721. 347 0116 02FA0EF2 lsl r2, r2, lr
  722. 235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->PUPDR = temp;
  723. 348 .loc 1 235 12 view .LVU145
  724. 349 011a 2A43 orrs r2, r2, r5
  725. 350 .LVL39:
  726. 236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  727. 351 .loc 1 236 7 is_stmt 1 view .LVU146
  728. 236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  729. 352 .loc 1 236 20 is_stmt 0 view .LVU147
  730. 353 011c C260 str r2, [r0, #12]
  731. 240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  732. 354 .loc 1 240 7 is_stmt 1 view .LVU148
  733. 240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  734. 355 .loc 1 240 20 is_stmt 0 view .LVU149
  735. 356 011e 4A68 ldr r2, [r1, #4]
  736. 357 .LVL40:
  737. 240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  738. 358 .loc 1 240 9 view .LVU150
  739. 359 0120 12F0805F tst r2, #268435456
  740. 360 0124 AAD0 beq .L3
  741. 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  742. 361 .loc 1 243 9 is_stmt 1 view .LVU151
  743. 362 .LBB2:
  744. 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  745. 363 .loc 1 243 9 view .LVU152
  746. 364 0126 0022 movs r2, #0
  747. 365 0128 0192 str r2, [sp, #4]
  748. 366 .LVL41:
  749. 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  750. 367 .loc 1 243 9 view .LVU153
  751. 368 012a 264A ldr r2, .L28+8
  752. 369 012c 546C ldr r4, [r2, #68]
  753. 370 012e 44F48044 orr r4, r4, #16384
  754. 371 0132 5464 str r4, [r2, #68]
  755. ARM GAS /tmp/ccOa6coP.s page 14
  756. 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  757. 372 .loc 1 243 9 view .LVU154
  758. 373 0134 526C ldr r2, [r2, #68]
  759. 374 0136 02F48042 and r2, r2, #16384
  760. 375 013a 0192 str r2, [sp, #4]
  761. 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  762. 376 .loc 1 243 9 view .LVU155
  763. 377 013c 019A ldr r2, [sp, #4]
  764. 378 .LBE2:
  765. 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  766. 379 .loc 1 243 9 view .LVU156
  767. 245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp &= ~(0x0FU << (4U * (position & 0x03U)));
  768. 380 .loc 1 245 9 view .LVU157
  769. 245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp &= ~(0x0FU << (4U * (position & 0x03U)));
  770. 381 .loc 1 245 40 is_stmt 0 view .LVU158
  771. 382 013e 9C08 lsrs r4, r3, #2
  772. 245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp &= ~(0x0FU << (4U * (position & 0x03U)));
  773. 383 .loc 1 245 14 view .LVU159
  774. 384 0140 A51C adds r5, r4, #2
  775. 385 0142 1E4A ldr r2, .L28
  776. 386 0144 52F82560 ldr r6, [r2, r5, lsl #2]
  777. 387 .LVL42:
  778. 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4U * (position & 0x03U)));
  779. 388 .loc 1 246 9 is_stmt 1 view .LVU160
  780. 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4U * (position & 0x03U)));
  781. 389 .loc 1 246 44 is_stmt 0 view .LVU161
  782. 390 0148 03F00302 and r2, r3, #3
  783. 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4U * (position & 0x03U)));
  784. 391 .loc 1 246 32 view .LVU162
  785. 392 014c 9500 lsls r5, r2, #2
  786. 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4U * (position & 0x03U)));
  787. 393 .loc 1 246 25 view .LVU163
  788. 394 014e 0F22 movs r2, #15
  789. 395 0150 AA40 lsls r2, r2, r5
  790. 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** temp |= ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4U * (position & 0x03U)));
  791. 396 .loc 1 246 14 view .LVU164
  792. 397 0152 26EA0206 bic r6, r6, r2
  793. 398 .LVL43:
  794. 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2U] = temp;
  795. 399 .loc 1 247 9 is_stmt 1 view .LVU165
  796. 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2U] = temp;
  797. 400 .loc 1 247 18 is_stmt 0 view .LVU166
  798. 401 0156 1C4A ldr r2, .L28+12
  799. 402 0158 9042 cmp r0, r2
  800. 403 015a 3FF45AAF beq .L14
  801. 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2U] = temp;
  802. 404 .loc 1 247 29 discriminator 1 view .LVU167
  803. 405 015e 02F58062 add r2, r2, #1024
  804. 406 0162 9042 cmp r0, r2
  805. 407 0164 1AD0 beq .L15
  806. 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2U] = temp;
  807. 408 .loc 1 247 29 discriminator 3 view .LVU168
  808. 409 0166 02F58062 add r2, r2, #1024
  809. 410 016a 9042 cmp r0, r2
  810. 411 016c 18D0 beq .L16
  811. 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2U] = temp;
  812. 412 .loc 1 247 29 discriminator 5 view .LVU169
  813. ARM GAS /tmp/ccOa6coP.s page 15
  814. 413 016e 02F58062 add r2, r2, #1024
  815. 414 0172 9042 cmp r0, r2
  816. 415 0174 16D0 beq .L17
  817. 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2U] = temp;
  818. 416 .loc 1 247 29 discriminator 7 view .LVU170
  819. 417 0176 02F58062 add r2, r2, #1024
  820. 418 017a 9042 cmp r0, r2
  821. 419 017c 14D0 beq .L18
  822. 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2U] = temp;
  823. 420 .loc 1 247 29 discriminator 9 view .LVU171
  824. 421 017e 02F58062 add r2, r2, #1024
  825. 422 0182 9042 cmp r0, r2
  826. 423 0184 12D0 beq .L19
  827. 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2U] = temp;
  828. 424 .loc 1 247 29 discriminator 11 view .LVU172
  829. 425 0186 02F58062 add r2, r2, #1024
  830. 426 018a 9042 cmp r0, r2
  831. 427 018c 10D0 beq .L20
  832. 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2U] = temp;
  833. 428 .loc 1 247 29 discriminator 13 view .LVU173
  834. 429 018e 02F58062 add r2, r2, #1024
  835. 430 0192 9042 cmp r0, r2
  836. 431 0194 3FF43BAF beq .L27
  837. 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2U] = temp;
  838. 432 .loc 1 247 29 view .LVU174
  839. 433 0198 0822 movs r2, #8
  840. 434 019a 3BE7 b .L8
  841. 435 .L15:
  842. 436 019c 0122 movs r2, #1
  843. 437 .LVL44:
  844. 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2U] = temp;
  845. 438 .loc 1 247 29 view .LVU175
  846. 439 019e 39E7 b .L8
  847. 440 .LVL45:
  848. 441 .L16:
  849. 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2U] = temp;
  850. 442 .loc 1 247 29 view .LVU176
  851. 443 01a0 0222 movs r2, #2
  852. 444 01a2 37E7 b .L8
  853. 445 .L17:
  854. 446 01a4 0322 movs r2, #3
  855. 447 01a6 35E7 b .L8
  856. 448 .L18:
  857. 449 01a8 0422 movs r2, #4
  858. 450 01aa 33E7 b .L8
  859. 451 .L19:
  860. 452 01ac 0522 movs r2, #5
  861. 453 01ae 31E7 b .L8
  862. 454 .L20:
  863. 455 01b0 0622 movs r2, #6
  864. 456 01b2 2FE7 b .L8
  865. 457 .LVL46:
  866. 458 .L26:
  867. 283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  868. 284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  869. 285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  870. 286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  871. ARM GAS /tmp/ccOa6coP.s page 16
  872. 459 .loc 1 286 1 view .LVU177
  873. 460 01b4 03B0 add sp, sp, #12
  874. 461 .LCFI2:
  875. 462 .cfi_def_cfa_offset 20
  876. 463 @ sp needed
  877. 464 01b6 F0BD pop {r4, r5, r6, r7, pc}
  878. 465 .LVL47:
  879. 466 .L25:
  880. 467 .LCFI3:
  881. 468 .cfi_def_cfa_offset 0
  882. 469 .cfi_restore 4
  883. 470 .cfi_restore 5
  884. 471 .cfi_restore 6
  885. 472 .cfi_restore 7
  886. 473 .cfi_restore 14
  887. 474 .loc 1 286 1 view .LVU178
  888. 475 01b8 7047 bx lr
  889. 476 .L29:
  890. 477 01ba 00BF .align 2
  891. 478 .L28:
  892. 479 01bc 00380140 .word 1073821696
  893. 480 01c0 003C0140 .word 1073822720
  894. 481 01c4 00380240 .word 1073887232
  895. 482 01c8 00000240 .word 1073872896
  896. 483 .cfi_endproc
  897. 484 .LFE130:
  898. 486 .section .text.HAL_GPIO_DeInit,"ax",%progbits
  899. 487 .align 1
  900. 488 .global HAL_GPIO_DeInit
  901. 489 .syntax unified
  902. 490 .thumb
  903. 491 .thumb_func
  904. 493 HAL_GPIO_DeInit:
  905. 494 .LVL48:
  906. 495 .LFB131:
  907. 287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  908. 288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /**
  909. 289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @brief De-initializes the GPIOx peripheral registers to their default reset values.
  910. 290: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
  911. 291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * x can be (A..I) to select the GPIO peripheral for STM32F40XX and STM32F427
  912. 292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @param GPIO_Pin specifies the port bit to be written.
  913. 293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * This parameter can be one of GPIO_PIN_x where x can be (0..15).
  914. 294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @retval None
  915. 295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** */
  916. 296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** void HAL_GPIO_DeInit(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin)
  917. 297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  918. 496 .loc 1 297 1 is_stmt 1 view -0
  919. 497 .cfi_startproc
  920. 498 @ args = 0, pretend = 0, frame = 0
  921. 499 @ frame_needed = 0, uses_anonymous_args = 0
  922. 298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** uint32_t position;
  923. 500 .loc 1 298 3 view .LVU180
  924. 299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** uint32_t ioposition = 0x00U;
  925. 501 .loc 1 299 3 view .LVU181
  926. 300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** uint32_t iocurrent = 0x00U;
  927. 502 .loc 1 300 3 view .LVU182
  928. 301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** uint32_t tmp = 0x00U;
  929. ARM GAS /tmp/ccOa6coP.s page 17
  930. 503 .loc 1 301 3 view .LVU183
  931. 302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  932. 303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Check the parameters */
  933. 304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** assert_param(IS_GPIO_ALL_INSTANCE(GPIOx));
  934. 504 .loc 1 304 3 view .LVU184
  935. 305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  936. 306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Configure the port pins */
  937. 307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** for(position = 0U; position < GPIO_NUMBER; position++)
  938. 505 .loc 1 307 3 view .LVU185
  939. 506 .loc 1 307 16 is_stmt 0 view .LVU186
  940. 507 0000 0023 movs r3, #0
  941. 508 .LVL49:
  942. 509 .loc 1 307 22 is_stmt 1 view .LVU187
  943. 510 .loc 1 307 3 is_stmt 0 view .LVU188
  944. 511 0002 0F2B cmp r3, #15
  945. 512 0004 00F29080 bhi .L47
  946. 297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** uint32_t position;
  947. 513 .loc 1 297 1 view .LVU189
  948. 514 0008 F0B5 push {r4, r5, r6, r7, lr}
  949. 515 .LCFI4:
  950. 516 .cfi_def_cfa_offset 20
  951. 517 .cfi_offset 4, -20
  952. 518 .cfi_offset 5, -16
  953. 519 .cfi_offset 6, -12
  954. 520 .cfi_offset 7, -8
  955. 521 .cfi_offset 14, -4
  956. 522 000a 2DE0 b .L35
  957. 523 .LVL50:
  958. 524 .L50:
  959. 308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  960. 309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Get the IO position */
  961. 310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** ioposition = 0x01U << position;
  962. 311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Get the current IO position */
  963. 312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** iocurrent = (GPIO_Pin) & ioposition;
  964. 313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  965. 314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** if(iocurrent == ioposition)
  966. 315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  967. 316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /*------------------------- EXTI Mode Configuration --------------------*/
  968. 317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** tmp = SYSCFG->EXTICR[position >> 2U];
  969. 318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** tmp &= (0x0FU << (4U * (position & 0x03U)));
  970. 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** if(tmp == ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4U * (position & 0x03U))))
  971. 525 .loc 1 319 29 view .LVU190
  972. 526 000c 0725 movs r5, #7
  973. 527 000e 00E0 b .L33
  974. 528 .L36:
  975. 529 .loc 1 319 18 view .LVU191
  976. 530 0010 0025 movs r5, #0
  977. 531 .L33:
  978. 532 .loc 1 319 52 discriminator 32 view .LVU192
  979. 533 0012 05FA0CFC lsl ip, r5, ip
  980. 534 .loc 1 319 9 discriminator 32 view .LVU193
  981. 535 0016 A445 cmp ip, r4
  982. 536 0018 69D0 beq .L48
  983. 537 .LVL51:
  984. 538 .L34:
  985. 320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  986. 321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Configure the External Interrupt or event for the current IO */
  987. ARM GAS /tmp/ccOa6coP.s page 18
  988. 322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** tmp = 0x0FU << (4U * (position & 0x03U));
  989. 323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2U] &= ~tmp;
  990. 324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  991. 325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Clear EXTI line configuration */
  992. 326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** EXTI->IMR &= ~((uint32_t)iocurrent);
  993. 327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** EXTI->EMR &= ~((uint32_t)iocurrent);
  994. 328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  995. 329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Clear Rising Falling edge configuration */
  996. 330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** EXTI->RTSR &= ~((uint32_t)iocurrent);
  997. 331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** EXTI->FTSR &= ~((uint32_t)iocurrent);
  998. 332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  999. 333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1000. 334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /*------------------------- GPIO Mode Configuration --------------------*/
  1001. 335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Configure IO Direction in Input Floating Mode */
  1002. 336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->MODER &= ~(GPIO_MODER_MODER0 << (position * 2U));
  1003. 539 .loc 1 336 7 is_stmt 1 view .LVU194
  1004. 540 .loc 1 336 20 is_stmt 0 view .LVU195
  1005. 541 001a 0468 ldr r4, [r0]
  1006. 542 .loc 1 336 56 view .LVU196
  1007. 543 001c 5D00 lsls r5, r3, #1
  1008. 544 .loc 1 336 43 view .LVU197
  1009. 545 001e 4FF0030C mov ip, #3
  1010. 546 0022 0CFA05FC lsl ip, ip, r5
  1011. 547 .loc 1 336 20 view .LVU198
  1012. 548 0026 24EA0C04 bic r4, r4, ip
  1013. 549 002a 0460 str r4, [r0]
  1014. 337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1015. 338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Configure the default Alternate Function in current IO */
  1016. 339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->AFR[position >> 3U] &= ~(0xFU << ((uint32_t)(position & 0x07U) * 4U)) ;
  1017. 550 .loc 1 339 7 is_stmt 1 view .LVU199
  1018. 551 .loc 1 339 34 is_stmt 0 view .LVU200
  1019. 552 002c 4FEAD30E lsr lr, r3, #3
  1020. 553 0030 0EF1080E add lr, lr, #8
  1021. 554 0034 50F82E40 ldr r4, [r0, lr, lsl #2]
  1022. 555 .loc 1 339 48 view .LVU201
  1023. 556 0038 03F00705 and r5, r3, #7
  1024. 557 .loc 1 339 77 view .LVU202
  1025. 558 003c AE00 lsls r6, r5, #2
  1026. 559 .loc 1 339 44 view .LVU203
  1027. 560 003e 0F25 movs r5, #15
  1028. 561 0040 B540 lsls r5, r5, r6
  1029. 562 .loc 1 339 34 view .LVU204
  1030. 563 0042 24EA0504 bic r4, r4, r5
  1031. 564 0046 40F82E40 str r4, [r0, lr, lsl #2]
  1032. 340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1033. 341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Configure the default value for IO Speed */
  1034. 342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->OSPEEDR &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2U));
  1035. 565 .loc 1 342 7 is_stmt 1 view .LVU205
  1036. 566 .loc 1 342 22 is_stmt 0 view .LVU206
  1037. 567 004a 8468 ldr r4, [r0, #8]
  1038. 568 004c 24EA0C04 bic r4, r4, ip
  1039. 569 0050 8460 str r4, [r0, #8]
  1040. 343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1041. 344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Configure the default value IO Output Type */
  1042. 345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->OTYPER &= ~(GPIO_OTYPER_OT_0 << position) ;
  1043. 570 .loc 1 345 7 is_stmt 1 view .LVU207
  1044. 571 .loc 1 345 22 is_stmt 0 view .LVU208
  1045. ARM GAS /tmp/ccOa6coP.s page 19
  1046. 572 0052 4468 ldr r4, [r0, #4]
  1047. 573 0054 24EA0202 bic r2, r4, r2
  1048. 574 .LVL52:
  1049. 575 .loc 1 345 22 view .LVU209
  1050. 576 0058 4260 str r2, [r0, #4]
  1051. 346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1052. 347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Deactivate the Pull-up and Pull-down resistor for the current IO */
  1053. 348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->PUPDR &= ~(GPIO_PUPDR_PUPDR0 << (position * 2U));
  1054. 577 .loc 1 348 7 is_stmt 1 view .LVU210
  1055. 578 .loc 1 348 20 is_stmt 0 view .LVU211
  1056. 579 005a C268 ldr r2, [r0, #12]
  1057. 580 005c 22EA0C02 bic r2, r2, ip
  1058. 581 0060 C260 str r2, [r0, #12]
  1059. 582 .L32:
  1060. 307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1061. 583 .loc 1 307 46 is_stmt 1 discriminator 2 view .LVU212
  1062. 307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1063. 584 .loc 1 307 54 is_stmt 0 discriminator 2 view .LVU213
  1064. 585 0062 0133 adds r3, r3, #1
  1065. 586 .LVL53:
  1066. 307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1067. 587 .loc 1 307 22 is_stmt 1 discriminator 2 view .LVU214
  1068. 307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1069. 588 .loc 1 307 3 is_stmt 0 discriminator 2 view .LVU215
  1070. 589 0064 0F2B cmp r3, #15
  1071. 590 0066 5ED8 bhi .L49
  1072. 591 .LVL54:
  1073. 592 .L35:
  1074. 310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Get the current IO position */
  1075. 593 .loc 1 310 5 is_stmt 1 view .LVU216
  1076. 310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Get the current IO position */
  1077. 594 .loc 1 310 16 is_stmt 0 view .LVU217
  1078. 595 0068 0122 movs r2, #1
  1079. 596 006a 9A40 lsls r2, r2, r3
  1080. 597 .LVL55:
  1081. 312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1082. 598 .loc 1 312 5 is_stmt 1 view .LVU218
  1083. 312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1084. 599 .loc 1 312 15 is_stmt 0 view .LVU219
  1085. 600 006c 02EA0106 and r6, r2, r1
  1086. 601 .LVL56:
  1087. 314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1088. 602 .loc 1 314 5 is_stmt 1 view .LVU220
  1089. 314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1090. 603 .loc 1 314 7 is_stmt 0 view .LVU221
  1091. 604 0070 32EA0104 bics r4, r2, r1
  1092. 605 0074 F5D1 bne .L32
  1093. 317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** tmp &= (0x0FU << (4U * (position & 0x03U)));
  1094. 606 .loc 1 317 7 is_stmt 1 view .LVU222
  1095. 317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** tmp &= (0x0FU << (4U * (position & 0x03U)));
  1096. 607 .loc 1 317 37 is_stmt 0 view .LVU223
  1097. 608 0076 4FEA930E lsr lr, r3, #2
  1098. 317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** tmp &= (0x0FU << (4U * (position & 0x03U)));
  1099. 609 .loc 1 317 11 view .LVU224
  1100. 610 007a 0EF10205 add r5, lr, #2
  1101. 611 007e 2B4C ldr r4, .L51
  1102. 612 0080 54F82540 ldr r4, [r4, r5, lsl #2]
  1103. ARM GAS /tmp/ccOa6coP.s page 20
  1104. 613 .LVL57:
  1105. 318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** if(tmp == ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4U * (position & 0x03U))))
  1106. 614 .loc 1 318 7 is_stmt 1 view .LVU225
  1107. 318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** if(tmp == ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4U * (position & 0x03U))))
  1108. 615 .loc 1 318 40 is_stmt 0 view .LVU226
  1109. 616 0084 03F0030C and ip, r3, #3
  1110. 318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** if(tmp == ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4U * (position & 0x03U))))
  1111. 617 .loc 1 318 28 view .LVU227
  1112. 618 0088 4FEA8C0C lsl ip, ip, #2
  1113. 318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** if(tmp == ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4U * (position & 0x03U))))
  1114. 619 .loc 1 318 21 view .LVU228
  1115. 620 008c 0F25 movs r5, #15
  1116. 621 008e 05FA0CF7 lsl r7, r5, ip
  1117. 318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** if(tmp == ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4U * (position & 0x03U))))
  1118. 622 .loc 1 318 11 view .LVU229
  1119. 623 0092 3C40 ands r4, r4, r7
  1120. 624 .LVL58:
  1121. 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1122. 625 .loc 1 319 7 is_stmt 1 view .LVU230
  1123. 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1124. 626 .loc 1 319 18 is_stmt 0 view .LVU231
  1125. 627 0094 264D ldr r5, .L51+4
  1126. 628 0096 A842 cmp r0, r5
  1127. 629 0098 BAD0 beq .L36
  1128. 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1129. 630 .loc 1 319 29 discriminator 1 view .LVU232
  1130. 631 009a 05F58065 add r5, r5, #1024
  1131. 632 009e A842 cmp r0, r5
  1132. 633 00a0 19D0 beq .L37
  1133. 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1134. 634 .loc 1 319 29 discriminator 3 view .LVU233
  1135. 635 00a2 05F58065 add r5, r5, #1024
  1136. 636 00a6 A842 cmp r0, r5
  1137. 637 00a8 17D0 beq .L38
  1138. 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1139. 638 .loc 1 319 29 discriminator 5 view .LVU234
  1140. 639 00aa 05F58065 add r5, r5, #1024
  1141. 640 00ae A842 cmp r0, r5
  1142. 641 00b0 15D0 beq .L39
  1143. 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1144. 642 .loc 1 319 29 discriminator 7 view .LVU235
  1145. 643 00b2 05F58065 add r5, r5, #1024
  1146. 644 00b6 A842 cmp r0, r5
  1147. 645 00b8 13D0 beq .L40
  1148. 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1149. 646 .loc 1 319 29 discriminator 9 view .LVU236
  1150. 647 00ba 05F58065 add r5, r5, #1024
  1151. 648 00be A842 cmp r0, r5
  1152. 649 00c0 11D0 beq .L41
  1153. 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1154. 650 .loc 1 319 29 discriminator 11 view .LVU237
  1155. 651 00c2 05F58065 add r5, r5, #1024
  1156. 652 00c6 A842 cmp r0, r5
  1157. 653 00c8 0FD0 beq .L42
  1158. 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1159. 654 .loc 1 319 29 discriminator 13 view .LVU238
  1160. 655 00ca 05F58065 add r5, r5, #1024
  1161. ARM GAS /tmp/ccOa6coP.s page 21
  1162. 656 00ce A842 cmp r0, r5
  1163. 657 00d0 9CD0 beq .L50
  1164. 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1165. 658 .loc 1 319 29 view .LVU239
  1166. 659 00d2 0825 movs r5, #8
  1167. 660 00d4 9DE7 b .L33
  1168. 661 .L37:
  1169. 662 00d6 0125 movs r5, #1
  1170. 663 00d8 9BE7 b .L33
  1171. 664 .L38:
  1172. 665 00da 0225 movs r5, #2
  1173. 666 00dc 99E7 b .L33
  1174. 667 .L39:
  1175. 668 00de 0325 movs r5, #3
  1176. 669 00e0 97E7 b .L33
  1177. 670 .L40:
  1178. 671 00e2 0425 movs r5, #4
  1179. 672 00e4 95E7 b .L33
  1180. 673 .L41:
  1181. 674 00e6 0525 movs r5, #5
  1182. 675 00e8 93E7 b .L33
  1183. 676 .L42:
  1184. 677 00ea 0625 movs r5, #6
  1185. 678 00ec 91E7 b .L33
  1186. 679 .L48:
  1187. 322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2U] &= ~tmp;
  1188. 680 .loc 1 322 9 is_stmt 1 view .LVU240
  1189. 681 .LVL59:
  1190. 323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1191. 682 .loc 1 323 9 view .LVU241
  1192. 323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1193. 683 .loc 1 323 40 is_stmt 0 view .LVU242
  1194. 684 00ee DFF83CC0 ldr ip, .L51
  1195. 685 00f2 0EF10204 add r4, lr, #2
  1196. 686 00f6 5CF82450 ldr r5, [ip, r4, lsl #2]
  1197. 687 00fa 25EA0705 bic r5, r5, r7
  1198. 688 00fe 4CF82450 str r5, [ip, r4, lsl #2]
  1199. 326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** EXTI->EMR &= ~((uint32_t)iocurrent);
  1200. 689 .loc 1 326 9 is_stmt 1 view .LVU243
  1201. 326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** EXTI->EMR &= ~((uint32_t)iocurrent);
  1202. 690 .loc 1 326 19 is_stmt 0 view .LVU244
  1203. 691 0102 0C4C ldr r4, .L51+8
  1204. 692 0104 2568 ldr r5, [r4]
  1205. 693 0106 25EA0605 bic r5, r5, r6
  1206. 694 010a 2560 str r5, [r4]
  1207. 327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1208. 695 .loc 1 327 9 is_stmt 1 view .LVU245
  1209. 327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1210. 696 .loc 1 327 19 is_stmt 0 view .LVU246
  1211. 697 010c 6568 ldr r5, [r4, #4]
  1212. 698 010e 25EA0605 bic r5, r5, r6
  1213. 699 0112 6560 str r5, [r4, #4]
  1214. 330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** EXTI->FTSR &= ~((uint32_t)iocurrent);
  1215. 700 .loc 1 330 9 is_stmt 1 view .LVU247
  1216. 330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** EXTI->FTSR &= ~((uint32_t)iocurrent);
  1217. 701 .loc 1 330 20 is_stmt 0 view .LVU248
  1218. 702 0114 A568 ldr r5, [r4, #8]
  1219. ARM GAS /tmp/ccOa6coP.s page 22
  1220. 703 0116 25EA0605 bic r5, r5, r6
  1221. 704 011a A560 str r5, [r4, #8]
  1222. 331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1223. 705 .loc 1 331 9 is_stmt 1 view .LVU249
  1224. 331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1225. 706 .loc 1 331 20 is_stmt 0 view .LVU250
  1226. 707 011c E568 ldr r5, [r4, #12]
  1227. 708 011e 25EA0606 bic r6, r5, r6
  1228. 709 .LVL60:
  1229. 331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1230. 710 .loc 1 331 20 view .LVU251
  1231. 711 0122 E660 str r6, [r4, #12]
  1232. 712 0124 79E7 b .L34
  1233. 713 .LVL61:
  1234. 714 .L49:
  1235. 349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1236. 350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1237. 351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1238. 715 .loc 1 351 1 view .LVU252
  1239. 716 0126 F0BD pop {r4, r5, r6, r7, pc}
  1240. 717 .LVL62:
  1241. 718 .L47:
  1242. 719 .LCFI5:
  1243. 720 .cfi_def_cfa_offset 0
  1244. 721 .cfi_restore 4
  1245. 722 .cfi_restore 5
  1246. 723 .cfi_restore 6
  1247. 724 .cfi_restore 7
  1248. 725 .cfi_restore 14
  1249. 726 .loc 1 351 1 view .LVU253
  1250. 727 0128 7047 bx lr
  1251. 728 .L52:
  1252. 729 012a 00BF .align 2
  1253. 730 .L51:
  1254. 731 012c 00380140 .word 1073821696
  1255. 732 0130 00000240 .word 1073872896
  1256. 733 0134 003C0140 .word 1073822720
  1257. 734 .cfi_endproc
  1258. 735 .LFE131:
  1259. 737 .section .text.HAL_GPIO_ReadPin,"ax",%progbits
  1260. 738 .align 1
  1261. 739 .global HAL_GPIO_ReadPin
  1262. 740 .syntax unified
  1263. 741 .thumb
  1264. 742 .thumb_func
  1265. 744 HAL_GPIO_ReadPin:
  1266. 745 .LVL63:
  1267. 746 .LFB132:
  1268. 352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1269. 353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /**
  1270. 354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @}
  1271. 355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** */
  1272. 356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1273. 357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /** @defgroup GPIO_Exported_Functions_Group2 IO operation functions
  1274. 358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @brief GPIO Read and Write
  1275. 359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** *
  1276. 360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** @verbatim
  1277. ARM GAS /tmp/ccOa6coP.s page 23
  1278. 361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** ===============================================================================
  1279. 362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** ##### IO operation functions #####
  1280. 363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** ===============================================================================
  1281. 364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1282. 365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** @endverbatim
  1283. 366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @{
  1284. 367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** */
  1285. 368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1286. 369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /**
  1287. 370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @brief Reads the specified input port pin.
  1288. 371: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
  1289. 372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * x can be (A..I) to select the GPIO peripheral for STM32F40XX and STM32F427
  1290. 373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @param GPIO_Pin specifies the port bit to read.
  1291. 374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * This parameter can be GPIO_PIN_x where x can be (0..15).
  1292. 375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @retval The input port pin value.
  1293. 376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** */
  1294. 377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
  1295. 378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1296. 747 .loc 1 378 1 is_stmt 1 view -0
  1297. 748 .cfi_startproc
  1298. 749 @ args = 0, pretend = 0, frame = 0
  1299. 750 @ frame_needed = 0, uses_anonymous_args = 0
  1300. 751 @ link register save eliminated.
  1301. 379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIO_PinState bitstatus;
  1302. 752 .loc 1 379 3 view .LVU255
  1303. 380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1304. 381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Check the parameters */
  1305. 382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Pin));
  1306. 753 .loc 1 382 3 view .LVU256
  1307. 383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1308. 384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** if((GPIOx->IDR & GPIO_Pin) != (uint32_t)GPIO_PIN_RESET)
  1309. 754 .loc 1 384 3 view .LVU257
  1310. 755 .loc 1 384 12 is_stmt 0 view .LVU258
  1311. 756 0000 0369 ldr r3, [r0, #16]
  1312. 757 .loc 1 384 5 view .LVU259
  1313. 758 0002 1942 tst r1, r3
  1314. 759 0004 01D0 beq .L55
  1315. 385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1316. 386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** bitstatus = GPIO_PIN_SET;
  1317. 760 .loc 1 386 15 view .LVU260
  1318. 761 0006 0120 movs r0, #1
  1319. 762 .LVL64:
  1320. 763 .loc 1 386 15 view .LVU261
  1321. 764 0008 7047 bx lr
  1322. 765 .LVL65:
  1323. 766 .L55:
  1324. 387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1325. 388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** else
  1326. 389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1327. 390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** bitstatus = GPIO_PIN_RESET;
  1328. 767 .loc 1 390 15 view .LVU262
  1329. 768 000a 0020 movs r0, #0
  1330. 769 .LVL66:
  1331. 391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1332. 392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** return bitstatus;
  1333. 770 .loc 1 392 3 is_stmt 1 view .LVU263
  1334. 393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1335. ARM GAS /tmp/ccOa6coP.s page 24
  1336. 771 .loc 1 393 1 is_stmt 0 view .LVU264
  1337. 772 000c 7047 bx lr
  1338. 773 .cfi_endproc
  1339. 774 .LFE132:
  1340. 776 .section .text.HAL_GPIO_WritePin,"ax",%progbits
  1341. 777 .align 1
  1342. 778 .global HAL_GPIO_WritePin
  1343. 779 .syntax unified
  1344. 780 .thumb
  1345. 781 .thumb_func
  1346. 783 HAL_GPIO_WritePin:
  1347. 784 .LVL67:
  1348. 785 .LFB133:
  1349. 394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1350. 395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /**
  1351. 396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @brief Sets or clears the selected data port bit.
  1352. 397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** *
  1353. 398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @note This function uses GPIOx_BSRR register to allow atomic read/modify
  1354. 399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * accesses. In this way, there is no risk of an IRQ occurring between
  1355. 400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * the read and the modify access.
  1356. 401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** *
  1357. 402: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
  1358. 403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * x can be (A..I) to select the GPIO peripheral for STM32F40XX and STM32F427
  1359. 404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @param GPIO_Pin specifies the port bit to be written.
  1360. 405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * This parameter can be one of GPIO_PIN_x where x can be (0..15).
  1361. 406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @param PinState specifies the value to be written to the selected bit.
  1362. 407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * This parameter can be one of the GPIO_PinState enum values:
  1363. 408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @arg GPIO_PIN_RESET: to clear the port pin
  1364. 409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @arg GPIO_PIN_SET: to set the port pin
  1365. 410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @retval None
  1366. 411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** */
  1367. 412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)
  1368. 413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1369. 786 .loc 1 413 1 is_stmt 1 view -0
  1370. 787 .cfi_startproc
  1371. 788 @ args = 0, pretend = 0, frame = 0
  1372. 789 @ frame_needed = 0, uses_anonymous_args = 0
  1373. 790 @ link register save eliminated.
  1374. 414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Check the parameters */
  1375. 415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Pin));
  1376. 791 .loc 1 415 3 view .LVU266
  1377. 416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** assert_param(IS_GPIO_PIN_ACTION(PinState));
  1378. 792 .loc 1 416 3 view .LVU267
  1379. 417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1380. 418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** if(PinState != GPIO_PIN_RESET)
  1381. 793 .loc 1 418 3 view .LVU268
  1382. 794 .loc 1 418 5 is_stmt 0 view .LVU269
  1383. 795 0000 0AB1 cbz r2, .L57
  1384. 419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1385. 420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->BSRR = GPIO_Pin;
  1386. 796 .loc 1 420 5 is_stmt 1 view .LVU270
  1387. 797 .loc 1 420 17 is_stmt 0 view .LVU271
  1388. 798 0002 8161 str r1, [r0, #24]
  1389. 799 0004 7047 bx lr
  1390. 800 .L57:
  1391. 421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1392. 422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** else
  1393. ARM GAS /tmp/ccOa6coP.s page 25
  1394. 423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1395. 424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->BSRR = (uint32_t)GPIO_Pin << 16U;
  1396. 801 .loc 1 424 5 is_stmt 1 view .LVU272
  1397. 802 .loc 1 424 38 is_stmt 0 view .LVU273
  1398. 803 0006 0904 lsls r1, r1, #16
  1399. 804 .LVL68:
  1400. 805 .loc 1 424 17 view .LVU274
  1401. 806 0008 8161 str r1, [r0, #24]
  1402. 425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1403. 426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1404. 807 .loc 1 426 1 view .LVU275
  1405. 808 000a 7047 bx lr
  1406. 809 .cfi_endproc
  1407. 810 .LFE133:
  1408. 812 .section .text.HAL_GPIO_TogglePin,"ax",%progbits
  1409. 813 .align 1
  1410. 814 .global HAL_GPIO_TogglePin
  1411. 815 .syntax unified
  1412. 816 .thumb
  1413. 817 .thumb_func
  1414. 819 HAL_GPIO_TogglePin:
  1415. 820 .LVL69:
  1416. 821 .LFB134:
  1417. 427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1418. 428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /**
  1419. 429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @brief Toggles the specified GPIO pins.
  1420. 430: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
  1421. 431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * x can be (A..I) to select the GPIO peripheral for STM32F40XX and STM32F427
  1422. 432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @param GPIO_Pin Specifies the pins to be toggled.
  1423. 433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @retval None
  1424. 434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** */
  1425. 435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** void HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
  1426. 436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1427. 822 .loc 1 436 1 is_stmt 1 view -0
  1428. 823 .cfi_startproc
  1429. 824 @ args = 0, pretend = 0, frame = 0
  1430. 825 @ frame_needed = 0, uses_anonymous_args = 0
  1431. 826 @ link register save eliminated.
  1432. 437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Check the parameters */
  1433. 438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Pin));
  1434. 827 .loc 1 438 3 view .LVU277
  1435. 439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1436. 440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** if ((GPIOx->ODR & GPIO_Pin) == GPIO_Pin)
  1437. 828 .loc 1 440 3 view .LVU278
  1438. 829 .loc 1 440 13 is_stmt 0 view .LVU279
  1439. 830 0000 4369 ldr r3, [r0, #20]
  1440. 831 .loc 1 440 6 view .LVU280
  1441. 832 0002 31EA0303 bics r3, r1, r3
  1442. 833 0006 01D0 beq .L62
  1443. 441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1444. 442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->BSRR = (uint32_t)GPIO_Pin << GPIO_NUMBER;
  1445. 443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1446. 444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** else
  1447. 445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1448. 446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->BSRR = GPIO_Pin;
  1449. 834 .loc 1 446 5 is_stmt 1 view .LVU281
  1450. 835 .loc 1 446 17 is_stmt 0 view .LVU282
  1451. ARM GAS /tmp/ccOa6coP.s page 26
  1452. 836 0008 8161 str r1, [r0, #24]
  1453. 447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1454. 448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1455. 837 .loc 1 448 1 view .LVU283
  1456. 838 000a 7047 bx lr
  1457. 839 .L62:
  1458. 442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1459. 840 .loc 1 442 5 is_stmt 1 view .LVU284
  1460. 442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1461. 841 .loc 1 442 38 is_stmt 0 view .LVU285
  1462. 842 000c 0904 lsls r1, r1, #16
  1463. 843 .LVL70:
  1464. 442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1465. 844 .loc 1 442 17 view .LVU286
  1466. 845 000e 8161 str r1, [r0, #24]
  1467. 846 0010 7047 bx lr
  1468. 847 .cfi_endproc
  1469. 848 .LFE134:
  1470. 850 .section .text.HAL_GPIO_LockPin,"ax",%progbits
  1471. 851 .align 1
  1472. 852 .global HAL_GPIO_LockPin
  1473. 853 .syntax unified
  1474. 854 .thumb
  1475. 855 .thumb_func
  1476. 857 HAL_GPIO_LockPin:
  1477. 858 .LVL71:
  1478. 859 .LFB135:
  1479. 449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1480. 450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /**
  1481. 451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @brief Locks GPIO Pins configuration registers.
  1482. 452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @note The locked registers are GPIOx_MODER, GPIOx_OTYPER, GPIOx_OSPEEDR,
  1483. 453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * GPIOx_PUPDR, GPIOx_AFRL and GPIOx_AFRH.
  1484. 454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @note The configuration of the locked GPIO pins can no longer be modified
  1485. 455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * until the next reset.
  1486. 456: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
  1487. 457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @param GPIO_Pin specifies the port bit to be locked.
  1488. 458: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).
  1489. 459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @retval None
  1490. 460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** */
  1491. 461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** HAL_StatusTypeDef HAL_GPIO_LockPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
  1492. 462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1493. 860 .loc 1 462 1 is_stmt 1 view -0
  1494. 861 .cfi_startproc
  1495. 862 @ args = 0, pretend = 0, frame = 8
  1496. 863 @ frame_needed = 0, uses_anonymous_args = 0
  1497. 864 @ link register save eliminated.
  1498. 865 .loc 1 462 1 is_stmt 0 view .LVU288
  1499. 866 0000 82B0 sub sp, sp, #8
  1500. 867 .LCFI6:
  1501. 868 .cfi_def_cfa_offset 8
  1502. 463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** __IO uint32_t tmp = GPIO_LCKR_LCKK;
  1503. 869 .loc 1 463 3 is_stmt 1 view .LVU289
  1504. 870 .loc 1 463 17 is_stmt 0 view .LVU290
  1505. 871 0002 4FF48033 mov r3, #65536
  1506. 872 0006 0193 str r3, [sp, #4]
  1507. 464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1508. 465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Check the parameters */
  1509. ARM GAS /tmp/ccOa6coP.s page 27
  1510. 466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Pin));
  1511. 873 .loc 1 466 3 is_stmt 1 view .LVU291
  1512. 467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1513. 468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Apply lock key write sequence */
  1514. 469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** tmp |= GPIO_Pin;
  1515. 874 .loc 1 469 3 view .LVU292
  1516. 875 .loc 1 469 7 is_stmt 0 view .LVU293
  1517. 876 0008 019B ldr r3, [sp, #4]
  1518. 877 000a 0B43 orrs r3, r3, r1
  1519. 878 000c 0193 str r3, [sp, #4]
  1520. 470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Set LCKx bit(s): LCKK='1' + LCK[15-0] */
  1521. 471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->LCKR = tmp;
  1522. 879 .loc 1 471 3 is_stmt 1 view .LVU294
  1523. 880 .loc 1 471 15 is_stmt 0 view .LVU295
  1524. 881 000e 019B ldr r3, [sp, #4]
  1525. 882 0010 C361 str r3, [r0, #28]
  1526. 472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Reset LCKx bit(s): LCKK='0' + LCK[15-0] */
  1527. 473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->LCKR = GPIO_Pin;
  1528. 883 .loc 1 473 3 is_stmt 1 view .LVU296
  1529. 884 .loc 1 473 15 is_stmt 0 view .LVU297
  1530. 885 0012 C161 str r1, [r0, #28]
  1531. 474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Set LCKx bit(s): LCKK='1' + LCK[15-0] */
  1532. 475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIOx->LCKR = tmp;
  1533. 886 .loc 1 475 3 is_stmt 1 view .LVU298
  1534. 887 .loc 1 475 15 is_stmt 0 view .LVU299
  1535. 888 0014 019B ldr r3, [sp, #4]
  1536. 889 0016 C361 str r3, [r0, #28]
  1537. 476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Read LCKK bit*/
  1538. 477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** tmp = GPIOx->LCKR;
  1539. 890 .loc 1 477 3 is_stmt 1 view .LVU300
  1540. 891 .loc 1 477 14 is_stmt 0 view .LVU301
  1541. 892 0018 C369 ldr r3, [r0, #28]
  1542. 893 .loc 1 477 7 view .LVU302
  1543. 894 001a 0193 str r3, [sp, #4]
  1544. 478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1545. 479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** if((GPIOx->LCKR & GPIO_LCKR_LCKK) != RESET)
  1546. 895 .loc 1 479 2 is_stmt 1 view .LVU303
  1547. 896 .loc 1 479 11 is_stmt 0 view .LVU304
  1548. 897 001c C369 ldr r3, [r0, #28]
  1549. 898 .loc 1 479 4 view .LVU305
  1550. 899 001e 13F4803F tst r3, #65536
  1551. 900 0022 02D0 beq .L65
  1552. 480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1553. 481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** return HAL_OK;
  1554. 901 .loc 1 481 12 view .LVU306
  1555. 902 0024 0020 movs r0, #0
  1556. 903 .LVL72:
  1557. 904 .L64:
  1558. 482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1559. 483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** else
  1560. 484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1561. 485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** return HAL_ERROR;
  1562. 486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1563. 487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1564. 905 .loc 1 487 1 view .LVU307
  1565. 906 0026 02B0 add sp, sp, #8
  1566. 907 .LCFI7:
  1567. ARM GAS /tmp/ccOa6coP.s page 28
  1568. 908 .cfi_remember_state
  1569. 909 .cfi_def_cfa_offset 0
  1570. 910 @ sp needed
  1571. 911 0028 7047 bx lr
  1572. 912 .LVL73:
  1573. 913 .L65:
  1574. 914 .LCFI8:
  1575. 915 .cfi_restore_state
  1576. 485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1577. 916 .loc 1 485 12 view .LVU308
  1578. 917 002a 0120 movs r0, #1
  1579. 918 .LVL74:
  1580. 485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1581. 919 .loc 1 485 12 view .LVU309
  1582. 920 002c FBE7 b .L64
  1583. 921 .cfi_endproc
  1584. 922 .LFE135:
  1585. 924 .section .text.HAL_GPIO_EXTI_Callback,"ax",%progbits
  1586. 925 .align 1
  1587. 926 .weak HAL_GPIO_EXTI_Callback
  1588. 927 .syntax unified
  1589. 928 .thumb
  1590. 929 .thumb_func
  1591. 931 HAL_GPIO_EXTI_Callback:
  1592. 932 .LVL75:
  1593. 933 .LFB137:
  1594. 488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1595. 489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /**
  1596. 490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @brief This function handles EXTI interrupt request.
  1597. 491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @param GPIO_Pin Specifies the pins connected EXTI line
  1598. 492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @retval None
  1599. 493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** */
  1600. 494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin)
  1601. 495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1602. 496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* EXTI line interrupt detected */
  1603. 497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** if(__HAL_GPIO_EXTI_GET_IT(GPIO_Pin) != RESET)
  1604. 498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1605. 499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** __HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin);
  1606. 500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** HAL_GPIO_EXTI_Callback(GPIO_Pin);
  1607. 501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1608. 502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1609. 503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1610. 504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /**
  1611. 505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @brief EXTI line detection callbacks.
  1612. 506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @param GPIO_Pin Specifies the pins connected EXTI line
  1613. 507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** * @retval None
  1614. 508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** */
  1615. 509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** __weak void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
  1616. 510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1617. 934 .loc 1 510 1 is_stmt 1 view -0
  1618. 935 .cfi_startproc
  1619. 936 @ args = 0, pretend = 0, frame = 0
  1620. 937 @ frame_needed = 0, uses_anonymous_args = 0
  1621. 938 @ link register save eliminated.
  1622. 511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Prevent unused argument(s) compilation warning */
  1623. 512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** UNUSED(GPIO_Pin);
  1624. 939 .loc 1 512 3 view .LVU311
  1625. ARM GAS /tmp/ccOa6coP.s page 29
  1626. 513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* NOTE: This function Should not be modified, when the callback is needed,
  1627. 514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** the HAL_GPIO_EXTI_Callback could be implemented in the user file
  1628. 515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** */
  1629. 516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1630. 940 .loc 1 516 1 is_stmt 0 view .LVU312
  1631. 941 0000 7047 bx lr
  1632. 942 .cfi_endproc
  1633. 943 .LFE137:
  1634. 945 .section .text.HAL_GPIO_EXTI_IRQHandler,"ax",%progbits
  1635. 946 .align 1
  1636. 947 .global HAL_GPIO_EXTI_IRQHandler
  1637. 948 .syntax unified
  1638. 949 .thumb
  1639. 950 .thumb_func
  1640. 952 HAL_GPIO_EXTI_IRQHandler:
  1641. 953 .LVL76:
  1642. 954 .LFB136:
  1643. 495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* EXTI line interrupt detected */
  1644. 955 .loc 1 495 1 is_stmt 1 view -0
  1645. 956 .cfi_startproc
  1646. 957 @ args = 0, pretend = 0, frame = 0
  1647. 958 @ frame_needed = 0, uses_anonymous_args = 0
  1648. 495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* EXTI line interrupt detected */
  1649. 959 .loc 1 495 1 is_stmt 0 view .LVU314
  1650. 960 0000 08B5 push {r3, lr}
  1651. 961 .LCFI9:
  1652. 962 .cfi_def_cfa_offset 8
  1653. 963 .cfi_offset 3, -8
  1654. 964 .cfi_offset 14, -4
  1655. 497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1656. 965 .loc 1 497 3 is_stmt 1 view .LVU315
  1657. 497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1658. 966 .loc 1 497 6 is_stmt 0 view .LVU316
  1659. 967 0002 054B ldr r3, .L72
  1660. 968 0004 5B69 ldr r3, [r3, #20]
  1661. 497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
  1662. 969 .loc 1 497 5 view .LVU317
  1663. 970 0006 0342 tst r3, r0
  1664. 971 0008 00D1 bne .L71
  1665. 972 .LVL77:
  1666. 973 .L68:
  1667. 502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1668. 974 .loc 1 502 1 view .LVU318
  1669. 975 000a 08BD pop {r3, pc}
  1670. 976 .LVL78:
  1671. 977 .L71:
  1672. 499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** HAL_GPIO_EXTI_Callback(GPIO_Pin);
  1673. 978 .loc 1 499 5 is_stmt 1 view .LVU319
  1674. 979 000c 024B ldr r3, .L72
  1675. 980 000e 5861 str r0, [r3, #20]
  1676. 500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
  1677. 981 .loc 1 500 5 view .LVU320
  1678. 982 0010 FFF7FEFF bl HAL_GPIO_EXTI_Callback
  1679. 983 .LVL79:
  1680. 502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****
  1681. 984 .loc 1 502 1 is_stmt 0 view .LVU321
  1682. 985 0014 F9E7 b .L68
  1683. ARM GAS /tmp/ccOa6coP.s page 30
  1684. 986 .L73:
  1685. 987 0016 00BF .align 2
  1686. 988 .L72:
  1687. 989 0018 003C0140 .word 1073822720
  1688. 990 .cfi_endproc
  1689. 991 .LFE136:
  1690. 993 .text
  1691. 994 .Letext0:
  1692. 995 .file 2 "/home/gitc/\346\241\214\351\235\242/gcc-arm-none-eabi-10.3-2021.10/arm-none-eabi/include/
  1693. 996 .file 3 "/home/gitc/\346\241\214\351\235\242/gcc-arm-none-eabi-10.3-2021.10/arm-none-eabi/include/
  1694. 997 .file 4 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f407xx.h"
  1695. 998 .file 5 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h"
  1696. 999 .file 6 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h"
  1697. 1000 .file 7 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h"
  1698. ARM GAS /tmp/ccOa6coP.s page 31
  1699. DEFINED SYMBOLS
  1700. *ABS*:0000000000000000 stm32f4xx_hal_gpio.c
  1701. /tmp/ccOa6coP.s:20 .text.HAL_GPIO_Init:0000000000000000 $t
  1702. /tmp/ccOa6coP.s:26 .text.HAL_GPIO_Init:0000000000000000 HAL_GPIO_Init
  1703. /tmp/ccOa6coP.s:479 .text.HAL_GPIO_Init:00000000000001bc $d
  1704. /tmp/ccOa6coP.s:487 .text.HAL_GPIO_DeInit:0000000000000000 $t
  1705. /tmp/ccOa6coP.s:493 .text.HAL_GPIO_DeInit:0000000000000000 HAL_GPIO_DeInit
  1706. /tmp/ccOa6coP.s:731 .text.HAL_GPIO_DeInit:000000000000012c $d
  1707. /tmp/ccOa6coP.s:738 .text.HAL_GPIO_ReadPin:0000000000000000 $t
  1708. /tmp/ccOa6coP.s:744 .text.HAL_GPIO_ReadPin:0000000000000000 HAL_GPIO_ReadPin
  1709. /tmp/ccOa6coP.s:777 .text.HAL_GPIO_WritePin:0000000000000000 $t
  1710. /tmp/ccOa6coP.s:783 .text.HAL_GPIO_WritePin:0000000000000000 HAL_GPIO_WritePin
  1711. /tmp/ccOa6coP.s:813 .text.HAL_GPIO_TogglePin:0000000000000000 $t
  1712. /tmp/ccOa6coP.s:819 .text.HAL_GPIO_TogglePin:0000000000000000 HAL_GPIO_TogglePin
  1713. /tmp/ccOa6coP.s:851 .text.HAL_GPIO_LockPin:0000000000000000 $t
  1714. /tmp/ccOa6coP.s:857 .text.HAL_GPIO_LockPin:0000000000000000 HAL_GPIO_LockPin
  1715. /tmp/ccOa6coP.s:925 .text.HAL_GPIO_EXTI_Callback:0000000000000000 $t
  1716. /tmp/ccOa6coP.s:931 .text.HAL_GPIO_EXTI_Callback:0000000000000000 HAL_GPIO_EXTI_Callback
  1717. /tmp/ccOa6coP.s:946 .text.HAL_GPIO_EXTI_IRQHandler:0000000000000000 $t
  1718. /tmp/ccOa6coP.s:952 .text.HAL_GPIO_EXTI_IRQHandler:0000000000000000 HAL_GPIO_EXTI_IRQHandler
  1719. /tmp/ccOa6coP.s:989 .text.HAL_GPIO_EXTI_IRQHandler:0000000000000018 $d
  1720. NO UNDEFINED SYMBOLS