stm32f3xx_hal_flash.lst 150 KB

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