stm32f1xx_hal_flash.lst 160 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503
  1. ARM GAS /tmp/cc26Ml62.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.c"
  15. 14 .text
  16. 15 .Ltext0:
  17. 16 .cfi_sections .debug_frame
  18. 17 .section .text.FLASH_Program_HalfWord,"ax",%progbits
  19. 18 .align 1
  20. 19 .syntax unified
  21. 20 .thumb
  22. 21 .thumb_func
  23. 23 FLASH_Program_HalfWord:
  24. 24 .LVL0:
  25. 25 .LFB76:
  26. 26 .file 1 "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c"
  27. 1:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /**
  28. 2:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** ******************************************************************************
  29. 3:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @file stm32f1xx_hal_flash.c
  30. 4:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @author MCD Application Team
  31. 5:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @brief FLASH HAL module driver.
  32. 6:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * This file provides firmware functions to manage the following
  33. 7:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * functionalities of the internal FLASH memory:
  34. 8:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * + Program operations functions
  35. 9:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * + Memory Control functions
  36. 10:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * + Peripheral State functions
  37. 11:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** *
  38. 12:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** @verbatim
  39. 13:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** ==============================================================================
  40. 14:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** ##### FLASH peripheral features #####
  41. 15:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** ==============================================================================
  42. 16:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** [..] The Flash memory interface manages CPU AHB I-Code and D-Code accesses
  43. 17:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** to the Flash memory. It implements the erase and program Flash memory operations
  44. 18:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** and the read and write protection mechanisms.
  45. 19:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  46. 20:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** [..] The Flash memory interface accelerates code execution with a system of instruction
  47. 21:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** prefetch.
  48. 22:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  49. 23:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** [..] The FLASH main features are:
  50. 24:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** (+) Flash memory read operations
  51. 25:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** (+) Flash memory program/erase operations
  52. 26:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** (+) Read / write protections
  53. 27:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** (+) Prefetch on I-Code
  54. 28:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** (+) Option Bytes programming
  55. 29:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  56. 30:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  57. 31:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** ##### How to use this driver #####
  58. 32:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** ==============================================================================
  59. ARM GAS /tmp/cc26Ml62.s page 2
  60. 33:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** [..]
  61. 34:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** This driver provides functions and macros to configure and program the FLASH
  62. 35:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** memory of all STM32F1xx devices.
  63. 36:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  64. 37:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** (#) FLASH Memory I/O Programming functions: this group includes all needed
  65. 38:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** functions to erase and program the main memory:
  66. 39:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** (++) Lock and Unlock the FLASH interface
  67. 40:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** (++) Erase function: Erase page, erase all pages
  68. 41:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** (++) Program functions: half word, word and doubleword
  69. 42:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** (#) FLASH Option Bytes Programming functions: this group includes all needed
  70. 43:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** functions to manage the Option Bytes:
  71. 44:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** (++) Lock and Unlock the Option Bytes
  72. 45:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** (++) Set/Reset the write protection
  73. 46:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** (++) Set the Read protection Level
  74. 47:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** (++) Program the user Option Bytes
  75. 48:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** (++) Launch the Option Bytes loader
  76. 49:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** (++) Erase Option Bytes
  77. 50:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** (++) Program the data Option Bytes
  78. 51:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** (++) Get the Write protection.
  79. 52:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** (++) Get the user option bytes.
  80. 53:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  81. 54:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** (#) Interrupts and flags management functions : this group
  82. 55:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** includes all needed functions to:
  83. 56:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** (++) Handle FLASH interrupts
  84. 57:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** (++) Wait for last FLASH operation according to its status
  85. 58:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** (++) Get error flag status
  86. 59:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  87. 60:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** [..] In addition to these function, this driver includes a set of macros allowing
  88. 61:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** to handle the following operations:
  89. 62:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  90. 63:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** (+) Set/Get the latency
  91. 64:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** (+) Enable/Disable the prefetch buffer
  92. 65:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** (+) Enable/Disable the half cycle access
  93. 66:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** (+) Enable/Disable the FLASH interrupts
  94. 67:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** (+) Monitor the FLASH flags status
  95. 68:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  96. 69:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** @endverbatim
  97. 70:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** ******************************************************************************
  98. 71:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @attention
  99. 72:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** *
  100. 73:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * Copyright (c) 2016 STMicroelectronics.
  101. 74:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * All rights reserved.
  102. 75:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** *
  103. 76:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * This software is licensed under terms that can be found in the LICENSE file in
  104. 77:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * the root directory of this software component.
  105. 78:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
  106. 79:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** ******************************************************************************
  107. 80:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  108. 81:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  109. 82:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Includes ------------------------------------------------------------------*/
  110. 83:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #include "stm32f1xx_hal.h"
  111. 84:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  112. 85:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /** @addtogroup STM32F1xx_HAL_Driver
  113. 86:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @{
  114. 87:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  115. 88:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  116. 89:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #ifdef HAL_FLASH_MODULE_ENABLED
  117. ARM GAS /tmp/cc26Ml62.s page 3
  118. 90:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  119. 91:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /** @defgroup FLASH FLASH
  120. 92:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @brief FLASH HAL module driver
  121. 93:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @{
  122. 94:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  123. 95:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  124. 96:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Private typedef -----------------------------------------------------------*/
  125. 97:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Private define ------------------------------------------------------------*/
  126. 98:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /** @defgroup FLASH_Private_Constants FLASH Private Constants
  127. 99:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @{
  128. 100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  129. 101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /**
  130. 102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @}
  131. 103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  132. 104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  133. 105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Private macro ---------------------------- ---------------------------------*/
  134. 106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /** @defgroup FLASH_Private_Macros FLASH Private Macros
  135. 107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @{
  136. 108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  137. 109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  138. 110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /**
  139. 111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @}
  140. 112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  141. 113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  142. 114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Private variables ---------------------------------------------------------*/
  143. 115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /** @defgroup FLASH_Private_Variables FLASH Private Variables
  144. 116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @{
  145. 117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  146. 118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Variables used for Erase pages under interruption*/
  147. 119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** FLASH_ProcessTypeDef pFlash;
  148. 120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /**
  149. 121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @}
  150. 122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  151. 123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  152. 124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Private function prototypes -----------------------------------------------*/
  153. 125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /** @defgroup FLASH_Private_Functions FLASH Private Functions
  154. 126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @{
  155. 127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  156. 128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** static void FLASH_Program_HalfWord(uint32_t Address, uint16_t Data);
  157. 129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** static void FLASH_SetErrorCode(void);
  158. 130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** extern void FLASH_PageErase(uint32_t PageAddress);
  159. 131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /**
  160. 132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @}
  161. 133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  162. 134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  163. 135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Exported functions ---------------------------------------------------------*/
  164. 136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /** @defgroup FLASH_Exported_Functions FLASH Exported Functions
  165. 137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @{
  166. 138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  167. 139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  168. 140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /** @defgroup FLASH_Exported_Functions_Group1 Programming operation functions
  169. 141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @brief Programming operation functions
  170. 142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** *
  171. 143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** @verbatim
  172. 144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** @endverbatim
  173. 145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @{
  174. 146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  175. ARM GAS /tmp/cc26Ml62.s page 4
  176. 147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  177. 148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /**
  178. 149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @brief Program halfword, word or double word at a specified address
  179. 150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @note The function HAL_FLASH_Unlock() should be called before to unlock the FLASH interface
  180. 151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * The function HAL_FLASH_Lock() should be called after to lock the FLASH interface
  181. 152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** *
  182. 153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @note If an erase and a program operations are requested simultaneously,
  183. 154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * the erase operation is performed before the program one.
  184. 155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** *
  185. 156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @note FLASH should be previously erased before new programmation (only exception to this
  186. 157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * is when 0x0000 is programmed)
  187. 158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** *
  188. 159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @param TypeProgram: Indicate the way to program at a specified address.
  189. 160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * This parameter can be a value of @ref FLASH_Type_Program
  190. 161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @param Address: Specifies the address to be programmed.
  191. 162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @param Data: Specifies the data to be programmed
  192. 163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** *
  193. 164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @retval HAL_StatusTypeDef HAL Status
  194. 165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  195. 166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_Program(uint32_t TypeProgram, uint32_t Address, uint64_t Data)
  196. 167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  197. 168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** HAL_StatusTypeDef status = HAL_ERROR;
  198. 169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** uint8_t index = 0;
  199. 170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** uint8_t nbiterations = 0;
  200. 171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  201. 172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Process Locked */
  202. 173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** __HAL_LOCK(&pFlash);
  203. 174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  204. 175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Check the parameters */
  205. 176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** assert_param(IS_FLASH_TYPEPROGRAM(TypeProgram));
  206. 177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS(Address));
  207. 178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  208. 179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #if defined(FLASH_BANK2_END)
  209. 180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if(Address <= FLASH_BANK1_END)
  210. 181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  211. 182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #endif /* FLASH_BANK2_END */
  212. 183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Wait for last operation to be completed */
  213. 184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** status = FLASH_WaitForLastOperation(FLASH_TIMEOUT_VALUE);
  214. 185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #if defined(FLASH_BANK2_END)
  215. 186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  216. 187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** else
  217. 188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  218. 189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Wait for last operation to be completed */
  219. 190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** status = FLASH_WaitForLastOperationBank2(FLASH_TIMEOUT_VALUE);
  220. 191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  221. 192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #endif /* FLASH_BANK2_END */
  222. 193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  223. 194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if(status == HAL_OK)
  224. 195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  225. 196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if(TypeProgram == FLASH_TYPEPROGRAM_HALFWORD)
  226. 197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  227. 198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Program halfword (16-bit) at a specified address. */
  228. 199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** nbiterations = 1U;
  229. 200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  230. 201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** else if(TypeProgram == FLASH_TYPEPROGRAM_WORD)
  231. 202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  232. 203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Program word (32-bit = 2*16-bit) at a specified address. */
  233. ARM GAS /tmp/cc26Ml62.s page 5
  234. 204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** nbiterations = 2U;
  235. 205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  236. 206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** else
  237. 207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  238. 208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Program double word (64-bit = 4*16-bit) at a specified address. */
  239. 209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** nbiterations = 4U;
  240. 210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  241. 211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  242. 212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** for (index = 0U; index < nbiterations; index++)
  243. 213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  244. 214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** FLASH_Program_HalfWord((Address + (2U*index)), (uint16_t)(Data >> (16U*index)));
  245. 215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  246. 216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #if defined(FLASH_BANK2_END)
  247. 217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if(Address <= FLASH_BANK1_END)
  248. 218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  249. 219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #endif /* FLASH_BANK2_END */
  250. 220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Wait for last operation to be completed */
  251. 221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** status = FLASH_WaitForLastOperation(FLASH_TIMEOUT_VALUE);
  252. 222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  253. 223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* If the program operation is completed, disable the PG Bit */
  254. 224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_PG);
  255. 225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #if defined(FLASH_BANK2_END)
  256. 226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  257. 227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** else
  258. 228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  259. 229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Wait for last operation to be completed */
  260. 230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** status = FLASH_WaitForLastOperationBank2(FLASH_TIMEOUT_VALUE);
  261. 231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  262. 232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* If the program operation is completed, disable the PG Bit */
  263. 233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** CLEAR_BIT(FLASH->CR2, FLASH_CR2_PG);
  264. 234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  265. 235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #endif /* FLASH_BANK2_END */
  266. 236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* In case of error, stop programation procedure */
  267. 237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if (status != HAL_OK)
  268. 238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  269. 239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** break;
  270. 240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  271. 241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  272. 242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  273. 243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  274. 244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Process Unlocked */
  275. 245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** __HAL_UNLOCK(&pFlash);
  276. 246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  277. 247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** return status;
  278. 248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  279. 249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  280. 250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /**
  281. 251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @brief Program halfword, word or double word at a specified address with interrupt enabled.
  282. 252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @note The function HAL_FLASH_Unlock() should be called before to unlock the FLASH interface
  283. 253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * The function HAL_FLASH_Lock() should be called after to lock the FLASH interface
  284. 254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** *
  285. 255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @note If an erase and a program operations are requested simultaneously,
  286. 256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * the erase operation is performed before the program one.
  287. 257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** *
  288. 258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @param TypeProgram: Indicate the way to program at a specified address.
  289. 259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * This parameter can be a value of @ref FLASH_Type_Program
  290. 260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @param Address: Specifies the address to be programmed.
  291. ARM GAS /tmp/cc26Ml62.s page 6
  292. 261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @param Data: Specifies the data to be programmed
  293. 262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** *
  294. 263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @retval HAL_StatusTypeDef HAL Status
  295. 264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  296. 265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_Program_IT(uint32_t TypeProgram, uint32_t Address, uint64_t Data)
  297. 266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  298. 267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** HAL_StatusTypeDef status = HAL_OK;
  299. 268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  300. 269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Process Locked */
  301. 270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** __HAL_LOCK(&pFlash);
  302. 271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  303. 272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Check the parameters */
  304. 273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** assert_param(IS_FLASH_TYPEPROGRAM(TypeProgram));
  305. 274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS(Address));
  306. 275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  307. 276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #if defined(FLASH_BANK2_END)
  308. 277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* If procedure already ongoing, reject the next one */
  309. 278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if (pFlash.ProcedureOnGoing != FLASH_PROC_NONE)
  310. 279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  311. 280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** return HAL_ERROR;
  312. 281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  313. 282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  314. 283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if(Address <= FLASH_BANK1_END)
  315. 284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  316. 285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Enable End of FLASH Operation and Error source interrupts */
  317. 286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** __HAL_FLASH_ENABLE_IT(FLASH_IT_EOP_BANK1 | FLASH_IT_ERR_BANK1);
  318. 287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  319. 288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }else
  320. 289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  321. 290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Enable End of FLASH Operation and Error source interrupts */
  322. 291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** __HAL_FLASH_ENABLE_IT(FLASH_IT_EOP_BANK2 | FLASH_IT_ERR_BANK2);
  323. 292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  324. 293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #else
  325. 294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Enable End of FLASH Operation and Error source interrupts */
  326. 295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** __HAL_FLASH_ENABLE_IT(FLASH_IT_EOP | FLASH_IT_ERR);
  327. 296:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #endif /* FLASH_BANK2_END */
  328. 297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  329. 298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.Address = Address;
  330. 299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.Data = Data;
  331. 300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  332. 301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if(TypeProgram == FLASH_TYPEPROGRAM_HALFWORD)
  333. 302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  334. 303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_PROGRAMHALFWORD;
  335. 304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Program halfword (16-bit) at a specified address. */
  336. 305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.DataRemaining = 1U;
  337. 306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  338. 307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** else if(TypeProgram == FLASH_TYPEPROGRAM_WORD)
  339. 308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  340. 309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_PROGRAMWORD;
  341. 310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Program word (32-bit : 2*16-bit) at a specified address. */
  342. 311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.DataRemaining = 2U;
  343. 312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  344. 313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** else
  345. 314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  346. 315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_PROGRAMDOUBLEWORD;
  347. 316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Program double word (64-bit : 4*16-bit) at a specified address. */
  348. 317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.DataRemaining = 4U;
  349. ARM GAS /tmp/cc26Ml62.s page 7
  350. 318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  351. 319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  352. 320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Program halfword (16-bit) at a specified address. */
  353. 321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** FLASH_Program_HalfWord(Address, (uint16_t)Data);
  354. 322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  355. 323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** return status;
  356. 324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  357. 325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  358. 326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /**
  359. 327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @brief This function handles FLASH interrupt request.
  360. 328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @retval None
  361. 329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  362. 330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** void HAL_FLASH_IRQHandler(void)
  363. 331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  364. 332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** uint32_t addresstmp = 0U;
  365. 333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  366. 334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Check FLASH operation error flags */
  367. 335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #if defined(FLASH_BANK2_END)
  368. 336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_WRPERR_BANK1) || __HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR_BANK1)
  369. 337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** (__HAL_FLASH_GET_FLAG(FLASH_FLAG_WRPERR_BANK2) || __HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR_BANK2))
  370. 338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #else
  371. 339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_WRPERR) ||__HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR))
  372. 340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #endif /* FLASH_BANK2_END */
  373. 341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  374. 342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Return the faulty address */
  375. 343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** addresstmp = pFlash.Address;
  376. 344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Reset address */
  377. 345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.Address = 0xFFFFFFFFU;
  378. 346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  379. 347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Save the Error code */
  380. 348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** FLASH_SetErrorCode();
  381. 349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  382. 350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* FLASH error interrupt user callback */
  383. 351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** HAL_FLASH_OperationErrorCallback(addresstmp);
  384. 352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  385. 353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Stop the procedure ongoing */
  386. 354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
  387. 355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  388. 356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  389. 357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Check FLASH End of Operation flag */
  390. 358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #if defined(FLASH_BANK2_END)
  391. 359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_EOP_BANK1))
  392. 360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  393. 361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Clear FLASH End of Operation pending bit */
  394. 362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP_BANK1);
  395. 363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #else
  396. 364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_EOP))
  397. 365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  398. 366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Clear FLASH End of Operation pending bit */
  399. 367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP);
  400. 368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #endif /* FLASH_BANK2_END */
  401. 369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  402. 370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Process can continue only if no error detected */
  403. 371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if(pFlash.ProcedureOnGoing != FLASH_PROC_NONE)
  404. 372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  405. 373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if(pFlash.ProcedureOnGoing == FLASH_PROC_PAGEERASE)
  406. 374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  407. ARM GAS /tmp/cc26Ml62.s page 8
  408. 375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Nb of pages to erased can be decreased */
  409. 376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.DataRemaining--;
  410. 377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  411. 378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Check if there are still pages to erase */
  412. 379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if(pFlash.DataRemaining != 0U)
  413. 380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  414. 381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** addresstmp = pFlash.Address;
  415. 382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /*Indicate user which sector has been erased */
  416. 383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** HAL_FLASH_EndOfOperationCallback(addresstmp);
  417. 384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  418. 385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /*Increment sector number*/
  419. 386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** addresstmp = pFlash.Address + FLASH_PAGE_SIZE;
  420. 387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.Address = addresstmp;
  421. 388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  422. 389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* If the erase operation is completed, disable the PER Bit */
  423. 390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_PER);
  424. 391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  425. 392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** FLASH_PageErase(addresstmp);
  426. 393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  427. 394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** else
  428. 395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  429. 396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* No more pages to Erase, user callback can be called. */
  430. 397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Reset Sector and stop Erase pages procedure */
  431. 398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.Address = addresstmp = 0xFFFFFFFFU;
  432. 399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
  433. 400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* FLASH EOP interrupt user callback */
  434. 401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** HAL_FLASH_EndOfOperationCallback(addresstmp);
  435. 402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  436. 403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  437. 404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** else if(pFlash.ProcedureOnGoing == FLASH_PROC_MASSERASE)
  438. 405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  439. 406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Operation is completed, disable the MER Bit */
  440. 407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_MER);
  441. 408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  442. 409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #if defined(FLASH_BANK2_END)
  443. 410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Stop Mass Erase procedure if no pending mass erase on other bank */
  444. 411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if (HAL_IS_BIT_CLR(FLASH->CR2, FLASH_CR2_MER))
  445. 412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  446. 413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #endif /* FLASH_BANK2_END */
  447. 414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* MassErase ended. Return the selected bank */
  448. 415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* FLASH EOP interrupt user callback */
  449. 416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** HAL_FLASH_EndOfOperationCallback(0U);
  450. 417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  451. 418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Stop Mass Erase procedure*/
  452. 419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
  453. 420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  454. 421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #if defined(FLASH_BANK2_END)
  455. 422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  456. 423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #endif /* FLASH_BANK2_END */
  457. 424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** else
  458. 425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  459. 426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Nb of 16-bit data to program can be decreased */
  460. 427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.DataRemaining--;
  461. 428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  462. 429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Check if there are still 16-bit data to program */
  463. 430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if(pFlash.DataRemaining != 0U)
  464. 431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  465. ARM GAS /tmp/cc26Ml62.s page 9
  466. 432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Increment address to 16-bit */
  467. 433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.Address += 2U;
  468. 434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** addresstmp = pFlash.Address;
  469. 435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  470. 436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Shift to have next 16-bit data */
  471. 437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.Data = (pFlash.Data >> 16U);
  472. 438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  473. 439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Operation is completed, disable the PG Bit */
  474. 440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_PG);
  475. 441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  476. 442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /*Program halfword (16-bit) at a specified address.*/
  477. 443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** FLASH_Program_HalfWord(addresstmp, (uint16_t)pFlash.Data);
  478. 444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  479. 445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** else
  480. 446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  481. 447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Program ended. Return the selected address */
  482. 448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* FLASH EOP interrupt user callback */
  483. 449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if (pFlash.ProcedureOnGoing == FLASH_PROC_PROGRAMHALFWORD)
  484. 450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  485. 451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** HAL_FLASH_EndOfOperationCallback(pFlash.Address);
  486. 452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  487. 453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** else if (pFlash.ProcedureOnGoing == FLASH_PROC_PROGRAMWORD)
  488. 454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  489. 455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** HAL_FLASH_EndOfOperationCallback(pFlash.Address - 2U);
  490. 456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  491. 457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** else
  492. 458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  493. 459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** HAL_FLASH_EndOfOperationCallback(pFlash.Address - 6U);
  494. 460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  495. 461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  496. 462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Reset Address and stop Program procedure */
  497. 463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.Address = 0xFFFFFFFFU;
  498. 464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
  499. 465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  500. 466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  501. 467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  502. 468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  503. 469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  504. 470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #if defined(FLASH_BANK2_END)
  505. 471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Check FLASH End of Operation flag */
  506. 472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG( FLASH_FLAG_EOP_BANK2))
  507. 473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  508. 474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Clear FLASH End of Operation pending bit */
  509. 475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP_BANK2);
  510. 476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  511. 477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Process can continue only if no error detected */
  512. 478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if(pFlash.ProcedureOnGoing != FLASH_PROC_NONE)
  513. 479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  514. 480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if(pFlash.ProcedureOnGoing == FLASH_PROC_PAGEERASE)
  515. 481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  516. 482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Nb of pages to erased can be decreased */
  517. 483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.DataRemaining--;
  518. 484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  519. 485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Check if there are still pages to erase*/
  520. 486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if(pFlash.DataRemaining != 0U)
  521. 487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  522. 488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Indicate user which page address has been erased*/
  523. ARM GAS /tmp/cc26Ml62.s page 10
  524. 489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** HAL_FLASH_EndOfOperationCallback(pFlash.Address);
  525. 490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  526. 491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Increment page address to next page */
  527. 492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.Address += FLASH_PAGE_SIZE;
  528. 493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** addresstmp = pFlash.Address;
  529. 494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  530. 495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Operation is completed, disable the PER Bit */
  531. 496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** CLEAR_BIT(FLASH->CR2, FLASH_CR2_PER);
  532. 497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  533. 498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** FLASH_PageErase(addresstmp);
  534. 499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  535. 500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** else
  536. 501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  537. 502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /*No more pages to Erase*/
  538. 503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  539. 504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /*Reset Address and stop Erase pages procedure*/
  540. 505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.Address = 0xFFFFFFFFU;
  541. 506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
  542. 507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  543. 508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* FLASH EOP interrupt user callback */
  544. 509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** HAL_FLASH_EndOfOperationCallback(pFlash.Address);
  545. 510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  546. 511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  547. 512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** else if(pFlash.ProcedureOnGoing == FLASH_PROC_MASSERASE)
  548. 513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  549. 514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Operation is completed, disable the MER Bit */
  550. 515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** CLEAR_BIT(FLASH->CR2, FLASH_CR2_MER);
  551. 516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  552. 517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if (HAL_IS_BIT_CLR(FLASH->CR, FLASH_CR_MER))
  553. 518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  554. 519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* MassErase ended. Return the selected bank*/
  555. 520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* FLASH EOP interrupt user callback */
  556. 521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** HAL_FLASH_EndOfOperationCallback(0U);
  557. 522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  558. 523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
  559. 524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  560. 525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  561. 526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** else
  562. 527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  563. 528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Nb of 16-bit data to program can be decreased */
  564. 529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.DataRemaining--;
  565. 530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  566. 531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Check if there are still 16-bit data to program */
  567. 532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if(pFlash.DataRemaining != 0U)
  568. 533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  569. 534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Increment address to 16-bit */
  570. 535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.Address += 2U;
  571. 536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** addresstmp = pFlash.Address;
  572. 537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  573. 538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Shift to have next 16-bit data */
  574. 539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.Data = (pFlash.Data >> 16U);
  575. 540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  576. 541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Operation is completed, disable the PG Bit */
  577. 542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** CLEAR_BIT(FLASH->CR2, FLASH_CR2_PG);
  578. 543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  579. 544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /*Program halfword (16-bit) at a specified address.*/
  580. 545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** FLASH_Program_HalfWord(addresstmp, (uint16_t)pFlash.Data);
  581. ARM GAS /tmp/cc26Ml62.s page 11
  582. 546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  583. 547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** else
  584. 548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  585. 549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /*Program ended. Return the selected address*/
  586. 550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* FLASH EOP interrupt user callback */
  587. 551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if (pFlash.ProcedureOnGoing == FLASH_PROC_PROGRAMHALFWORD)
  588. 552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  589. 553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** HAL_FLASH_EndOfOperationCallback(pFlash.Address);
  590. 554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  591. 555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** else if (pFlash.ProcedureOnGoing == FLASH_PROC_PROGRAMWORD)
  592. 556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  593. 557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** HAL_FLASH_EndOfOperationCallback(pFlash.Address-2U);
  594. 558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  595. 559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** else
  596. 560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  597. 561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** HAL_FLASH_EndOfOperationCallback(pFlash.Address-6U);
  598. 562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  599. 563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  600. 564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Reset Address and stop Program procedure*/
  601. 565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.Address = 0xFFFFFFFFU;
  602. 566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
  603. 567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  604. 568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  605. 569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  606. 570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  607. 571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #endif
  608. 572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  609. 573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if(pFlash.ProcedureOnGoing == FLASH_PROC_NONE)
  610. 574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  611. 575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #if defined(FLASH_BANK2_END)
  612. 576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Operation is completed, disable the PG, PER and MER Bits for both bank */
  613. 577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** CLEAR_BIT(FLASH->CR, (FLASH_CR_PG | FLASH_CR_PER | FLASH_CR_MER));
  614. 578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** CLEAR_BIT(FLASH->CR2, (FLASH_CR2_PG | FLASH_CR2_PER | FLASH_CR2_MER));
  615. 579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  616. 580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Disable End of FLASH Operation and Error source interrupts for both banks */
  617. 581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** __HAL_FLASH_DISABLE_IT(FLASH_IT_EOP_BANK1 | FLASH_IT_ERR_BANK1 | FLASH_IT_EOP_BANK2 | FLASH_IT_
  618. 582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #else
  619. 583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Operation is completed, disable the PG, PER and MER Bits */
  620. 584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** CLEAR_BIT(FLASH->CR, (FLASH_CR_PG | FLASH_CR_PER | FLASH_CR_MER));
  621. 585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  622. 586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Disable End of FLASH Operation and Error source interrupts */
  623. 587:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** __HAL_FLASH_DISABLE_IT(FLASH_IT_EOP | FLASH_IT_ERR);
  624. 588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #endif /* FLASH_BANK2_END */
  625. 589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  626. 590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Process Unlocked */
  627. 591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** __HAL_UNLOCK(&pFlash);
  628. 592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  629. 593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  630. 594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  631. 595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /**
  632. 596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @brief FLASH end of operation interrupt callback
  633. 597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @param ReturnValue: The value saved in this parameter depends on the ongoing procedure
  634. 598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * - Mass Erase: No return value expected
  635. 599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * - Pages Erase: Address of the page which has been erased
  636. 600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * (if 0xFFFFFFFF, it means that all the selected pages have been erased)
  637. 601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * - Program: Address which was selected for data program
  638. 602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @retval none
  639. ARM GAS /tmp/cc26Ml62.s page 12
  640. 603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  641. 604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** __weak void HAL_FLASH_EndOfOperationCallback(uint32_t ReturnValue)
  642. 605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  643. 606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Prevent unused argument(s) compilation warning */
  644. 607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** UNUSED(ReturnValue);
  645. 608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  646. 609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  647. 610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** the HAL_FLASH_EndOfOperationCallback could be implemented in the user file
  648. 611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  649. 612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  650. 613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  651. 614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /**
  652. 615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @brief FLASH operation error interrupt callback
  653. 616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @param ReturnValue: The value saved in this parameter depends on the ongoing procedure
  654. 617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * - Mass Erase: No return value expected
  655. 618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * - Pages Erase: Address of the page which returned an error
  656. 619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * - Program: Address which was selected for data program
  657. 620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @retval none
  658. 621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  659. 622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** __weak void HAL_FLASH_OperationErrorCallback(uint32_t ReturnValue)
  660. 623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  661. 624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Prevent unused argument(s) compilation warning */
  662. 625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** UNUSED(ReturnValue);
  663. 626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  664. 627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  665. 628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** the HAL_FLASH_OperationErrorCallback could be implemented in the user file
  666. 629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  667. 630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  668. 631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  669. 632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /**
  670. 633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @}
  671. 634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  672. 635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  673. 636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /** @defgroup FLASH_Exported_Functions_Group2 Peripheral Control functions
  674. 637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @brief management functions
  675. 638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** *
  676. 639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** @verbatim
  677. 640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** ===============================================================================
  678. 641:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** ##### Peripheral Control functions #####
  679. 642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** ===============================================================================
  680. 643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** [..]
  681. 644:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** This subsection provides a set of functions allowing to control the FLASH
  682. 645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** memory operations.
  683. 646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  684. 647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** @endverbatim
  685. 648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @{
  686. 649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  687. 650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  688. 651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /**
  689. 652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @brief Unlock the FLASH control register access
  690. 653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @retval HAL Status
  691. 654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  692. 655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_Unlock(void)
  693. 656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  694. 657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** HAL_StatusTypeDef status = HAL_OK;
  695. 658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  696. 659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if(READ_BIT(FLASH->CR, FLASH_CR_LOCK) != RESET)
  697. ARM GAS /tmp/cc26Ml62.s page 13
  698. 660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  699. 661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Authorize the FLASH Registers access */
  700. 662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** WRITE_REG(FLASH->KEYR, FLASH_KEY1);
  701. 663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** WRITE_REG(FLASH->KEYR, FLASH_KEY2);
  702. 664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  703. 665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Verify Flash is unlocked */
  704. 666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if(READ_BIT(FLASH->CR, FLASH_CR_LOCK) != RESET)
  705. 667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  706. 668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** status = HAL_ERROR;
  707. 669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  708. 670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  709. 671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #if defined(FLASH_BANK2_END)
  710. 672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if(READ_BIT(FLASH->CR2, FLASH_CR2_LOCK) != RESET)
  711. 673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  712. 674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Authorize the FLASH BANK2 Registers access */
  713. 675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** WRITE_REG(FLASH->KEYR2, FLASH_KEY1);
  714. 676:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** WRITE_REG(FLASH->KEYR2, FLASH_KEY2);
  715. 677:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  716. 678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Verify Flash BANK2 is unlocked */
  717. 679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if(READ_BIT(FLASH->CR2, FLASH_CR2_LOCK) != RESET)
  718. 680:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  719. 681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** status = HAL_ERROR;
  720. 682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  721. 683:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  722. 684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #endif /* FLASH_BANK2_END */
  723. 685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  724. 686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** return status;
  725. 687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  726. 688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  727. 689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /**
  728. 690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @brief Locks the FLASH control register access
  729. 691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @retval HAL Status
  730. 692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  731. 693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_Lock(void)
  732. 694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  733. 695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Set the LOCK Bit to lock the FLASH Registers access */
  734. 696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** SET_BIT(FLASH->CR, FLASH_CR_LOCK);
  735. 697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  736. 698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #if defined(FLASH_BANK2_END)
  737. 699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Set the LOCK Bit to lock the FLASH BANK2 Registers access */
  738. 700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** SET_BIT(FLASH->CR2, FLASH_CR2_LOCK);
  739. 701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  740. 702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #endif /* FLASH_BANK2_END */
  741. 703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** return HAL_OK;
  742. 704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  743. 705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  744. 706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /**
  745. 707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @brief Unlock the FLASH Option Control Registers access.
  746. 708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @retval HAL Status
  747. 709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  748. 710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_OB_Unlock(void)
  749. 711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  750. 712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if (HAL_IS_BIT_CLR(FLASH->CR, FLASH_CR_OPTWRE))
  751. 713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  752. 714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Authorizes the Option Byte register programming */
  753. 715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** WRITE_REG(FLASH->OPTKEYR, FLASH_OPTKEY1);
  754. 716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** WRITE_REG(FLASH->OPTKEYR, FLASH_OPTKEY2);
  755. ARM GAS /tmp/cc26Ml62.s page 14
  756. 717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  757. 718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** else
  758. 719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  759. 720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** return HAL_ERROR;
  760. 721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  761. 722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  762. 723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** return HAL_OK;
  763. 724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  764. 725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  765. 726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /**
  766. 727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @brief Lock the FLASH Option Control Registers access.
  767. 728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @retval HAL Status
  768. 729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  769. 730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_OB_Lock(void)
  770. 731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  771. 732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Clear the OPTWRE Bit to lock the FLASH Option Byte Registers access */
  772. 733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_OPTWRE);
  773. 734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  774. 735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** return HAL_OK;
  775. 736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  776. 737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  777. 738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /**
  778. 739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @brief Launch the option byte loading.
  779. 740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @note This function will reset automatically the MCU.
  780. 741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @retval None
  781. 742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  782. 743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** void HAL_FLASH_OB_Launch(void)
  783. 744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  784. 745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Initiates a system reset request to launch the option byte loading */
  785. 746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** HAL_NVIC_SystemReset();
  786. 747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  787. 748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  788. 749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /**
  789. 750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @}
  790. 751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  791. 752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  792. 753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /** @defgroup FLASH_Exported_Functions_Group3 Peripheral errors functions
  793. 754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @brief Peripheral errors functions
  794. 755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** *
  795. 756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** @verbatim
  796. 757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** ===============================================================================
  797. 758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** ##### Peripheral Errors functions #####
  798. 759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** ===============================================================================
  799. 760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** [..]
  800. 761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** This subsection permit to get in run-time errors of the FLASH peripheral.
  801. 762:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  802. 763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** @endverbatim
  803. 764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @{
  804. 765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  805. 766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  806. 767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /**
  807. 768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @brief Get the specific FLASH error flag.
  808. 769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @retval FLASH_ErrorCode The returned value can be:
  809. 770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @ref FLASH_Error_Codes
  810. 771:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  811. 772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** uint32_t HAL_FLASH_GetError(void)
  812. 773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  813. ARM GAS /tmp/cc26Ml62.s page 15
  814. 774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** return pFlash.ErrorCode;
  815. 775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  816. 776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  817. 777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /**
  818. 778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @}
  819. 779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  820. 780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  821. 781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /**
  822. 782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @}
  823. 783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  824. 784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  825. 785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /** @addtogroup FLASH_Private_Functions
  826. 786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @{
  827. 787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  828. 788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  829. 789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /**
  830. 790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @brief Program a half-word (16-bit) at a specified address.
  831. 791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @param Address specify the address to be programmed.
  832. 792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @param Data specify the data to be programmed.
  833. 793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @retval None
  834. 794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  835. 795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** static void FLASH_Program_HalfWord(uint32_t Address, uint16_t Data)
  836. 796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  837. 27 .loc 1 796 1 view -0
  838. 28 .cfi_startproc
  839. 29 @ args = 0, pretend = 0, frame = 0
  840. 30 @ frame_needed = 0, uses_anonymous_args = 0
  841. 31 @ link register save eliminated.
  842. 797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Clean the error context */
  843. 798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
  844. 32 .loc 1 798 3 view .LVU1
  845. 33 .loc 1 798 20 is_stmt 0 view .LVU2
  846. 34 0000 044B ldr r3, .L2
  847. 35 0002 0022 movs r2, #0
  848. 36 0004 DA61 str r2, [r3, #28]
  849. 799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  850. 800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #if defined(FLASH_BANK2_END)
  851. 801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if(Address <= FLASH_BANK1_END)
  852. 802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  853. 803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #endif /* FLASH_BANK2_END */
  854. 804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Proceed to program the new data */
  855. 805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** SET_BIT(FLASH->CR, FLASH_CR_PG);
  856. 37 .loc 1 805 5 is_stmt 1 view .LVU3
  857. 38 0006 044A ldr r2, .L2+4
  858. 39 0008 1369 ldr r3, [r2, #16]
  859. 40 000a 43F00103 orr r3, r3, #1
  860. 41 000e 1361 str r3, [r2, #16]
  861. 806:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #if defined(FLASH_BANK2_END)
  862. 807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  863. 808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** else
  864. 809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  865. 810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Proceed to program the new data */
  866. 811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** SET_BIT(FLASH->CR2, FLASH_CR2_PG);
  867. 812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  868. 813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #endif /* FLASH_BANK2_END */
  869. 814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  870. 815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Write data in the address */
  871. ARM GAS /tmp/cc26Ml62.s page 16
  872. 816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** *(__IO uint16_t*)Address = Data;
  873. 42 .loc 1 816 3 view .LVU4
  874. 43 .loc 1 816 28 is_stmt 0 view .LVU5
  875. 44 0010 0180 strh r1, [r0] @ movhi
  876. 817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  877. 45 .loc 1 817 1 view .LVU6
  878. 46 0012 7047 bx lr
  879. 47 .L3:
  880. 48 .align 2
  881. 49 .L2:
  882. 50 0014 00000000 .word .LANCHOR0
  883. 51 0018 00200240 .word 1073881088
  884. 52 .cfi_endproc
  885. 53 .LFE76:
  886. 55 .section .text.FLASH_SetErrorCode,"ax",%progbits
  887. 56 .align 1
  888. 57 .syntax unified
  889. 58 .thumb
  890. 59 .thumb_func
  891. 61 FLASH_SetErrorCode:
  892. 62 .LFB78:
  893. 818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  894. 819:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /**
  895. 820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @brief Wait for a FLASH operation to complete.
  896. 821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @param Timeout maximum flash operation timeout
  897. 822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @retval HAL Status
  898. 823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  899. 824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** HAL_StatusTypeDef FLASH_WaitForLastOperation(uint32_t Timeout)
  900. 825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  901. 826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Wait for the FLASH operation to complete by polling on BUSY flag to be reset.
  902. 827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** Even if the FLASH operation fails, the BUSY flag will be reset and an error
  903. 828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** flag will be set */
  904. 829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  905. 830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** uint32_t tickstart = HAL_GetTick();
  906. 831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  907. 832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** while(__HAL_FLASH_GET_FLAG(FLASH_FLAG_BSY))
  908. 833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  909. 834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if (Timeout != HAL_MAX_DELAY)
  910. 835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  911. 836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if((Timeout == 0U) || ((HAL_GetTick()-tickstart) > Timeout))
  912. 837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  913. 838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** return HAL_TIMEOUT;
  914. 839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  915. 840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  916. 841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  917. 842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  918. 843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Check FLASH End of Operation flag */
  919. 844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if (__HAL_FLASH_GET_FLAG(FLASH_FLAG_EOP))
  920. 845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  921. 846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Clear FLASH End of Operation pending bit */
  922. 847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP);
  923. 848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  924. 849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  925. 850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_WRPERR) ||
  926. 851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** __HAL_FLASH_GET_FLAG(FLASH_FLAG_OPTVERR) ||
  927. 852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** __HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR))
  928. 853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  929. ARM GAS /tmp/cc26Ml62.s page 17
  930. 854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /*Save the error code*/
  931. 855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** FLASH_SetErrorCode();
  932. 856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** return HAL_ERROR;
  933. 857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  934. 858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  935. 859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* There is no error flag set */
  936. 860:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** return HAL_OK;
  937. 861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  938. 862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  939. 863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #if defined(FLASH_BANK2_END)
  940. 864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /**
  941. 865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @brief Wait for a FLASH BANK2 operation to complete.
  942. 866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @param Timeout maximum flash operation timeout
  943. 867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @retval HAL_StatusTypeDef HAL Status
  944. 868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  945. 869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** HAL_StatusTypeDef FLASH_WaitForLastOperationBank2(uint32_t Timeout)
  946. 870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  947. 871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Wait for the FLASH BANK2 operation to complete by polling on BUSY flag to be reset.
  948. 872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** Even if the FLASH BANK2 operation fails, the BUSY flag will be reset and an error
  949. 873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** flag will be set */
  950. 874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  951. 875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** uint32_t tickstart = HAL_GetTick();
  952. 876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  953. 877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** while(__HAL_FLASH_GET_FLAG(FLASH_FLAG_BSY_BANK2))
  954. 878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  955. 879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if (Timeout != HAL_MAX_DELAY)
  956. 880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  957. 881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if((Timeout == 0U) || ((HAL_GetTick()-tickstart) > Timeout))
  958. 882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  959. 883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** return HAL_TIMEOUT;
  960. 884:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  961. 885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  962. 886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  963. 887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  964. 888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Check FLASH End of Operation flag */
  965. 889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if (__HAL_FLASH_GET_FLAG(FLASH_FLAG_EOP_BANK2))
  966. 890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  967. 891:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Clear FLASH End of Operation pending bit */
  968. 892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP_BANK2);
  969. 893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  970. 894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  971. 895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_WRPERR_BANK2) || __HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR_BANK2))
  972. 896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  973. 897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /*Save the error code*/
  974. 898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** FLASH_SetErrorCode();
  975. 899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** return HAL_ERROR;
  976. 900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  977. 901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  978. 902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* If there is an error flag set */
  979. 903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** return HAL_OK;
  980. 904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  981. 905:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  982. 906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #endif /* FLASH_BANK2_END */
  983. 907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  984. 908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /**
  985. 909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @brief Set the specific FLASH error flag.
  986. 910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** * @retval None
  987. ARM GAS /tmp/cc26Ml62.s page 18
  988. 911:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** */
  989. 912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** static void FLASH_SetErrorCode(void)
  990. 913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  991. 63 .loc 1 913 1 is_stmt 1 view -0
  992. 64 .cfi_startproc
  993. 65 @ args = 0, pretend = 0, frame = 0
  994. 66 @ frame_needed = 0, uses_anonymous_args = 0
  995. 67 @ link register save eliminated.
  996. 914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** uint32_t flags = 0U;
  997. 68 .loc 1 914 3 view .LVU8
  998. 69 .LVL1:
  999. 915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1000. 916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #if defined(FLASH_BANK2_END)
  1001. 917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_WRPERR) || __HAL_FLASH_GET_FLAG(FLASH_FLAG_WRPERR_BANK2))
  1002. 918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #else
  1003. 919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_WRPERR))
  1004. 70 .loc 1 919 3 view .LVU9
  1005. 71 .loc 1 919 6 is_stmt 0 view .LVU10
  1006. 72 0000 194B ldr r3, .L11
  1007. 73 0002 DB68 ldr r3, [r3, #12]
  1008. 74 .loc 1 919 5 view .LVU11
  1009. 75 0004 13F01003 ands r3, r3, #16
  1010. 76 0008 05D0 beq .L5
  1011. 920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #endif /* FLASH_BANK2_END */
  1012. 921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1013. 922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.ErrorCode |= HAL_FLASH_ERROR_WRP;
  1014. 77 .loc 1 922 5 is_stmt 1 view .LVU12
  1015. 78 .loc 1 922 22 is_stmt 0 view .LVU13
  1016. 79 000a 184A ldr r2, .L11+4
  1017. 80 000c D369 ldr r3, [r2, #28]
  1018. 81 000e 43F00203 orr r3, r3, #2
  1019. 82 0012 D361 str r3, [r2, #28]
  1020. 923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #if defined(FLASH_BANK2_END)
  1021. 924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** flags |= FLASH_FLAG_WRPERR | FLASH_FLAG_WRPERR_BANK2;
  1022. 925:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #else
  1023. 926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** flags |= FLASH_FLAG_WRPERR;
  1024. 83 .loc 1 926 5 is_stmt 1 view .LVU14
  1025. 84 .LVL2:
  1026. 85 .loc 1 926 11 is_stmt 0 view .LVU15
  1027. 86 0014 1023 movs r3, #16
  1028. 87 .LVL3:
  1029. 88 .L5:
  1030. 927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #endif /* FLASH_BANK2_END */
  1031. 928:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1032. 929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #if defined(FLASH_BANK2_END)
  1033. 930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR) || __HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR_BANK2))
  1034. 931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #else
  1035. 932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR))
  1036. 89 .loc 1 932 3 is_stmt 1 view .LVU16
  1037. 90 .loc 1 932 6 is_stmt 0 view .LVU17
  1038. 91 0016 144A ldr r2, .L11
  1039. 92 0018 D268 ldr r2, [r2, #12]
  1040. 93 .loc 1 932 5 view .LVU18
  1041. 94 001a 12F0040F tst r2, #4
  1042. 95 001e 06D0 beq .L6
  1043. 933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #endif /* FLASH_BANK2_END */
  1044. 934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1045. ARM GAS /tmp/cc26Ml62.s page 19
  1046. 935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.ErrorCode |= HAL_FLASH_ERROR_PROG;
  1047. 96 .loc 1 935 5 is_stmt 1 view .LVU19
  1048. 97 .loc 1 935 22 is_stmt 0 view .LVU20
  1049. 98 0020 1249 ldr r1, .L11+4
  1050. 99 0022 CA69 ldr r2, [r1, #28]
  1051. 100 0024 42F00102 orr r2, r2, #1
  1052. 101 0028 CA61 str r2, [r1, #28]
  1053. 936:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #if defined(FLASH_BANK2_END)
  1054. 937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** flags |= FLASH_FLAG_PGERR | FLASH_FLAG_PGERR_BANK2;
  1055. 938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #else
  1056. 939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** flags |= FLASH_FLAG_PGERR;
  1057. 102 .loc 1 939 5 is_stmt 1 view .LVU21
  1058. 103 .loc 1 939 11 is_stmt 0 view .LVU22
  1059. 104 002a 43F00403 orr r3, r3, #4
  1060. 105 .LVL4:
  1061. 106 .L6:
  1062. 940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #endif /* FLASH_BANK2_END */
  1063. 941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1064. 942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_OPTVERR))
  1065. 107 .loc 1 942 3 is_stmt 1 view .LVU23
  1066. 108 .loc 1 942 6 is_stmt 0 view .LVU24
  1067. 109 002e 0E4A ldr r2, .L11
  1068. 110 0030 D269 ldr r2, [r2, #28]
  1069. 111 .loc 1 942 5 view .LVU25
  1070. 112 0032 12F0010F tst r2, #1
  1071. 113 0036 09D0 beq .L7
  1072. 943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1073. 944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.ErrorCode |= HAL_FLASH_ERROR_OPTV;
  1074. 114 .loc 1 944 5 is_stmt 1 view .LVU26
  1075. 115 .loc 1 944 22 is_stmt 0 view .LVU27
  1076. 116 0038 0C49 ldr r1, .L11+4
  1077. 117 003a CA69 ldr r2, [r1, #28]
  1078. 118 003c 42F00402 orr r2, r2, #4
  1079. 119 0040 CA61 str r2, [r1, #28]
  1080. 945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_OPTVERR);
  1081. 120 .loc 1 945 3 is_stmt 1 view .LVU28
  1082. 121 .loc 1 945 3 view .LVU29
  1083. 122 .loc 1 945 3 view .LVU30
  1084. 123 0042 0949 ldr r1, .L11
  1085. 124 0044 CA69 ldr r2, [r1, #28]
  1086. 125 0046 22F00102 bic r2, r2, #1
  1087. 126 004a CA61 str r2, [r1, #28]
  1088. 127 .L7:
  1089. 128 .loc 1 945 3 discriminator 4 view .LVU31
  1090. 946:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1091. 947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1092. 948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Clear FLASH error pending bits */
  1093. 949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** __HAL_FLASH_CLEAR_FLAG(flags);
  1094. 129 .loc 1 949 3 discriminator 4 view .LVU32
  1095. 130 .loc 1 949 3 discriminator 4 view .LVU33
  1096. 131 004c 40F20112 movw r2, #257
  1097. 132 0050 9342 cmp r3, r2
  1098. 133 0052 02D0 beq .L10
  1099. 134 .loc 1 949 3 discriminator 2 view .LVU34
  1100. 135 0054 044A ldr r2, .L11
  1101. 136 0056 D360 str r3, [r2, #12]
  1102. 137 .loc 1 949 3 discriminator 2 view .LVU35
  1103. ARM GAS /tmp/cc26Ml62.s page 20
  1104. 950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1105. 138 .loc 1 950 1 is_stmt 0 discriminator 2 view .LVU36
  1106. 139 0058 7047 bx lr
  1107. 140 .L10:
  1108. 949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1109. 141 .loc 1 949 3 is_stmt 1 discriminator 1 view .LVU37
  1110. 142 005a 034A ldr r2, .L11
  1111. 143 005c D369 ldr r3, [r2, #28]
  1112. 144 .LVL5:
  1113. 949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1114. 145 .loc 1 949 3 is_stmt 0 discriminator 1 view .LVU38
  1115. 146 005e 23F00103 bic r3, r3, #1
  1116. 147 0062 D361 str r3, [r2, #28]
  1117. 148 0064 7047 bx lr
  1118. 149 .L12:
  1119. 150 0066 00BF .align 2
  1120. 151 .L11:
  1121. 152 0068 00200240 .word 1073881088
  1122. 153 006c 00000000 .word .LANCHOR0
  1123. 154 .cfi_endproc
  1124. 155 .LFE78:
  1125. 157 .section .text.HAL_FLASH_Program_IT,"ax",%progbits
  1126. 158 .align 1
  1127. 159 .global HAL_FLASH_Program_IT
  1128. 160 .syntax unified
  1129. 161 .thumb
  1130. 162 .thumb_func
  1131. 164 HAL_FLASH_Program_IT:
  1132. 165 .LVL6:
  1133. 166 .LFB66:
  1134. 266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** HAL_StatusTypeDef status = HAL_OK;
  1135. 167 .loc 1 266 1 is_stmt 1 view -0
  1136. 168 .cfi_startproc
  1137. 169 @ args = 0, pretend = 0, frame = 0
  1138. 170 @ frame_needed = 0, uses_anonymous_args = 0
  1139. 266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** HAL_StatusTypeDef status = HAL_OK;
  1140. 171 .loc 1 266 1 is_stmt 0 view .LVU40
  1141. 172 0000 38B5 push {r3, r4, r5, lr}
  1142. 173 .LCFI0:
  1143. 174 .cfi_def_cfa_offset 16
  1144. 175 .cfi_offset 3, -16
  1145. 176 .cfi_offset 4, -12
  1146. 177 .cfi_offset 5, -8
  1147. 178 .cfi_offset 14, -4
  1148. 179 0002 1D46 mov r5, r3
  1149. 267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1150. 180 .loc 1 267 3 is_stmt 1 view .LVU41
  1151. 181 .LVL7:
  1152. 270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1153. 182 .loc 1 270 3 view .LVU42
  1154. 270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1155. 183 .loc 1 270 3 view .LVU43
  1156. 184 0004 174B ldr r3, .L22
  1157. 185 0006 1B7E ldrb r3, [r3, #24] @ zero_extendqisi2
  1158. 186 0008 012B cmp r3, #1
  1159. 187 000a 28D0 beq .L18
  1160. 188 000c 8446 mov ip, r0
  1161. ARM GAS /tmp/cc26Ml62.s page 21
  1162. 189 000e 0846 mov r0, r1
  1163. 190 .LVL8:
  1164. 270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1165. 191 .loc 1 270 3 is_stmt 0 view .LVU44
  1166. 192 0010 1446 mov r4, r2
  1167. 270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1168. 193 .loc 1 270 3 is_stmt 1 discriminator 2 view .LVU45
  1169. 194 0012 144B ldr r3, .L22
  1170. 195 0014 0122 movs r2, #1
  1171. 196 .LVL9:
  1172. 270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1173. 197 .loc 1 270 3 is_stmt 0 discriminator 2 view .LVU46
  1174. 198 0016 1A76 strb r2, [r3, #24]
  1175. 270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1176. 199 .loc 1 270 3 is_stmt 1 discriminator 2 view .LVU47
  1177. 273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS(Address));
  1178. 200 .loc 1 273 3 discriminator 2 view .LVU48
  1179. 274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1180. 201 .loc 1 274 3 discriminator 2 view .LVU49
  1181. 295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #endif /* FLASH_BANK2_END */
  1182. 202 .loc 1 295 3 discriminator 2 view .LVU50
  1183. 203 0018 1349 ldr r1, .L22+4
  1184. 204 .LVL10:
  1185. 295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #endif /* FLASH_BANK2_END */
  1186. 205 .loc 1 295 3 is_stmt 0 discriminator 2 view .LVU51
  1187. 206 001a 0A69 ldr r2, [r1, #16]
  1188. 207 001c 42F4A052 orr r2, r2, #5120
  1189. 208 0020 0A61 str r2, [r1, #16]
  1190. 298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.Data = Data;
  1191. 209 .loc 1 298 3 is_stmt 1 discriminator 2 view .LVU52
  1192. 298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.Data = Data;
  1193. 210 .loc 1 298 18 is_stmt 0 discriminator 2 view .LVU53
  1194. 211 0022 9860 str r0, [r3, #8]
  1195. 299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1196. 212 .loc 1 299 3 is_stmt 1 discriminator 2 view .LVU54
  1197. 299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1198. 213 .loc 1 299 15 is_stmt 0 discriminator 2 view .LVU55
  1199. 214 0024 C3E90445 strd r4, [r3, #16]
  1200. 301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1201. 215 .loc 1 301 3 is_stmt 1 discriminator 2 view .LVU56
  1202. 301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1203. 216 .loc 1 301 5 is_stmt 0 discriminator 2 view .LVU57
  1204. 217 0028 BCF1010F cmp ip, #1
  1205. 218 002c 0CD0 beq .L20
  1206. 307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1207. 219 .loc 1 307 8 is_stmt 1 view .LVU58
  1208. 307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1209. 220 .loc 1 307 10 is_stmt 0 view .LVU59
  1210. 221 002e BCF1020F cmp ip, #2
  1211. 222 0032 0ED0 beq .L21
  1212. 315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Program double word (64-bit : 4*16-bit) at a specified address. */
  1213. 223 .loc 1 315 5 is_stmt 1 view .LVU60
  1214. 315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Program double word (64-bit : 4*16-bit) at a specified address. */
  1215. 224 .loc 1 315 29 is_stmt 0 view .LVU61
  1216. 225 0034 0B4B ldr r3, .L22
  1217. 226 0036 0522 movs r2, #5
  1218. 227 0038 1A70 strb r2, [r3]
  1219. ARM GAS /tmp/cc26Ml62.s page 22
  1220. 317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1221. 228 .loc 1 317 5 is_stmt 1 view .LVU62
  1222. 317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1223. 229 .loc 1 317 26 is_stmt 0 view .LVU63
  1224. 230 003a 0422 movs r2, #4
  1225. 231 003c 5A60 str r2, [r3, #4]
  1226. 232 .L16:
  1227. 321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1228. 233 .loc 1 321 3 is_stmt 1 view .LVU64
  1229. 234 003e A1B2 uxth r1, r4
  1230. 235 0040 FFF7FEFF bl FLASH_Program_HalfWord
  1231. 236 .LVL11:
  1232. 323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1233. 237 .loc 1 323 3 view .LVU65
  1234. 323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1235. 238 .loc 1 323 10 is_stmt 0 view .LVU66
  1236. 239 0044 0020 movs r0, #0
  1237. 240 .L14:
  1238. 324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1239. 241 .loc 1 324 1 view .LVU67
  1240. 242 0046 38BD pop {r3, r4, r5, pc}
  1241. 243 .LVL12:
  1242. 244 .L20:
  1243. 303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Program halfword (16-bit) at a specified address. */
  1244. 245 .loc 1 303 5 is_stmt 1 view .LVU68
  1245. 303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Program halfword (16-bit) at a specified address. */
  1246. 246 .loc 1 303 29 is_stmt 0 view .LVU69
  1247. 247 0048 0322 movs r2, #3
  1248. 248 004a 1A70 strb r2, [r3]
  1249. 305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1250. 249 .loc 1 305 5 is_stmt 1 view .LVU70
  1251. 305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1252. 250 .loc 1 305 26 is_stmt 0 view .LVU71
  1253. 251 004c 0122 movs r2, #1
  1254. 252 004e 5A60 str r2, [r3, #4]
  1255. 253 0050 F5E7 b .L16
  1256. 254 .L21:
  1257. 309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Program word (32-bit : 2*16-bit) at a specified address. */
  1258. 255 .loc 1 309 5 is_stmt 1 view .LVU72
  1259. 309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Program word (32-bit : 2*16-bit) at a specified address. */
  1260. 256 .loc 1 309 29 is_stmt 0 view .LVU73
  1261. 257 0052 044B ldr r3, .L22
  1262. 258 0054 0422 movs r2, #4
  1263. 259 0056 1A70 strb r2, [r3]
  1264. 311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1265. 260 .loc 1 311 5 is_stmt 1 view .LVU74
  1266. 311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1267. 261 .loc 1 311 26 is_stmt 0 view .LVU75
  1268. 262 0058 0222 movs r2, #2
  1269. 263 005a 5A60 str r2, [r3, #4]
  1270. 264 005c EFE7 b .L16
  1271. 265 .LVL13:
  1272. 266 .L18:
  1273. 270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1274. 267 .loc 1 270 3 view .LVU76
  1275. 268 005e 0220 movs r0, #2
  1276. 269 .LVL14:
  1277. ARM GAS /tmp/cc26Ml62.s page 23
  1278. 270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1279. 270 .loc 1 270 3 view .LVU77
  1280. 271 0060 F1E7 b .L14
  1281. 272 .L23:
  1282. 273 0062 00BF .align 2
  1283. 274 .L22:
  1284. 275 0064 00000000 .word .LANCHOR0
  1285. 276 0068 00200240 .word 1073881088
  1286. 277 .cfi_endproc
  1287. 278 .LFE66:
  1288. 280 .section .text.HAL_FLASH_EndOfOperationCallback,"ax",%progbits
  1289. 281 .align 1
  1290. 282 .weak HAL_FLASH_EndOfOperationCallback
  1291. 283 .syntax unified
  1292. 284 .thumb
  1293. 285 .thumb_func
  1294. 287 HAL_FLASH_EndOfOperationCallback:
  1295. 288 .LVL15:
  1296. 289 .LFB68:
  1297. 605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Prevent unused argument(s) compilation warning */
  1298. 290 .loc 1 605 1 is_stmt 1 view -0
  1299. 291 .cfi_startproc
  1300. 292 @ args = 0, pretend = 0, frame = 0
  1301. 293 @ frame_needed = 0, uses_anonymous_args = 0
  1302. 294 @ link register save eliminated.
  1303. 607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1304. 295 .loc 1 607 3 view .LVU79
  1305. 612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1306. 296 .loc 1 612 1 is_stmt 0 view .LVU80
  1307. 297 0000 7047 bx lr
  1308. 298 .cfi_endproc
  1309. 299 .LFE68:
  1310. 301 .section .text.HAL_FLASH_OperationErrorCallback,"ax",%progbits
  1311. 302 .align 1
  1312. 303 .weak HAL_FLASH_OperationErrorCallback
  1313. 304 .syntax unified
  1314. 305 .thumb
  1315. 306 .thumb_func
  1316. 308 HAL_FLASH_OperationErrorCallback:
  1317. 309 .LVL16:
  1318. 310 .LFB69:
  1319. 623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Prevent unused argument(s) compilation warning */
  1320. 311 .loc 1 623 1 is_stmt 1 view -0
  1321. 312 .cfi_startproc
  1322. 313 @ args = 0, pretend = 0, frame = 0
  1323. 314 @ frame_needed = 0, uses_anonymous_args = 0
  1324. 315 @ link register save eliminated.
  1325. 625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1326. 316 .loc 1 625 3 view .LVU82
  1327. 630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1328. 317 .loc 1 630 1 is_stmt 0 view .LVU83
  1329. 318 0000 7047 bx lr
  1330. 319 .cfi_endproc
  1331. 320 .LFE69:
  1332. 322 .section .text.HAL_FLASH_IRQHandler,"ax",%progbits
  1333. 323 .align 1
  1334. 324 .global HAL_FLASH_IRQHandler
  1335. ARM GAS /tmp/cc26Ml62.s page 24
  1336. 325 .syntax unified
  1337. 326 .thumb
  1338. 327 .thumb_func
  1339. 329 HAL_FLASH_IRQHandler:
  1340. 330 .LFB67:
  1341. 331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** uint32_t addresstmp = 0U;
  1342. 331 .loc 1 331 1 is_stmt 1 view -0
  1343. 332 .cfi_startproc
  1344. 333 @ args = 0, pretend = 0, frame = 0
  1345. 334 @ frame_needed = 0, uses_anonymous_args = 0
  1346. 335 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
  1347. 336 .LCFI1:
  1348. 337 .cfi_def_cfa_offset 24
  1349. 338 .cfi_offset 3, -24
  1350. 339 .cfi_offset 4, -20
  1351. 340 .cfi_offset 5, -16
  1352. 341 .cfi_offset 6, -12
  1353. 342 .cfi_offset 7, -8
  1354. 343 .cfi_offset 14, -4
  1355. 332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1356. 344 .loc 1 332 3 view .LVU85
  1357. 345 .LVL17:
  1358. 339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #endif /* FLASH_BANK2_END */
  1359. 346 .loc 1 339 3 view .LVU86
  1360. 339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #endif /* FLASH_BANK2_END */
  1361. 347 .loc 1 339 6 is_stmt 0 view .LVU87
  1362. 348 0002 524B ldr r3, .L44
  1363. 349 0004 DB68 ldr r3, [r3, #12]
  1364. 339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #endif /* FLASH_BANK2_END */
  1365. 350 .loc 1 339 5 view .LVU88
  1366. 351 0006 13F0100F tst r3, #16
  1367. 352 000a 04D1 bne .L27
  1368. 339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #endif /* FLASH_BANK2_END */
  1369. 353 .loc 1 339 48 discriminator 1 view .LVU89
  1370. 354 000c 4F4B ldr r3, .L44
  1371. 355 000e DB68 ldr r3, [r3, #12]
  1372. 339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #endif /* FLASH_BANK2_END */
  1373. 356 .loc 1 339 46 discriminator 1 view .LVU90
  1374. 357 0010 13F0040F tst r3, #4
  1375. 358 0014 0BD0 beq .L28
  1376. 359 .L27:
  1377. 343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Reset address */
  1378. 360 .loc 1 343 5 is_stmt 1 view .LVU91
  1379. 343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Reset address */
  1380. 361 .loc 1 343 16 is_stmt 0 view .LVU92
  1381. 362 0016 4E4C ldr r4, .L44+4
  1382. 363 0018 A568 ldr r5, [r4, #8]
  1383. 364 .LVL18:
  1384. 345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1385. 365 .loc 1 345 5 is_stmt 1 view .LVU93
  1386. 345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1387. 366 .loc 1 345 20 is_stmt 0 view .LVU94
  1388. 367 001a 4FF0FF33 mov r3, #-1
  1389. 368 001e A360 str r3, [r4, #8]
  1390. 348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1391. 369 .loc 1 348 5 is_stmt 1 view .LVU95
  1392. 370 0020 FFF7FEFF bl FLASH_SetErrorCode
  1393. ARM GAS /tmp/cc26Ml62.s page 25
  1394. 371 .LVL19:
  1395. 351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1396. 372 .loc 1 351 5 view .LVU96
  1397. 373 0024 2846 mov r0, r5
  1398. 374 0026 FFF7FEFF bl HAL_FLASH_OperationErrorCallback
  1399. 375 .LVL20:
  1400. 354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1401. 376 .loc 1 354 5 view .LVU97
  1402. 354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1403. 377 .loc 1 354 29 is_stmt 0 view .LVU98
  1404. 378 002a 0023 movs r3, #0
  1405. 379 002c 2370 strb r3, [r4]
  1406. 380 .LVL21:
  1407. 381 .L28:
  1408. 364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1409. 382 .loc 1 364 3 is_stmt 1 view .LVU99
  1410. 364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1411. 383 .loc 1 364 6 is_stmt 0 view .LVU100
  1412. 384 002e 474B ldr r3, .L44
  1413. 385 0030 DB68 ldr r3, [r3, #12]
  1414. 364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1415. 386 .loc 1 364 5 view .LVU101
  1416. 387 0032 13F0200F tst r3, #32
  1417. 388 0036 2BD0 beq .L29
  1418. 367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #endif /* FLASH_BANK2_END */
  1419. 389 .loc 1 367 5 is_stmt 1 discriminator 2 view .LVU102
  1420. 367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #endif /* FLASH_BANK2_END */
  1421. 390 .loc 1 367 5 discriminator 2 view .LVU103
  1422. 367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #endif /* FLASH_BANK2_END */
  1423. 391 .loc 1 367 5 discriminator 2 view .LVU104
  1424. 392 0038 444B ldr r3, .L44
  1425. 393 003a 2022 movs r2, #32
  1426. 394 003c DA60 str r2, [r3, #12]
  1427. 367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #endif /* FLASH_BANK2_END */
  1428. 395 .loc 1 367 5 discriminator 2 view .LVU105
  1429. 371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1430. 396 .loc 1 371 5 discriminator 2 view .LVU106
  1431. 371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1432. 397 .loc 1 371 14 is_stmt 0 discriminator 2 view .LVU107
  1433. 398 003e 444B ldr r3, .L44+4
  1434. 399 0040 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1435. 371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1436. 400 .loc 1 371 7 discriminator 2 view .LVU108
  1437. 401 0042 2BB3 cbz r3, .L29
  1438. 373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1439. 402 .loc 1 373 7 is_stmt 1 view .LVU109
  1440. 373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1441. 403 .loc 1 373 16 is_stmt 0 view .LVU110
  1442. 404 0044 424B ldr r3, .L44+4
  1443. 405 0046 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1444. 406 0048 DBB2 uxtb r3, r3
  1445. 373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1446. 407 .loc 1 373 9 view .LVU111
  1447. 408 004a 012B cmp r3, #1
  1448. 409 004c 30D0 beq .L39
  1449. 404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1450. 410 .loc 1 404 12 is_stmt 1 view .LVU112
  1451. ARM GAS /tmp/cc26Ml62.s page 26
  1452. 404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1453. 411 .loc 1 404 21 is_stmt 0 view .LVU113
  1454. 412 004e 404B ldr r3, .L44+4
  1455. 413 0050 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1456. 414 0052 DBB2 uxtb r3, r3
  1457. 404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1458. 415 .loc 1 404 14 view .LVU114
  1459. 416 0054 022B cmp r3, #2
  1460. 417 0056 4AD0 beq .L40
  1461. 427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1462. 418 .loc 1 427 9 is_stmt 1 view .LVU115
  1463. 427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1464. 419 .loc 1 427 15 is_stmt 0 view .LVU116
  1465. 420 0058 3D4B ldr r3, .L44+4
  1466. 421 005a 5A68 ldr r2, [r3, #4]
  1467. 427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1468. 422 .loc 1 427 29 view .LVU117
  1469. 423 005c 013A subs r2, r2, #1
  1470. 424 005e 5A60 str r2, [r3, #4]
  1471. 430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1472. 425 .loc 1 430 9 is_stmt 1 view .LVU118
  1473. 430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1474. 426 .loc 1 430 18 is_stmt 0 view .LVU119
  1475. 427 0060 5B68 ldr r3, [r3, #4]
  1476. 430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1477. 428 .loc 1 430 11 view .LVU120
  1478. 429 0062 002B cmp r3, #0
  1479. 430 0064 4FD1 bne .L41
  1480. 449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1481. 431 .loc 1 449 11 is_stmt 1 view .LVU121
  1482. 449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1483. 432 .loc 1 449 21 is_stmt 0 view .LVU122
  1484. 433 0066 3A4B ldr r3, .L44+4
  1485. 434 0068 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1486. 435 006a DBB2 uxtb r3, r3
  1487. 449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1488. 436 .loc 1 449 14 view .LVU123
  1489. 437 006c 032B cmp r3, #3
  1490. 438 006e 62D0 beq .L42
  1491. 453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1492. 439 .loc 1 453 16 is_stmt 1 view .LVU124
  1493. 453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1494. 440 .loc 1 453 26 is_stmt 0 view .LVU125
  1495. 441 0070 374B ldr r3, .L44+4
  1496. 442 0072 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1497. 443 0074 DBB2 uxtb r3, r3
  1498. 453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1499. 444 .loc 1 453 19 view .LVU126
  1500. 445 0076 042B cmp r3, #4
  1501. 446 0078 62D0 beq .L43
  1502. 459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1503. 447 .loc 1 459 13 is_stmt 1 view .LVU127
  1504. 459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1505. 448 .loc 1 459 52 is_stmt 0 view .LVU128
  1506. 449 007a 354B ldr r3, .L44+4
  1507. 450 007c 9868 ldr r0, [r3, #8]
  1508. 459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1509. ARM GAS /tmp/cc26Ml62.s page 27
  1510. 451 .loc 1 459 13 view .LVU129
  1511. 452 007e 0638 subs r0, r0, #6
  1512. 453 0080 FFF7FEFF bl HAL_FLASH_EndOfOperationCallback
  1513. 454 .LVL22:
  1514. 455 .L35:
  1515. 463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
  1516. 456 .loc 1 463 11 is_stmt 1 view .LVU130
  1517. 463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
  1518. 457 .loc 1 463 26 is_stmt 0 view .LVU131
  1519. 458 0084 324B ldr r3, .L44+4
  1520. 459 0086 4FF0FF32 mov r2, #-1
  1521. 460 008a 9A60 str r2, [r3, #8]
  1522. 464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1523. 461 .loc 1 464 11 is_stmt 1 view .LVU132
  1524. 464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1525. 462 .loc 1 464 35 is_stmt 0 view .LVU133
  1526. 463 008c 0022 movs r2, #0
  1527. 464 008e 1A70 strb r2, [r3]
  1528. 465 .L29:
  1529. 573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1530. 466 .loc 1 573 3 is_stmt 1 view .LVU134
  1531. 573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1532. 467 .loc 1 573 12 is_stmt 0 view .LVU135
  1533. 468 0090 2F4B ldr r3, .L44+4
  1534. 469 0092 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1535. 573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1536. 470 .loc 1 573 5 view .LVU136
  1537. 471 0094 5BB9 cbnz r3, .L26
  1538. 584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1539. 472 .loc 1 584 5 is_stmt 1 view .LVU137
  1540. 473 0096 2D4B ldr r3, .L44
  1541. 474 0098 1A69 ldr r2, [r3, #16]
  1542. 475 009a 22F00702 bic r2, r2, #7
  1543. 476 009e 1A61 str r2, [r3, #16]
  1544. 587:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #endif /* FLASH_BANK2_END */
  1545. 477 .loc 1 587 5 view .LVU138
  1546. 478 00a0 1A69 ldr r2, [r3, #16]
  1547. 479 00a2 22F4A052 bic r2, r2, #5120
  1548. 480 00a6 1A61 str r2, [r3, #16]
  1549. 591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1550. 481 .loc 1 591 5 view .LVU139
  1551. 591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1552. 482 .loc 1 591 5 view .LVU140
  1553. 483 00a8 294B ldr r3, .L44+4
  1554. 484 00aa 0022 movs r2, #0
  1555. 485 00ac 1A76 strb r2, [r3, #24]
  1556. 591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1557. 486 .loc 1 591 5 view .LVU141
  1558. 487 .L26:
  1559. 593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1560. 488 .loc 1 593 1 is_stmt 0 view .LVU142
  1561. 489 00ae F8BD pop {r3, r4, r5, r6, r7, pc}
  1562. 490 .L39:
  1563. 376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1564. 491 .loc 1 376 9 is_stmt 1 view .LVU143
  1565. 376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1566. 492 .loc 1 376 15 is_stmt 0 view .LVU144
  1567. ARM GAS /tmp/cc26Ml62.s page 28
  1568. 493 00b0 274B ldr r3, .L44+4
  1569. 494 00b2 5A68 ldr r2, [r3, #4]
  1570. 376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1571. 495 .loc 1 376 29 view .LVU145
  1572. 496 00b4 013A subs r2, r2, #1
  1573. 497 00b6 5A60 str r2, [r3, #4]
  1574. 379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1575. 498 .loc 1 379 9 is_stmt 1 view .LVU146
  1576. 379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1577. 499 .loc 1 379 18 is_stmt 0 view .LVU147
  1578. 500 00b8 5B68 ldr r3, [r3, #4]
  1579. 379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1580. 501 .loc 1 379 11 view .LVU148
  1581. 502 00ba 7BB1 cbz r3, .L31
  1582. 381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /*Indicate user which sector has been erased */
  1583. 503 .loc 1 381 11 is_stmt 1 view .LVU149
  1584. 381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /*Indicate user which sector has been erased */
  1585. 504 .loc 1 381 22 is_stmt 0 view .LVU150
  1586. 505 00bc 244C ldr r4, .L44+4
  1587. 506 00be A068 ldr r0, [r4, #8]
  1588. 507 .LVL23:
  1589. 383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1590. 508 .loc 1 383 11 is_stmt 1 view .LVU151
  1591. 509 00c0 FFF7FEFF bl HAL_FLASH_EndOfOperationCallback
  1592. 510 .LVL24:
  1593. 386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.Address = addresstmp;
  1594. 511 .loc 1 386 11 view .LVU152
  1595. 386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.Address = addresstmp;
  1596. 512 .loc 1 386 30 is_stmt 0 view .LVU153
  1597. 513 00c4 A068 ldr r0, [r4, #8]
  1598. 386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.Address = addresstmp;
  1599. 514 .loc 1 386 22 view .LVU154
  1600. 515 00c6 00F58060 add r0, r0, #1024
  1601. 516 .LVL25:
  1602. 387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1603. 517 .loc 1 387 11 is_stmt 1 view .LVU155
  1604. 387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1605. 518 .loc 1 387 26 is_stmt 0 view .LVU156
  1606. 519 00ca A060 str r0, [r4, #8]
  1607. 390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1608. 520 .loc 1 390 11 is_stmt 1 view .LVU157
  1609. 521 00cc 1F4A ldr r2, .L44
  1610. 522 00ce 1369 ldr r3, [r2, #16]
  1611. 523 00d0 23F00203 bic r3, r3, #2
  1612. 524 00d4 1361 str r3, [r2, #16]
  1613. 392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1614. 525 .loc 1 392 11 view .LVU158
  1615. 526 00d6 FFF7FEFF bl FLASH_PageErase
  1616. 527 .LVL26:
  1617. 392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1618. 528 .loc 1 392 11 is_stmt 0 view .LVU159
  1619. 529 00da D9E7 b .L29
  1620. 530 .L31:
  1621. 398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
  1622. 531 .loc 1 398 11 is_stmt 1 view .LVU160
  1623. 532 .LVL27:
  1624. 398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
  1625. ARM GAS /tmp/cc26Ml62.s page 29
  1626. 533 .loc 1 398 26 is_stmt 0 view .LVU161
  1627. 534 00dc 1C4B ldr r3, .L44+4
  1628. 535 00de 4FF0FF30 mov r0, #-1
  1629. 536 00e2 9860 str r0, [r3, #8]
  1630. 399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* FLASH EOP interrupt user callback */
  1631. 537 .loc 1 399 11 is_stmt 1 view .LVU162
  1632. 399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* FLASH EOP interrupt user callback */
  1633. 538 .loc 1 399 35 is_stmt 0 view .LVU163
  1634. 539 00e4 0022 movs r2, #0
  1635. 540 00e6 1A70 strb r2, [r3]
  1636. 401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1637. 541 .loc 1 401 11 is_stmt 1 view .LVU164
  1638. 542 00e8 FFF7FEFF bl HAL_FLASH_EndOfOperationCallback
  1639. 543 .LVL28:
  1640. 544 00ec D0E7 b .L29
  1641. 545 .LVL29:
  1642. 546 .L40:
  1643. 407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1644. 547 .loc 1 407 9 view .LVU165
  1645. 548 00ee 174A ldr r2, .L44
  1646. 549 00f0 1369 ldr r3, [r2, #16]
  1647. 550 00f2 23F00403 bic r3, r3, #4
  1648. 551 00f6 1361 str r3, [r2, #16]
  1649. 416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1650. 552 .loc 1 416 11 view .LVU166
  1651. 553 00f8 0020 movs r0, #0
  1652. 554 00fa FFF7FEFF bl HAL_FLASH_EndOfOperationCallback
  1653. 555 .LVL30:
  1654. 419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1655. 556 .loc 1 419 11 view .LVU167
  1656. 419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1657. 557 .loc 1 419 35 is_stmt 0 view .LVU168
  1658. 558 00fe 144B ldr r3, .L44+4
  1659. 559 0100 0022 movs r2, #0
  1660. 560 0102 1A70 strb r2, [r3]
  1661. 561 0104 C4E7 b .L29
  1662. 562 .L41:
  1663. 433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** addresstmp = pFlash.Address;
  1664. 563 .loc 1 433 11 is_stmt 1 view .LVU169
  1665. 433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** addresstmp = pFlash.Address;
  1666. 564 .loc 1 433 26 is_stmt 0 view .LVU170
  1667. 565 0106 124B ldr r3, .L44+4
  1668. 566 0108 9A68 ldr r2, [r3, #8]
  1669. 567 010a 0232 adds r2, r2, #2
  1670. 568 010c 9A60 str r2, [r3, #8]
  1671. 434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1672. 569 .loc 1 434 11 is_stmt 1 view .LVU171
  1673. 434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1674. 570 .loc 1 434 22 is_stmt 0 view .LVU172
  1675. 571 010e 9868 ldr r0, [r3, #8]
  1676. 572 .LVL31:
  1677. 437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1678. 573 .loc 1 437 11 is_stmt 1 view .LVU173
  1679. 437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1680. 574 .loc 1 437 32 is_stmt 0 view .LVU174
  1681. 575 0110 D3E90467 ldrd r6, [r3, #16]
  1682. 437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1683. ARM GAS /tmp/cc26Ml62.s page 30
  1684. 576 .loc 1 437 38 view .LVU175
  1685. 577 0114 340C lsrs r4, r6, #16
  1686. 578 0116 44EA0744 orr r4, r4, r7, lsl #16
  1687. 579 011a 3D0C lsrs r5, r7, #16
  1688. 437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1689. 580 .loc 1 437 23 view .LVU176
  1690. 581 011c C3E90445 strd r4, [r3, #16]
  1691. 440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1692. 582 .loc 1 440 11 is_stmt 1 view .LVU177
  1693. 583 0120 0A49 ldr r1, .L44
  1694. 584 0122 0A69 ldr r2, [r1, #16]
  1695. 585 0124 22F00102 bic r2, r2, #1
  1696. 586 0128 0A61 str r2, [r1, #16]
  1697. 443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1698. 587 .loc 1 443 11 view .LVU178
  1699. 443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1700. 588 .loc 1 443 62 is_stmt 0 view .LVU179
  1701. 589 012a D3E90423 ldrd r2, [r3, #16]
  1702. 443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1703. 590 .loc 1 443 11 view .LVU180
  1704. 591 012e 91B2 uxth r1, r2
  1705. 592 0130 FFF7FEFF bl FLASH_Program_HalfWord
  1706. 593 .LVL32:
  1707. 443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1708. 594 .loc 1 443 11 view .LVU181
  1709. 595 0134 ACE7 b .L29
  1710. 596 .L42:
  1711. 451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1712. 597 .loc 1 451 13 is_stmt 1 view .LVU182
  1713. 598 0136 064B ldr r3, .L44+4
  1714. 599 0138 9868 ldr r0, [r3, #8]
  1715. 600 013a FFF7FEFF bl HAL_FLASH_EndOfOperationCallback
  1716. 601 .LVL33:
  1717. 602 013e A1E7 b .L35
  1718. 603 .L43:
  1719. 455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1720. 604 .loc 1 455 13 view .LVU183
  1721. 455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1722. 605 .loc 1 455 52 is_stmt 0 view .LVU184
  1723. 606 0140 034B ldr r3, .L44+4
  1724. 607 0142 9868 ldr r0, [r3, #8]
  1725. 455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1726. 608 .loc 1 455 13 view .LVU185
  1727. 609 0144 0238 subs r0, r0, #2
  1728. 610 0146 FFF7FEFF bl HAL_FLASH_EndOfOperationCallback
  1729. 611 .LVL34:
  1730. 612 014a 9BE7 b .L35
  1731. 613 .L45:
  1732. 614 .align 2
  1733. 615 .L44:
  1734. 616 014c 00200240 .word 1073881088
  1735. 617 0150 00000000 .word .LANCHOR0
  1736. 618 .cfi_endproc
  1737. 619 .LFE67:
  1738. 621 .section .text.HAL_FLASH_Unlock,"ax",%progbits
  1739. 622 .align 1
  1740. 623 .global HAL_FLASH_Unlock
  1741. ARM GAS /tmp/cc26Ml62.s page 31
  1742. 624 .syntax unified
  1743. 625 .thumb
  1744. 626 .thumb_func
  1745. 628 HAL_FLASH_Unlock:
  1746. 629 .LFB70:
  1747. 656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** HAL_StatusTypeDef status = HAL_OK;
  1748. 630 .loc 1 656 1 is_stmt 1 view -0
  1749. 631 .cfi_startproc
  1750. 632 @ args = 0, pretend = 0, frame = 0
  1751. 633 @ frame_needed = 0, uses_anonymous_args = 0
  1752. 634 @ link register save eliminated.
  1753. 657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1754. 635 .loc 1 657 3 view .LVU187
  1755. 636 .LVL35:
  1756. 659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1757. 637 .loc 1 659 3 view .LVU188
  1758. 659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1759. 638 .loc 1 659 6 is_stmt 0 view .LVU189
  1760. 639 0000 0A4B ldr r3, .L50
  1761. 640 0002 1B69 ldr r3, [r3, #16]
  1762. 659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1763. 641 .loc 1 659 5 view .LVU190
  1764. 642 0004 13F0800F tst r3, #128
  1765. 643 0008 0BD0 beq .L48
  1766. 662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** WRITE_REG(FLASH->KEYR, FLASH_KEY2);
  1767. 644 .loc 1 662 5 is_stmt 1 view .LVU191
  1768. 645 000a 084B ldr r3, .L50
  1769. 646 000c 084A ldr r2, .L50+4
  1770. 647 000e 5A60 str r2, [r3, #4]
  1771. 663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1772. 648 .loc 1 663 5 view .LVU192
  1773. 649 0010 02F18832 add r2, r2, #-2004318072
  1774. 650 0014 5A60 str r2, [r3, #4]
  1775. 666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1776. 651 .loc 1 666 5 view .LVU193
  1777. 666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1778. 652 .loc 1 666 8 is_stmt 0 view .LVU194
  1779. 653 0016 1B69 ldr r3, [r3, #16]
  1780. 666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1781. 654 .loc 1 666 7 view .LVU195
  1782. 655 0018 13F0800F tst r3, #128
  1783. 656 001c 03D1 bne .L49
  1784. 657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1785. 657 .loc 1 657 21 view .LVU196
  1786. 658 001e 0020 movs r0, #0
  1787. 659 0020 7047 bx lr
  1788. 660 .L48:
  1789. 661 0022 0020 movs r0, #0
  1790. 662 0024 7047 bx lr
  1791. 663 .L49:
  1792. 668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1793. 664 .loc 1 668 14 view .LVU197
  1794. 665 0026 0120 movs r0, #1
  1795. 666 .LVL36:
  1796. 686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1797. 667 .loc 1 686 3 is_stmt 1 view .LVU198
  1798. 687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1799. ARM GAS /tmp/cc26Ml62.s page 32
  1800. 668 .loc 1 687 1 is_stmt 0 view .LVU199
  1801. 669 0028 7047 bx lr
  1802. 670 .L51:
  1803. 671 002a 00BF .align 2
  1804. 672 .L50:
  1805. 673 002c 00200240 .word 1073881088
  1806. 674 0030 23016745 .word 1164378403
  1807. 675 .cfi_endproc
  1808. 676 .LFE70:
  1809. 678 .section .text.HAL_FLASH_Lock,"ax",%progbits
  1810. 679 .align 1
  1811. 680 .global HAL_FLASH_Lock
  1812. 681 .syntax unified
  1813. 682 .thumb
  1814. 683 .thumb_func
  1815. 685 HAL_FLASH_Lock:
  1816. 686 .LFB71:
  1817. 694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Set the LOCK Bit to lock the FLASH Registers access */
  1818. 687 .loc 1 694 1 is_stmt 1 view -0
  1819. 688 .cfi_startproc
  1820. 689 @ args = 0, pretend = 0, frame = 0
  1821. 690 @ frame_needed = 0, uses_anonymous_args = 0
  1822. 691 @ link register save eliminated.
  1823. 696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1824. 692 .loc 1 696 3 view .LVU201
  1825. 693 0000 034A ldr r2, .L53
  1826. 694 0002 1369 ldr r3, [r2, #16]
  1827. 695 0004 43F08003 orr r3, r3, #128
  1828. 696 0008 1361 str r3, [r2, #16]
  1829. 703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1830. 697 .loc 1 703 3 view .LVU202
  1831. 704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1832. 698 .loc 1 704 1 is_stmt 0 view .LVU203
  1833. 699 000a 0020 movs r0, #0
  1834. 700 000c 7047 bx lr
  1835. 701 .L54:
  1836. 702 000e 00BF .align 2
  1837. 703 .L53:
  1838. 704 0010 00200240 .word 1073881088
  1839. 705 .cfi_endproc
  1840. 706 .LFE71:
  1841. 708 .section .text.HAL_FLASH_OB_Unlock,"ax",%progbits
  1842. 709 .align 1
  1843. 710 .global HAL_FLASH_OB_Unlock
  1844. 711 .syntax unified
  1845. 712 .thumb
  1846. 713 .thumb_func
  1847. 715 HAL_FLASH_OB_Unlock:
  1848. 716 .LFB72:
  1849. 711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** if (HAL_IS_BIT_CLR(FLASH->CR, FLASH_CR_OPTWRE))
  1850. 717 .loc 1 711 1 is_stmt 1 view -0
  1851. 718 .cfi_startproc
  1852. 719 @ args = 0, pretend = 0, frame = 0
  1853. 720 @ frame_needed = 0, uses_anonymous_args = 0
  1854. 721 @ link register save eliminated.
  1855. 712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1856. 722 .loc 1 712 3 view .LVU205
  1857. ARM GAS /tmp/cc26Ml62.s page 33
  1858. 712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1859. 723 .loc 1 712 7 is_stmt 0 view .LVU206
  1860. 724 0000 074B ldr r3, .L58
  1861. 725 0002 1B69 ldr r3, [r3, #16]
  1862. 712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  1863. 726 .loc 1 712 6 view .LVU207
  1864. 727 0004 13F4007F tst r3, #512
  1865. 728 0008 07D1 bne .L57
  1866. 715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** WRITE_REG(FLASH->OPTKEYR, FLASH_OPTKEY2);
  1867. 729 .loc 1 715 5 is_stmt 1 view .LVU208
  1868. 730 000a 054B ldr r3, .L58
  1869. 731 000c 054A ldr r2, .L58+4
  1870. 732 000e 9A60 str r2, [r3, #8]
  1871. 716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1872. 733 .loc 1 716 5 view .LVU209
  1873. 734 0010 02F18832 add r2, r2, #-2004318072
  1874. 735 0014 9A60 str r2, [r3, #8]
  1875. 723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1876. 736 .loc 1 723 3 view .LVU210
  1877. 723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1878. 737 .loc 1 723 10 is_stmt 0 view .LVU211
  1879. 738 0016 0020 movs r0, #0
  1880. 739 0018 7047 bx lr
  1881. 740 .L57:
  1882. 720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1883. 741 .loc 1 720 12 view .LVU212
  1884. 742 001a 0120 movs r0, #1
  1885. 724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1886. 743 .loc 1 724 1 view .LVU213
  1887. 744 001c 7047 bx lr
  1888. 745 .L59:
  1889. 746 001e 00BF .align 2
  1890. 747 .L58:
  1891. 748 0020 00200240 .word 1073881088
  1892. 749 0024 23016745 .word 1164378403
  1893. 750 .cfi_endproc
  1894. 751 .LFE72:
  1895. 753 .section .text.HAL_FLASH_OB_Lock,"ax",%progbits
  1896. 754 .align 1
  1897. 755 .global HAL_FLASH_OB_Lock
  1898. 756 .syntax unified
  1899. 757 .thumb
  1900. 758 .thumb_func
  1901. 760 HAL_FLASH_OB_Lock:
  1902. 761 .LFB73:
  1903. 731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Clear the OPTWRE Bit to lock the FLASH Option Byte Registers access */
  1904. 762 .loc 1 731 1 is_stmt 1 view -0
  1905. 763 .cfi_startproc
  1906. 764 @ args = 0, pretend = 0, frame = 0
  1907. 765 @ frame_needed = 0, uses_anonymous_args = 0
  1908. 766 @ link register save eliminated.
  1909. 733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1910. 767 .loc 1 733 3 view .LVU215
  1911. 768 0000 034A ldr r2, .L61
  1912. 769 0002 1369 ldr r3, [r2, #16]
  1913. 770 0004 23F40073 bic r3, r3, #512
  1914. 771 0008 1361 str r3, [r2, #16]
  1915. ARM GAS /tmp/cc26Ml62.s page 34
  1916. 735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1917. 772 .loc 1 735 3 view .LVU216
  1918. 736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1919. 773 .loc 1 736 1 is_stmt 0 view .LVU217
  1920. 774 000a 0020 movs r0, #0
  1921. 775 000c 7047 bx lr
  1922. 776 .L62:
  1923. 777 000e 00BF .align 2
  1924. 778 .L61:
  1925. 779 0010 00200240 .word 1073881088
  1926. 780 .cfi_endproc
  1927. 781 .LFE73:
  1928. 783 .section .text.HAL_FLASH_OB_Launch,"ax",%progbits
  1929. 784 .align 1
  1930. 785 .global HAL_FLASH_OB_Launch
  1931. 786 .syntax unified
  1932. 787 .thumb
  1933. 788 .thumb_func
  1934. 790 HAL_FLASH_OB_Launch:
  1935. 791 .LFB74:
  1936. 744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Initiates a system reset request to launch the option byte loading */
  1937. 792 .loc 1 744 1 is_stmt 1 view -0
  1938. 793 .cfi_startproc
  1939. 794 @ args = 0, pretend = 0, frame = 0
  1940. 795 @ frame_needed = 0, uses_anonymous_args = 0
  1941. 796 0000 08B5 push {r3, lr}
  1942. 797 .LCFI2:
  1943. 798 .cfi_def_cfa_offset 8
  1944. 799 .cfi_offset 3, -8
  1945. 800 .cfi_offset 14, -4
  1946. 746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1947. 801 .loc 1 746 3 view .LVU219
  1948. 802 0002 FFF7FEFF bl HAL_NVIC_SystemReset
  1949. 803 .LVL37:
  1950. 747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1951. 804 .loc 1 747 1 is_stmt 0 view .LVU220
  1952. 805 0006 08BD pop {r3, pc}
  1953. 806 .cfi_endproc
  1954. 807 .LFE74:
  1955. 809 .section .text.HAL_FLASH_GetError,"ax",%progbits
  1956. 810 .align 1
  1957. 811 .global HAL_FLASH_GetError
  1958. 812 .syntax unified
  1959. 813 .thumb
  1960. 814 .thumb_func
  1961. 816 HAL_FLASH_GetError:
  1962. 817 .LFB75:
  1963. 773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** return pFlash.ErrorCode;
  1964. 818 .loc 1 773 1 is_stmt 1 view -0
  1965. 819 .cfi_startproc
  1966. 820 @ args = 0, pretend = 0, frame = 0
  1967. 821 @ frame_needed = 0, uses_anonymous_args = 0
  1968. 822 @ link register save eliminated.
  1969. 774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1970. 823 .loc 1 774 4 view .LVU222
  1971. 774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  1972. 824 .loc 1 774 17 is_stmt 0 view .LVU223
  1973. ARM GAS /tmp/cc26Ml62.s page 35
  1974. 825 0000 014B ldr r3, .L66
  1975. 826 0002 D869 ldr r0, [r3, #28]
  1976. 775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  1977. 827 .loc 1 775 1 view .LVU224
  1978. 828 0004 7047 bx lr
  1979. 829 .L67:
  1980. 830 0006 00BF .align 2
  1981. 831 .L66:
  1982. 832 0008 00000000 .word .LANCHOR0
  1983. 833 .cfi_endproc
  1984. 834 .LFE75:
  1985. 836 .section .text.FLASH_WaitForLastOperation,"ax",%progbits
  1986. 837 .align 1
  1987. 838 .global FLASH_WaitForLastOperation
  1988. 839 .syntax unified
  1989. 840 .thumb
  1990. 841 .thumb_func
  1991. 843 FLASH_WaitForLastOperation:
  1992. 844 .LVL38:
  1993. 845 .LFB77:
  1994. 825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Wait for the FLASH operation to complete by polling on BUSY flag to be reset.
  1995. 846 .loc 1 825 1 is_stmt 1 view -0
  1996. 847 .cfi_startproc
  1997. 848 @ args = 0, pretend = 0, frame = 0
  1998. 849 @ frame_needed = 0, uses_anonymous_args = 0
  1999. 825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** /* Wait for the FLASH operation to complete by polling on BUSY flag to be reset.
  2000. 850 .loc 1 825 1 is_stmt 0 view .LVU226
  2001. 851 0000 38B5 push {r3, r4, r5, lr}
  2002. 852 .LCFI3:
  2003. 853 .cfi_def_cfa_offset 16
  2004. 854 .cfi_offset 3, -16
  2005. 855 .cfi_offset 4, -12
  2006. 856 .cfi_offset 5, -8
  2007. 857 .cfi_offset 14, -4
  2008. 858 0002 0446 mov r4, r0
  2009. 830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  2010. 859 .loc 1 830 3 is_stmt 1 view .LVU227
  2011. 830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  2012. 860 .loc 1 830 24 is_stmt 0 view .LVU228
  2013. 861 0004 FFF7FEFF bl HAL_GetTick
  2014. 862 .LVL39:
  2015. 830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  2016. 863 .loc 1 830 24 view .LVU229
  2017. 864 0008 0546 mov r5, r0
  2018. 865 .LVL40:
  2019. 832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  2020. 866 .loc 1 832 3 is_stmt 1 view .LVU230
  2021. 867 .L70:
  2022. 832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  2023. 868 .loc 1 832 8 view .LVU231
  2024. 832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  2025. 869 .loc 1 832 9 is_stmt 0 view .LVU232
  2026. 870 000a 164B ldr r3, .L79
  2027. 871 000c DB68 ldr r3, [r3, #12]
  2028. 832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  2029. 872 .loc 1 832 8 view .LVU233
  2030. 873 000e 13F0010F tst r3, #1
  2031. ARM GAS /tmp/cc26Ml62.s page 36
  2032. 874 0012 0AD0 beq .L78
  2033. 834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  2034. 875 .loc 1 834 5 is_stmt 1 view .LVU234
  2035. 834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  2036. 876 .loc 1 834 8 is_stmt 0 view .LVU235
  2037. 877 0014 B4F1FF3F cmp r4, #-1
  2038. 878 0018 F7D0 beq .L70
  2039. 836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  2040. 879 .loc 1 836 7 is_stmt 1 view .LVU236
  2041. 836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  2042. 880 .loc 1 836 9 is_stmt 0 view .LVU237
  2043. 881 001a 24B1 cbz r4, .L71
  2044. 836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  2045. 882 .loc 1 836 31 discriminator 1 view .LVU238
  2046. 883 001c FFF7FEFF bl HAL_GetTick
  2047. 884 .LVL41:
  2048. 836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  2049. 885 .loc 1 836 44 discriminator 1 view .LVU239
  2050. 886 0020 401B subs r0, r0, r5
  2051. 836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  2052. 887 .loc 1 836 26 discriminator 1 view .LVU240
  2053. 888 0022 A042 cmp r0, r4
  2054. 889 0024 F1D9 bls .L70
  2055. 890 .L71:
  2056. 838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  2057. 891 .loc 1 838 9 is_stmt 1 view .LVU241
  2058. 838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  2059. 892 .loc 1 838 16 is_stmt 0 view .LVU242
  2060. 893 0026 0320 movs r0, #3
  2061. 894 0028 1BE0 b .L72
  2062. 895 .L78:
  2063. 844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  2064. 896 .loc 1 844 3 is_stmt 1 view .LVU243
  2065. 844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  2066. 897 .loc 1 844 7 is_stmt 0 view .LVU244
  2067. 898 002a 0E4B ldr r3, .L79
  2068. 899 002c DB68 ldr r3, [r3, #12]
  2069. 844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  2070. 900 .loc 1 844 6 view .LVU245
  2071. 901 002e 13F0200F tst r3, #32
  2072. 902 0032 02D0 beq .L74
  2073. 847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  2074. 903 .loc 1 847 5 is_stmt 1 discriminator 2 view .LVU246
  2075. 847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  2076. 904 .loc 1 847 5 discriminator 2 view .LVU247
  2077. 847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  2078. 905 .loc 1 847 5 discriminator 2 view .LVU248
  2079. 906 0034 0B4B ldr r3, .L79
  2080. 907 0036 2022 movs r2, #32
  2081. 908 0038 DA60 str r2, [r3, #12]
  2082. 909 .L74:
  2083. 847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  2084. 910 .loc 1 847 5 discriminator 4 view .LVU249
  2085. 850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** __HAL_FLASH_GET_FLAG(FLASH_FLAG_OPTVERR) ||
  2086. 911 .loc 1 850 3 discriminator 4 view .LVU250
  2087. 850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** __HAL_FLASH_GET_FLAG(FLASH_FLAG_OPTVERR) ||
  2088. 912 .loc 1 850 6 is_stmt 0 discriminator 4 view .LVU251
  2089. ARM GAS /tmp/cc26Ml62.s page 37
  2090. 913 003a 0A4B ldr r3, .L79
  2091. 914 003c DB68 ldr r3, [r3, #12]
  2092. 850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** __HAL_FLASH_GET_FLAG(FLASH_FLAG_OPTVERR) ||
  2093. 915 .loc 1 850 5 discriminator 4 view .LVU252
  2094. 916 003e 13F0100F tst r3, #16
  2095. 917 0042 0BD1 bne .L75
  2096. 851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** __HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR))
  2097. 918 .loc 1 851 6 discriminator 1 view .LVU253
  2098. 919 0044 074B ldr r3, .L79
  2099. 920 0046 DB69 ldr r3, [r3, #28]
  2100. 850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** __HAL_FLASH_GET_FLAG(FLASH_FLAG_OPTVERR) ||
  2101. 921 .loc 1 850 47 discriminator 1 view .LVU254
  2102. 922 0048 13F0010F tst r3, #1
  2103. 923 004c 06D1 bne .L75
  2104. 852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  2105. 924 .loc 1 852 6 view .LVU255
  2106. 925 004e 054B ldr r3, .L79
  2107. 926 0050 DB68 ldr r3, [r3, #12]
  2108. 851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** __HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR))
  2109. 927 .loc 1 851 47 view .LVU256
  2110. 928 0052 13F0040F tst r3, #4
  2111. 929 0056 01D1 bne .L75
  2112. 860:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  2113. 930 .loc 1 860 10 view .LVU257
  2114. 931 0058 0020 movs r0, #0
  2115. 932 005a 02E0 b .L72
  2116. 933 .L75:
  2117. 855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** return HAL_ERROR;
  2118. 934 .loc 1 855 5 is_stmt 1 view .LVU258
  2119. 935 005c FFF7FEFF bl FLASH_SetErrorCode
  2120. 936 .LVL42:
  2121. 856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  2122. 937 .loc 1 856 5 view .LVU259
  2123. 856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  2124. 938 .loc 1 856 12 is_stmt 0 view .LVU260
  2125. 939 0060 0120 movs r0, #1
  2126. 940 .L72:
  2127. 861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  2128. 941 .loc 1 861 1 view .LVU261
  2129. 942 0062 38BD pop {r3, r4, r5, pc}
  2130. 943 .LVL43:
  2131. 944 .L80:
  2132. 861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  2133. 945 .loc 1 861 1 view .LVU262
  2134. 946 .align 2
  2135. 947 .L79:
  2136. 948 0064 00200240 .word 1073881088
  2137. 949 .cfi_endproc
  2138. 950 .LFE77:
  2139. 952 .section .text.HAL_FLASH_Program,"ax",%progbits
  2140. 953 .align 1
  2141. 954 .global HAL_FLASH_Program
  2142. 955 .syntax unified
  2143. 956 .thumb
  2144. 957 .thumb_func
  2145. 959 HAL_FLASH_Program:
  2146. 960 .LVL44:
  2147. ARM GAS /tmp/cc26Ml62.s page 38
  2148. 961 .LFB65:
  2149. 167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** HAL_StatusTypeDef status = HAL_ERROR;
  2150. 962 .loc 1 167 1 is_stmt 1 view -0
  2151. 963 .cfi_startproc
  2152. 964 @ args = 0, pretend = 0, frame = 0
  2153. 965 @ frame_needed = 0, uses_anonymous_args = 0
  2154. 167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** HAL_StatusTypeDef status = HAL_ERROR;
  2155. 966 .loc 1 167 1 is_stmt 0 view .LVU264
  2156. 967 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr}
  2157. 968 .LCFI4:
  2158. 969 .cfi_def_cfa_offset 32
  2159. 970 .cfi_offset 3, -32
  2160. 971 .cfi_offset 4, -28
  2161. 972 .cfi_offset 5, -24
  2162. 973 .cfi_offset 6, -20
  2163. 974 .cfi_offset 7, -16
  2164. 975 .cfi_offset 8, -12
  2165. 976 .cfi_offset 9, -8
  2166. 977 .cfi_offset 14, -4
  2167. 978 0004 1E46 mov r6, r3
  2168. 168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** uint8_t index = 0;
  2169. 979 .loc 1 168 3 is_stmt 1 view .LVU265
  2170. 980 .LVL45:
  2171. 169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** uint8_t nbiterations = 0;
  2172. 981 .loc 1 169 3 view .LVU266
  2173. 170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  2174. 982 .loc 1 170 3 view .LVU267
  2175. 173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  2176. 983 .loc 1 173 3 view .LVU268
  2177. 173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  2178. 984 .loc 1 173 3 view .LVU269
  2179. 985 0006 244B ldr r3, .L93
  2180. 986 0008 1B7E ldrb r3, [r3, #24] @ zero_extendqisi2
  2181. 987 000a 012B cmp r3, #1
  2182. 988 000c 41D0 beq .L87
  2183. 989 000e 0446 mov r4, r0
  2184. 990 0010 0F46 mov r7, r1
  2185. 991 0012 9046 mov r8, r2
  2186. 173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  2187. 992 .loc 1 173 3 discriminator 2 view .LVU270
  2188. 993 0014 204B ldr r3, .L93
  2189. 994 0016 0122 movs r2, #1
  2190. 995 .LVL46:
  2191. 173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  2192. 996 .loc 1 173 3 is_stmt 0 discriminator 2 view .LVU271
  2193. 997 0018 1A76 strb r2, [r3, #24]
  2194. 173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  2195. 998 .loc 1 173 3 is_stmt 1 discriminator 2 view .LVU272
  2196. 176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS(Address));
  2197. 999 .loc 1 176 3 discriminator 2 view .LVU273
  2198. 177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  2199. 1000 .loc 1 177 3 discriminator 2 view .LVU274
  2200. 184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #if defined(FLASH_BANK2_END)
  2201. 1001 .loc 1 184 5 discriminator 2 view .LVU275
  2202. 184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #if defined(FLASH_BANK2_END)
  2203. 1002 .loc 1 184 14 is_stmt 0 discriminator 2 view .LVU276
  2204. 1003 001a 4CF25030 movw r0, #50000
  2205. ARM GAS /tmp/cc26Ml62.s page 39
  2206. 1004 .LVL47:
  2207. 184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #if defined(FLASH_BANK2_END)
  2208. 1005 .loc 1 184 14 discriminator 2 view .LVU277
  2209. 1006 001e FFF7FEFF bl FLASH_WaitForLastOperation
  2210. 1007 .LVL48:
  2211. 194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  2212. 1008 .loc 1 194 3 is_stmt 1 discriminator 2 view .LVU278
  2213. 194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  2214. 1009 .loc 1 194 5 is_stmt 0 discriminator 2 view .LVU279
  2215. 1010 0022 0346 mov r3, r0
  2216. 1011 0024 78BB cbnz r0, .L83
  2217. 196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  2218. 1012 .loc 1 196 5 is_stmt 1 view .LVU280
  2219. 196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  2220. 1013 .loc 1 196 7 is_stmt 0 view .LVU281
  2221. 1014 0026 012C cmp r4, #1
  2222. 1015 0028 08D0 beq .L88
  2223. 201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  2224. 1016 .loc 1 201 10 is_stmt 1 view .LVU282
  2225. 201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  2226. 1017 .loc 1 201 12 is_stmt 0 view .LVU283
  2227. 1018 002a 022C cmp r4, #2
  2228. 1019 002c 03D0 beq .L91
  2229. 209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  2230. 1020 .loc 1 209 20 view .LVU284
  2231. 1021 002e 4FF00409 mov r9, #4
  2232. 1022 .L84:
  2233. 1023 .LVL49:
  2234. 212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  2235. 1024 .loc 1 212 5 is_stmt 1 view .LVU285
  2236. 212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  2237. 1025 .loc 1 212 16 is_stmt 0 view .LVU286
  2238. 1026 0032 1C46 mov r4, r3
  2239. 1027 .LVL50:
  2240. 212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  2241. 1028 .loc 1 212 5 view .LVU287
  2242. 1029 0034 07E0 b .L85
  2243. 1030 .LVL51:
  2244. 1031 .L91:
  2245. 204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  2246. 1032 .loc 1 204 20 view .LVU288
  2247. 1033 0036 4FF00209 mov r9, #2
  2248. 1034 003a FAE7 b .L84
  2249. 1035 .L88:
  2250. 199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  2251. 1036 .loc 1 199 20 view .LVU289
  2252. 1037 003c 4FF00109 mov r9, #1
  2253. 1038 0040 F7E7 b .L84
  2254. 1039 .LVL52:
  2255. 1040 .L92:
  2256. 212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  2257. 1041 .loc 1 212 44 is_stmt 1 discriminator 2 view .LVU290
  2258. 212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  2259. 1042 .loc 1 212 49 is_stmt 0 discriminator 2 view .LVU291
  2260. 1043 0042 0134 adds r4, r4, #1
  2261. 1044 .LVL53:
  2262. 212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  2263. ARM GAS /tmp/cc26Ml62.s page 40
  2264. 1045 .loc 1 212 49 discriminator 2 view .LVU292
  2265. 1046 0044 E4B2 uxtb r4, r4
  2266. 1047 .LVL54:
  2267. 1048 .L85:
  2268. 212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  2269. 1049 .loc 1 212 22 is_stmt 1 discriminator 1 view .LVU293
  2270. 212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  2271. 1050 .loc 1 212 5 is_stmt 0 discriminator 1 view .LVU294
  2272. 1051 0046 4C45 cmp r4, r9
  2273. 1052 0048 1DD2 bcs .L83
  2274. 214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  2275. 1053 .loc 1 214 7 is_stmt 1 view .LVU295
  2276. 214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  2277. 1054 .loc 1 214 77 is_stmt 0 view .LVU296
  2278. 1055 004a 2101 lsls r1, r4, #4
  2279. 214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  2280. 1056 .loc 1 214 70 view .LVU297
  2281. 1057 004c C1F12002 rsb r2, r1, #32
  2282. 1058 0050 A1F12003 sub r3, r1, #32
  2283. 1059 .LVL55:
  2284. 214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  2285. 1060 .loc 1 214 70 view .LVU298
  2286. 1061 0054 28FA01F1 lsr r1, r8, r1
  2287. 1062 0058 06FA02F2 lsl r2, r6, r2
  2288. 1063 005c 1143 orrs r1, r1, r2
  2289. 1064 005e 26FA03F3 lsr r3, r6, r3
  2290. 1065 0062 1943 orrs r1, r1, r3
  2291. 214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  2292. 1066 .loc 1 214 7 view .LVU299
  2293. 1067 0064 89B2 uxth r1, r1
  2294. 1068 0066 07EB4400 add r0, r7, r4, lsl #1
  2295. 1069 006a FFF7FEFF bl FLASH_Program_HalfWord
  2296. 1070 .LVL56:
  2297. 221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  2298. 1071 .loc 1 221 9 is_stmt 1 view .LVU300
  2299. 221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  2300. 1072 .loc 1 221 18 is_stmt 0 view .LVU301
  2301. 1073 006e 4CF25030 movw r0, #50000
  2302. 1074 0072 FFF7FEFF bl FLASH_WaitForLastOperation
  2303. 1075 .LVL57:
  2304. 224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** #if defined(FLASH_BANK2_END)
  2305. 1076 .loc 1 224 9 is_stmt 1 view .LVU302
  2306. 1077 0076 094B ldr r3, .L93+4
  2307. 1078 0078 1D69 ldr r5, [r3, #16]
  2308. 1079 007a 25F00105 bic r5, r5, #1
  2309. 1080 007e 1D61 str r5, [r3, #16]
  2310. 237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  2311. 1081 .loc 1 237 7 view .LVU303
  2312. 237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** {
  2313. 1082 .loc 1 237 10 is_stmt 0 view .LVU304
  2314. 1083 0080 0346 mov r3, r0
  2315. 1084 0082 0028 cmp r0, #0
  2316. 1085 0084 DDD0 beq .L92
  2317. 1086 .LVL58:
  2318. 1087 .L83:
  2319. 245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  2320. 1088 .loc 1 245 3 is_stmt 1 view .LVU305
  2321. ARM GAS /tmp/cc26Ml62.s page 41
  2322. 245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  2323. 1089 .loc 1 245 3 view .LVU306
  2324. 1090 0086 044A ldr r2, .L93
  2325. 1091 0088 0021 movs r1, #0
  2326. 1092 008a 1176 strb r1, [r2, #24]
  2327. 245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  2328. 1093 .loc 1 245 3 view .LVU307
  2329. 247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c **** }
  2330. 1094 .loc 1 247 3 view .LVU308
  2331. 1095 .LVL59:
  2332. 1096 .L82:
  2333. 248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  2334. 1097 .loc 1 248 1 is_stmt 0 view .LVU309
  2335. 1098 008c 1846 mov r0, r3
  2336. 1099 008e BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc}
  2337. 1100 .LVL60:
  2338. 1101 .L87:
  2339. 173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c ****
  2340. 1102 .loc 1 173 3 view .LVU310
  2341. 1103 0092 0223 movs r3, #2
  2342. 1104 0094 FAE7 b .L82
  2343. 1105 .L94:
  2344. 1106 0096 00BF .align 2
  2345. 1107 .L93:
  2346. 1108 0098 00000000 .word .LANCHOR0
  2347. 1109 009c 00200240 .word 1073881088
  2348. 1110 .cfi_endproc
  2349. 1111 .LFE65:
  2350. 1113 .global pFlash
  2351. 1114 .section .bss.pFlash,"aw",%nobits
  2352. 1115 .align 3
  2353. 1116 .set .LANCHOR0,. + 0
  2354. 1119 pFlash:
  2355. 1120 0000 00000000 .space 32
  2356. 1120 00000000
  2357. 1120 00000000
  2358. 1120 00000000
  2359. 1120 00000000
  2360. 1121 .text
  2361. 1122 .Letext0:
  2362. 1123 .file 2 "/opt/gcc-arm/arm-none-eabi/include/machine/_default_types.h"
  2363. 1124 .file 3 "/opt/gcc-arm/arm-none-eabi/include/sys/_stdint.h"
  2364. 1125 .file 4 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h"
  2365. 1126 .file 5 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h"
  2366. 1127 .file 6 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h"
  2367. 1128 .file 7 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h"
  2368. 1129 .file 8 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h"
  2369. 1130 .file 9 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h"
  2370. ARM GAS /tmp/cc26Ml62.s page 42
  2371. DEFINED SYMBOLS
  2372. *ABS*:0000000000000000 stm32f1xx_hal_flash.c
  2373. /tmp/cc26Ml62.s:18 .text.FLASH_Program_HalfWord:0000000000000000 $t
  2374. /tmp/cc26Ml62.s:23 .text.FLASH_Program_HalfWord:0000000000000000 FLASH_Program_HalfWord
  2375. /tmp/cc26Ml62.s:50 .text.FLASH_Program_HalfWord:0000000000000014 $d
  2376. /tmp/cc26Ml62.s:56 .text.FLASH_SetErrorCode:0000000000000000 $t
  2377. /tmp/cc26Ml62.s:61 .text.FLASH_SetErrorCode:0000000000000000 FLASH_SetErrorCode
  2378. /tmp/cc26Ml62.s:152 .text.FLASH_SetErrorCode:0000000000000068 $d
  2379. /tmp/cc26Ml62.s:158 .text.HAL_FLASH_Program_IT:0000000000000000 $t
  2380. /tmp/cc26Ml62.s:164 .text.HAL_FLASH_Program_IT:0000000000000000 HAL_FLASH_Program_IT
  2381. /tmp/cc26Ml62.s:275 .text.HAL_FLASH_Program_IT:0000000000000064 $d
  2382. /tmp/cc26Ml62.s:281 .text.HAL_FLASH_EndOfOperationCallback:0000000000000000 $t
  2383. /tmp/cc26Ml62.s:287 .text.HAL_FLASH_EndOfOperationCallback:0000000000000000 HAL_FLASH_EndOfOperationCallback
  2384. /tmp/cc26Ml62.s:302 .text.HAL_FLASH_OperationErrorCallback:0000000000000000 $t
  2385. /tmp/cc26Ml62.s:308 .text.HAL_FLASH_OperationErrorCallback:0000000000000000 HAL_FLASH_OperationErrorCallback
  2386. /tmp/cc26Ml62.s:323 .text.HAL_FLASH_IRQHandler:0000000000000000 $t
  2387. /tmp/cc26Ml62.s:329 .text.HAL_FLASH_IRQHandler:0000000000000000 HAL_FLASH_IRQHandler
  2388. /tmp/cc26Ml62.s:616 .text.HAL_FLASH_IRQHandler:000000000000014c $d
  2389. /tmp/cc26Ml62.s:622 .text.HAL_FLASH_Unlock:0000000000000000 $t
  2390. /tmp/cc26Ml62.s:628 .text.HAL_FLASH_Unlock:0000000000000000 HAL_FLASH_Unlock
  2391. /tmp/cc26Ml62.s:673 .text.HAL_FLASH_Unlock:000000000000002c $d
  2392. /tmp/cc26Ml62.s:679 .text.HAL_FLASH_Lock:0000000000000000 $t
  2393. /tmp/cc26Ml62.s:685 .text.HAL_FLASH_Lock:0000000000000000 HAL_FLASH_Lock
  2394. /tmp/cc26Ml62.s:704 .text.HAL_FLASH_Lock:0000000000000010 $d
  2395. /tmp/cc26Ml62.s:709 .text.HAL_FLASH_OB_Unlock:0000000000000000 $t
  2396. /tmp/cc26Ml62.s:715 .text.HAL_FLASH_OB_Unlock:0000000000000000 HAL_FLASH_OB_Unlock
  2397. /tmp/cc26Ml62.s:748 .text.HAL_FLASH_OB_Unlock:0000000000000020 $d
  2398. /tmp/cc26Ml62.s:754 .text.HAL_FLASH_OB_Lock:0000000000000000 $t
  2399. /tmp/cc26Ml62.s:760 .text.HAL_FLASH_OB_Lock:0000000000000000 HAL_FLASH_OB_Lock
  2400. /tmp/cc26Ml62.s:779 .text.HAL_FLASH_OB_Lock:0000000000000010 $d
  2401. /tmp/cc26Ml62.s:784 .text.HAL_FLASH_OB_Launch:0000000000000000 $t
  2402. /tmp/cc26Ml62.s:790 .text.HAL_FLASH_OB_Launch:0000000000000000 HAL_FLASH_OB_Launch
  2403. /tmp/cc26Ml62.s:810 .text.HAL_FLASH_GetError:0000000000000000 $t
  2404. /tmp/cc26Ml62.s:816 .text.HAL_FLASH_GetError:0000000000000000 HAL_FLASH_GetError
  2405. /tmp/cc26Ml62.s:832 .text.HAL_FLASH_GetError:0000000000000008 $d
  2406. /tmp/cc26Ml62.s:837 .text.FLASH_WaitForLastOperation:0000000000000000 $t
  2407. /tmp/cc26Ml62.s:843 .text.FLASH_WaitForLastOperation:0000000000000000 FLASH_WaitForLastOperation
  2408. /tmp/cc26Ml62.s:948 .text.FLASH_WaitForLastOperation:0000000000000064 $d
  2409. /tmp/cc26Ml62.s:953 .text.HAL_FLASH_Program:0000000000000000 $t
  2410. /tmp/cc26Ml62.s:959 .text.HAL_FLASH_Program:0000000000000000 HAL_FLASH_Program
  2411. /tmp/cc26Ml62.s:1108 .text.HAL_FLASH_Program:0000000000000098 $d
  2412. /tmp/cc26Ml62.s:1119 .bss.pFlash:0000000000000000 pFlash
  2413. /tmp/cc26Ml62.s:1115 .bss.pFlash:0000000000000000 $d
  2414. UNDEFINED SYMBOLS
  2415. FLASH_PageErase
  2416. HAL_NVIC_SystemReset
  2417. HAL_GetTick