stm32f1xx_hal_flash_ex.lst 210 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290
  1. ARM GAS /tmp/cc7NUTLl.s page 1
  2. 1 .cpu cortex-m3
  3. 2 .arch armv7-m
  4. 3 .fpu softvfp
  5. 4 .eabi_attribute 20, 1
  6. 5 .eabi_attribute 21, 1
  7. 6 .eabi_attribute 23, 3
  8. 7 .eabi_attribute 24, 1
  9. 8 .eabi_attribute 25, 1
  10. 9 .eabi_attribute 26, 1
  11. 10 .eabi_attribute 30, 1
  12. 11 .eabi_attribute 34, 1
  13. 12 .eabi_attribute 18, 4
  14. 13 .file "stm32f1xx_hal_flash_ex.c"
  15. 14 .text
  16. 15 .Ltext0:
  17. 16 .cfi_sections .debug_frame
  18. 17 .section .text.FLASH_MassErase,"ax",%progbits
  19. 18 .align 1
  20. 19 .syntax unified
  21. 20 .thumb
  22. 21 .thumb_func
  23. 23 FLASH_MassErase:
  24. 24 .LVL0:
  25. 25 .LFB71:
  26. 26 .file 1 "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c"
  27. 1:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
  28. 2:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** ******************************************************************************
  29. 3:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @file stm32f1xx_hal_flash_ex.c
  30. 4:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @author MCD Application Team
  31. 5:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief Extended FLASH HAL module driver.
  32. 6:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *
  33. 7:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * This file provides firmware functions to manage the following
  34. 8:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * functionalities of the FLASH peripheral:
  35. 9:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * + Extended Initialization/de-initialization functions
  36. 10:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * + Extended I/O operation functions
  37. 11:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * + Extended Peripheral Control functions
  38. 12:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *
  39. 13:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** @verbatim
  40. 14:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** ==============================================================================
  41. 15:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** ##### Flash peripheral extended features #####
  42. 16:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** ==============================================================================
  43. 17:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  44. 18:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** ##### How to use this driver #####
  45. 19:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** ==============================================================================
  46. 20:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** [..] This driver provides functions to configure and program the FLASH memory
  47. 21:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** of all STM32F1xxx devices. It includes
  48. 22:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  49. 23:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** (++) Set/Reset the write protection
  50. 24:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** (++) Program the user Option Bytes
  51. 25:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** (++) Get the Read protection Level
  52. 26:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  53. 27:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** @endverbatim
  54. 28:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** ******************************************************************************
  55. 29:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @attention
  56. 30:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *
  57. 31:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * Copyright (c) 2016 STMicroelectronics.
  58. 32:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * All rights reserved.
  59. ARM GAS /tmp/cc7NUTLl.s page 2
  60. 33:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *
  61. 34:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * This software is licensed under terms that can be found in the LICENSE file in
  62. 35:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * the root directory of this software component.
  63. 36:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
  64. 37:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** ******************************************************************************
  65. 38:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  66. 39:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  67. 40:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Includes ------------------------------------------------------------------*/
  68. 41:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #include "stm32f1xx_hal.h"
  69. 42:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  70. 43:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /** @addtogroup STM32F1xx_HAL_Driver
  71. 44:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @{
  72. 45:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  73. 46:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #ifdef HAL_FLASH_MODULE_ENABLED
  74. 47:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  75. 48:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /** @addtogroup FLASH
  76. 49:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @{
  77. 50:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  78. 51:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /** @addtogroup FLASH_Private_Variables
  79. 52:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @{
  80. 53:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  81. 54:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Variables used for Erase pages under interruption*/
  82. 55:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** extern FLASH_ProcessTypeDef pFlash;
  83. 56:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
  84. 57:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @}
  85. 58:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  86. 59:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  87. 60:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
  88. 61:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @}
  89. 62:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  90. 63:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  91. 64:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /** @defgroup FLASHEx FLASHEx
  92. 65:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief FLASH HAL Extension module driver
  93. 66:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @{
  94. 67:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  95. 68:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  96. 69:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Private typedef -----------------------------------------------------------*/
  97. 70:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Private define ------------------------------------------------------------*/
  98. 71:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Private_Constants FLASHEx Private Constants
  99. 72:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @{
  100. 73:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  101. 74:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #define FLASH_POSITION_IWDGSW_BIT FLASH_OBR_IWDG_SW_Pos
  102. 75:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #define FLASH_POSITION_OB_USERDATA0_BIT FLASH_OBR_DATA0_Pos
  103. 76:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #define FLASH_POSITION_OB_USERDATA1_BIT FLASH_OBR_DATA1_Pos
  104. 77:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
  105. 78:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @}
  106. 79:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  107. 80:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  108. 81:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Private macro -------------------------------------------------------------*/
  109. 82:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Private_Macros FLASHEx Private Macros
  110. 83:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @{
  111. 84:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  112. 85:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
  113. 86:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @}
  114. 87:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  115. 88:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  116. 89:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Private variables ---------------------------------------------------------*/
  117. ARM GAS /tmp/cc7NUTLl.s page 3
  118. 90:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Private function prototypes -----------------------------------------------*/
  119. 91:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Private_Functions FLASHEx Private Functions
  120. 92:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @{
  121. 93:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  122. 94:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Erase operations */
  123. 95:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** static void FLASH_MassErase(uint32_t Banks);
  124. 96:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** void FLASH_PageErase(uint32_t PageAddress);
  125. 97:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  126. 98:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Option bytes control */
  127. 99:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_EnableWRP(uint32_t WriteProtectPage);
  128. 100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_DisableWRP(uint32_t WriteProtectPage);
  129. 101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_RDP_LevelConfig(uint8_t ReadProtectLevel);
  130. 102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_UserConfig(uint8_t UserConfig);
  131. 103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_ProgramData(uint32_t Address, uint8_t Data);
  132. 104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** static uint32_t FLASH_OB_GetWRP(void);
  133. 105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** static uint32_t FLASH_OB_GetRDP(void);
  134. 106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** static uint8_t FLASH_OB_GetUser(void);
  135. 107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  136. 108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
  137. 109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @}
  138. 110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  139. 111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  140. 112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Exported functions ---------------------------------------------------------*/
  141. 113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Exported_Functions FLASHEx Exported Functions
  142. 114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @{
  143. 115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  144. 116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  145. 117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Exported_Functions_Group1 FLASHEx Memory Erasing functions
  146. 118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief FLASH Memory Erasing functions
  147. 119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *
  148. 120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** @verbatim
  149. 121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** ==============================================================================
  150. 122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** ##### FLASH Erasing Programming functions #####
  151. 123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** ==============================================================================
  152. 124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  153. 125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** [..] The FLASH Memory Erasing functions, includes the following functions:
  154. 126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** (+) HAL_FLASHEx_Erase: return only when erase has been done
  155. 127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** (+) HAL_FLASHEx_Erase_IT: end of erase is done when HAL_FLASH_EndOfOperationCallback
  156. 128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** is called with parameter 0xFFFFFFFF
  157. 129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  158. 130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** [..] Any operation of erase should follow these steps:
  159. 131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** (#) Call the HAL_FLASH_Unlock() function to enable the flash control register and
  160. 132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** program memory access.
  161. 133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** (#) Call the desired function to erase page.
  162. 134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** (#) Call the HAL_FLASH_Lock() to disable the flash program memory access
  163. 135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** (recommended to protect the FLASH memory against possible unwanted operation).
  164. 136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  165. 137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** @endverbatim
  166. 138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @{
  167. 139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  168. 140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  169. 141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  170. 142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
  171. 143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief Perform a mass erase or erase the specified FLASH memory pages
  172. 144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @note To correctly run this function, the @ref HAL_FLASH_Unlock() function
  173. 145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * must be called before.
  174. 146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * Call the @ref HAL_FLASH_Lock() to disable the flash memory access
  175. ARM GAS /tmp/cc7NUTLl.s page 4
  176. 147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * (recommended to protect the FLASH memory against possible unwanted operation)
  177. 148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @param[in] pEraseInit pointer to an FLASH_EraseInitTypeDef structure that
  178. 149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * contains the configuration information for the erasing.
  179. 150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *
  180. 151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @param[out] PageError pointer to variable that
  181. 152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * contains the configuration information on faulty page in case of error
  182. 153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * (0xFFFFFFFF means that all the pages have been correctly erased)
  183. 154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *
  184. 155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @retval HAL_StatusTypeDef HAL Status
  185. 156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  186. 157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef HAL_FLASHEx_Erase(FLASH_EraseInitTypeDef *pEraseInit, uint32_t *PageError)
  187. 158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  188. 159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_ERROR;
  189. 160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint32_t address = 0U;
  190. 161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  191. 162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Process Locked */
  192. 163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** __HAL_LOCK(&pFlash);
  193. 164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  194. 165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Check the parameters */
  195. 166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_FLASH_TYPEERASE(pEraseInit->TypeErase));
  196. 167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  197. 168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (pEraseInit->TypeErase == FLASH_TYPEERASE_MASSERASE)
  198. 169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  199. 170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_BANK2_END)
  200. 171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (pEraseInit->Banks == FLASH_BANK_BOTH)
  201. 172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  202. 173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Mass Erase requested for Bank1 and Bank2 */
  203. 174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
  204. 175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if ((FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE) == HAL_OK) && \
  205. 176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** (FLASH_WaitForLastOperationBank2((uint32_t)FLASH_TIMEOUT_VALUE) == HAL_OK))
  206. 177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  207. 178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /*Mass erase to be done*/
  208. 179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** FLASH_MassErase(FLASH_BANK_BOTH);
  209. 180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  210. 181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
  211. 182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if ((FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE) == HAL_OK) && \
  212. 183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** (FLASH_WaitForLastOperationBank2((uint32_t)FLASH_TIMEOUT_VALUE) == HAL_OK))
  213. 184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  214. 185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = HAL_OK;
  215. 186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  216. 187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  217. 188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* If the erase operation is completed, disable the MER Bit */
  218. 189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_MER);
  219. 190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR2, FLASH_CR2_MER);
  220. 191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  221. 192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  222. 193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** else if (pEraseInit->Banks == FLASH_BANK_2)
  223. 194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  224. 195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Mass Erase requested for Bank2 */
  225. 196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
  226. 197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (FLASH_WaitForLastOperationBank2((uint32_t)FLASH_TIMEOUT_VALUE) == HAL_OK)
  227. 198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  228. 199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /*Mass erase to be done*/
  229. 200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** FLASH_MassErase(FLASH_BANK_2);
  230. 201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  231. 202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
  232. 203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperationBank2((uint32_t)FLASH_TIMEOUT_VALUE);
  233. ARM GAS /tmp/cc7NUTLl.s page 5
  234. 204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  235. 205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* If the erase operation is completed, disable the MER Bit */
  236. 206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR2, FLASH_CR2_MER);
  237. 207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  238. 208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  239. 209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** else
  240. 210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_BANK2_END */
  241. 211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  242. 212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Mass Erase requested for Bank1 */
  243. 213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
  244. 214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE) == HAL_OK)
  245. 215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  246. 216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /*Mass erase to be done*/
  247. 217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** FLASH_MassErase(FLASH_BANK_1);
  248. 218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  249. 219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
  250. 220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
  251. 221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  252. 222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* If the erase operation is completed, disable the MER Bit */
  253. 223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_MER);
  254. 224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  255. 225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  256. 226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  257. 227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** else
  258. 228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  259. 229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Page Erase is requested */
  260. 230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Check the parameters */
  261. 231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS(pEraseInit->PageAddress));
  262. 232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_FLASH_NB_PAGES(pEraseInit->PageAddress, pEraseInit->NbPages));
  263. 233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  264. 234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_BANK2_END)
  265. 235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Page Erase requested on address located on bank2 */
  266. 236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if(pEraseInit->PageAddress > FLASH_BANK1_END)
  267. 237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  268. 238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
  269. 239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (FLASH_WaitForLastOperationBank2((uint32_t)FLASH_TIMEOUT_VALUE) == HAL_OK)
  270. 240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  271. 241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /*Initialization of PageError variable*/
  272. 242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *PageError = 0xFFFFFFFFU;
  273. 243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  274. 244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Erase by page by page to be done*/
  275. 245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** for(address = pEraseInit->PageAddress;
  276. 246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** address < (pEraseInit->PageAddress + (pEraseInit->NbPages)*FLASH_PAGE_SIZE);
  277. 247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** address += FLASH_PAGE_SIZE)
  278. 248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  279. 249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** FLASH_PageErase(address);
  280. 250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  281. 251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
  282. 252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperationBank2((uint32_t)FLASH_TIMEOUT_VALUE);
  283. 253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  284. 254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* If the erase operation is completed, disable the PER Bit */
  285. 255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR2, FLASH_CR2_PER);
  286. 256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  287. 257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status != HAL_OK)
  288. 258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  289. 259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* In case of error, stop erase procedure and return the faulty address */
  290. 260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *PageError = address;
  291. ARM GAS /tmp/cc7NUTLl.s page 6
  292. 261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** break;
  293. 262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  294. 263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  295. 264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  296. 265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  297. 266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** else
  298. 267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_BANK2_END */
  299. 268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  300. 269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Page Erase requested on address located on bank1 */
  301. 270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
  302. 271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE) == HAL_OK)
  303. 272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  304. 273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /*Initialization of PageError variable*/
  305. 274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *PageError = 0xFFFFFFFFU;
  306. 275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  307. 276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Erase page by page to be done*/
  308. 277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** for(address = pEraseInit->PageAddress;
  309. 278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** address < ((pEraseInit->NbPages * FLASH_PAGE_SIZE) + pEraseInit->PageAddress);
  310. 279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** address += FLASH_PAGE_SIZE)
  311. 280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  312. 281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** FLASH_PageErase(address);
  313. 282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  314. 283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
  315. 284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
  316. 285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  317. 286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* If the erase operation is completed, disable the PER Bit */
  318. 287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_PER);
  319. 288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  320. 289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status != HAL_OK)
  321. 290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  322. 291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* In case of error, stop erase procedure and return the faulty address */
  323. 292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *PageError = address;
  324. 293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** break;
  325. 294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  326. 295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  327. 296:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  328. 297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  329. 298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  330. 299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  331. 300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Process Unlocked */
  332. 301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** __HAL_UNLOCK(&pFlash);
  333. 302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  334. 303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
  335. 304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  336. 305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  337. 306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
  338. 307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief Perform a mass erase or erase the specified FLASH memory pages with interrupt enabled
  339. 308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @note To correctly run this function, the @ref HAL_FLASH_Unlock() function
  340. 309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * must be called before.
  341. 310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * Call the @ref HAL_FLASH_Lock() to disable the flash memory access
  342. 311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * (recommended to protect the FLASH memory against possible unwanted operation)
  343. 312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @param pEraseInit pointer to an FLASH_EraseInitTypeDef structure that
  344. 313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * contains the configuration information for the erasing.
  345. 314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *
  346. 315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @retval HAL_StatusTypeDef HAL Status
  347. 316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  348. 317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef HAL_FLASHEx_Erase_IT(FLASH_EraseInitTypeDef *pEraseInit)
  349. ARM GAS /tmp/cc7NUTLl.s page 7
  350. 318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  351. 319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
  352. 320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  353. 321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Process Locked */
  354. 322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** __HAL_LOCK(&pFlash);
  355. 323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  356. 324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* If procedure already ongoing, reject the next one */
  357. 325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (pFlash.ProcedureOnGoing != FLASH_PROC_NONE)
  358. 326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  359. 327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return HAL_ERROR;
  360. 328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  361. 329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  362. 330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Check the parameters */
  363. 331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_FLASH_TYPEERASE(pEraseInit->TypeErase));
  364. 332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  365. 333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Enable End of FLASH Operation and Error source interrupts */
  366. 334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** __HAL_FLASH_ENABLE_IT(FLASH_IT_EOP | FLASH_IT_ERR);
  367. 335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  368. 336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_BANK2_END)
  369. 337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Enable End of FLASH Operation and Error source interrupts */
  370. 338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** __HAL_FLASH_ENABLE_IT(FLASH_IT_EOP_BANK2 | FLASH_IT_ERR_BANK2);
  371. 339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  372. 340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif
  373. 341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (pEraseInit->TypeErase == FLASH_TYPEERASE_MASSERASE)
  374. 342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  375. 343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /*Mass erase to be done*/
  376. 344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pFlash.ProcedureOnGoing = FLASH_PROC_MASSERASE;
  377. 345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** FLASH_MassErase(pEraseInit->Banks);
  378. 346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  379. 347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** else
  380. 348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  381. 349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Erase by page to be done*/
  382. 350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  383. 351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Check the parameters */
  384. 352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS(pEraseInit->PageAddress));
  385. 353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_FLASH_NB_PAGES(pEraseInit->PageAddress, pEraseInit->NbPages));
  386. 354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  387. 355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pFlash.ProcedureOnGoing = FLASH_PROC_PAGEERASE;
  388. 356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pFlash.DataRemaining = pEraseInit->NbPages;
  389. 357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pFlash.Address = pEraseInit->PageAddress;
  390. 358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  391. 359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /*Erase 1st page and wait for IT*/
  392. 360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** FLASH_PageErase(pEraseInit->PageAddress);
  393. 361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  394. 362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  395. 363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
  396. 364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  397. 365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  398. 366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
  399. 367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @}
  400. 368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  401. 369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  402. 370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Exported_Functions_Group2 Option Bytes Programming functions
  403. 371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief Option Bytes Programming functions
  404. 372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *
  405. 373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** @verbatim
  406. 374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** ==============================================================================
  407. ARM GAS /tmp/cc7NUTLl.s page 8
  408. 375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** ##### Option Bytes Programming functions #####
  409. 376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** ==============================================================================
  410. 377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** [..]
  411. 378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** This subsection provides a set of functions allowing to control the FLASH
  412. 379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** option bytes operations.
  413. 380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  414. 381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** @endverbatim
  415. 382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @{
  416. 383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  417. 384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  418. 385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
  419. 386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief Erases the FLASH option bytes.
  420. 387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @note This functions erases all option bytes except the Read protection (RDP).
  421. 388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * The function @ref HAL_FLASH_Unlock() should be called before to unlock the FLASH interf
  422. 389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * The function @ref HAL_FLASH_OB_Unlock() should be called before to unlock the options b
  423. 390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * The function @ref HAL_FLASH_OB_Launch() should be called after to force the reload of t
  424. 391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * (system reset will occur)
  425. 392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @retval HAL status
  426. 393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  427. 394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  428. 395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef HAL_FLASHEx_OBErase(void)
  429. 396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  430. 397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint8_t rdptmp = OB_RDP_LEVEL_0;
  431. 398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_ERROR;
  432. 399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  433. 400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Get the actual read protection Option Byte value */
  434. 401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** rdptmp = FLASH_OB_GetRDP();
  435. 402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  436. 403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
  437. 404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
  438. 405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  439. 406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if(status == HAL_OK)
  440. 407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  441. 408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Clean the error context */
  442. 409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
  443. 410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  444. 411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* If the previous operation is completed, proceed to erase the option bytes */
  445. 412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_OPTER);
  446. 413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_STRT);
  447. 414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  448. 415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
  449. 416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
  450. 417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  451. 418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* If the erase operation is completed, disable the OPTER Bit */
  452. 419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_OPTER);
  453. 420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  454. 421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if(status == HAL_OK)
  455. 422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  456. 423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Restore the last read protection Option Byte value */
  457. 424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_OB_RDP_LevelConfig(rdptmp);
  458. 425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  459. 426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  460. 427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  461. 428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Return the erase status */
  462. 429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
  463. 430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  464. 431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  465. ARM GAS /tmp/cc7NUTLl.s page 9
  466. 432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
  467. 433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief Program option bytes
  468. 434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @note The function @ref HAL_FLASH_Unlock() should be called before to unlock the FLASH interf
  469. 435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * The function @ref HAL_FLASH_OB_Unlock() should be called before to unlock the options b
  470. 436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * The function @ref HAL_FLASH_OB_Launch() should be called after to force the reload of t
  471. 437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * (system reset will occur)
  472. 438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *
  473. 439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @param pOBInit pointer to an FLASH_OBInitStruct structure that
  474. 440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * contains the configuration information for the programming.
  475. 441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *
  476. 442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @retval HAL_StatusTypeDef HAL Status
  477. 443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  478. 444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef HAL_FLASHEx_OBProgram(FLASH_OBProgramInitTypeDef *pOBInit)
  479. 445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  480. 446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_ERROR;
  481. 447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  482. 448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Process Locked */
  483. 449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** __HAL_LOCK(&pFlash);
  484. 450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  485. 451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Check the parameters */
  486. 452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_OPTIONBYTE(pOBInit->OptionType));
  487. 453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  488. 454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Write protection configuration */
  489. 455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if((pOBInit->OptionType & OPTIONBYTE_WRP) == OPTIONBYTE_WRP)
  490. 456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  491. 457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_WRPSTATE(pOBInit->WRPState));
  492. 458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (pOBInit->WRPState == OB_WRPSTATE_ENABLE)
  493. 459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  494. 460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Enable of Write protection on the selected page */
  495. 461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_OB_EnableWRP(pOBInit->WRPPage);
  496. 462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  497. 463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** else
  498. 464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  499. 465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Disable of Write protection on the selected page */
  500. 466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_OB_DisableWRP(pOBInit->WRPPage);
  501. 467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  502. 468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status != HAL_OK)
  503. 469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  504. 470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Process Unlocked */
  505. 471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** __HAL_UNLOCK(&pFlash);
  506. 472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
  507. 473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  508. 474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  509. 475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  510. 476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Read protection configuration */
  511. 477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if((pOBInit->OptionType & OPTIONBYTE_RDP) == OPTIONBYTE_RDP)
  512. 478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  513. 479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_OB_RDP_LevelConfig(pOBInit->RDPLevel);
  514. 480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status != HAL_OK)
  515. 481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  516. 482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Process Unlocked */
  517. 483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** __HAL_UNLOCK(&pFlash);
  518. 484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
  519. 485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  520. 486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  521. 487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  522. 488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* USER configuration */
  523. ARM GAS /tmp/cc7NUTLl.s page 10
  524. 489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if((pOBInit->OptionType & OPTIONBYTE_USER) == OPTIONBYTE_USER)
  525. 490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  526. 491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_OB_UserConfig(pOBInit->USERConfig);
  527. 492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status != HAL_OK)
  528. 493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  529. 494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Process Unlocked */
  530. 495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** __HAL_UNLOCK(&pFlash);
  531. 496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
  532. 497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  533. 498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  534. 499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  535. 500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* DATA configuration*/
  536. 501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if((pOBInit->OptionType & OPTIONBYTE_DATA) == OPTIONBYTE_DATA)
  537. 502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  538. 503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_OB_ProgramData(pOBInit->DATAAddress, pOBInit->DATAData);
  539. 504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status != HAL_OK)
  540. 505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  541. 506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Process Unlocked */
  542. 507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** __HAL_UNLOCK(&pFlash);
  543. 508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
  544. 509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  545. 510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  546. 511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  547. 512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Process Unlocked */
  548. 513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** __HAL_UNLOCK(&pFlash);
  549. 514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  550. 515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
  551. 516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  552. 517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  553. 518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
  554. 519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief Get the Option byte configuration
  555. 520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @param pOBInit pointer to an FLASH_OBInitStruct structure that
  556. 521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * contains the configuration information for the programming.
  557. 522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *
  558. 523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @retval None
  559. 524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  560. 525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** void HAL_FLASHEx_OBGetConfig(FLASH_OBProgramInitTypeDef *pOBInit)
  561. 526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  562. 527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pOBInit->OptionType = OPTIONBYTE_WRP | OPTIONBYTE_RDP | OPTIONBYTE_USER;
  563. 528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  564. 529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /*Get WRP*/
  565. 530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pOBInit->WRPPage = FLASH_OB_GetWRP();
  566. 531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  567. 532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /*Get RDP Level*/
  568. 533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pOBInit->RDPLevel = FLASH_OB_GetRDP();
  569. 534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  570. 535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /*Get USER*/
  571. 536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pOBInit->USERConfig = FLASH_OB_GetUser();
  572. 537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  573. 538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  574. 539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
  575. 540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief Get the Option byte user data
  576. 541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @param DATAAdress Address of the option byte DATA
  577. 542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * This parameter can be one of the following values:
  578. 543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @arg @ref OB_DATA_ADDRESS_DATA0
  579. 544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @arg @ref OB_DATA_ADDRESS_DATA1
  580. 545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @retval Value programmed in USER data
  581. ARM GAS /tmp/cc7NUTLl.s page 11
  582. 546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  583. 547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint32_t HAL_FLASHEx_OBGetUserData(uint32_t DATAAdress)
  584. 548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  585. 549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint32_t value = 0;
  586. 550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  587. 551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (DATAAdress == OB_DATA_ADDRESS_DATA0)
  588. 552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  589. 553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Get value programmed in OB USER Data0 */
  590. 554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** value = READ_BIT(FLASH->OBR, FLASH_OBR_DATA0) >> FLASH_POSITION_OB_USERDATA0_BIT;
  591. 555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  592. 556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** else
  593. 557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  594. 558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Get value programmed in OB USER Data1 */
  595. 559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** value = READ_BIT(FLASH->OBR, FLASH_OBR_DATA1) >> FLASH_POSITION_OB_USERDATA1_BIT;
  596. 560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  597. 561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  598. 562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return value;
  599. 563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  600. 564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  601. 565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
  602. 566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @}
  603. 567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  604. 568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  605. 569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
  606. 570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @}
  607. 571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  608. 572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  609. 573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /** @addtogroup FLASHEx_Private_Functions
  610. 574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @{
  611. 575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  612. 576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  613. 577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
  614. 578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief Full erase of FLASH memory Bank
  615. 579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @param Banks Banks to be erased
  616. 580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * This parameter can be one of the following values:
  617. 581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @arg @ref FLASH_BANK_1 Bank1 to be erased
  618. 582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** @if STM32F101xG
  619. 583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @arg @ref FLASH_BANK_2 Bank2 to be erased
  620. 584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @arg @ref FLASH_BANK_BOTH Bank1 and Bank2 to be erased
  621. 585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** @endif
  622. 586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** @if STM32F103xG
  623. 587:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @arg @ref FLASH_BANK_2 Bank2 to be erased
  624. 588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @arg @ref FLASH_BANK_BOTH Bank1 and Bank2 to be erased
  625. 589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** @endif
  626. 590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *
  627. 591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @retval None
  628. 592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  629. 593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** static void FLASH_MassErase(uint32_t Banks)
  630. 594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  631. 27 .loc 1 594 1 view -0
  632. 28 .cfi_startproc
  633. 29 @ args = 0, pretend = 0, frame = 0
  634. 30 @ frame_needed = 0, uses_anonymous_args = 0
  635. 31 @ link register save eliminated.
  636. 595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Check the parameters */
  637. 596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_FLASH_BANK(Banks));
  638. 32 .loc 1 596 3 view .LVU1
  639. ARM GAS /tmp/cc7NUTLl.s page 12
  640. 597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  641. 598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Clean the error context */
  642. 599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
  643. 33 .loc 1 599 3 view .LVU2
  644. 34 .loc 1 599 20 is_stmt 0 view .LVU3
  645. 35 0000 064B ldr r3, .L2
  646. 36 0002 0022 movs r2, #0
  647. 37 0004 DA61 str r2, [r3, #28]
  648. 600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  649. 601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_BANK2_END)
  650. 602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if(Banks == FLASH_BANK_BOTH)
  651. 603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  652. 604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* bank1 & bank2 will be erased*/
  653. 605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_MER);
  654. 606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR2, FLASH_CR2_MER);
  655. 607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_STRT);
  656. 608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR2, FLASH_CR2_STRT);
  657. 609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  658. 610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** else if(Banks == FLASH_BANK_2)
  659. 611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  660. 612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /*Only bank2 will be erased*/
  661. 613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR2, FLASH_CR2_MER);
  662. 614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR2, FLASH_CR2_STRT);
  663. 615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  664. 616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** else
  665. 617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  666. 618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_BANK2_END */
  667. 619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if !defined(FLASH_BANK2_END)
  668. 620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Prevent unused argument(s) compilation warning */
  669. 621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** UNUSED(Banks);
  670. 38 .loc 1 621 3 is_stmt 1 view .LVU4
  671. 622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_BANK2_END */
  672. 623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Only bank1 will be erased*/
  673. 624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_MER);
  674. 39 .loc 1 624 5 view .LVU5
  675. 40 0006 064B ldr r3, .L2+4
  676. 41 0008 1A69 ldr r2, [r3, #16]
  677. 42 000a 42F00402 orr r2, r2, #4
  678. 43 000e 1A61 str r2, [r3, #16]
  679. 625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_STRT);
  680. 44 .loc 1 625 5 view .LVU6
  681. 45 0010 1A69 ldr r2, [r3, #16]
  682. 46 0012 42F04002 orr r2, r2, #64
  683. 47 0016 1A61 str r2, [r3, #16]
  684. 626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_BANK2_END)
  685. 627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  686. 628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_BANK2_END */
  687. 629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  688. 48 .loc 1 629 1 is_stmt 0 view .LVU7
  689. 49 0018 7047 bx lr
  690. 50 .L3:
  691. 51 001a 00BF .align 2
  692. 52 .L2:
  693. 53 001c 00000000 .word pFlash
  694. 54 0020 00200240 .word 1073881088
  695. 55 .cfi_endproc
  696. 56 .LFE71:
  697. ARM GAS /tmp/cc7NUTLl.s page 13
  698. 58 .section .text.FLASH_OB_GetWRP,"ax",%progbits
  699. 59 .align 1
  700. 60 .syntax unified
  701. 61 .thumb
  702. 62 .thumb_func
  703. 64 FLASH_OB_GetWRP:
  704. 65 .LFB77:
  705. 630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  706. 631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
  707. 632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief Enable the write protection of the desired pages
  708. 633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @note An option byte erase is done automatically in this function.
  709. 634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @note When the memory read protection level is selected (RDP level = 1),
  710. 635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * it is not possible to program or erase the flash page i if
  711. 636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * debug features are connected or boot code is executed in RAM, even if nWRPi = 1
  712. 637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *
  713. 638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @param WriteProtectPage specifies the page(s) to be write protected.
  714. 639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * The value of this parameter depend on device used within the same series
  715. 640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @retval HAL status
  716. 641:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  717. 642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_EnableWRP(uint32_t WriteProtectPage)
  718. 643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  719. 644:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
  720. 645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint16_t WRP0_Data = 0xFFFF;
  721. 646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_WRP1_WRP1)
  722. 647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint16_t WRP1_Data = 0xFFFF;
  723. 648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP1_WRP1 */
  724. 649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_WRP2_WRP2)
  725. 650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint16_t WRP2_Data = 0xFFFF;
  726. 651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP2_WRP2 */
  727. 652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_WRP3_WRP3)
  728. 653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint16_t WRP3_Data = 0xFFFF;
  729. 654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP3_WRP3 */
  730. 655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  731. 656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Check the parameters */
  732. 657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_OB_WRP(WriteProtectPage));
  733. 658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  734. 659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Get current write protected pages and the new pages to be protected ******/
  735. 660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WriteProtectPage = (uint32_t)(~((~FLASH_OB_GetWRP()) | WriteProtectPage));
  736. 661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  737. 662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(OB_WRP_PAGES0TO15MASK)
  738. 663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP0_Data = (uint16_t)(WriteProtectPage & OB_WRP_PAGES0TO15MASK);
  739. 664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES0TO31MASK)
  740. 665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP0_Data = (uint16_t)(WriteProtectPage & OB_WRP_PAGES0TO31MASK);
  741. 666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES0TO31MASK */
  742. 667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  743. 668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(OB_WRP_PAGES16TO31MASK)
  744. 669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP1_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES16TO31MASK) >> 8U);
  745. 670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES32TO63MASK)
  746. 671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP1_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES32TO63MASK) >> 8U);
  747. 672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES32TO63MASK */
  748. 673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  749. 674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(OB_WRP_PAGES64TO95MASK)
  750. 675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP2_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES64TO95MASK) >> 16U);
  751. 676:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES64TO95MASK */
  752. 677:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(OB_WRP_PAGES32TO47MASK)
  753. 678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP2_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES32TO47MASK) >> 16U);
  754. 679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES32TO47MASK */
  755. ARM GAS /tmp/cc7NUTLl.s page 14
  756. 680:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  757. 681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(OB_WRP_PAGES96TO127MASK)
  758. 682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP3_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES96TO127MASK) >> 24U);
  759. 683:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES48TO255MASK)
  760. 684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP3_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES48TO255MASK) >> 24U);
  761. 685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES48TO511MASK)
  762. 686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP3_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES48TO511MASK) >> 24U);
  763. 687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES48TO127MASK)
  764. 688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP3_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES48TO127MASK) >> 24U);
  765. 689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES96TO127MASK */
  766. 690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  767. 691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
  768. 692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
  769. 693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  770. 694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if(status == HAL_OK)
  771. 695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  772. 696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Clean the error context */
  773. 697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
  774. 698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  775. 699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* To be able to write again option byte, need to perform a option byte erase */
  776. 700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = HAL_FLASHEx_OBErase();
  777. 701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status == HAL_OK)
  778. 702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  779. 703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Enable write protection */
  780. 704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_OPTPG);
  781. 705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  782. 706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_WRP0_WRP0)
  783. 707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if(WRP0_Data != 0xFFU)
  784. 708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  785. 709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** OB->WRP0 &= WRP0_Data;
  786. 710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  787. 711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
  788. 712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
  789. 713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  790. 714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP0_WRP0 */
  791. 715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  792. 716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_WRP1_WRP1)
  793. 717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if((status == HAL_OK) && (WRP1_Data != 0xFFU))
  794. 718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  795. 719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** OB->WRP1 &= WRP1_Data;
  796. 720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  797. 721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
  798. 722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
  799. 723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  800. 724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP1_WRP1 */
  801. 725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  802. 726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_WRP2_WRP2)
  803. 727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if((status == HAL_OK) && (WRP2_Data != 0xFFU))
  804. 728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  805. 729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** OB->WRP2 &= WRP2_Data;
  806. 730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  807. 731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
  808. 732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
  809. 733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  810. 734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP2_WRP2 */
  811. 735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  812. 736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_WRP3_WRP3)
  813. ARM GAS /tmp/cc7NUTLl.s page 15
  814. 737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if((status == HAL_OK) && (WRP3_Data != 0xFFU))
  815. 738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  816. 739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** OB->WRP3 &= WRP3_Data;
  817. 740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  818. 741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
  819. 742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
  820. 743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  821. 744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP3_WRP3 */
  822. 745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  823. 746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* if the program operation is completed, disable the OPTPG Bit */
  824. 747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_OPTPG);
  825. 748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  826. 749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  827. 750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  828. 751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
  829. 752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  830. 753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  831. 754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
  832. 755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief Disable the write protection of the desired pages
  833. 756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @note An option byte erase is done automatically in this function.
  834. 757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @note When the memory read protection level is selected (RDP level = 1),
  835. 758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * it is not possible to program or erase the flash page i if
  836. 759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * debug features are connected or boot code is executed in RAM, even if nWRPi = 1
  837. 760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *
  838. 761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @param WriteProtectPage specifies the page(s) to be write unprotected.
  839. 762:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * The value of this parameter depend on device used within the same series
  840. 763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @retval HAL status
  841. 764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  842. 765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_DisableWRP(uint32_t WriteProtectPage)
  843. 766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  844. 767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
  845. 768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint16_t WRP0_Data = 0xFFFF;
  846. 769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_WRP1_WRP1)
  847. 770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint16_t WRP1_Data = 0xFFFF;
  848. 771:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP1_WRP1 */
  849. 772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_WRP2_WRP2)
  850. 773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint16_t WRP2_Data = 0xFFFF;
  851. 774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP2_WRP2 */
  852. 775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_WRP3_WRP3)
  853. 776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint16_t WRP3_Data = 0xFFFF;
  854. 777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP3_WRP3 */
  855. 778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  856. 779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Check the parameters */
  857. 780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_OB_WRP(WriteProtectPage));
  858. 781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  859. 782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Get current write protected pages and the new pages to be unprotected ******/
  860. 783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WriteProtectPage = (FLASH_OB_GetWRP() | WriteProtectPage);
  861. 784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  862. 785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(OB_WRP_PAGES0TO15MASK)
  863. 786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP0_Data = (uint16_t)(WriteProtectPage & OB_WRP_PAGES0TO15MASK);
  864. 787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES0TO31MASK)
  865. 788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP0_Data = (uint16_t)(WriteProtectPage & OB_WRP_PAGES0TO31MASK);
  866. 789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES0TO31MASK */
  867. 790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  868. 791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(OB_WRP_PAGES16TO31MASK)
  869. 792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP1_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES16TO31MASK) >> 8U);
  870. 793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES32TO63MASK)
  871. ARM GAS /tmp/cc7NUTLl.s page 16
  872. 794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP1_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES32TO63MASK) >> 8U);
  873. 795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES32TO63MASK */
  874. 796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  875. 797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(OB_WRP_PAGES64TO95MASK)
  876. 798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP2_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES64TO95MASK) >> 16U);
  877. 799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES64TO95MASK */
  878. 800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(OB_WRP_PAGES32TO47MASK)
  879. 801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP2_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES32TO47MASK) >> 16U);
  880. 802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES32TO47MASK */
  881. 803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  882. 804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(OB_WRP_PAGES96TO127MASK)
  883. 805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP3_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES96TO127MASK) >> 24U);
  884. 806:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES48TO255MASK)
  885. 807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP3_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES48TO255MASK) >> 24U);
  886. 808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES48TO511MASK)
  887. 809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP3_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES48TO511MASK) >> 24U);
  888. 810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES48TO127MASK)
  889. 811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP3_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES48TO127MASK) >> 24U);
  890. 812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES96TO127MASK */
  891. 813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  892. 814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  893. 815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
  894. 816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
  895. 817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  896. 818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if(status == HAL_OK)
  897. 819:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  898. 820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Clean the error context */
  899. 821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
  900. 822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  901. 823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* To be able to write again option byte, need to perform a option byte erase */
  902. 824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = HAL_FLASHEx_OBErase();
  903. 825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status == HAL_OK)
  904. 826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  905. 827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_OPTPG);
  906. 828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  907. 829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_WRP0_WRP0)
  908. 830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if(WRP0_Data != 0xFFU)
  909. 831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  910. 832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** OB->WRP0 |= WRP0_Data;
  911. 833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  912. 834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
  913. 835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
  914. 836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  915. 837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP0_WRP0 */
  916. 838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  917. 839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_WRP1_WRP1)
  918. 840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if((status == HAL_OK) && (WRP1_Data != 0xFFU))
  919. 841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  920. 842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** OB->WRP1 |= WRP1_Data;
  921. 843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  922. 844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
  923. 845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
  924. 846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  925. 847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP1_WRP1 */
  926. 848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  927. 849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_WRP2_WRP2)
  928. 850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if((status == HAL_OK) && (WRP2_Data != 0xFFU))
  929. ARM GAS /tmp/cc7NUTLl.s page 17
  930. 851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  931. 852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** OB->WRP2 |= WRP2_Data;
  932. 853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  933. 854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
  934. 855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
  935. 856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  936. 857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP2_WRP2 */
  937. 858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  938. 859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_WRP3_WRP3)
  939. 860:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if((status == HAL_OK) && (WRP3_Data != 0xFFU))
  940. 861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  941. 862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** OB->WRP3 |= WRP3_Data;
  942. 863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  943. 864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
  944. 865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
  945. 866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  946. 867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP3_WRP3 */
  947. 868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  948. 869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* if the program operation is completed, disable the OPTPG Bit */
  949. 870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_OPTPG);
  950. 871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  951. 872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  952. 873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
  953. 874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  954. 875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  955. 876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
  956. 877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief Set the read protection level.
  957. 878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @param ReadProtectLevel specifies the read protection level.
  958. 879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * This parameter can be one of the following values:
  959. 880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @arg @ref OB_RDP_LEVEL_0 No protection
  960. 881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @arg @ref OB_RDP_LEVEL_1 Read protection of the memory
  961. 882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @retval HAL status
  962. 883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  963. 884:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_RDP_LevelConfig(uint8_t ReadProtectLevel)
  964. 885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  965. 886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
  966. 887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  967. 888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Check the parameters */
  968. 889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_OB_RDP_LEVEL(ReadProtectLevel));
  969. 890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  970. 891:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
  971. 892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
  972. 893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  973. 894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if(status == HAL_OK)
  974. 895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  975. 896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Clean the error context */
  976. 897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
  977. 898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  978. 899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* If the previous operation is completed, proceed to erase the option bytes */
  979. 900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_OPTER);
  980. 901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_STRT);
  981. 902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  982. 903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
  983. 904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
  984. 905:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  985. 906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* If the erase operation is completed, disable the OPTER Bit */
  986. 907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_OPTER);
  987. ARM GAS /tmp/cc7NUTLl.s page 18
  988. 908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  989. 909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if(status == HAL_OK)
  990. 910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  991. 911:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Enable the Option Bytes Programming operation */
  992. 912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_OPTPG);
  993. 913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  994. 914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRITE_REG(OB->RDP, ReadProtectLevel);
  995. 915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  996. 916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
  997. 917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
  998. 918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  999. 919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* if the program operation is completed, disable the OPTPG Bit */
  1000. 920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_OPTPG);
  1001. 921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1002. 922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1003. 923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1004. 924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
  1005. 925:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1006. 926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1007. 927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
  1008. 928:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief Program the FLASH User Option Byte.
  1009. 929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @note Programming of the OB should be performed only after an erase (otherwise PGERR occurs)
  1010. 930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @param UserConfig The FLASH User Option Bytes values FLASH_OBR_IWDG_SW(Bit2),
  1011. 931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * FLASH_OBR_nRST_STOP(Bit3),FLASH_OBR_nRST_STDBY(Bit4).
  1012. 932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * And BFBF2(Bit5) for STM32F101xG and STM32F103xG .
  1013. 933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @retval HAL status
  1014. 934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  1015. 935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_UserConfig(uint8_t UserConfig)
  1016. 936:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  1017. 937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
  1018. 938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1019. 939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Check the parameters */
  1020. 940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_OB_IWDG_SOURCE((UserConfig&OB_IWDG_SW)));
  1021. 941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_OB_STOP_SOURCE((UserConfig&OB_STOP_NO_RST)));
  1022. 942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_OB_STDBY_SOURCE((UserConfig&OB_STDBY_NO_RST)));
  1023. 943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_BANK2_END)
  1024. 944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_OB_BOOT1((UserConfig&OB_BOOT1_SET)));
  1025. 945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_BANK2_END */
  1026. 946:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1027. 947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
  1028. 948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
  1029. 949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1030. 950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if(status == HAL_OK)
  1031. 951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  1032. 952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Clean the error context */
  1033. 953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
  1034. 954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1035. 955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Enable the Option Bytes Programming operation */
  1036. 956:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_OPTPG);
  1037. 957:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1038. 958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_BANK2_END)
  1039. 959:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** OB->USER = (UserConfig | 0xF0U);
  1040. 960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #else
  1041. 961:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** OB->USER = (UserConfig | 0x88U);
  1042. 962:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_BANK2_END */
  1043. 963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1044. 964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
  1045. ARM GAS /tmp/cc7NUTLl.s page 19
  1046. 965:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
  1047. 966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1048. 967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* if the program operation is completed, disable the OPTPG Bit */
  1049. 968:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_OPTPG);
  1050. 969:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1051. 970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1052. 971:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
  1053. 972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1054. 973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1055. 974:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
  1056. 975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief Programs a half word at a specified Option Byte Data address.
  1057. 976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @note The function @ref HAL_FLASH_Unlock() should be called before to unlock the FLASH interf
  1058. 977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * The function @ref HAL_FLASH_OB_Unlock() should be called before to unlock the options b
  1059. 978:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * The function @ref HAL_FLASH_OB_Launch() should be called after to force the reload of t
  1060. 979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * (system reset will occur)
  1061. 980:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * Programming of the OB should be performed only after an erase (otherwise PGERR occurs)
  1062. 981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @param Address specifies the address to be programmed.
  1063. 982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * This parameter can be 0x1FFFF804 or 0x1FFFF806.
  1064. 983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @param Data specifies the data to be programmed.
  1065. 984:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @retval HAL status
  1066. 985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  1067. 986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_ProgramData(uint32_t Address, uint8_t Data)
  1068. 987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  1069. 988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_ERROR;
  1070. 989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1071. 990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Check the parameters */
  1072. 991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_OB_DATA_ADDRESS(Address));
  1073. 992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1074. 993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
  1075. 994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
  1076. 995:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1077. 996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if(status == HAL_OK)
  1078. 997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  1079. 998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Clean the error context */
  1080. 999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
  1081. 1000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1082. 1001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Enables the Option Bytes Programming operation */
  1083. 1002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_OPTPG);
  1084. 1003:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *(__IO uint16_t*)Address = Data;
  1085. 1004:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1086. 1005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
  1087. 1006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
  1088. 1007:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1089. 1008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* If the program operation is completed, disable the OPTPG Bit */
  1090. 1009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_OPTPG);
  1091. 1010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1092. 1011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Return the Option Byte Data Program Status */
  1093. 1012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
  1094. 1013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1095. 1014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1096. 1015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
  1097. 1016:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief Return the FLASH Write Protection Option Bytes value.
  1098. 1017:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @retval The FLASH Write Protection Option Bytes value
  1099. 1018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  1100. 1019:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** static uint32_t FLASH_OB_GetWRP(void)
  1101. 1020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  1102. 66 .loc 1 1020 1 is_stmt 1 view -0
  1103. ARM GAS /tmp/cc7NUTLl.s page 20
  1104. 67 .cfi_startproc
  1105. 68 @ args = 0, pretend = 0, frame = 0
  1106. 69 @ frame_needed = 0, uses_anonymous_args = 0
  1107. 70 @ link register save eliminated.
  1108. 1021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Return the FLASH write protection Register value */
  1109. 1022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return (uint32_t)(READ_REG(FLASH->WRPR));
  1110. 71 .loc 1 1022 3 view .LVU9
  1111. 72 .loc 1 1022 10 is_stmt 0 view .LVU10
  1112. 73 0000 014B ldr r3, .L5
  1113. 74 0002 186A ldr r0, [r3, #32]
  1114. 1023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1115. 75 .loc 1 1023 1 view .LVU11
  1116. 76 0004 7047 bx lr
  1117. 77 .L6:
  1118. 78 0006 00BF .align 2
  1119. 79 .L5:
  1120. 80 0008 00200240 .word 1073881088
  1121. 81 .cfi_endproc
  1122. 82 .LFE77:
  1123. 84 .section .text.FLASH_OB_GetRDP,"ax",%progbits
  1124. 85 .align 1
  1125. 86 .syntax unified
  1126. 87 .thumb
  1127. 88 .thumb_func
  1128. 90 FLASH_OB_GetRDP:
  1129. 91 .LFB78:
  1130. 1024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1131. 1025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
  1132. 1026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief Returns the FLASH Read Protection level.
  1133. 1027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @retval FLASH RDP level
  1134. 1028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * This parameter can be one of the following values:
  1135. 1029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @arg @ref OB_RDP_LEVEL_0 No protection
  1136. 1030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @arg @ref OB_RDP_LEVEL_1 Read protection of the memory
  1137. 1031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  1138. 1032:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** static uint32_t FLASH_OB_GetRDP(void)
  1139. 1033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  1140. 92 .loc 1 1033 1 is_stmt 1 view -0
  1141. 93 .cfi_startproc
  1142. 94 @ args = 0, pretend = 0, frame = 0
  1143. 95 @ frame_needed = 0, uses_anonymous_args = 0
  1144. 96 @ link register save eliminated.
  1145. 1034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint32_t readstatus = OB_RDP_LEVEL_0;
  1146. 97 .loc 1 1034 3 view .LVU13
  1147. 98 .LVL1:
  1148. 1035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint32_t tmp_reg = 0U;
  1149. 99 .loc 1 1035 3 view .LVU14
  1150. 1036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1151. 1037:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Read RDP level bits */
  1152. 1038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** tmp_reg = READ_BIT(FLASH->OBR, FLASH_OBR_RDPRT);
  1153. 100 .loc 1 1038 3 view .LVU15
  1154. 101 .loc 1 1038 13 is_stmt 0 view .LVU16
  1155. 102 0000 044B ldr r3, .L10
  1156. 103 0002 DB69 ldr r3, [r3, #28]
  1157. 104 .LVL2:
  1158. 1039:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1159. 1040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (tmp_reg == FLASH_OBR_RDPRT)
  1160. 105 .loc 1 1040 3 is_stmt 1 view .LVU17
  1161. ARM GAS /tmp/cc7NUTLl.s page 21
  1162. 106 .loc 1 1040 6 is_stmt 0 view .LVU18
  1163. 107 0004 13F0020F tst r3, #2
  1164. 108 0008 01D0 beq .L9
  1165. 1041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  1166. 1042:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** readstatus = OB_RDP_LEVEL_1;
  1167. 109 .loc 1 1042 16 view .LVU19
  1168. 110 000a 0020 movs r0, #0
  1169. 111 000c 7047 bx lr
  1170. 112 .L9:
  1171. 1043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1172. 1044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** else
  1173. 1045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  1174. 1046:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** readstatus = OB_RDP_LEVEL_0;
  1175. 113 .loc 1 1046 16 view .LVU20
  1176. 114 000e A520 movs r0, #165
  1177. 1047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1178. 1048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1179. 1049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return readstatus;
  1180. 115 .loc 1 1049 3 is_stmt 1 view .LVU21
  1181. 1050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1182. 116 .loc 1 1050 1 is_stmt 0 view .LVU22
  1183. 117 0010 7047 bx lr
  1184. 118 .L11:
  1185. 119 0012 00BF .align 2
  1186. 120 .L10:
  1187. 121 0014 00200240 .word 1073881088
  1188. 122 .cfi_endproc
  1189. 123 .LFE78:
  1190. 125 .section .text.FLASH_OB_GetUser,"ax",%progbits
  1191. 126 .align 1
  1192. 127 .syntax unified
  1193. 128 .thumb
  1194. 129 .thumb_func
  1195. 131 FLASH_OB_GetUser:
  1196. 132 .LFB79:
  1197. 1051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1198. 1052:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
  1199. 1053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief Return the FLASH User Option Byte value.
  1200. 1054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @retval The FLASH User Option Bytes values: FLASH_OBR_IWDG_SW(Bit2),
  1201. 1055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * FLASH_OBR_nRST_STOP(Bit3),FLASH_OBR_nRST_STDBY(Bit4).
  1202. 1056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * And FLASH_OBR_BFB2(Bit5) for STM32F101xG and STM32F103xG .
  1203. 1057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  1204. 1058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** static uint8_t FLASH_OB_GetUser(void)
  1205. 1059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  1206. 133 .loc 1 1059 1 is_stmt 1 view -0
  1207. 134 .cfi_startproc
  1208. 135 @ args = 0, pretend = 0, frame = 0
  1209. 136 @ frame_needed = 0, uses_anonymous_args = 0
  1210. 137 @ link register save eliminated.
  1211. 1060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Return the User Option Byte */
  1212. 1061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return (uint8_t)((READ_REG(FLASH->OBR) & FLASH_OBR_USER) >> FLASH_POSITION_IWDGSW_BIT);
  1213. 138 .loc 1 1061 3 view .LVU24
  1214. 139 .loc 1 1061 21 is_stmt 0 view .LVU25
  1215. 140 0000 024B ldr r3, .L13
  1216. 141 0002 D869 ldr r0, [r3, #28]
  1217. 1062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1218. 142 .loc 1 1062 1 view .LVU26
  1219. ARM GAS /tmp/cc7NUTLl.s page 22
  1220. 143 0004 C0F38200 ubfx r0, r0, #2, #3
  1221. 144 0008 7047 bx lr
  1222. 145 .L14:
  1223. 146 000a 00BF .align 2
  1224. 147 .L13:
  1225. 148 000c 00200240 .word 1073881088
  1226. 149 .cfi_endproc
  1227. 150 .LFE79:
  1228. 152 .section .text.FLASH_OB_RDP_LevelConfig,"ax",%progbits
  1229. 153 .align 1
  1230. 154 .syntax unified
  1231. 155 .thumb
  1232. 156 .thumb_func
  1233. 158 FLASH_OB_RDP_LevelConfig:
  1234. 159 .LVL3:
  1235. 160 .LFB74:
  1236. 885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
  1237. 161 .loc 1 885 1 is_stmt 1 view -0
  1238. 162 .cfi_startproc
  1239. 163 @ args = 0, pretend = 0, frame = 0
  1240. 164 @ frame_needed = 0, uses_anonymous_args = 0
  1241. 885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
  1242. 165 .loc 1 885 1 is_stmt 0 view .LVU28
  1243. 166 0000 38B5 push {r3, r4, r5, lr}
  1244. 167 .LCFI0:
  1245. 168 .cfi_def_cfa_offset 16
  1246. 169 .cfi_offset 3, -16
  1247. 170 .cfi_offset 4, -12
  1248. 171 .cfi_offset 5, -8
  1249. 172 .cfi_offset 14, -4
  1250. 173 0002 0546 mov r5, r0
  1251. 886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1252. 174 .loc 1 886 3 is_stmt 1 view .LVU29
  1253. 175 .LVL4:
  1254. 889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1255. 176 .loc 1 889 3 view .LVU30
  1256. 892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1257. 177 .loc 1 892 3 view .LVU31
  1258. 892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1259. 178 .loc 1 892 12 is_stmt 0 view .LVU32
  1260. 179 0004 4CF25030 movw r0, #50000
  1261. 180 .LVL5:
  1262. 892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1263. 181 .loc 1 892 12 view .LVU33
  1264. 182 0008 FFF7FEFF bl FLASH_WaitForLastOperation
  1265. 183 .LVL6:
  1266. 894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  1267. 184 .loc 1 894 3 is_stmt 1 view .LVU34
  1268. 894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  1269. 185 .loc 1 894 5 is_stmt 0 view .LVU35
  1270. 186 000c 00B1 cbz r0, .L18
  1271. 187 .L16:
  1272. 188 .LVL7:
  1273. 924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1274. 189 .loc 1 924 3 is_stmt 1 view .LVU36
  1275. 925:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1276. 190 .loc 1 925 1 is_stmt 0 view .LVU37
  1277. ARM GAS /tmp/cc7NUTLl.s page 23
  1278. 191 000e 38BD pop {r3, r4, r5, pc}
  1279. 192 .LVL8:
  1280. 193 .L18:
  1281. 897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1282. 194 .loc 1 897 5 is_stmt 1 view .LVU38
  1283. 897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1284. 195 .loc 1 897 22 is_stmt 0 view .LVU39
  1285. 196 0010 124B ldr r3, .L19
  1286. 197 0012 0022 movs r2, #0
  1287. 198 0014 DA61 str r2, [r3, #28]
  1288. 900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_STRT);
  1289. 199 .loc 1 900 5 is_stmt 1 view .LVU40
  1290. 200 0016 124C ldr r4, .L19+4
  1291. 201 0018 2369 ldr r3, [r4, #16]
  1292. 202 001a 43F02003 orr r3, r3, #32
  1293. 203 001e 2361 str r3, [r4, #16]
  1294. 901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1295. 204 .loc 1 901 5 view .LVU41
  1296. 205 0020 2369 ldr r3, [r4, #16]
  1297. 206 0022 43F04003 orr r3, r3, #64
  1298. 207 0026 2361 str r3, [r4, #16]
  1299. 904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1300. 208 .loc 1 904 5 view .LVU42
  1301. 904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1302. 209 .loc 1 904 14 is_stmt 0 view .LVU43
  1303. 210 0028 4CF25030 movw r0, #50000
  1304. 211 002c FFF7FEFF bl FLASH_WaitForLastOperation
  1305. 212 .LVL9:
  1306. 907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1307. 213 .loc 1 907 5 is_stmt 1 view .LVU44
  1308. 214 0030 2369 ldr r3, [r4, #16]
  1309. 215 0032 23F02003 bic r3, r3, #32
  1310. 216 0036 2361 str r3, [r4, #16]
  1311. 909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  1312. 217 .loc 1 909 5 view .LVU45
  1313. 909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  1314. 218 .loc 1 909 7 is_stmt 0 view .LVU46
  1315. 219 0038 0028 cmp r0, #0
  1316. 220 003a E8D1 bne .L16
  1317. 912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1318. 221 .loc 1 912 7 is_stmt 1 view .LVU47
  1319. 222 003c 2369 ldr r3, [r4, #16]
  1320. 223 003e 43F01003 orr r3, r3, #16
  1321. 224 0042 2361 str r3, [r4, #16]
  1322. 914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1323. 225 .loc 1 914 7 view .LVU48
  1324. 226 0044 A8B2 uxth r0, r5
  1325. 227 .LVL10:
  1326. 914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1327. 228 .loc 1 914 7 is_stmt 0 view .LVU49
  1328. 229 0046 074B ldr r3, .L19+8
  1329. 230 0048 1880 strh r0, [r3] @ movhi
  1330. 917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1331. 231 .loc 1 917 7 is_stmt 1 view .LVU50
  1332. 917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1333. 232 .loc 1 917 16 is_stmt 0 view .LVU51
  1334. 233 004a 4CF25030 movw r0, #50000
  1335. ARM GAS /tmp/cc7NUTLl.s page 24
  1336. 234 004e FFF7FEFF bl FLASH_WaitForLastOperation
  1337. 235 .LVL11:
  1338. 920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1339. 236 .loc 1 920 7 is_stmt 1 view .LVU52
  1340. 237 0052 2369 ldr r3, [r4, #16]
  1341. 238 0054 23F01003 bic r3, r3, #16
  1342. 239 0058 2361 str r3, [r4, #16]
  1343. 240 005a D8E7 b .L16
  1344. 241 .L20:
  1345. 242 .align 2
  1346. 243 .L19:
  1347. 244 005c 00000000 .word pFlash
  1348. 245 0060 00200240 .word 1073881088
  1349. 246 0064 00F8FF1F .word 536868864
  1350. 247 .cfi_endproc
  1351. 248 .LFE74:
  1352. 250 .section .text.FLASH_OB_UserConfig,"ax",%progbits
  1353. 251 .align 1
  1354. 252 .syntax unified
  1355. 253 .thumb
  1356. 254 .thumb_func
  1357. 256 FLASH_OB_UserConfig:
  1358. 257 .LVL12:
  1359. 258 .LFB75:
  1360. 936:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
  1361. 259 .loc 1 936 1 view -0
  1362. 260 .cfi_startproc
  1363. 261 @ args = 0, pretend = 0, frame = 0
  1364. 262 @ frame_needed = 0, uses_anonymous_args = 0
  1365. 936:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
  1366. 263 .loc 1 936 1 is_stmt 0 view .LVU54
  1367. 264 0000 38B5 push {r3, r4, r5, lr}
  1368. 265 .LCFI1:
  1369. 266 .cfi_def_cfa_offset 16
  1370. 267 .cfi_offset 3, -16
  1371. 268 .cfi_offset 4, -12
  1372. 269 .cfi_offset 5, -8
  1373. 270 .cfi_offset 14, -4
  1374. 271 0002 0446 mov r4, r0
  1375. 937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1376. 272 .loc 1 937 3 is_stmt 1 view .LVU55
  1377. 273 .LVL13:
  1378. 940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_OB_STOP_SOURCE((UserConfig&OB_STOP_NO_RST)));
  1379. 274 .loc 1 940 3 view .LVU56
  1380. 941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_OB_STDBY_SOURCE((UserConfig&OB_STDBY_NO_RST)));
  1381. 275 .loc 1 941 3 view .LVU57
  1382. 942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_BANK2_END)
  1383. 276 .loc 1 942 3 view .LVU58
  1384. 948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1385. 277 .loc 1 948 3 view .LVU59
  1386. 948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1387. 278 .loc 1 948 12 is_stmt 0 view .LVU60
  1388. 279 0004 4CF25030 movw r0, #50000
  1389. 280 .LVL14:
  1390. 948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1391. 281 .loc 1 948 12 view .LVU61
  1392. 282 0008 FFF7FEFF bl FLASH_WaitForLastOperation
  1393. ARM GAS /tmp/cc7NUTLl.s page 25
  1394. 283 .LVL15:
  1395. 950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  1396. 284 .loc 1 950 3 is_stmt 1 view .LVU62
  1397. 950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  1398. 285 .loc 1 950 5 is_stmt 0 view .LVU63
  1399. 286 000c 00B1 cbz r0, .L24
  1400. 287 .L22:
  1401. 288 .LVL16:
  1402. 971:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1403. 289 .loc 1 971 3 is_stmt 1 view .LVU64
  1404. 972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1405. 290 .loc 1 972 1 is_stmt 0 view .LVU65
  1406. 291 000e 38BD pop {r3, r4, r5, pc}
  1407. 292 .LVL17:
  1408. 293 .L24:
  1409. 953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1410. 294 .loc 1 953 5 is_stmt 1 view .LVU66
  1411. 953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1412. 295 .loc 1 953 22 is_stmt 0 view .LVU67
  1413. 296 0010 0A4B ldr r3, .L25
  1414. 297 0012 0022 movs r2, #0
  1415. 298 0014 DA61 str r2, [r3, #28]
  1416. 956:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1417. 299 .loc 1 956 5 is_stmt 1 view .LVU68
  1418. 300 0016 0A4D ldr r5, .L25+4
  1419. 301 0018 2B69 ldr r3, [r5, #16]
  1420. 302 001a 43F01003 orr r3, r3, #16
  1421. 303 001e 2B61 str r3, [r5, #16]
  1422. 961:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_BANK2_END */
  1423. 304 .loc 1 961 5 view .LVU69
  1424. 961:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_BANK2_END */
  1425. 305 .loc 1 961 14 is_stmt 0 view .LVU70
  1426. 306 0020 44F08800 orr r0, r4, #136
  1427. 307 0024 074B ldr r3, .L25+8
  1428. 308 0026 5880 strh r0, [r3, #2] @ movhi
  1429. 965:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1430. 309 .loc 1 965 5 is_stmt 1 view .LVU71
  1431. 965:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1432. 310 .loc 1 965 14 is_stmt 0 view .LVU72
  1433. 311 0028 4CF25030 movw r0, #50000
  1434. 312 002c FFF7FEFF bl FLASH_WaitForLastOperation
  1435. 313 .LVL18:
  1436. 968:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1437. 314 .loc 1 968 5 is_stmt 1 view .LVU73
  1438. 315 0030 2B69 ldr r3, [r5, #16]
  1439. 316 0032 23F01003 bic r3, r3, #16
  1440. 317 0036 2B61 str r3, [r5, #16]
  1441. 318 0038 E9E7 b .L22
  1442. 319 .L26:
  1443. 320 003a 00BF .align 2
  1444. 321 .L25:
  1445. 322 003c 00000000 .word pFlash
  1446. 323 0040 00200240 .word 1073881088
  1447. 324 0044 00F8FF1F .word 536868864
  1448. 325 .cfi_endproc
  1449. 326 .LFE75:
  1450. 328 .section .text.FLASH_OB_ProgramData,"ax",%progbits
  1451. ARM GAS /tmp/cc7NUTLl.s page 26
  1452. 329 .align 1
  1453. 330 .syntax unified
  1454. 331 .thumb
  1455. 332 .thumb_func
  1456. 334 FLASH_OB_ProgramData:
  1457. 335 .LVL19:
  1458. 336 .LFB76:
  1459. 987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_ERROR;
  1460. 337 .loc 1 987 1 view -0
  1461. 338 .cfi_startproc
  1462. 339 @ args = 0, pretend = 0, frame = 0
  1463. 340 @ frame_needed = 0, uses_anonymous_args = 0
  1464. 987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_ERROR;
  1465. 341 .loc 1 987 1 is_stmt 0 view .LVU75
  1466. 342 0000 70B5 push {r4, r5, r6, lr}
  1467. 343 .LCFI2:
  1468. 344 .cfi_def_cfa_offset 16
  1469. 345 .cfi_offset 4, -16
  1470. 346 .cfi_offset 5, -12
  1471. 347 .cfi_offset 6, -8
  1472. 348 .cfi_offset 14, -4
  1473. 349 0002 0546 mov r5, r0
  1474. 350 0004 0C46 mov r4, r1
  1475. 988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1476. 351 .loc 1 988 3 is_stmt 1 view .LVU76
  1477. 352 .LVL20:
  1478. 991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1479. 353 .loc 1 991 3 view .LVU77
  1480. 994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1481. 354 .loc 1 994 3 view .LVU78
  1482. 994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1483. 355 .loc 1 994 12 is_stmt 0 view .LVU79
  1484. 356 0006 4CF25030 movw r0, #50000
  1485. 357 .LVL21:
  1486. 994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1487. 358 .loc 1 994 12 view .LVU80
  1488. 359 000a FFF7FEFF bl FLASH_WaitForLastOperation
  1489. 360 .LVL22:
  1490. 996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  1491. 361 .loc 1 996 3 is_stmt 1 view .LVU81
  1492. 996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  1493. 362 .loc 1 996 5 is_stmt 0 view .LVU82
  1494. 363 000e 00B1 cbz r0, .L30
  1495. 364 .L28:
  1496. 365 .LVL23:
  1497. 1012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1498. 366 .loc 1 1012 3 is_stmt 1 view .LVU83
  1499. 1013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1500. 367 .loc 1 1013 1 is_stmt 0 view .LVU84
  1501. 368 0010 70BD pop {r4, r5, r6, pc}
  1502. 369 .LVL24:
  1503. 370 .L30:
  1504. 999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1505. 371 .loc 1 999 5 is_stmt 1 view .LVU85
  1506. 999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1507. 372 .loc 1 999 22 is_stmt 0 view .LVU86
  1508. 373 0012 094B ldr r3, .L31
  1509. ARM GAS /tmp/cc7NUTLl.s page 27
  1510. 374 0014 0022 movs r2, #0
  1511. 375 0016 DA61 str r2, [r3, #28]
  1512. 1002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *(__IO uint16_t*)Address = Data;
  1513. 376 .loc 1 1002 5 is_stmt 1 view .LVU87
  1514. 377 0018 084E ldr r6, .L31+4
  1515. 378 001a 3369 ldr r3, [r6, #16]
  1516. 379 001c 43F01003 orr r3, r3, #16
  1517. 380 0020 3361 str r3, [r6, #16]
  1518. 1003:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1519. 381 .loc 1 1003 5 view .LVU88
  1520. 1003:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1521. 382 .loc 1 1003 30 is_stmt 0 view .LVU89
  1522. 383 0022 A1B2 uxth r1, r4
  1523. 384 0024 2980 strh r1, [r5] @ movhi
  1524. 1006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1525. 385 .loc 1 1006 5 is_stmt 1 view .LVU90
  1526. 1006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1527. 386 .loc 1 1006 14 is_stmt 0 view .LVU91
  1528. 387 0026 4CF25030 movw r0, #50000
  1529. 388 002a FFF7FEFF bl FLASH_WaitForLastOperation
  1530. 389 .LVL25:
  1531. 1009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1532. 390 .loc 1 1009 5 is_stmt 1 view .LVU92
  1533. 391 002e 3369 ldr r3, [r6, #16]
  1534. 392 0030 23F01003 bic r3, r3, #16
  1535. 393 0034 3361 str r3, [r6, #16]
  1536. 394 0036 EBE7 b .L28
  1537. 395 .L32:
  1538. 396 .align 2
  1539. 397 .L31:
  1540. 398 0038 00000000 .word pFlash
  1541. 399 003c 00200240 .word 1073881088
  1542. 400 .cfi_endproc
  1543. 401 .LFE76:
  1544. 403 .section .text.HAL_FLASHEx_OBErase,"ax",%progbits
  1545. 404 .align 1
  1546. 405 .global HAL_FLASHEx_OBErase
  1547. 406 .syntax unified
  1548. 407 .thumb
  1549. 408 .thumb_func
  1550. 410 HAL_FLASHEx_OBErase:
  1551. 411 .LFB67:
  1552. 396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint8_t rdptmp = OB_RDP_LEVEL_0;
  1553. 412 .loc 1 396 1 view -0
  1554. 413 .cfi_startproc
  1555. 414 @ args = 0, pretend = 0, frame = 0
  1556. 415 @ frame_needed = 0, uses_anonymous_args = 0
  1557. 416 0000 38B5 push {r3, r4, r5, lr}
  1558. 417 .LCFI3:
  1559. 418 .cfi_def_cfa_offset 16
  1560. 419 .cfi_offset 3, -16
  1561. 420 .cfi_offset 4, -12
  1562. 421 .cfi_offset 5, -8
  1563. 422 .cfi_offset 14, -4
  1564. 397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_ERROR;
  1565. 423 .loc 1 397 3 view .LVU94
  1566. 424 .LVL26:
  1567. ARM GAS /tmp/cc7NUTLl.s page 28
  1568. 398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1569. 425 .loc 1 398 3 view .LVU95
  1570. 401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1571. 426 .loc 1 401 3 view .LVU96
  1572. 401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1573. 427 .loc 1 401 12 is_stmt 0 view .LVU97
  1574. 428 0002 FFF7FEFF bl FLASH_OB_GetRDP
  1575. 429 .LVL27:
  1576. 401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1577. 430 .loc 1 401 10 view .LVU98
  1578. 431 0006 C5B2 uxtb r5, r0
  1579. 432 .LVL28:
  1580. 404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1581. 433 .loc 1 404 3 is_stmt 1 view .LVU99
  1582. 404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1583. 434 .loc 1 404 12 is_stmt 0 view .LVU100
  1584. 435 0008 4CF25030 movw r0, #50000
  1585. 436 000c FFF7FEFF bl FLASH_WaitForLastOperation
  1586. 437 .LVL29:
  1587. 406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  1588. 438 .loc 1 406 3 is_stmt 1 view .LVU101
  1589. 406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  1590. 439 .loc 1 406 5 is_stmt 0 view .LVU102
  1591. 440 0010 00B1 cbz r0, .L36
  1592. 441 .L34:
  1593. 442 .LVL30:
  1594. 429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1595. 443 .loc 1 429 3 is_stmt 1 view .LVU103
  1596. 430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1597. 444 .loc 1 430 1 is_stmt 0 view .LVU104
  1598. 445 0012 38BD pop {r3, r4, r5, pc}
  1599. 446 .LVL31:
  1600. 447 .L36:
  1601. 409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1602. 448 .loc 1 409 5 is_stmt 1 view .LVU105
  1603. 409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1604. 449 .loc 1 409 22 is_stmt 0 view .LVU106
  1605. 450 0014 0C4B ldr r3, .L37
  1606. 451 0016 0022 movs r2, #0
  1607. 452 0018 DA61 str r2, [r3, #28]
  1608. 412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_STRT);
  1609. 453 .loc 1 412 5 is_stmt 1 view .LVU107
  1610. 454 001a 0C4C ldr r4, .L37+4
  1611. 455 001c 2369 ldr r3, [r4, #16]
  1612. 456 001e 43F02003 orr r3, r3, #32
  1613. 457 0022 2361 str r3, [r4, #16]
  1614. 413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1615. 458 .loc 1 413 5 view .LVU108
  1616. 459 0024 2369 ldr r3, [r4, #16]
  1617. 460 0026 43F04003 orr r3, r3, #64
  1618. 461 002a 2361 str r3, [r4, #16]
  1619. 416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1620. 462 .loc 1 416 5 view .LVU109
  1621. 416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1622. 463 .loc 1 416 14 is_stmt 0 view .LVU110
  1623. 464 002c 4CF25030 movw r0, #50000
  1624. 465 0030 FFF7FEFF bl FLASH_WaitForLastOperation
  1625. ARM GAS /tmp/cc7NUTLl.s page 29
  1626. 466 .LVL32:
  1627. 419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1628. 467 .loc 1 419 5 is_stmt 1 view .LVU111
  1629. 468 0034 2369 ldr r3, [r4, #16]
  1630. 469 0036 23F02003 bic r3, r3, #32
  1631. 470 003a 2361 str r3, [r4, #16]
  1632. 421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  1633. 471 .loc 1 421 5 view .LVU112
  1634. 421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  1635. 472 .loc 1 421 7 is_stmt 0 view .LVU113
  1636. 473 003c 0028 cmp r0, #0
  1637. 474 003e E8D1 bne .L34
  1638. 424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1639. 475 .loc 1 424 7 is_stmt 1 view .LVU114
  1640. 424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1641. 476 .loc 1 424 16 is_stmt 0 view .LVU115
  1642. 477 0040 2846 mov r0, r5
  1643. 478 .LVL33:
  1644. 424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1645. 479 .loc 1 424 16 view .LVU116
  1646. 480 0042 FFF7FEFF bl FLASH_OB_RDP_LevelConfig
  1647. 481 .LVL34:
  1648. 424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1649. 482 .loc 1 424 16 view .LVU117
  1650. 483 0046 E4E7 b .L34
  1651. 484 .L38:
  1652. 485 .align 2
  1653. 486 .L37:
  1654. 487 0048 00000000 .word pFlash
  1655. 488 004c 00200240 .word 1073881088
  1656. 489 .cfi_endproc
  1657. 490 .LFE67:
  1658. 492 .section .text.FLASH_OB_EnableWRP,"ax",%progbits
  1659. 493 .align 1
  1660. 494 .syntax unified
  1661. 495 .thumb
  1662. 496 .thumb_func
  1663. 498 FLASH_OB_EnableWRP:
  1664. 499 .LVL35:
  1665. 500 .LFB72:
  1666. 643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
  1667. 501 .loc 1 643 1 is_stmt 1 view -0
  1668. 502 .cfi_startproc
  1669. 503 @ args = 0, pretend = 0, frame = 0
  1670. 504 @ frame_needed = 0, uses_anonymous_args = 0
  1671. 643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
  1672. 505 .loc 1 643 1 is_stmt 0 view .LVU119
  1673. 506 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
  1674. 507 .LCFI4:
  1675. 508 .cfi_def_cfa_offset 24
  1676. 509 .cfi_offset 3, -24
  1677. 510 .cfi_offset 4, -20
  1678. 511 .cfi_offset 5, -16
  1679. 512 .cfi_offset 6, -12
  1680. 513 .cfi_offset 7, -8
  1681. 514 .cfi_offset 14, -4
  1682. 515 0002 0446 mov r4, r0
  1683. ARM GAS /tmp/cc7NUTLl.s page 30
  1684. 644:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint16_t WRP0_Data = 0xFFFF;
  1685. 516 .loc 1 644 3 is_stmt 1 view .LVU120
  1686. 517 .LVL36:
  1687. 645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_WRP1_WRP1)
  1688. 518 .loc 1 645 3 view .LVU121
  1689. 647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP1_WRP1 */
  1690. 519 .loc 1 647 3 view .LVU122
  1691. 650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP2_WRP2 */
  1692. 520 .loc 1 650 3 view .LVU123
  1693. 653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP3_WRP3 */
  1694. 521 .loc 1 653 3 view .LVU124
  1695. 657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1696. 522 .loc 1 657 3 view .LVU125
  1697. 660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1698. 523 .loc 1 660 3 view .LVU126
  1699. 660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1700. 524 .loc 1 660 37 is_stmt 0 view .LVU127
  1701. 525 0004 FFF7FEFF bl FLASH_OB_GetWRP
  1702. 526 .LVL37:
  1703. 660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1704. 527 .loc 1 660 20 view .LVU128
  1705. 528 0008 20EA0400 bic r0, r0, r4
  1706. 529 .LVL38:
  1707. 665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES0TO31MASK */
  1708. 530 .loc 1 665 3 is_stmt 1 view .LVU129
  1709. 665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES0TO31MASK */
  1710. 531 .loc 1 665 13 is_stmt 0 view .LVU130
  1711. 532 000c C5B2 uxtb r5, r0
  1712. 533 .LVL39:
  1713. 671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES32TO63MASK */
  1714. 534 .loc 1 671 3 is_stmt 1 view .LVU131
  1715. 671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES32TO63MASK */
  1716. 535 .loc 1 671 13 is_stmt 0 view .LVU132
  1717. 536 000e C0F30727 ubfx r7, r0, #8, #8
  1718. 537 .LVL40:
  1719. 675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES64TO95MASK */
  1720. 538 .loc 1 675 3 is_stmt 1 view .LVU133
  1721. 675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES64TO95MASK */
  1722. 539 .loc 1 675 13 is_stmt 0 view .LVU134
  1723. 540 0012 C0F30746 ubfx r6, r0, #16, #8
  1724. 541 .LVL41:
  1725. 682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES48TO255MASK)
  1726. 542 .loc 1 682 3 is_stmt 1 view .LVU135
  1727. 682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES48TO255MASK)
  1728. 543 .loc 1 682 13 is_stmt 0 view .LVU136
  1729. 544 0016 040E lsrs r4, r0, #24
  1730. 545 .LVL42:
  1731. 692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1732. 546 .loc 1 692 3 is_stmt 1 view .LVU137
  1733. 692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1734. 547 .loc 1 692 12 is_stmt 0 view .LVU138
  1735. 548 0018 4CF25030 movw r0, #50000
  1736. 549 .LVL43:
  1737. 692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1738. 550 .loc 1 692 12 view .LVU139
  1739. 551 001c FFF7FEFF bl FLASH_WaitForLastOperation
  1740. 552 .LVL44:
  1741. ARM GAS /tmp/cc7NUTLl.s page 31
  1742. 694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  1743. 553 .loc 1 694 3 is_stmt 1 view .LVU140
  1744. 694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  1745. 554 .loc 1 694 5 is_stmt 0 view .LVU141
  1746. 555 0020 0346 mov r3, r0
  1747. 556 0022 08B1 cbz r0, .L46
  1748. 557 .LVL45:
  1749. 558 .L40:
  1750. 751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1751. 559 .loc 1 751 3 is_stmt 1 view .LVU142
  1752. 752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1753. 560 .loc 1 752 1 is_stmt 0 view .LVU143
  1754. 561 0024 1846 mov r0, r3
  1755. 562 0026 F8BD pop {r3, r4, r5, r6, r7, pc}
  1756. 563 .LVL46:
  1757. 564 .L46:
  1758. 697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1759. 565 .loc 1 697 5 is_stmt 1 view .LVU144
  1760. 697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1761. 566 .loc 1 697 22 is_stmt 0 view .LVU145
  1762. 567 0028 224B ldr r3, .L51
  1763. 568 002a 0022 movs r2, #0
  1764. 569 002c DA61 str r2, [r3, #28]
  1765. 700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status == HAL_OK)
  1766. 570 .loc 1 700 5 is_stmt 1 view .LVU146
  1767. 700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status == HAL_OK)
  1768. 571 .loc 1 700 14 is_stmt 0 view .LVU147
  1769. 572 002e FFF7FEFF bl HAL_FLASHEx_OBErase
  1770. 573 .LVL47:
  1771. 701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  1772. 574 .loc 1 701 5 is_stmt 1 view .LVU148
  1773. 701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  1774. 575 .loc 1 701 8 is_stmt 0 view .LVU149
  1775. 576 0032 0346 mov r3, r0
  1776. 577 0034 0028 cmp r0, #0
  1777. 578 0036 F5D1 bne .L40
  1778. 704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1779. 579 .loc 1 704 7 is_stmt 1 view .LVU150
  1780. 580 0038 1F49 ldr r1, .L51+4
  1781. 581 003a 0A69 ldr r2, [r1, #16]
  1782. 582 003c 42F01002 orr r2, r2, #16
  1783. 583 0040 0A61 str r2, [r1, #16]
  1784. 707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  1785. 584 .loc 1 707 7 view .LVU151
  1786. 707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  1787. 585 .loc 1 707 9 is_stmt 0 view .LVU152
  1788. 586 0042 FF2D cmp r5, #255
  1789. 587 0044 0ED1 bne .L47
  1790. 588 .LVL48:
  1791. 589 .L41:
  1792. 717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  1793. 590 .loc 1 717 7 is_stmt 1 view .LVU153
  1794. 717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  1795. 591 .loc 1 717 9 is_stmt 0 view .LVU154
  1796. 592 0046 0BB9 cbnz r3, .L42
  1797. 717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  1798. 593 .loc 1 717 29 discriminator 1 view .LVU155
  1799. ARM GAS /tmp/cc7NUTLl.s page 32
  1800. 594 0048 FF2F cmp r7, #255
  1801. 595 004a 15D1 bne .L48
  1802. 596 .LVL49:
  1803. 597 .L42:
  1804. 727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  1805. 598 .loc 1 727 7 is_stmt 1 view .LVU156
  1806. 727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  1807. 599 .loc 1 727 9 is_stmt 0 view .LVU157
  1808. 600 004c 0BB9 cbnz r3, .L43
  1809. 727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  1810. 601 .loc 1 727 29 discriminator 1 view .LVU158
  1811. 602 004e FF2E cmp r6, #255
  1812. 603 0050 1CD1 bne .L49
  1813. 604 .LVL50:
  1814. 605 .L43:
  1815. 737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  1816. 606 .loc 1 737 7 is_stmt 1 view .LVU159
  1817. 737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  1818. 607 .loc 1 737 9 is_stmt 0 view .LVU160
  1819. 608 0052 0BB9 cbnz r3, .L44
  1820. 737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  1821. 609 .loc 1 737 29 discriminator 1 view .LVU161
  1822. 610 0054 FF2C cmp r4, #255
  1823. 611 0056 23D1 bne .L50
  1824. 612 .L44:
  1825. 747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1826. 613 .loc 1 747 7 is_stmt 1 view .LVU162
  1827. 614 0058 1749 ldr r1, .L51+4
  1828. 615 005a 0A69 ldr r2, [r1, #16]
  1829. 616 005c 22F01002 bic r2, r2, #16
  1830. 617 0060 0A61 str r2, [r1, #16]
  1831. 618 0062 DFE7 b .L40
  1832. 619 .LVL51:
  1833. 620 .L47:
  1834. 709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1835. 621 .loc 1 709 9 view .LVU163
  1836. 709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1837. 622 .loc 1 709 18 is_stmt 0 view .LVU164
  1838. 623 0064 154B ldr r3, .L51+8
  1839. 624 0066 1A89 ldrh r2, [r3, #8]
  1840. 625 0068 1540 ands r5, r5, r2
  1841. 626 .LVL52:
  1842. 709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1843. 627 .loc 1 709 18 view .LVU165
  1844. 628 006a 1D81 strh r5, [r3, #8] @ movhi
  1845. 712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1846. 629 .loc 1 712 9 is_stmt 1 view .LVU166
  1847. 712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1848. 630 .loc 1 712 18 is_stmt 0 view .LVU167
  1849. 631 006c 4CF25030 movw r0, #50000
  1850. 632 .LVL53:
  1851. 712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1852. 633 .loc 1 712 18 view .LVU168
  1853. 634 0070 FFF7FEFF bl FLASH_WaitForLastOperation
  1854. 635 .LVL54:
  1855. 636 0074 0346 mov r3, r0
  1856. 637 .LVL55:
  1857. ARM GAS /tmp/cc7NUTLl.s page 33
  1858. 712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1859. 638 .loc 1 712 18 view .LVU169
  1860. 639 0076 E6E7 b .L41
  1861. 640 .L48:
  1862. 719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1863. 641 .loc 1 719 9 is_stmt 1 view .LVU170
  1864. 719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1865. 642 .loc 1 719 18 is_stmt 0 view .LVU171
  1866. 643 0078 104B ldr r3, .L51+8
  1867. 644 .LVL56:
  1868. 719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1869. 645 .loc 1 719 18 view .LVU172
  1870. 646 007a 5A89 ldrh r2, [r3, #10]
  1871. 647 007c 1740 ands r7, r7, r2
  1872. 648 .LVL57:
  1873. 719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1874. 649 .loc 1 719 18 view .LVU173
  1875. 650 007e 5F81 strh r7, [r3, #10] @ movhi
  1876. 722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1877. 651 .loc 1 722 9 is_stmt 1 view .LVU174
  1878. 722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1879. 652 .loc 1 722 18 is_stmt 0 view .LVU175
  1880. 653 0080 4CF25030 movw r0, #50000
  1881. 654 0084 FFF7FEFF bl FLASH_WaitForLastOperation
  1882. 655 .LVL58:
  1883. 656 0088 0346 mov r3, r0
  1884. 657 .LVL59:
  1885. 722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1886. 658 .loc 1 722 18 view .LVU176
  1887. 659 008a DFE7 b .L42
  1888. 660 .L49:
  1889. 729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1890. 661 .loc 1 729 9 is_stmt 1 view .LVU177
  1891. 729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1892. 662 .loc 1 729 18 is_stmt 0 view .LVU178
  1893. 663 008c 0B4B ldr r3, .L51+8
  1894. 664 .LVL60:
  1895. 729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1896. 665 .loc 1 729 18 view .LVU179
  1897. 666 008e 9A89 ldrh r2, [r3, #12]
  1898. 667 0090 1640 ands r6, r6, r2
  1899. 668 .LVL61:
  1900. 729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1901. 669 .loc 1 729 18 view .LVU180
  1902. 670 0092 9E81 strh r6, [r3, #12] @ movhi
  1903. 732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1904. 671 .loc 1 732 9 is_stmt 1 view .LVU181
  1905. 732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1906. 672 .loc 1 732 18 is_stmt 0 view .LVU182
  1907. 673 0094 4CF25030 movw r0, #50000
  1908. 674 0098 FFF7FEFF bl FLASH_WaitForLastOperation
  1909. 675 .LVL62:
  1910. 676 009c 0346 mov r3, r0
  1911. 677 .LVL63:
  1912. 732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1913. 678 .loc 1 732 18 view .LVU183
  1914. 679 009e D8E7 b .L43
  1915. ARM GAS /tmp/cc7NUTLl.s page 34
  1916. 680 .L50:
  1917. 739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1918. 681 .loc 1 739 9 is_stmt 1 view .LVU184
  1919. 739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1920. 682 .loc 1 739 18 is_stmt 0 view .LVU185
  1921. 683 00a0 064B ldr r3, .L51+8
  1922. 684 .LVL64:
  1923. 739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1924. 685 .loc 1 739 18 view .LVU186
  1925. 686 00a2 D889 ldrh r0, [r3, #14]
  1926. 687 00a4 2040 ands r0, r0, r4
  1927. 688 00a6 D881 strh r0, [r3, #14] @ movhi
  1928. 742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1929. 689 .loc 1 742 9 is_stmt 1 view .LVU187
  1930. 742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1931. 690 .loc 1 742 18 is_stmt 0 view .LVU188
  1932. 691 00a8 4CF25030 movw r0, #50000
  1933. 692 00ac FFF7FEFF bl FLASH_WaitForLastOperation
  1934. 693 .LVL65:
  1935. 694 00b0 0346 mov r3, r0
  1936. 695 .LVL66:
  1937. 742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  1938. 696 .loc 1 742 18 view .LVU189
  1939. 697 00b2 D1E7 b .L44
  1940. 698 .L52:
  1941. 699 .align 2
  1942. 700 .L51:
  1943. 701 00b4 00000000 .word pFlash
  1944. 702 00b8 00200240 .word 1073881088
  1945. 703 00bc 00F8FF1F .word 536868864
  1946. 704 .cfi_endproc
  1947. 705 .LFE72:
  1948. 707 .section .text.FLASH_OB_DisableWRP,"ax",%progbits
  1949. 708 .align 1
  1950. 709 .syntax unified
  1951. 710 .thumb
  1952. 711 .thumb_func
  1953. 713 FLASH_OB_DisableWRP:
  1954. 714 .LVL67:
  1955. 715 .LFB73:
  1956. 766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
  1957. 716 .loc 1 766 1 is_stmt 1 view -0
  1958. 717 .cfi_startproc
  1959. 718 @ args = 0, pretend = 0, frame = 0
  1960. 719 @ frame_needed = 0, uses_anonymous_args = 0
  1961. 766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
  1962. 720 .loc 1 766 1 is_stmt 0 view .LVU191
  1963. 721 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
  1964. 722 .LCFI5:
  1965. 723 .cfi_def_cfa_offset 24
  1966. 724 .cfi_offset 3, -24
  1967. 725 .cfi_offset 4, -20
  1968. 726 .cfi_offset 5, -16
  1969. 727 .cfi_offset 6, -12
  1970. 728 .cfi_offset 7, -8
  1971. 729 .cfi_offset 14, -4
  1972. 730 0002 0446 mov r4, r0
  1973. ARM GAS /tmp/cc7NUTLl.s page 35
  1974. 767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint16_t WRP0_Data = 0xFFFF;
  1975. 731 .loc 1 767 3 is_stmt 1 view .LVU192
  1976. 732 .LVL68:
  1977. 768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_WRP1_WRP1)
  1978. 733 .loc 1 768 3 view .LVU193
  1979. 770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP1_WRP1 */
  1980. 734 .loc 1 770 3 view .LVU194
  1981. 773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP2_WRP2 */
  1982. 735 .loc 1 773 3 view .LVU195
  1983. 776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP3_WRP3 */
  1984. 736 .loc 1 776 3 view .LVU196
  1985. 780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1986. 737 .loc 1 780 3 view .LVU197
  1987. 783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1988. 738 .loc 1 783 3 view .LVU198
  1989. 783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1990. 739 .loc 1 783 23 is_stmt 0 view .LVU199
  1991. 740 0004 FFF7FEFF bl FLASH_OB_GetWRP
  1992. 741 .LVL69:
  1993. 783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  1994. 742 .loc 1 783 20 view .LVU200
  1995. 743 0008 2043 orrs r0, r0, r4
  1996. 744 .LVL70:
  1997. 788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES0TO31MASK */
  1998. 745 .loc 1 788 3 is_stmt 1 view .LVU201
  1999. 788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES0TO31MASK */
  2000. 746 .loc 1 788 13 is_stmt 0 view .LVU202
  2001. 747 000a C5B2 uxtb r5, r0
  2002. 748 .LVL71:
  2003. 794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES32TO63MASK */
  2004. 749 .loc 1 794 3 is_stmt 1 view .LVU203
  2005. 794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES32TO63MASK */
  2006. 750 .loc 1 794 13 is_stmt 0 view .LVU204
  2007. 751 000c C0F30727 ubfx r7, r0, #8, #8
  2008. 752 .LVL72:
  2009. 798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES64TO95MASK */
  2010. 753 .loc 1 798 3 is_stmt 1 view .LVU205
  2011. 798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES64TO95MASK */
  2012. 754 .loc 1 798 13 is_stmt 0 view .LVU206
  2013. 755 0010 C0F30746 ubfx r6, r0, #16, #8
  2014. 756 .LVL73:
  2015. 805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES48TO255MASK)
  2016. 757 .loc 1 805 3 is_stmt 1 view .LVU207
  2017. 805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES48TO255MASK)
  2018. 758 .loc 1 805 13 is_stmt 0 view .LVU208
  2019. 759 0014 040E lsrs r4, r0, #24
  2020. 760 .LVL74:
  2021. 816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2022. 761 .loc 1 816 3 is_stmt 1 view .LVU209
  2023. 816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2024. 762 .loc 1 816 12 is_stmt 0 view .LVU210
  2025. 763 0016 4CF25030 movw r0, #50000
  2026. 764 .LVL75:
  2027. 816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2028. 765 .loc 1 816 12 view .LVU211
  2029. 766 001a FFF7FEFF bl FLASH_WaitForLastOperation
  2030. 767 .LVL76:
  2031. ARM GAS /tmp/cc7NUTLl.s page 36
  2032. 818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2033. 768 .loc 1 818 3 is_stmt 1 view .LVU212
  2034. 818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2035. 769 .loc 1 818 5 is_stmt 0 view .LVU213
  2036. 770 001e 0346 mov r3, r0
  2037. 771 0020 08B1 cbz r0, .L60
  2038. 772 .LVL77:
  2039. 773 .L54:
  2040. 873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2041. 774 .loc 1 873 3 is_stmt 1 view .LVU214
  2042. 874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2043. 775 .loc 1 874 1 is_stmt 0 view .LVU215
  2044. 776 0022 1846 mov r0, r3
  2045. 777 0024 F8BD pop {r3, r4, r5, r6, r7, pc}
  2046. 778 .LVL78:
  2047. 779 .L60:
  2048. 821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2049. 780 .loc 1 821 5 is_stmt 1 view .LVU216
  2050. 821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2051. 781 .loc 1 821 22 is_stmt 0 view .LVU217
  2052. 782 0026 254B ldr r3, .L65
  2053. 783 0028 0022 movs r2, #0
  2054. 784 002a DA61 str r2, [r3, #28]
  2055. 824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status == HAL_OK)
  2056. 785 .loc 1 824 5 is_stmt 1 view .LVU218
  2057. 824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status == HAL_OK)
  2058. 786 .loc 1 824 14 is_stmt 0 view .LVU219
  2059. 787 002c FFF7FEFF bl HAL_FLASHEx_OBErase
  2060. 788 .LVL79:
  2061. 825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2062. 789 .loc 1 825 5 is_stmt 1 view .LVU220
  2063. 825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2064. 790 .loc 1 825 8 is_stmt 0 view .LVU221
  2065. 791 0030 0346 mov r3, r0
  2066. 792 0032 0028 cmp r0, #0
  2067. 793 0034 F5D1 bne .L54
  2068. 827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2069. 794 .loc 1 827 7 is_stmt 1 view .LVU222
  2070. 795 0036 2249 ldr r1, .L65+4
  2071. 796 0038 0A69 ldr r2, [r1, #16]
  2072. 797 003a 42F01002 orr r2, r2, #16
  2073. 798 003e 0A61 str r2, [r1, #16]
  2074. 830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2075. 799 .loc 1 830 7 view .LVU223
  2076. 830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2077. 800 .loc 1 830 9 is_stmt 0 view .LVU224
  2078. 801 0040 FF2D cmp r5, #255
  2079. 802 0042 0ED1 bne .L61
  2080. 803 .LVL80:
  2081. 804 .L55:
  2082. 840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2083. 805 .loc 1 840 7 is_stmt 1 view .LVU225
  2084. 840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2085. 806 .loc 1 840 9 is_stmt 0 view .LVU226
  2086. 807 0044 0BB9 cbnz r3, .L56
  2087. 840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2088. 808 .loc 1 840 29 discriminator 1 view .LVU227
  2089. ARM GAS /tmp/cc7NUTLl.s page 37
  2090. 809 0046 FF2F cmp r7, #255
  2091. 810 0048 16D1 bne .L62
  2092. 811 .LVL81:
  2093. 812 .L56:
  2094. 850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2095. 813 .loc 1 850 7 is_stmt 1 view .LVU228
  2096. 850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2097. 814 .loc 1 850 9 is_stmt 0 view .LVU229
  2098. 815 004a 0BB9 cbnz r3, .L57
  2099. 850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2100. 816 .loc 1 850 29 discriminator 1 view .LVU230
  2101. 817 004c FF2E cmp r6, #255
  2102. 818 004e 1ED1 bne .L63
  2103. 819 .LVL82:
  2104. 820 .L57:
  2105. 860:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2106. 821 .loc 1 860 7 is_stmt 1 view .LVU231
  2107. 860:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2108. 822 .loc 1 860 9 is_stmt 0 view .LVU232
  2109. 823 0050 0BB9 cbnz r3, .L58
  2110. 860:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2111. 824 .loc 1 860 29 discriminator 1 view .LVU233
  2112. 825 0052 FF2C cmp r4, #255
  2113. 826 0054 26D1 bne .L64
  2114. 827 .L58:
  2115. 870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2116. 828 .loc 1 870 7 is_stmt 1 view .LVU234
  2117. 829 0056 1A49 ldr r1, .L65+4
  2118. 830 0058 0A69 ldr r2, [r1, #16]
  2119. 831 005a 22F01002 bic r2, r2, #16
  2120. 832 005e 0A61 str r2, [r1, #16]
  2121. 833 0060 DFE7 b .L54
  2122. 834 .LVL83:
  2123. 835 .L61:
  2124. 832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2125. 836 .loc 1 832 9 view .LVU235
  2126. 832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2127. 837 .loc 1 832 18 is_stmt 0 view .LVU236
  2128. 838 0062 184A ldr r2, .L65+8
  2129. 839 0064 1389 ldrh r3, [r2, #8]
  2130. 840 0066 9BB2 uxth r3, r3
  2131. 841 0068 1D43 orrs r5, r5, r3
  2132. 842 .LVL84:
  2133. 832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2134. 843 .loc 1 832 18 view .LVU237
  2135. 844 006a 1581 strh r5, [r2, #8] @ movhi
  2136. 835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2137. 845 .loc 1 835 9 is_stmt 1 view .LVU238
  2138. 835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2139. 846 .loc 1 835 18 is_stmt 0 view .LVU239
  2140. 847 006c 4CF25030 movw r0, #50000
  2141. 848 .LVL85:
  2142. 835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2143. 849 .loc 1 835 18 view .LVU240
  2144. 850 0070 FFF7FEFF bl FLASH_WaitForLastOperation
  2145. 851 .LVL86:
  2146. 852 0074 0346 mov r3, r0
  2147. ARM GAS /tmp/cc7NUTLl.s page 38
  2148. 853 .LVL87:
  2149. 835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2150. 854 .loc 1 835 18 view .LVU241
  2151. 855 0076 E5E7 b .L55
  2152. 856 .L62:
  2153. 842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2154. 857 .loc 1 842 9 is_stmt 1 view .LVU242
  2155. 842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2156. 858 .loc 1 842 18 is_stmt 0 view .LVU243
  2157. 859 0078 124A ldr r2, .L65+8
  2158. 860 007a 5389 ldrh r3, [r2, #10]
  2159. 861 .LVL88:
  2160. 842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2161. 862 .loc 1 842 18 view .LVU244
  2162. 863 007c 9BB2 uxth r3, r3
  2163. 864 007e 1F43 orrs r7, r7, r3
  2164. 865 .LVL89:
  2165. 842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2166. 866 .loc 1 842 18 view .LVU245
  2167. 867 0080 5781 strh r7, [r2, #10] @ movhi
  2168. 845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2169. 868 .loc 1 845 9 is_stmt 1 view .LVU246
  2170. 845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2171. 869 .loc 1 845 18 is_stmt 0 view .LVU247
  2172. 870 0082 4CF25030 movw r0, #50000
  2173. 871 0086 FFF7FEFF bl FLASH_WaitForLastOperation
  2174. 872 .LVL90:
  2175. 873 008a 0346 mov r3, r0
  2176. 874 .LVL91:
  2177. 845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2178. 875 .loc 1 845 18 view .LVU248
  2179. 876 008c DDE7 b .L56
  2180. 877 .L63:
  2181. 852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2182. 878 .loc 1 852 9 is_stmt 1 view .LVU249
  2183. 852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2184. 879 .loc 1 852 18 is_stmt 0 view .LVU250
  2185. 880 008e 0D4A ldr r2, .L65+8
  2186. 881 0090 9389 ldrh r3, [r2, #12]
  2187. 882 .LVL92:
  2188. 852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2189. 883 .loc 1 852 18 view .LVU251
  2190. 884 0092 9BB2 uxth r3, r3
  2191. 885 0094 1E43 orrs r6, r6, r3
  2192. 886 .LVL93:
  2193. 852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2194. 887 .loc 1 852 18 view .LVU252
  2195. 888 0096 9681 strh r6, [r2, #12] @ movhi
  2196. 855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2197. 889 .loc 1 855 9 is_stmt 1 view .LVU253
  2198. 855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2199. 890 .loc 1 855 18 is_stmt 0 view .LVU254
  2200. 891 0098 4CF25030 movw r0, #50000
  2201. 892 009c FFF7FEFF bl FLASH_WaitForLastOperation
  2202. 893 .LVL94:
  2203. 894 00a0 0346 mov r3, r0
  2204. 895 .LVL95:
  2205. ARM GAS /tmp/cc7NUTLl.s page 39
  2206. 855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2207. 896 .loc 1 855 18 view .LVU255
  2208. 897 00a2 D5E7 b .L57
  2209. 898 .L64:
  2210. 862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2211. 899 .loc 1 862 9 is_stmt 1 view .LVU256
  2212. 862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2213. 900 .loc 1 862 18 is_stmt 0 view .LVU257
  2214. 901 00a4 074B ldr r3, .L65+8
  2215. 902 .LVL96:
  2216. 862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2217. 903 .loc 1 862 18 view .LVU258
  2218. 904 00a6 D889 ldrh r0, [r3, #14]
  2219. 905 00a8 80B2 uxth r0, r0
  2220. 906 00aa 2043 orrs r0, r0, r4
  2221. 907 00ac D881 strh r0, [r3, #14] @ movhi
  2222. 865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2223. 908 .loc 1 865 9 is_stmt 1 view .LVU259
  2224. 865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2225. 909 .loc 1 865 18 is_stmt 0 view .LVU260
  2226. 910 00ae 4CF25030 movw r0, #50000
  2227. 911 00b2 FFF7FEFF bl FLASH_WaitForLastOperation
  2228. 912 .LVL97:
  2229. 913 00b6 0346 mov r3, r0
  2230. 914 .LVL98:
  2231. 865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2232. 915 .loc 1 865 18 view .LVU261
  2233. 916 00b8 CDE7 b .L58
  2234. 917 .L66:
  2235. 918 00ba 00BF .align 2
  2236. 919 .L65:
  2237. 920 00bc 00000000 .word pFlash
  2238. 921 00c0 00200240 .word 1073881088
  2239. 922 00c4 00F8FF1F .word 536868864
  2240. 923 .cfi_endproc
  2241. 924 .LFE73:
  2242. 926 .section .text.HAL_FLASHEx_OBProgram,"ax",%progbits
  2243. 927 .align 1
  2244. 928 .global HAL_FLASHEx_OBProgram
  2245. 929 .syntax unified
  2246. 930 .thumb
  2247. 931 .thumb_func
  2248. 933 HAL_FLASHEx_OBProgram:
  2249. 934 .LVL99:
  2250. 935 .LFB68:
  2251. 445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_ERROR;
  2252. 936 .loc 1 445 1 is_stmt 1 view -0
  2253. 937 .cfi_startproc
  2254. 938 @ args = 0, pretend = 0, frame = 0
  2255. 939 @ frame_needed = 0, uses_anonymous_args = 0
  2256. 446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2257. 940 .loc 1 446 3 view .LVU263
  2258. 449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2259. 941 .loc 1 449 3 view .LVU264
  2260. 449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2261. 942 .loc 1 449 3 view .LVU265
  2262. 943 0000 254B ldr r3, .L85
  2263. ARM GAS /tmp/cc7NUTLl.s page 40
  2264. 944 0002 1B7E ldrb r3, [r3, #24] @ zero_extendqisi2
  2265. 945 0004 012B cmp r3, #1
  2266. 946 0006 44D0 beq .L75
  2267. 445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_ERROR;
  2268. 947 .loc 1 445 1 is_stmt 0 discriminator 2 view .LVU266
  2269. 948 0008 10B5 push {r4, lr}
  2270. 949 .LCFI6:
  2271. 950 .cfi_def_cfa_offset 8
  2272. 951 .cfi_offset 4, -8
  2273. 952 .cfi_offset 14, -4
  2274. 953 000a 0446 mov r4, r0
  2275. 449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2276. 954 .loc 1 449 3 is_stmt 1 discriminator 2 view .LVU267
  2277. 955 000c 224B ldr r3, .L85
  2278. 956 000e 0122 movs r2, #1
  2279. 957 0010 1A76 strb r2, [r3, #24]
  2280. 449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2281. 958 .loc 1 449 3 discriminator 2 view .LVU268
  2282. 452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2283. 959 .loc 1 452 3 discriminator 2 view .LVU269
  2284. 455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2285. 960 .loc 1 455 3 discriminator 2 view .LVU270
  2286. 455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2287. 961 .loc 1 455 14 is_stmt 0 discriminator 2 view .LVU271
  2288. 962 0012 0368 ldr r3, [r0]
  2289. 455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2290. 963 .loc 1 455 5 discriminator 2 view .LVU272
  2291. 964 0014 13F0010F tst r3, #1
  2292. 965 0018 0ED0 beq .L76
  2293. 457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (pOBInit->WRPState == OB_WRPSTATE_ENABLE)
  2294. 966 .loc 1 457 5 is_stmt 1 view .LVU273
  2295. 458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2296. 967 .loc 1 458 5 view .LVU274
  2297. 458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2298. 968 .loc 1 458 16 is_stmt 0 view .LVU275
  2299. 969 001a 4368 ldr r3, [r0, #4]
  2300. 458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2301. 970 .loc 1 458 8 view .LVU276
  2302. 971 001c 9342 cmp r3, r2
  2303. 972 001e 07D0 beq .L81
  2304. 466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2305. 973 .loc 1 466 7 is_stmt 1 view .LVU277
  2306. 466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2307. 974 .loc 1 466 16 is_stmt 0 view .LVU278
  2308. 975 0020 8068 ldr r0, [r0, #8]
  2309. 976 .LVL100:
  2310. 466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2311. 977 .loc 1 466 16 view .LVU279
  2312. 978 0022 FFF7FEFF bl FLASH_OB_DisableWRP
  2313. 979 .LVL101:
  2314. 980 .L71:
  2315. 468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2316. 981 .loc 1 468 5 is_stmt 1 view .LVU280
  2317. 468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2318. 982 .loc 1 468 8 is_stmt 0 view .LVU281
  2319. 983 0026 40B1 cbz r0, .L69
  2320. 471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
  2321. ARM GAS /tmp/cc7NUTLl.s page 41
  2322. 984 .loc 1 471 7 is_stmt 1 view .LVU282
  2323. 471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
  2324. 985 .loc 1 471 7 view .LVU283
  2325. 986 0028 1B4B ldr r3, .L85
  2326. 987 002a 0022 movs r2, #0
  2327. 988 002c 1A76 strb r2, [r3, #24]
  2328. 471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
  2329. 989 .loc 1 471 7 view .LVU284
  2330. 472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2331. 990 .loc 1 472 7 view .LVU285
  2332. 472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2333. 991 .loc 1 472 14 is_stmt 0 view .LVU286
  2334. 992 002e 13E0 b .L68
  2335. 993 .LVL102:
  2336. 994 .L81:
  2337. 461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2338. 995 .loc 1 461 7 is_stmt 1 view .LVU287
  2339. 461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2340. 996 .loc 1 461 16 is_stmt 0 view .LVU288
  2341. 997 0030 8068 ldr r0, [r0, #8]
  2342. 998 .LVL103:
  2343. 461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2344. 999 .loc 1 461 16 view .LVU289
  2345. 1000 0032 FFF7FEFF bl FLASH_OB_EnableWRP
  2346. 1001 .LVL104:
  2347. 461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2348. 1002 .loc 1 461 16 view .LVU290
  2349. 1003 0036 F6E7 b .L71
  2350. 1004 .LVL105:
  2351. 1005 .L76:
  2352. 446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2353. 1006 .loc 1 446 21 view .LVU291
  2354. 1007 0038 0120 movs r0, #1
  2355. 1008 .LVL106:
  2356. 1009 .L69:
  2357. 477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2358. 1010 .loc 1 477 3 is_stmt 1 view .LVU292
  2359. 477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2360. 1011 .loc 1 477 14 is_stmt 0 view .LVU293
  2361. 1012 003a 2368 ldr r3, [r4]
  2362. 477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2363. 1013 .loc 1 477 5 view .LVU294
  2364. 1014 003c 13F0020F tst r3, #2
  2365. 1015 0040 0BD1 bne .L82
  2366. 1016 .L72:
  2367. 489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2368. 1017 .loc 1 489 3 is_stmt 1 view .LVU295
  2369. 489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2370. 1018 .loc 1 489 14 is_stmt 0 view .LVU296
  2371. 1019 0042 2368 ldr r3, [r4]
  2372. 489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2373. 1020 .loc 1 489 5 view .LVU297
  2374. 1021 0044 13F0040F tst r3, #4
  2375. 1022 0048 10D1 bne .L83
  2376. 1023 .L73:
  2377. 501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2378. 1024 .loc 1 501 3 is_stmt 1 view .LVU298
  2379. ARM GAS /tmp/cc7NUTLl.s page 42
  2380. 501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2381. 1025 .loc 1 501 14 is_stmt 0 view .LVU299
  2382. 1026 004a 2368 ldr r3, [r4]
  2383. 501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2384. 1027 .loc 1 501 5 view .LVU300
  2385. 1028 004c 13F0080F tst r3, #8
  2386. 1029 0050 15D1 bne .L84
  2387. 1030 .L74:
  2388. 513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2389. 1031 .loc 1 513 3 is_stmt 1 view .LVU301
  2390. 513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2391. 1032 .loc 1 513 3 view .LVU302
  2392. 1033 0052 114B ldr r3, .L85
  2393. 1034 0054 0022 movs r2, #0
  2394. 1035 0056 1A76 strb r2, [r3, #24]
  2395. 513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2396. 1036 .loc 1 513 3 view .LVU303
  2397. 515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2398. 1037 .loc 1 515 3 view .LVU304
  2399. 1038 .L68:
  2400. 516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2401. 1039 .loc 1 516 1 is_stmt 0 view .LVU305
  2402. 1040 0058 10BD pop {r4, pc}
  2403. 1041 .LVL107:
  2404. 1042 .L82:
  2405. 479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status != HAL_OK)
  2406. 1043 .loc 1 479 5 is_stmt 1 view .LVU306
  2407. 479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status != HAL_OK)
  2408. 1044 .loc 1 479 14 is_stmt 0 view .LVU307
  2409. 1045 005a 207C ldrb r0, [r4, #16] @ zero_extendqisi2
  2410. 1046 .LVL108:
  2411. 479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status != HAL_OK)
  2412. 1047 .loc 1 479 14 view .LVU308
  2413. 1048 005c FFF7FEFF bl FLASH_OB_RDP_LevelConfig
  2414. 1049 .LVL109:
  2415. 480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2416. 1050 .loc 1 480 5 is_stmt 1 view .LVU309
  2417. 480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2418. 1051 .loc 1 480 8 is_stmt 0 view .LVU310
  2419. 1052 0060 0028 cmp r0, #0
  2420. 1053 0062 EED0 beq .L72
  2421. 483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
  2422. 1054 .loc 1 483 7 is_stmt 1 view .LVU311
  2423. 483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
  2424. 1055 .loc 1 483 7 view .LVU312
  2425. 1056 0064 0C4B ldr r3, .L85
  2426. 1057 0066 0022 movs r2, #0
  2427. 1058 0068 1A76 strb r2, [r3, #24]
  2428. 483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
  2429. 1059 .loc 1 483 7 view .LVU313
  2430. 484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2431. 1060 .loc 1 484 7 view .LVU314
  2432. 484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2433. 1061 .loc 1 484 14 is_stmt 0 view .LVU315
  2434. 1062 006a F5E7 b .L68
  2435. 1063 .L83:
  2436. 491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status != HAL_OK)
  2437. ARM GAS /tmp/cc7NUTLl.s page 43
  2438. 1064 .loc 1 491 5 is_stmt 1 view .LVU316
  2439. 491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status != HAL_OK)
  2440. 1065 .loc 1 491 14 is_stmt 0 view .LVU317
  2441. 1066 006c 607C ldrb r0, [r4, #17] @ zero_extendqisi2
  2442. 1067 .LVL110:
  2443. 491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status != HAL_OK)
  2444. 1068 .loc 1 491 14 view .LVU318
  2445. 1069 006e FFF7FEFF bl FLASH_OB_UserConfig
  2446. 1070 .LVL111:
  2447. 492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2448. 1071 .loc 1 492 5 is_stmt 1 view .LVU319
  2449. 492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2450. 1072 .loc 1 492 8 is_stmt 0 view .LVU320
  2451. 1073 0072 0028 cmp r0, #0
  2452. 1074 0074 E9D0 beq .L73
  2453. 495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
  2454. 1075 .loc 1 495 7 is_stmt 1 view .LVU321
  2455. 495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
  2456. 1076 .loc 1 495 7 view .LVU322
  2457. 1077 0076 084B ldr r3, .L85
  2458. 1078 0078 0022 movs r2, #0
  2459. 1079 007a 1A76 strb r2, [r3, #24]
  2460. 495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
  2461. 1080 .loc 1 495 7 view .LVU323
  2462. 496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2463. 1081 .loc 1 496 7 view .LVU324
  2464. 496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2465. 1082 .loc 1 496 14 is_stmt 0 view .LVU325
  2466. 1083 007c ECE7 b .L68
  2467. 1084 .L84:
  2468. 503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status != HAL_OK)
  2469. 1085 .loc 1 503 5 is_stmt 1 view .LVU326
  2470. 503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status != HAL_OK)
  2471. 1086 .loc 1 503 14 is_stmt 0 view .LVU327
  2472. 1087 007e 217E ldrb r1, [r4, #24] @ zero_extendqisi2
  2473. 1088 0080 6069 ldr r0, [r4, #20]
  2474. 1089 .LVL112:
  2475. 503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status != HAL_OK)
  2476. 1090 .loc 1 503 14 view .LVU328
  2477. 1091 0082 FFF7FEFF bl FLASH_OB_ProgramData
  2478. 1092 .LVL113:
  2479. 504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2480. 1093 .loc 1 504 5 is_stmt 1 view .LVU329
  2481. 504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2482. 1094 .loc 1 504 8 is_stmt 0 view .LVU330
  2483. 1095 0086 0028 cmp r0, #0
  2484. 1096 0088 E3D0 beq .L74
  2485. 507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
  2486. 1097 .loc 1 507 7 is_stmt 1 view .LVU331
  2487. 507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
  2488. 1098 .loc 1 507 7 view .LVU332
  2489. 1099 008a 034B ldr r3, .L85
  2490. 1100 008c 0022 movs r2, #0
  2491. 1101 008e 1A76 strb r2, [r3, #24]
  2492. 507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
  2493. 1102 .loc 1 507 7 view .LVU333
  2494. 508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2495. ARM GAS /tmp/cc7NUTLl.s page 44
  2496. 1103 .loc 1 508 7 view .LVU334
  2497. 508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2498. 1104 .loc 1 508 14 is_stmt 0 view .LVU335
  2499. 1105 0090 E2E7 b .L68
  2500. 1106 .LVL114:
  2501. 1107 .L75:
  2502. 1108 .LCFI7:
  2503. 1109 .cfi_def_cfa_offset 0
  2504. 1110 .cfi_restore 4
  2505. 1111 .cfi_restore 14
  2506. 449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2507. 1112 .loc 1 449 3 view .LVU336
  2508. 1113 0092 0220 movs r0, #2
  2509. 1114 .LVL115:
  2510. 516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2511. 1115 .loc 1 516 1 view .LVU337
  2512. 1116 0094 7047 bx lr
  2513. 1117 .L86:
  2514. 1118 0096 00BF .align 2
  2515. 1119 .L85:
  2516. 1120 0098 00000000 .word pFlash
  2517. 1121 .cfi_endproc
  2518. 1122 .LFE68:
  2519. 1124 .section .text.HAL_FLASHEx_OBGetConfig,"ax",%progbits
  2520. 1125 .align 1
  2521. 1126 .global HAL_FLASHEx_OBGetConfig
  2522. 1127 .syntax unified
  2523. 1128 .thumb
  2524. 1129 .thumb_func
  2525. 1131 HAL_FLASHEx_OBGetConfig:
  2526. 1132 .LVL116:
  2527. 1133 .LFB69:
  2528. 526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pOBInit->OptionType = OPTIONBYTE_WRP | OPTIONBYTE_RDP | OPTIONBYTE_USER;
  2529. 1134 .loc 1 526 1 is_stmt 1 view -0
  2530. 1135 .cfi_startproc
  2531. 1136 @ args = 0, pretend = 0, frame = 0
  2532. 1137 @ frame_needed = 0, uses_anonymous_args = 0
  2533. 526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pOBInit->OptionType = OPTIONBYTE_WRP | OPTIONBYTE_RDP | OPTIONBYTE_USER;
  2534. 1138 .loc 1 526 1 is_stmt 0 view .LVU339
  2535. 1139 0000 10B5 push {r4, lr}
  2536. 1140 .LCFI8:
  2537. 1141 .cfi_def_cfa_offset 8
  2538. 1142 .cfi_offset 4, -8
  2539. 1143 .cfi_offset 14, -4
  2540. 1144 0002 0446 mov r4, r0
  2541. 527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2542. 1145 .loc 1 527 3 is_stmt 1 view .LVU340
  2543. 527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2544. 1146 .loc 1 527 23 is_stmt 0 view .LVU341
  2545. 1147 0004 0723 movs r3, #7
  2546. 1148 0006 0360 str r3, [r0]
  2547. 530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2548. 1149 .loc 1 530 3 is_stmt 1 view .LVU342
  2549. 530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2550. 1150 .loc 1 530 22 is_stmt 0 view .LVU343
  2551. 1151 0008 FFF7FEFF bl FLASH_OB_GetWRP
  2552. 1152 .LVL117:
  2553. ARM GAS /tmp/cc7NUTLl.s page 45
  2554. 530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2555. 1153 .loc 1 530 20 view .LVU344
  2556. 1154 000c A060 str r0, [r4, #8]
  2557. 533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2558. 1155 .loc 1 533 3 is_stmt 1 view .LVU345
  2559. 533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2560. 1156 .loc 1 533 23 is_stmt 0 view .LVU346
  2561. 1157 000e FFF7FEFF bl FLASH_OB_GetRDP
  2562. 1158 .LVL118:
  2563. 533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2564. 1159 .loc 1 533 21 view .LVU347
  2565. 1160 0012 2074 strb r0, [r4, #16]
  2566. 536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2567. 1161 .loc 1 536 3 is_stmt 1 view .LVU348
  2568. 536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2569. 1162 .loc 1 536 25 is_stmt 0 view .LVU349
  2570. 1163 0014 FFF7FEFF bl FLASH_OB_GetUser
  2571. 1164 .LVL119:
  2572. 536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2573. 1165 .loc 1 536 23 view .LVU350
  2574. 1166 0018 6074 strb r0, [r4, #17]
  2575. 537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2576. 1167 .loc 1 537 1 view .LVU351
  2577. 1168 001a 10BD pop {r4, pc}
  2578. 537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2579. 1169 .loc 1 537 1 view .LVU352
  2580. 1170 .cfi_endproc
  2581. 1171 .LFE69:
  2582. 1173 .section .text.HAL_FLASHEx_OBGetUserData,"ax",%progbits
  2583. 1174 .align 1
  2584. 1175 .global HAL_FLASHEx_OBGetUserData
  2585. 1176 .syntax unified
  2586. 1177 .thumb
  2587. 1178 .thumb_func
  2588. 1180 HAL_FLASHEx_OBGetUserData:
  2589. 1181 .LVL120:
  2590. 1182 .LFB70:
  2591. 548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint32_t value = 0;
  2592. 1183 .loc 1 548 1 is_stmt 1 view -0
  2593. 1184 .cfi_startproc
  2594. 1185 @ args = 0, pretend = 0, frame = 0
  2595. 1186 @ frame_needed = 0, uses_anonymous_args = 0
  2596. 1187 @ link register save eliminated.
  2597. 549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2598. 1188 .loc 1 549 3 view .LVU354
  2599. 551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2600. 1189 .loc 1 551 3 view .LVU355
  2601. 551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2602. 1190 .loc 1 551 6 is_stmt 0 view .LVU356
  2603. 1191 0000 064B ldr r3, .L93
  2604. 1192 0002 9842 cmp r0, r3
  2605. 1193 0004 04D0 beq .L92
  2606. 559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2607. 1194 .loc 1 559 5 is_stmt 1 view .LVU357
  2608. 559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2609. 1195 .loc 1 559 13 is_stmt 0 view .LVU358
  2610. 1196 0006 064B ldr r3, .L93+4
  2611. ARM GAS /tmp/cc7NUTLl.s page 46
  2612. 1197 0008 D869 ldr r0, [r3, #28]
  2613. 1198 .LVL121:
  2614. 559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2615. 1199 .loc 1 559 11 view .LVU359
  2616. 1200 000a C0F38740 ubfx r0, r0, #18, #8
  2617. 1201 .LVL122:
  2618. 562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2619. 1202 .loc 1 562 3 is_stmt 1 view .LVU360
  2620. 563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2621. 1203 .loc 1 563 1 is_stmt 0 view .LVU361
  2622. 1204 000e 7047 bx lr
  2623. 1205 .LVL123:
  2624. 1206 .L92:
  2625. 554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2626. 1207 .loc 1 554 5 is_stmt 1 view .LVU362
  2627. 554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2628. 1208 .loc 1 554 13 is_stmt 0 view .LVU363
  2629. 1209 0010 034B ldr r3, .L93+4
  2630. 1210 0012 D869 ldr r0, [r3, #28]
  2631. 1211 .LVL124:
  2632. 554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2633. 1212 .loc 1 554 11 view .LVU364
  2634. 1213 0014 C0F38720 ubfx r0, r0, #10, #8
  2635. 1214 .LVL125:
  2636. 554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2637. 1215 .loc 1 554 11 view .LVU365
  2638. 1216 0018 7047 bx lr
  2639. 1217 .L94:
  2640. 1218 001a 00BF .align 2
  2641. 1219 .L93:
  2642. 1220 001c 04F8FF1F .word 536868868
  2643. 1221 0020 00200240 .word 1073881088
  2644. 1222 .cfi_endproc
  2645. 1223 .LFE70:
  2646. 1225 .section .text.FLASH_PageErase,"ax",%progbits
  2647. 1226 .align 1
  2648. 1227 .global FLASH_PageErase
  2649. 1228 .syntax unified
  2650. 1229 .thumb
  2651. 1230 .thumb_func
  2652. 1232 FLASH_PageErase:
  2653. 1233 .LVL126:
  2654. 1234 .LFB80:
  2655. 1063:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2656. 1064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
  2657. 1065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @}
  2658. 1066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  2659. 1067:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2660. 1068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
  2661. 1069:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @}
  2662. 1070:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  2663. 1071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2664. 1072:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /** @addtogroup FLASH
  2665. 1073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @{
  2666. 1074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  2667. 1075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2668. 1076:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /** @addtogroup FLASH_Private_Functions
  2669. ARM GAS /tmp/cc7NUTLl.s page 47
  2670. 1077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @{
  2671. 1078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  2672. 1079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2673. 1080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
  2674. 1081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief Erase the specified FLASH memory page
  2675. 1082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @param PageAddress FLASH page to erase
  2676. 1083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * The value of this parameter depend on device used within the same series
  2677. 1084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *
  2678. 1085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @retval None
  2679. 1086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
  2680. 1087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** void FLASH_PageErase(uint32_t PageAddress)
  2681. 1088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2682. 1235 .loc 1 1088 1 is_stmt 1 view -0
  2683. 1236 .cfi_startproc
  2684. 1237 @ args = 0, pretend = 0, frame = 0
  2685. 1238 @ frame_needed = 0, uses_anonymous_args = 0
  2686. 1239 @ link register save eliminated.
  2687. 1089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Clean the error context */
  2688. 1090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
  2689. 1240 .loc 1 1090 3 view .LVU367
  2690. 1241 .loc 1 1090 20 is_stmt 0 view .LVU368
  2691. 1242 0000 064B ldr r3, .L96
  2692. 1243 0002 0022 movs r2, #0
  2693. 1244 0004 DA61 str r2, [r3, #28]
  2694. 1091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2695. 1092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_BANK2_END)
  2696. 1093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if(PageAddress > FLASH_BANK1_END)
  2697. 1094:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2698. 1095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Proceed to erase the page */
  2699. 1096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR2, FLASH_CR2_PER);
  2700. 1097:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRITE_REG(FLASH->AR2, PageAddress);
  2701. 1098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR2, FLASH_CR2_STRT);
  2702. 1099:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2703. 1100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** else
  2704. 1101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2705. 1102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_BANK2_END */
  2706. 1103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Proceed to erase the page */
  2707. 1104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_PER);
  2708. 1245 .loc 1 1104 5 is_stmt 1 view .LVU369
  2709. 1246 0006 064B ldr r3, .L96+4
  2710. 1247 0008 1A69 ldr r2, [r3, #16]
  2711. 1248 000a 42F00202 orr r2, r2, #2
  2712. 1249 000e 1A61 str r2, [r3, #16]
  2713. 1105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRITE_REG(FLASH->AR, PageAddress);
  2714. 1250 .loc 1 1105 5 view .LVU370
  2715. 1251 0010 5861 str r0, [r3, #20]
  2716. 1106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_STRT);
  2717. 1252 .loc 1 1106 5 view .LVU371
  2718. 1253 0012 1A69 ldr r2, [r3, #16]
  2719. 1254 0014 42F04002 orr r2, r2, #64
  2720. 1255 0018 1A61 str r2, [r3, #16]
  2721. 1107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_BANK2_END)
  2722. 1108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2723. 1109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_BANK2_END */
  2724. 1110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2725. 1256 .loc 1 1110 1 is_stmt 0 view .LVU372
  2726. 1257 001a 7047 bx lr
  2727. ARM GAS /tmp/cc7NUTLl.s page 48
  2728. 1258 .L97:
  2729. 1259 .align 2
  2730. 1260 .L96:
  2731. 1261 001c 00000000 .word pFlash
  2732. 1262 0020 00200240 .word 1073881088
  2733. 1263 .cfi_endproc
  2734. 1264 .LFE80:
  2735. 1266 .section .text.HAL_FLASHEx_Erase,"ax",%progbits
  2736. 1267 .align 1
  2737. 1268 .global HAL_FLASHEx_Erase
  2738. 1269 .syntax unified
  2739. 1270 .thumb
  2740. 1271 .thumb_func
  2741. 1273 HAL_FLASHEx_Erase:
  2742. 1274 .LVL127:
  2743. 1275 .LFB65:
  2744. 158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_ERROR;
  2745. 1276 .loc 1 158 1 is_stmt 1 view -0
  2746. 1277 .cfi_startproc
  2747. 1278 @ args = 0, pretend = 0, frame = 0
  2748. 1279 @ frame_needed = 0, uses_anonymous_args = 0
  2749. 159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint32_t address = 0U;
  2750. 1280 .loc 1 159 3 view .LVU374
  2751. 160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2752. 1281 .loc 1 160 3 view .LVU375
  2753. 163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2754. 1282 .loc 1 163 3 view .LVU376
  2755. 163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2756. 1283 .loc 1 163 3 view .LVU377
  2757. 1284 0000 264B ldr r3, .L115
  2758. 1285 0002 1B7E ldrb r3, [r3, #24] @ zero_extendqisi2
  2759. 1286 0004 012B cmp r3, #1
  2760. 1287 0006 46D0 beq .L105
  2761. 158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_ERROR;
  2762. 1288 .loc 1 158 1 is_stmt 0 discriminator 2 view .LVU378
  2763. 1289 0008 70B5 push {r4, r5, r6, lr}
  2764. 1290 .LCFI9:
  2765. 1291 .cfi_def_cfa_offset 16
  2766. 1292 .cfi_offset 4, -16
  2767. 1293 .cfi_offset 5, -12
  2768. 1294 .cfi_offset 6, -8
  2769. 1295 .cfi_offset 14, -4
  2770. 1296 000a 0546 mov r5, r0
  2771. 1297 000c 0E46 mov r6, r1
  2772. 163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2773. 1298 .loc 1 163 3 is_stmt 1 discriminator 2 view .LVU379
  2774. 1299 000e 234B ldr r3, .L115
  2775. 1300 0010 0122 movs r2, #1
  2776. 1301 0012 1A76 strb r2, [r3, #24]
  2777. 163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2778. 1302 .loc 1 163 3 discriminator 2 view .LVU380
  2779. 166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2780. 1303 .loc 1 166 3 discriminator 2 view .LVU381
  2781. 168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2782. 1304 .loc 1 168 3 discriminator 2 view .LVU382
  2783. 168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2784. 1305 .loc 1 168 17 is_stmt 0 discriminator 2 view .LVU383
  2785. ARM GAS /tmp/cc7NUTLl.s page 49
  2786. 1306 0014 0368 ldr r3, [r0]
  2787. 168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2788. 1307 .loc 1 168 6 discriminator 2 view .LVU384
  2789. 1308 0016 022B cmp r3, #2
  2790. 1309 0018 20D0 beq .L112
  2791. 231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_FLASH_NB_PAGES(pEraseInit->PageAddress, pEraseInit->NbPages));
  2792. 1310 .loc 1 231 5 is_stmt 1 view .LVU385
  2793. 232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2794. 1311 .loc 1 232 5 view .LVU386
  2795. 271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2796. 1312 .loc 1 271 7 view .LVU387
  2797. 271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2798. 1313 .loc 1 271 11 is_stmt 0 view .LVU388
  2799. 1314 001a 4CF25030 movw r0, #50000
  2800. 1315 .LVL128:
  2801. 271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2802. 1316 .loc 1 271 11 view .LVU389
  2803. 1317 001e FFF7FEFF bl FLASH_WaitForLastOperation
  2804. 1318 .LVL129:
  2805. 271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2806. 1319 .loc 1 271 10 view .LVU390
  2807. 1320 0022 90BB cbnz r0, .L107
  2808. 274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2809. 1321 .loc 1 274 9 is_stmt 1 view .LVU391
  2810. 274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2811. 1322 .loc 1 274 20 is_stmt 0 view .LVU392
  2812. 1323 0024 4FF0FF33 mov r3, #-1
  2813. 1324 0028 3360 str r3, [r6]
  2814. 277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** address < ((pEraseInit->NbPages * FLASH_PAGE_SIZE) + pEraseInit->PageAddress);
  2815. 1325 .loc 1 277 9 is_stmt 1 view .LVU393
  2816. 277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** address < ((pEraseInit->NbPages * FLASH_PAGE_SIZE) + pEraseInit->PageAddress);
  2817. 1326 .loc 1 277 21 is_stmt 0 view .LVU394
  2818. 1327 002a AC68 ldr r4, [r5, #8]
  2819. 1328 .LVL130:
  2820. 159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint32_t address = 0U;
  2821. 1329 .loc 1 159 21 view .LVU395
  2822. 1330 002c 0121 movs r1, #1
  2823. 1331 .LVL131:
  2824. 1332 .L102:
  2825. 278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** address += FLASH_PAGE_SIZE)
  2826. 1333 .loc 1 278 13 is_stmt 1 discriminator 1 view .LVU396
  2827. 278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** address += FLASH_PAGE_SIZE)
  2828. 1334 .loc 1 278 35 is_stmt 0 discriminator 1 view .LVU397
  2829. 1335 002e EA68 ldr r2, [r5, #12]
  2830. 278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** address += FLASH_PAGE_SIZE)
  2831. 1336 .loc 1 278 76 discriminator 1 view .LVU398
  2832. 1337 0030 AB68 ldr r3, [r5, #8]
  2833. 278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** address += FLASH_PAGE_SIZE)
  2834. 1338 .loc 1 278 64 discriminator 1 view .LVU399
  2835. 1339 0032 03EB8223 add r3, r3, r2, lsl #10
  2836. 277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** address < ((pEraseInit->NbPages * FLASH_PAGE_SIZE) + pEraseInit->PageAddress);
  2837. 1340 .loc 1 277 9 discriminator 1 view .LVU400
  2838. 1341 0036 A342 cmp r3, r4
  2839. 1342 0038 28D9 bls .L101
  2840. 281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2841. 1343 .loc 1 281 11 is_stmt 1 view .LVU401
  2842. 1344 003a 2046 mov r0, r4
  2843. ARM GAS /tmp/cc7NUTLl.s page 50
  2844. 1345 003c FFF7FEFF bl FLASH_PageErase
  2845. 1346 .LVL132:
  2846. 284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2847. 1347 .loc 1 284 11 view .LVU402
  2848. 284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2849. 1348 .loc 1 284 20 is_stmt 0 view .LVU403
  2850. 1349 0040 4CF25030 movw r0, #50000
  2851. 1350 0044 FFF7FEFF bl FLASH_WaitForLastOperation
  2852. 1351 .LVL133:
  2853. 287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2854. 1352 .loc 1 287 11 is_stmt 1 view .LVU404
  2855. 1353 0048 154A ldr r2, .L115+4
  2856. 1354 004a 1369 ldr r3, [r2, #16]
  2857. 1355 004c 23F00203 bic r3, r3, #2
  2858. 1356 0050 1361 str r3, [r2, #16]
  2859. 289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2860. 1357 .loc 1 289 11 view .LVU405
  2861. 289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2862. 1358 .loc 1 289 14 is_stmt 0 view .LVU406
  2863. 1359 0052 0146 mov r1, r0
  2864. 1360 0054 B8B9 cbnz r0, .L113
  2865. 279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2866. 1361 .loc 1 279 13 is_stmt 1 view .LVU407
  2867. 279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2868. 1362 .loc 1 279 21 is_stmt 0 view .LVU408
  2869. 1363 0056 04F58064 add r4, r4, #1024
  2870. 1364 .LVL134:
  2871. 279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2872. 1365 .loc 1 279 21 view .LVU409
  2873. 1366 005a E8E7 b .L102
  2874. 1367 .LVL135:
  2875. 1368 .L112:
  2876. 214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2877. 1369 .loc 1 214 7 is_stmt 1 view .LVU410
  2878. 214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2879. 1370 .loc 1 214 11 is_stmt 0 view .LVU411
  2880. 1371 005c 4CF25030 movw r0, #50000
  2881. 1372 .LVL136:
  2882. 214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2883. 1373 .loc 1 214 11 view .LVU412
  2884. 1374 0060 FFF7FEFF bl FLASH_WaitForLastOperation
  2885. 1375 .LVL137:
  2886. 214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  2887. 1376 .loc 1 214 10 view .LVU413
  2888. 1377 0064 08B1 cbz r0, .L114
  2889. 159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint32_t address = 0U;
  2890. 1378 .loc 1 159 21 view .LVU414
  2891. 1379 0066 0121 movs r1, #1
  2892. 1380 0068 10E0 b .L101
  2893. 1381 .L114:
  2894. 217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2895. 1382 .loc 1 217 9 is_stmt 1 view .LVU415
  2896. 1383 006a 0120 movs r0, #1
  2897. 1384 006c FFF7FEFF bl FLASH_MassErase
  2898. 1385 .LVL138:
  2899. 220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2900. 1386 .loc 1 220 9 view .LVU416
  2901. ARM GAS /tmp/cc7NUTLl.s page 51
  2902. 220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2903. 1387 .loc 1 220 18 is_stmt 0 view .LVU417
  2904. 1388 0070 4CF25030 movw r0, #50000
  2905. 1389 0074 FFF7FEFF bl FLASH_WaitForLastOperation
  2906. 1390 .LVL139:
  2907. 1391 0078 0146 mov r1, r0
  2908. 1392 .LVL140:
  2909. 223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2910. 1393 .loc 1 223 9 is_stmt 1 view .LVU418
  2911. 1394 007a 094A ldr r2, .L115+4
  2912. 1395 007c 1369 ldr r3, [r2, #16]
  2913. 1396 007e 23F00403 bic r3, r3, #4
  2914. 1397 0082 1361 str r3, [r2, #16]
  2915. 1398 0084 02E0 b .L101
  2916. 1399 .LVL141:
  2917. 1400 .L113:
  2918. 292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** break;
  2919. 1401 .loc 1 292 13 view .LVU419
  2920. 292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** break;
  2921. 1402 .loc 1 292 24 is_stmt 0 view .LVU420
  2922. 1403 0086 3460 str r4, [r6]
  2923. 293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2924. 1404 .loc 1 293 13 is_stmt 1 view .LVU421
  2925. 1405 0088 00E0 b .L101
  2926. 1406 .LVL142:
  2927. 1407 .L107:
  2928. 159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint32_t address = 0U;
  2929. 1408 .loc 1 159 21 is_stmt 0 view .LVU422
  2930. 1409 008a 0121 movs r1, #1
  2931. 1410 .LVL143:
  2932. 1411 .L101:
  2933. 301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2934. 1412 .loc 1 301 3 is_stmt 1 view .LVU423
  2935. 301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2936. 1413 .loc 1 301 3 view .LVU424
  2937. 1414 008c 034B ldr r3, .L115
  2938. 1415 008e 0022 movs r2, #0
  2939. 1416 0090 1A76 strb r2, [r3, #24]
  2940. 301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2941. 1417 .loc 1 301 3 view .LVU425
  2942. 303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  2943. 1418 .loc 1 303 3 view .LVU426
  2944. 304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2945. 1419 .loc 1 304 1 is_stmt 0 view .LVU427
  2946. 1420 0092 0846 mov r0, r1
  2947. 1421 0094 70BD pop {r4, r5, r6, pc}
  2948. 1422 .LVL144:
  2949. 1423 .L105:
  2950. 1424 .LCFI10:
  2951. 1425 .cfi_def_cfa_offset 0
  2952. 1426 .cfi_restore 4
  2953. 1427 .cfi_restore 5
  2954. 1428 .cfi_restore 6
  2955. 1429 .cfi_restore 14
  2956. 163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2957. 1430 .loc 1 163 3 view .LVU428
  2958. 1431 0096 0221 movs r1, #2
  2959. ARM GAS /tmp/cc7NUTLl.s page 52
  2960. 1432 .LVL145:
  2961. 304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2962. 1433 .loc 1 304 1 view .LVU429
  2963. 1434 0098 0846 mov r0, r1
  2964. 1435 .LVL146:
  2965. 304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2966. 1436 .loc 1 304 1 view .LVU430
  2967. 1437 009a 7047 bx lr
  2968. 1438 .L116:
  2969. 1439 .align 2
  2970. 1440 .L115:
  2971. 1441 009c 00000000 .word pFlash
  2972. 1442 00a0 00200240 .word 1073881088
  2973. 1443 .cfi_endproc
  2974. 1444 .LFE65:
  2975. 1446 .section .text.HAL_FLASHEx_Erase_IT,"ax",%progbits
  2976. 1447 .align 1
  2977. 1448 .global HAL_FLASHEx_Erase_IT
  2978. 1449 .syntax unified
  2979. 1450 .thumb
  2980. 1451 .thumb_func
  2981. 1453 HAL_FLASHEx_Erase_IT:
  2982. 1454 .LVL147:
  2983. 1455 .LFB66:
  2984. 318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
  2985. 1456 .loc 1 318 1 is_stmt 1 view -0
  2986. 1457 .cfi_startproc
  2987. 1458 @ args = 0, pretend = 0, frame = 0
  2988. 1459 @ frame_needed = 0, uses_anonymous_args = 0
  2989. 318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
  2990. 1460 .loc 1 318 1 is_stmt 0 view .LVU432
  2991. 1461 0000 10B5 push {r4, lr}
  2992. 1462 .LCFI11:
  2993. 1463 .cfi_def_cfa_offset 8
  2994. 1464 .cfi_offset 4, -8
  2995. 1465 .cfi_offset 14, -4
  2996. 319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  2997. 1466 .loc 1 319 3 is_stmt 1 view .LVU433
  2998. 1467 .LVL148:
  2999. 322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  3000. 1468 .loc 1 322 3 view .LVU434
  3001. 322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  3002. 1469 .loc 1 322 3 view .LVU435
  3003. 1470 0002 154B ldr r3, .L124
  3004. 1471 0004 1B7E ldrb r3, [r3, #24] @ zero_extendqisi2
  3005. 1472 0006 012B cmp r3, #1
  3006. 1473 0008 21D0 beq .L120
  3007. 322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  3008. 1474 .loc 1 322 3 discriminator 2 view .LVU436
  3009. 1475 000a 134B ldr r3, .L124
  3010. 1476 000c 0122 movs r2, #1
  3011. 1477 000e 1A76 strb r2, [r3, #24]
  3012. 322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  3013. 1478 .loc 1 322 3 discriminator 2 view .LVU437
  3014. 325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  3015. 1479 .loc 1 325 3 discriminator 2 view .LVU438
  3016. 325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  3017. ARM GAS /tmp/cc7NUTLl.s page 53
  3018. 1480 .loc 1 325 13 is_stmt 0 discriminator 2 view .LVU439
  3019. 1481 0010 1B78 ldrb r3, [r3] @ zero_extendqisi2
  3020. 325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  3021. 1482 .loc 1 325 6 discriminator 2 view .LVU440
  3022. 1483 0012 03F0FF04 and r4, r3, #255
  3023. 1484 0016 E3B9 cbnz r3, .L121
  3024. 331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  3025. 1485 .loc 1 331 3 is_stmt 1 view .LVU441
  3026. 334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  3027. 1486 .loc 1 334 3 view .LVU442
  3028. 1487 0018 104A ldr r2, .L124+4
  3029. 1488 001a 1369 ldr r3, [r2, #16]
  3030. 1489 001c 43F4A053 orr r3, r3, #5120
  3031. 1490 0020 1361 str r3, [r2, #16]
  3032. 341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  3033. 1491 .loc 1 341 3 view .LVU443
  3034. 341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  3035. 1492 .loc 1 341 17 is_stmt 0 view .LVU444
  3036. 1493 0022 0368 ldr r3, [r0]
  3037. 341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
  3038. 1494 .loc 1 341 6 view .LVU445
  3039. 1495 0024 022B cmp r3, #2
  3040. 1496 0026 0BD0 beq .L123
  3041. 352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_FLASH_NB_PAGES(pEraseInit->PageAddress, pEraseInit->NbPages));
  3042. 1497 .loc 1 352 5 is_stmt 1 view .LVU446
  3043. 353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  3044. 1498 .loc 1 353 5 view .LVU447
  3045. 355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pFlash.DataRemaining = pEraseInit->NbPages;
  3046. 1499 .loc 1 355 5 view .LVU448
  3047. 355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pFlash.DataRemaining = pEraseInit->NbPages;
  3048. 1500 .loc 1 355 29 is_stmt 0 view .LVU449
  3049. 1501 0028 0B4B ldr r3, .L124
  3050. 1502 002a 0122 movs r2, #1
  3051. 1503 002c 1A70 strb r2, [r3]
  3052. 356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pFlash.Address = pEraseInit->PageAddress;
  3053. 1504 .loc 1 356 5 is_stmt 1 view .LVU450
  3054. 356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pFlash.Address = pEraseInit->PageAddress;
  3055. 1505 .loc 1 356 38 is_stmt 0 view .LVU451
  3056. 1506 002e C268 ldr r2, [r0, #12]
  3057. 356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pFlash.Address = pEraseInit->PageAddress;
  3058. 1507 .loc 1 356 26 view .LVU452
  3059. 1508 0030 5A60 str r2, [r3, #4]
  3060. 357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  3061. 1509 .loc 1 357 5 is_stmt 1 view .LVU453
  3062. 357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  3063. 1510 .loc 1 357 32 is_stmt 0 view .LVU454
  3064. 1511 0032 8268 ldr r2, [r0, #8]
  3065. 357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  3066. 1512 .loc 1 357 20 view .LVU455
  3067. 1513 0034 9A60 str r2, [r3, #8]
  3068. 360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  3069. 1514 .loc 1 360 5 is_stmt 1 view .LVU456
  3070. 1515 0036 8068 ldr r0, [r0, #8]
  3071. 1516 .LVL149:
  3072. 360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  3073. 1517 .loc 1 360 5 is_stmt 0 view .LVU457
  3074. 1518 0038 FFF7FEFF bl FLASH_PageErase
  3075. ARM GAS /tmp/cc7NUTLl.s page 54
  3076. 1519 .LVL150:
  3077. 1520 .L118:
  3078. 364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  3079. 1521 .loc 1 364 1 view .LVU458
  3080. 1522 003c 2046 mov r0, r4
  3081. 1523 003e 10BD pop {r4, pc}
  3082. 1524 .LVL151:
  3083. 1525 .L123:
  3084. 344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** FLASH_MassErase(pEraseInit->Banks);
  3085. 1526 .loc 1 344 5 is_stmt 1 view .LVU459
  3086. 344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** FLASH_MassErase(pEraseInit->Banks);
  3087. 1527 .loc 1 344 29 is_stmt 0 view .LVU460
  3088. 1528 0040 054B ldr r3, .L124
  3089. 1529 0042 0222 movs r2, #2
  3090. 1530 0044 1A70 strb r2, [r3]
  3091. 345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  3092. 1531 .loc 1 345 9 is_stmt 1 view .LVU461
  3093. 1532 0046 4068 ldr r0, [r0, #4]
  3094. 1533 .LVL152:
  3095. 345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  3096. 1534 .loc 1 345 9 is_stmt 0 view .LVU462
  3097. 1535 0048 FFF7FEFF bl FLASH_MassErase
  3098. 1536 .LVL153:
  3099. 1537 004c F6E7 b .L118
  3100. 1538 .LVL154:
  3101. 1539 .L120:
  3102. 322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
  3103. 1540 .loc 1 322 3 view .LVU463
  3104. 1541 004e 0224 movs r4, #2
  3105. 1542 0050 F4E7 b .L118
  3106. 1543 .L121:
  3107. 327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
  3108. 1544 .loc 1 327 12 view .LVU464
  3109. 1545 0052 0124 movs r4, #1
  3110. 1546 0054 F2E7 b .L118
  3111. 1547 .L125:
  3112. 1548 0056 00BF .align 2
  3113. 1549 .L124:
  3114. 1550 0058 00000000 .word pFlash
  3115. 1551 005c 00200240 .word 1073881088
  3116. 1552 .cfi_endproc
  3117. 1553 .LFE66:
  3118. 1555 .text
  3119. 1556 .Letext0:
  3120. 1557 .file 2 "/opt/gcc-arm/arm-none-eabi/include/machine/_default_types.h"
  3121. 1558 .file 3 "/opt/gcc-arm/arm-none-eabi/include/sys/_stdint.h"
  3122. 1559 .file 4 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h"
  3123. 1560 .file 5 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h"
  3124. 1561 .file 6 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h"
  3125. 1562 .file 7 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h"
  3126. ARM GAS /tmp/cc7NUTLl.s page 55
  3127. DEFINED SYMBOLS
  3128. *ABS*:0000000000000000 stm32f1xx_hal_flash_ex.c
  3129. /tmp/cc7NUTLl.s:18 .text.FLASH_MassErase:0000000000000000 $t
  3130. /tmp/cc7NUTLl.s:23 .text.FLASH_MassErase:0000000000000000 FLASH_MassErase
  3131. /tmp/cc7NUTLl.s:53 .text.FLASH_MassErase:000000000000001c $d
  3132. /tmp/cc7NUTLl.s:59 .text.FLASH_OB_GetWRP:0000000000000000 $t
  3133. /tmp/cc7NUTLl.s:64 .text.FLASH_OB_GetWRP:0000000000000000 FLASH_OB_GetWRP
  3134. /tmp/cc7NUTLl.s:80 .text.FLASH_OB_GetWRP:0000000000000008 $d
  3135. /tmp/cc7NUTLl.s:85 .text.FLASH_OB_GetRDP:0000000000000000 $t
  3136. /tmp/cc7NUTLl.s:90 .text.FLASH_OB_GetRDP:0000000000000000 FLASH_OB_GetRDP
  3137. /tmp/cc7NUTLl.s:121 .text.FLASH_OB_GetRDP:0000000000000014 $d
  3138. /tmp/cc7NUTLl.s:126 .text.FLASH_OB_GetUser:0000000000000000 $t
  3139. /tmp/cc7NUTLl.s:131 .text.FLASH_OB_GetUser:0000000000000000 FLASH_OB_GetUser
  3140. /tmp/cc7NUTLl.s:148 .text.FLASH_OB_GetUser:000000000000000c $d
  3141. /tmp/cc7NUTLl.s:153 .text.FLASH_OB_RDP_LevelConfig:0000000000000000 $t
  3142. /tmp/cc7NUTLl.s:158 .text.FLASH_OB_RDP_LevelConfig:0000000000000000 FLASH_OB_RDP_LevelConfig
  3143. /tmp/cc7NUTLl.s:244 .text.FLASH_OB_RDP_LevelConfig:000000000000005c $d
  3144. /tmp/cc7NUTLl.s:251 .text.FLASH_OB_UserConfig:0000000000000000 $t
  3145. /tmp/cc7NUTLl.s:256 .text.FLASH_OB_UserConfig:0000000000000000 FLASH_OB_UserConfig
  3146. /tmp/cc7NUTLl.s:322 .text.FLASH_OB_UserConfig:000000000000003c $d
  3147. /tmp/cc7NUTLl.s:329 .text.FLASH_OB_ProgramData:0000000000000000 $t
  3148. /tmp/cc7NUTLl.s:334 .text.FLASH_OB_ProgramData:0000000000000000 FLASH_OB_ProgramData
  3149. /tmp/cc7NUTLl.s:398 .text.FLASH_OB_ProgramData:0000000000000038 $d
  3150. /tmp/cc7NUTLl.s:404 .text.HAL_FLASHEx_OBErase:0000000000000000 $t
  3151. /tmp/cc7NUTLl.s:410 .text.HAL_FLASHEx_OBErase:0000000000000000 HAL_FLASHEx_OBErase
  3152. /tmp/cc7NUTLl.s:487 .text.HAL_FLASHEx_OBErase:0000000000000048 $d
  3153. /tmp/cc7NUTLl.s:493 .text.FLASH_OB_EnableWRP:0000000000000000 $t
  3154. /tmp/cc7NUTLl.s:498 .text.FLASH_OB_EnableWRP:0000000000000000 FLASH_OB_EnableWRP
  3155. /tmp/cc7NUTLl.s:701 .text.FLASH_OB_EnableWRP:00000000000000b4 $d
  3156. /tmp/cc7NUTLl.s:708 .text.FLASH_OB_DisableWRP:0000000000000000 $t
  3157. /tmp/cc7NUTLl.s:713 .text.FLASH_OB_DisableWRP:0000000000000000 FLASH_OB_DisableWRP
  3158. /tmp/cc7NUTLl.s:920 .text.FLASH_OB_DisableWRP:00000000000000bc $d
  3159. /tmp/cc7NUTLl.s:927 .text.HAL_FLASHEx_OBProgram:0000000000000000 $t
  3160. /tmp/cc7NUTLl.s:933 .text.HAL_FLASHEx_OBProgram:0000000000000000 HAL_FLASHEx_OBProgram
  3161. /tmp/cc7NUTLl.s:1120 .text.HAL_FLASHEx_OBProgram:0000000000000098 $d
  3162. /tmp/cc7NUTLl.s:1125 .text.HAL_FLASHEx_OBGetConfig:0000000000000000 $t
  3163. /tmp/cc7NUTLl.s:1131 .text.HAL_FLASHEx_OBGetConfig:0000000000000000 HAL_FLASHEx_OBGetConfig
  3164. /tmp/cc7NUTLl.s:1174 .text.HAL_FLASHEx_OBGetUserData:0000000000000000 $t
  3165. /tmp/cc7NUTLl.s:1180 .text.HAL_FLASHEx_OBGetUserData:0000000000000000 HAL_FLASHEx_OBGetUserData
  3166. /tmp/cc7NUTLl.s:1220 .text.HAL_FLASHEx_OBGetUserData:000000000000001c $d
  3167. /tmp/cc7NUTLl.s:1226 .text.FLASH_PageErase:0000000000000000 $t
  3168. /tmp/cc7NUTLl.s:1232 .text.FLASH_PageErase:0000000000000000 FLASH_PageErase
  3169. /tmp/cc7NUTLl.s:1261 .text.FLASH_PageErase:000000000000001c $d
  3170. /tmp/cc7NUTLl.s:1267 .text.HAL_FLASHEx_Erase:0000000000000000 $t
  3171. /tmp/cc7NUTLl.s:1273 .text.HAL_FLASHEx_Erase:0000000000000000 HAL_FLASHEx_Erase
  3172. /tmp/cc7NUTLl.s:1441 .text.HAL_FLASHEx_Erase:000000000000009c $d
  3173. /tmp/cc7NUTLl.s:1447 .text.HAL_FLASHEx_Erase_IT:0000000000000000 $t
  3174. /tmp/cc7NUTLl.s:1453 .text.HAL_FLASHEx_Erase_IT:0000000000000000 HAL_FLASHEx_Erase_IT
  3175. /tmp/cc7NUTLl.s:1550 .text.HAL_FLASHEx_Erase_IT:0000000000000058 $d
  3176. UNDEFINED SYMBOLS
  3177. pFlash
  3178. FLASH_WaitForLastOperation