| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246 |
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 1
- 1 .cpu cortex-m4
- 2 .arch armv7e-m
- 3 .fpu fpv4-sp-d16
- 4 .eabi_attribute 27, 1
- 5 .eabi_attribute 28, 1
- 6 .eabi_attribute 20, 1
- 7 .eabi_attribute 21, 1
- 8 .eabi_attribute 23, 3
- 9 .eabi_attribute 24, 1
- 10 .eabi_attribute 25, 1
- 11 .eabi_attribute 26, 1
- 12 .eabi_attribute 30, 6
- 13 .eabi_attribute 34, 1
- 14 .eabi_attribute 18, 4
- 15 .file "stm32f3xx_hal_flash.c"
- 16 .text
- 17 .Ltext0:
- 18 .cfi_sections .debug_frame
- 19 .global pFlash
- 20 .section .bss.pFlash,"aw",%nobits
- 21 .align 3
- 24 pFlash:
- 25 0000 00000000 .space 32
- 25 00000000
- 25 00000000
- 25 00000000
- 25 00000000
- 26 .section .rodata
- 27 .align 2
- 28 .LC0:
- 29 0000 44726976 .ascii "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flas"
- 29 6572732F
- 29 53544D33
- 29 32463378
- 29 785F4841
- 30 0033 682E6300 .ascii "h.c\000"
- 31 .section .text.HAL_FLASH_Program,"ax",%progbits
- 32 .align 1
- 33 .global HAL_FLASH_Program
- 34 .syntax unified
- 35 .thumb
- 36 .thumb_func
- 38 HAL_FLASH_Program:
- 39 .LFB130:
- 40 .file 1 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c"
- 1:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /**
- 2:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** ******************************************************************************
- 3:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @file stm32f3xx_hal_flash.c
- 4:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @author MCD Application Team
- 5:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @brief FLASH HAL module driver.
- 6:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * This file provides firmware functions to manage the following
- 7:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * functionalities of the internal FLASH memory:
- 8:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * + Program operations functions
- 9:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * + Memory Control functions
- 10:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * + Peripheral State functions
- 11:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** *
- 12:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** @verbatim
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 2
- 13:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** ==============================================================================
- 14:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** ##### FLASH peripheral features #####
- 15:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** ==============================================================================
- 16:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** [..] The Flash memory interface manages CPU AHB I-Code and D-Code accesses
- 17:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** to the Flash memory. It implements the erase and program Flash memory operations
- 18:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** and the read and write protection mechanisms.
- 19:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 20:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** [..] The Flash memory interface accelerates code execution with a system of instruction
- 21:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** prefetch.
- 22:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 23:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** [..] The FLASH main features are:
- 24:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** (+) Flash memory read operations
- 25:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** (+) Flash memory program/erase operations
- 26:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** (+) Read / write protections
- 27:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** (+) Prefetch on I-Code
- 28:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** (+) Option Bytes programming
- 29:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 30:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 31:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** ##### How to use this driver #####
- 32:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** ==============================================================================
- 33:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** [..]
- 34:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** This driver provides functions and macros to configure and program the FLASH
- 35:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** memory of all STM32F3xx devices.
- 36:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 37:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** (#) FLASH Memory I/O Programming functions: this group includes all needed
- 38:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** functions to erase and program the main memory:
- 39:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** (++) Lock and Unlock the FLASH interface
- 40:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** (++) Erase function: Erase page, erase all pages
- 41:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** (++) Program functions: half word, word and doubleword
- 42:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** (#) FLASH Option Bytes Programming functions: this group includes all needed
- 43:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** functions to manage the Option Bytes:
- 44:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** (++) Lock and Unlock the Option Bytes
- 45:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** (++) Set/Reset the write protection
- 46:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** (++) Set the Read protection Level
- 47:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** (++) Program the user Option Bytes
- 48:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** (++) Launch the Option Bytes loader
- 49:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** (++) Erase Option Bytes
- 50:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** (++) Program the data Option Bytes
- 51:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** (++) Get the Write protection.
- 52:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** (++) Get the user option bytes.
- 53:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 54:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** (#) Interrupts and flags management functions : this group
- 55:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** includes all needed functions to:
- 56:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** (++) Handle FLASH interrupts
- 57:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** (++) Wait for last FLASH operation according to its status
- 58:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** (++) Get error flag status
- 59:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 60:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** [..] In addition to these function, this driver includes a set of macros allowing
- 61:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** to handle the following operations:
- 62:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 63:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** (+) Set/Get the latency
- 64:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** (+) Enable/Disable the prefetch buffer
- 65:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** (+) Enable/Disable the half cycle access
- 66:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** (+) Enable/Disable the FLASH interrupts
- 67:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** (+) Monitor the FLASH flags status
- 68:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 69:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** @endverbatim
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 3
- 70:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** ******************************************************************************
- 71:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @attention
- 72:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** *
- 73:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * Copyright (c) 2016 STMicroelectronics.
- 74:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * All rights reserved.
- 75:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** *
- 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
- 77:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * the root directory of this software component.
- 78:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
- 79:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** ******************************************************************************
- 80:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** */
- 81:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 82:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Includes ------------------------------------------------------------------*/
- 83:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** #include "stm32f3xx_hal.h"
- 84:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 85:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /** @addtogroup STM32F3xx_HAL_Driver
- 86:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @{
- 87:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** */
- 88:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 89:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** #ifdef HAL_FLASH_MODULE_ENABLED
- 90:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 91:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /** @defgroup FLASH FLASH
- 92:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @brief FLASH HAL module driver
- 93:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @{
- 94:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** */
- 95:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 96:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Private typedef -----------------------------------------------------------*/
- 97:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Private define ------------------------------------------------------------*/
- 98:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /** @defgroup FLASH_Private_Constants FLASH Private Constants
- 99:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @{
- 100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** */
- 101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /**
- 102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @}
- 103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** */
- 104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Private macro ---------------------------- ---------------------------------*/
- 106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /** @defgroup FLASH_Private_Macros FLASH Private Macros
- 107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @{
- 108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** */
- 109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /**
- 111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @}
- 112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** */
- 113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Private variables ---------------------------------------------------------*/
- 115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /** @defgroup FLASH_Private_Variables FLASH Private Variables
- 116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @{
- 117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** */
- 118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Variables used for Erase pages under interruption*/
- 119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** FLASH_ProcessTypeDef pFlash;
- 120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /**
- 121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @}
- 122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** */
- 123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Private function prototypes -----------------------------------------------*/
- 125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /** @defgroup FLASH_Private_Functions FLASH Private Functions
- 126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @{
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 4
- 127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** */
- 128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** static void FLASH_Program_HalfWord(uint32_t Address, uint16_t Data);
- 129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** static void FLASH_SetErrorCode(void);
- 130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** extern void FLASH_PageErase(uint32_t PageAddress);
- 131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /**
- 132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @}
- 133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** */
- 134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Exported functions ---------------------------------------------------------*/
- 136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /** @defgroup FLASH_Exported_Functions FLASH Exported Functions
- 137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @{
- 138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** */
- 139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /** @defgroup FLASH_Exported_Functions_Group1 Programming operation functions
- 141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @brief Programming operation functions
- 142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** *
- 143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** @verbatim
- 144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** @endverbatim
- 145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @{
- 146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** */
- 147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /**
- 149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @brief Program halfword, word or double word at a specified address
- 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
- 151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * The function HAL_FLASH_Lock() should be called after to lock the FLASH interface
- 152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** *
- 153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @note If an erase and a program operations are requested simultaneously,
- 154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * the erase operation is performed before the program one.
- 155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** *
- 156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @note FLASH should be previously erased before new programming (only exception to this
- 157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * is when 0x0000 is programmed)
- 158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** *
- 159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @param TypeProgram Indicate the way to program at a specified address.
- 160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * This parameter can be a value of @ref FLASH_Type_Program
- 161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @param Address Specifie the address to be programmed.
- 162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @param Data Specifie the data to be programmed
- 163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** *
- 164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @retval HAL_StatusTypeDef HAL Status
- 165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** */
- 166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_Program(uint32_t TypeProgram, uint32_t Address, uint64_t Data)
- 167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 41 .loc 1 167 1
- 42 .cfi_startproc
- 43 @ args = 0, pretend = 0, frame = 24
- 44 @ frame_needed = 1, uses_anonymous_args = 0
- 45 0000 F0B5 push {r4, r5, r6, r7, lr}
- 46 .LCFI0:
- 47 .cfi_def_cfa_offset 20
- 48 .cfi_offset 4, -20
- 49 .cfi_offset 5, -16
- 50 .cfi_offset 6, -12
- 51 .cfi_offset 7, -8
- 52 .cfi_offset 14, -4
- 53 0002 87B0 sub sp, sp, #28
- 54 .LCFI1:
- 55 .cfi_def_cfa_offset 48
- 56 0004 00AF add r7, sp, #0
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 5
- 57 .LCFI2:
- 58 .cfi_def_cfa_register 7
- 59 0006 F860 str r0, [r7, #12]
- 60 0008 B960 str r1, [r7, #8]
- 61 000a C7E90023 strd r2, [r7]
- 168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** HAL_StatusTypeDef status = HAL_ERROR;
- 62 .loc 1 168 21
- 63 000e 0123 movs r3, #1
- 64 0010 FB75 strb r3, [r7, #23]
- 169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** uint8_t index = 0U;
- 65 .loc 1 169 11
- 66 0012 0023 movs r3, #0
- 67 0014 BB75 strb r3, [r7, #22]
- 170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** uint8_t nbiterations = 0U;
- 68 .loc 1 170 11
- 69 0016 0023 movs r3, #0
- 70 0018 7B75 strb r3, [r7, #21]
- 171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Process Locked */
- 173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** __HAL_LOCK(&pFlash);
- 71 .loc 1 173 3
- 72 001a 454B ldr r3, .L17
- 73 001c 1B7E ldrb r3, [r3, #24] @ zero_extendqisi2
- 74 001e 012B cmp r3, #1
- 75 0020 01D1 bne .L2
- 76 .loc 1 173 3 is_stmt 0 discriminator 1
- 77 0022 0223 movs r3, #2
- 78 0024 80E0 b .L3
- 79 .L2:
- 80 .loc 1 173 3 discriminator 2
- 81 0026 424B ldr r3, .L17
- 82 0028 0122 movs r2, #1
- 83 002a 1A76 strb r2, [r3, #24]
- 174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Check the parameters */
- 176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** assert_param(IS_FLASH_TYPEPROGRAM(TypeProgram));
- 84 .loc 1 176 3 is_stmt 1 discriminator 2
- 85 002c FB68 ldr r3, [r7, #12]
- 86 002e 012B cmp r3, #1
- 87 0030 09D0 beq .L4
- 88 .loc 1 176 3 is_stmt 0 discriminator 1
- 89 0032 FB68 ldr r3, [r7, #12]
- 90 0034 022B cmp r3, #2
- 91 0036 06D0 beq .L4
- 92 .loc 1 176 3 discriminator 2
- 93 0038 FB68 ldr r3, [r7, #12]
- 94 003a 032B cmp r3, #3
- 95 003c 03D0 beq .L4
- 96 .loc 1 176 3 discriminator 3
- 97 003e B021 movs r1, #176
- 98 0040 3C48 ldr r0, .L17+4
- 99 0042 FFF7FEFF bl assert_failed
- 100 .L4:
- 177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS(Address));
- 101 .loc 1 177 3 is_stmt 1
- 102 0046 BB68 ldr r3, [r7, #8]
- 103 0048 B3F1006F cmp r3, #134217728
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 6
- 104 004c 16D3 bcc .L5
- 105 .loc 1 177 3 is_stmt 0 discriminator 2
- 106 004e 3A4B ldr r3, .L17+8
- 107 0050 1B88 ldrh r3, [r3]
- 108 0052 B3F5807F cmp r3, #256
- 109 0056 04D1 bne .L6
- 110 .loc 1 177 3 discriminator 3
- 111 0058 BB68 ldr r3, [r7, #8]
- 112 005a 384A ldr r2, .L17+12
- 113 005c 9342 cmp r3, r2
- 114 005e 0DD8 bhi .L5
- 115 0060 10E0 b .L7
- 116 .L6:
- 117 .loc 1 177 3 discriminator 4
- 118 0062 354B ldr r3, .L17+8
- 119 0064 1B88 ldrh r3, [r3]
- 120 0066 802B cmp r3, #128
- 121 0068 04D1 bne .L8
- 122 .loc 1 177 3 discriminator 6
- 123 006a BB68 ldr r3, [r7, #8]
- 124 006c 344A ldr r2, .L17+16
- 125 006e 9342 cmp r3, r2
- 126 0070 04D8 bhi .L5
- 127 0072 07E0 b .L7
- 128 .L8:
- 129 .loc 1 177 3 discriminator 7
- 130 0074 BB68 ldr r3, [r7, #8]
- 131 0076 334A ldr r2, .L17+20
- 132 0078 9342 cmp r3, r2
- 133 007a 03D9 bls .L7
- 134 .L5:
- 135 .loc 1 177 3 discriminator 9
- 136 007c B121 movs r1, #177
- 137 007e 2D48 ldr r0, .L17+4
- 138 0080 FFF7FEFF bl assert_failed
- 139 .L7:
- 178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Wait for last operation to be completed */
- 180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** status = FLASH_WaitForLastOperation(FLASH_TIMEOUT_VALUE);
- 140 .loc 1 180 14 is_stmt 1
- 141 0084 4CF25030 movw r0, #50000
- 142 0088 FFF7FEFF bl FLASH_WaitForLastOperation
- 143 008c 0346 mov r3, r0
- 144 008e FB75 strb r3, [r7, #23]
- 181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** if(status == HAL_OK)
- 145 .loc 1 182 5
- 146 0090 FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
- 147 0092 002B cmp r3, #0
- 148 0094 44D1 bne .L9
- 183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** if(TypeProgram == FLASH_TYPEPROGRAM_HALFWORD)
- 149 .loc 1 184 7
- 150 0096 FB68 ldr r3, [r7, #12]
- 151 0098 012B cmp r3, #1
- 152 009a 02D1 bne .L10
- 185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 7
- 186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Program halfword (16-bit) at a specified address. */
- 187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** nbiterations = 1U;
- 153 .loc 1 187 20
- 154 009c 0123 movs r3, #1
- 155 009e 7B75 strb r3, [r7, #21]
- 156 00a0 07E0 b .L11
- 157 .L10:
- 188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** else if(TypeProgram == FLASH_TYPEPROGRAM_WORD)
- 158 .loc 1 189 12
- 159 00a2 FB68 ldr r3, [r7, #12]
- 160 00a4 022B cmp r3, #2
- 161 00a6 02D1 bne .L12
- 190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Program word (32-bit = 2*16-bit) at a specified address. */
- 192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** nbiterations = 2U;
- 162 .loc 1 192 20
- 163 00a8 0223 movs r3, #2
- 164 00aa 7B75 strb r3, [r7, #21]
- 165 00ac 01E0 b .L11
- 166 .L12:
- 193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** else
- 195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Program double word (64-bit = 4*16-bit) at a specified address. */
- 197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** nbiterations = 4U;
- 167 .loc 1 197 20
- 168 00ae 0423 movs r3, #4
- 169 00b0 7B75 strb r3, [r7, #21]
- 170 .L11:
- 198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** for (index = 0U; index < nbiterations; index++)
- 171 .loc 1 200 16
- 172 00b2 0023 movs r3, #0
- 173 00b4 BB75 strb r3, [r7, #22]
- 174 .loc 1 200 5
- 175 00b6 2DE0 b .L13
- 176 .L15:
- 201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** FLASH_Program_HalfWord((Address + (2U*index)), (uint16_t)(Data >> (16U*index)));
- 177 .loc 1 202 44
- 178 00b8 BB7D ldrb r3, [r7, #22] @ zero_extendqisi2
- 179 00ba 5A00 lsls r2, r3, #1
- 180 .loc 1 202 7
- 181 00bc BB68 ldr r3, [r7, #8]
- 182 00be 02EB030C add ip, r2, r3
- 183 .loc 1 202 77
- 184 00c2 BB7D ldrb r3, [r7, #22] @ zero_extendqisi2
- 185 00c4 1901 lsls r1, r3, #4
- 186 .loc 1 202 70
- 187 00c6 D7E90023 ldrd r2, [r7]
- 188 00ca C1F12006 rsb r6, r1, #32
- 189 00ce A1F12000 sub r0, r1, #32
- 190 00d2 22FA01F4 lsr r4, r2, r1
- 191 00d6 03FA06F6 lsl r6, r3, r6
- 192 00da 3443 orrs r4, r4, r6
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 8
- 193 00dc 23FA00F0 lsr r0, r3, r0
- 194 00e0 0443 orrs r4, r4, r0
- 195 00e2 23FA01F5 lsr r5, r3, r1
- 196 .loc 1 202 7
- 197 00e6 A3B2 uxth r3, r4
- 198 00e8 1946 mov r1, r3
- 199 00ea 6046 mov r0, ip
- 200 00ec FFF7FEFF bl FLASH_Program_HalfWord
- 203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Wait for last operation to be completed */
- 205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** status = FLASH_WaitForLastOperation(FLASH_TIMEOUT_VALUE);
- 201 .loc 1 205 18
- 202 00f0 4CF25030 movw r0, #50000
- 203 00f4 FFF7FEFF bl FLASH_WaitForLastOperation
- 204 00f8 0346 mov r3, r0
- 205 00fa FB75 strb r3, [r7, #23]
- 206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* If the program operation is completed, disable the PG Bit */
- 208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_PG);
- 206 .loc 1 208 9
- 207 00fc 124B ldr r3, .L17+24
- 208 00fe 1B69 ldr r3, [r3, #16]
- 209 0100 114A ldr r2, .L17+24
- 210 0102 23F00103 bic r3, r3, #1
- 211 0106 1361 str r3, [r2, #16]
- 209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* In case of error, stop programming procedure */
- 210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** if (status != HAL_OK)
- 212 .loc 1 210 10
- 213 0108 FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
- 214 010a 002B cmp r3, #0
- 215 010c 07D1 bne .L16
- 200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 216 .loc 1 200 49 discriminator 2
- 217 010e BB7D ldrb r3, [r7, #22] @ zero_extendqisi2
- 218 0110 0133 adds r3, r3, #1
- 219 0112 BB75 strb r3, [r7, #22]
- 220 .L13:
- 200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 221 .loc 1 200 5 discriminator 1
- 222 0114 BA7D ldrb r2, [r7, #22] @ zero_extendqisi2
- 223 0116 7B7D ldrb r3, [r7, #21] @ zero_extendqisi2
- 224 0118 9A42 cmp r2, r3
- 225 011a CDD3 bcc .L15
- 226 011c 00E0 b .L9
- 227 .L16:
- 211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** break;
- 228 .loc 1 212 9
- 229 011e 00BF nop
- 230 .L9:
- 213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Process Unlocked */
- 218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** __HAL_UNLOCK(&pFlash);
- 231 .loc 1 218 3
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 9
- 232 0120 034B ldr r3, .L17
- 233 0122 0022 movs r2, #0
- 234 0124 1A76 strb r2, [r3, #24]
- 219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** return status;
- 235 .loc 1 220 10
- 236 0126 FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
- 237 .L3:
- 221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 238 .loc 1 221 1
- 239 0128 1846 mov r0, r3
- 240 012a 1C37 adds r7, r7, #28
- 241 .LCFI3:
- 242 .cfi_def_cfa_offset 20
- 243 012c BD46 mov sp, r7
- 244 .LCFI4:
- 245 .cfi_def_cfa_register 13
- 246 @ sp needed
- 247 012e F0BD pop {r4, r5, r6, r7, pc}
- 248 .L18:
- 249 .align 2
- 250 .L17:
- 251 0130 00000000 .word pFlash
- 252 0134 00000000 .word .LC0
- 253 0138 CCF7FF1F .word 536868812
- 254 013c FFFF0308 .word 134479871
- 255 0140 FFFF0108 .word 134348799
- 256 0144 FFFF0008 .word 134283263
- 257 0148 00200240 .word 1073881088
- 258 .cfi_endproc
- 259 .LFE130:
- 261 .section .text.HAL_FLASH_Program_IT,"ax",%progbits
- 262 .align 1
- 263 .global HAL_FLASH_Program_IT
- 264 .syntax unified
- 265 .thumb
- 266 .thumb_func
- 268 HAL_FLASH_Program_IT:
- 269 .LFB131:
- 222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /**
- 224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @brief Program halfword, word or double word at a specified address with interrupt enabled.
- 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
- 226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * The function HAL_FLASH_Lock() should be called after to lock the FLASH interface
- 227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** *
- 228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @note If an erase and a program operations are requested simultaneously,
- 229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * the erase operation is performed before the program one.
- 230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** *
- 231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @param TypeProgram Indicate the way to program at a specified address.
- 232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * This parameter can be a value of @ref FLASH_Type_Program
- 233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @param Address Specifie the address to be programmed.
- 234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @param Data Specifie the data to be programmed
- 235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** *
- 236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @retval HAL_StatusTypeDef HAL Status
- 237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** */
- 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)
- 239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 10
- 270 .loc 1 239 1
- 271 .cfi_startproc
- 272 @ args = 0, pretend = 0, frame = 24
- 273 @ frame_needed = 1, uses_anonymous_args = 0
- 274 0000 80B5 push {r7, lr}
- 275 .LCFI5:
- 276 .cfi_def_cfa_offset 8
- 277 .cfi_offset 7, -8
- 278 .cfi_offset 14, -4
- 279 0002 86B0 sub sp, sp, #24
- 280 .LCFI6:
- 281 .cfi_def_cfa_offset 32
- 282 0004 00AF add r7, sp, #0
- 283 .LCFI7:
- 284 .cfi_def_cfa_register 7
- 285 0006 F860 str r0, [r7, #12]
- 286 0008 B960 str r1, [r7, #8]
- 287 000a C7E90023 strd r2, [r7]
- 240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** HAL_StatusTypeDef status = HAL_OK;
- 288 .loc 1 240 21
- 289 000e 0023 movs r3, #0
- 290 0010 FB75 strb r3, [r7, #23]
- 241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Process Locked */
- 243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** __HAL_LOCK(&pFlash);
- 291 .loc 1 243 3
- 292 0012 334B ldr r3, .L30
- 293 0014 1B7E ldrb r3, [r3, #24] @ zero_extendqisi2
- 294 0016 012B cmp r3, #1
- 295 0018 01D1 bne .L20
- 296 .loc 1 243 3 is_stmt 0 discriminator 1
- 297 001a 0223 movs r3, #2
- 298 001c 5CE0 b .L21
- 299 .L20:
- 300 .loc 1 243 3 discriminator 2
- 301 001e 304B ldr r3, .L30
- 302 0020 0122 movs r2, #1
- 303 0022 1A76 strb r2, [r3, #24]
- 244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Check the parameters */
- 246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** assert_param(IS_FLASH_TYPEPROGRAM(TypeProgram));
- 304 .loc 1 246 3 is_stmt 1 discriminator 2
- 305 0024 FB68 ldr r3, [r7, #12]
- 306 0026 012B cmp r3, #1
- 307 0028 09D0 beq .L22
- 308 .loc 1 246 3 is_stmt 0 discriminator 1
- 309 002a FB68 ldr r3, [r7, #12]
- 310 002c 022B cmp r3, #2
- 311 002e 06D0 beq .L22
- 312 .loc 1 246 3 discriminator 2
- 313 0030 FB68 ldr r3, [r7, #12]
- 314 0032 032B cmp r3, #3
- 315 0034 03D0 beq .L22
- 316 .loc 1 246 3 discriminator 3
- 317 0036 F621 movs r1, #246
- 318 0038 2A48 ldr r0, .L30+4
- 319 003a FFF7FEFF bl assert_failed
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 11
- 320 .L22:
- 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS(Address));
- 321 .loc 1 247 3 is_stmt 1
- 322 003e BB68 ldr r3, [r7, #8]
- 323 0040 B3F1006F cmp r3, #134217728
- 324 0044 16D3 bcc .L23
- 325 .loc 1 247 3 is_stmt 0 discriminator 2
- 326 0046 284B ldr r3, .L30+8
- 327 0048 1B88 ldrh r3, [r3]
- 328 004a B3F5807F cmp r3, #256
- 329 004e 04D1 bne .L24
- 330 .loc 1 247 3 discriminator 3
- 331 0050 BB68 ldr r3, [r7, #8]
- 332 0052 264A ldr r2, .L30+12
- 333 0054 9342 cmp r3, r2
- 334 0056 0DD8 bhi .L23
- 335 0058 10E0 b .L25
- 336 .L24:
- 337 .loc 1 247 3 discriminator 4
- 338 005a 234B ldr r3, .L30+8
- 339 005c 1B88 ldrh r3, [r3]
- 340 005e 802B cmp r3, #128
- 341 0060 04D1 bne .L26
- 342 .loc 1 247 3 discriminator 6
- 343 0062 BB68 ldr r3, [r7, #8]
- 344 0064 224A ldr r2, .L30+16
- 345 0066 9342 cmp r3, r2
- 346 0068 04D8 bhi .L23
- 347 006a 07E0 b .L25
- 348 .L26:
- 349 .loc 1 247 3 discriminator 7
- 350 006c BB68 ldr r3, [r7, #8]
- 351 006e 214A ldr r2, .L30+20
- 352 0070 9342 cmp r3, r2
- 353 0072 03D9 bls .L25
- 354 .L23:
- 355 .loc 1 247 3 discriminator 9
- 356 0074 F721 movs r1, #247
- 357 0076 1B48 ldr r0, .L30+4
- 358 0078 FFF7FEFF bl assert_failed
- 359 .L25:
- 248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Enable End of FLASH Operation and Error source interrupts */
- 250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** __HAL_FLASH_ENABLE_IT(FLASH_IT_EOP | FLASH_IT_ERR);
- 360 .loc 1 250 3 is_stmt 1
- 361 007c 1E4B ldr r3, .L30+24
- 362 007e 1B69 ldr r3, [r3, #16]
- 363 0080 1D4A ldr r2, .L30+24
- 364 0082 43F4A053 orr r3, r3, #5120
- 365 0086 1361 str r3, [r2, #16]
- 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.Address = Address;
- 366 .loc 1 252 18
- 367 0088 154A ldr r2, .L30
- 368 008a BB68 ldr r3, [r7, #8]
- 369 008c 9360 str r3, [r2, #8]
- 253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.Data = Data;
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 12
- 370 .loc 1 253 15
- 371 008e 1449 ldr r1, .L30
- 372 0090 D7E90023 ldrd r2, [r7]
- 373 0094 C1E90423 strd r2, [r1, #16]
- 254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** if(TypeProgram == FLASH_TYPEPROGRAM_HALFWORD)
- 374 .loc 1 255 5
- 375 0098 FB68 ldr r3, [r7, #12]
- 376 009a 012B cmp r3, #1
- 377 009c 06D1 bne .L27
- 256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_PROGRAMHALFWORD;
- 378 .loc 1 257 29
- 379 009e 104B ldr r3, .L30
- 380 00a0 0322 movs r2, #3
- 381 00a2 1A70 strb r2, [r3]
- 258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Program halfword (16-bit) at a specified address. */
- 259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.DataRemaining = 1U;
- 382 .loc 1 259 26
- 383 00a4 0E4B ldr r3, .L30
- 384 00a6 0122 movs r2, #1
- 385 00a8 5A60 str r2, [r3, #4]
- 386 00aa 0FE0 b .L28
- 387 .L27:
- 260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** else if(TypeProgram == FLASH_TYPEPROGRAM_WORD)
- 388 .loc 1 261 10
- 389 00ac FB68 ldr r3, [r7, #12]
- 390 00ae 022B cmp r3, #2
- 391 00b0 06D1 bne .L29
- 262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_PROGRAMWORD;
- 392 .loc 1 263 29
- 393 00b2 0B4B ldr r3, .L30
- 394 00b4 0422 movs r2, #4
- 395 00b6 1A70 strb r2, [r3]
- 264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Program word (32-bit : 2*16-bit) at a specified address. */
- 265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.DataRemaining = 2U;
- 396 .loc 1 265 26
- 397 00b8 094B ldr r3, .L30
- 398 00ba 0222 movs r2, #2
- 399 00bc 5A60 str r2, [r3, #4]
- 400 00be 05E0 b .L28
- 401 .L29:
- 266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** else
- 268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_PROGRAMDOUBLEWORD;
- 402 .loc 1 269 29
- 403 00c0 074B ldr r3, .L30
- 404 00c2 0522 movs r2, #5
- 405 00c4 1A70 strb r2, [r3]
- 270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Program double word (64-bit : 4*16-bit) at a specified address. */
- 271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.DataRemaining = 4U;
- 406 .loc 1 271 26
- 407 00c6 064B ldr r3, .L30
- 408 00c8 0422 movs r2, #4
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 13
- 409 00ca 5A60 str r2, [r3, #4]
- 410 .L28:
- 272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Program halfword (16-bit) at a specified address. */
- 275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** FLASH_Program_HalfWord(Address, (uint16_t)Data);
- 411 .loc 1 275 3
- 412 00cc 3B88 ldrh r3, [r7]
- 413 00ce 1946 mov r1, r3
- 414 00d0 B868 ldr r0, [r7, #8]
- 415 00d2 FFF7FEFF bl FLASH_Program_HalfWord
- 276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** return status;
- 416 .loc 1 277 10
- 417 00d6 FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
- 418 .L21:
- 278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 419 .loc 1 278 1
- 420 00d8 1846 mov r0, r3
- 421 00da 1837 adds r7, r7, #24
- 422 .LCFI8:
- 423 .cfi_def_cfa_offset 8
- 424 00dc BD46 mov sp, r7
- 425 .LCFI9:
- 426 .cfi_def_cfa_register 13
- 427 @ sp needed
- 428 00de 80BD pop {r7, pc}
- 429 .L31:
- 430 .align 2
- 431 .L30:
- 432 00e0 00000000 .word pFlash
- 433 00e4 00000000 .word .LC0
- 434 00e8 CCF7FF1F .word 536868812
- 435 00ec FFFF0308 .word 134479871
- 436 00f0 FFFF0108 .word 134348799
- 437 00f4 FFFF0008 .word 134283263
- 438 00f8 00200240 .word 1073881088
- 439 .cfi_endproc
- 440 .LFE131:
- 442 .section .text.HAL_FLASH_IRQHandler,"ax",%progbits
- 443 .align 1
- 444 .global HAL_FLASH_IRQHandler
- 445 .syntax unified
- 446 .thumb
- 447 .thumb_func
- 449 HAL_FLASH_IRQHandler:
- 450 .LFB132:
- 279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /**
- 281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @brief This function handles FLASH interrupt request.
- 282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @retval None
- 283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** */
- 284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** void HAL_FLASH_IRQHandler(void)
- 285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 451 .loc 1 285 1
- 452 .cfi_startproc
- 453 @ args = 0, pretend = 0, frame = 8
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 14
- 454 @ frame_needed = 1, uses_anonymous_args = 0
- 455 0000 80B5 push {r7, lr}
- 456 .LCFI10:
- 457 .cfi_def_cfa_offset 8
- 458 .cfi_offset 7, -8
- 459 .cfi_offset 14, -4
- 460 0002 82B0 sub sp, sp, #8
- 461 .LCFI11:
- 462 .cfi_def_cfa_offset 16
- 463 0004 00AF add r7, sp, #0
- 464 .LCFI12:
- 465 .cfi_def_cfa_register 7
- 286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** uint32_t addresstmp = 0U;
- 466 .loc 1 286 12
- 467 0006 0023 movs r3, #0
- 468 0008 7B60 str r3, [r7, #4]
- 287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Check FLASH operation error flags */
- 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))
- 469 .loc 1 289 6
- 470 000a 6D4B ldr r3, .L45
- 471 000c DB68 ldr r3, [r3, #12]
- 472 000e 03F01003 and r3, r3, #16
- 473 .loc 1 289 5
- 474 0012 102B cmp r3, #16
- 475 0014 05D0 beq .L33
- 476 .loc 1 289 48 discriminator 1
- 477 0016 6A4B ldr r3, .L45
- 478 0018 DB68 ldr r3, [r3, #12]
- 479 001a 03F00403 and r3, r3, #4
- 480 .loc 1 289 46 discriminator 1
- 481 001e 042B cmp r3, #4
- 482 0020 0ED1 bne .L34
- 483 .L33:
- 290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Return the faulty address */
- 292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** addresstmp = pFlash.Address;
- 484 .loc 1 292 16
- 485 0022 684B ldr r3, .L45+4
- 486 0024 9B68 ldr r3, [r3, #8]
- 487 0026 7B60 str r3, [r7, #4]
- 293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Reset address */
- 294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.Address = 0xFFFFFFFFU;
- 488 .loc 1 294 20
- 489 0028 664B ldr r3, .L45+4
- 490 002a 4FF0FF32 mov r2, #-1
- 491 002e 9A60 str r2, [r3, #8]
- 295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Save the Error code */
- 297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** FLASH_SetErrorCode();
- 492 .loc 1 297 5
- 493 0030 FFF7FEFF bl FLASH_SetErrorCode
- 298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* FLASH error interrupt user callback */
- 300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** HAL_FLASH_OperationErrorCallback(addresstmp);
- 494 .loc 1 300 5
- 495 0034 7868 ldr r0, [r7, #4]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 15
- 496 0036 FFF7FEFF bl HAL_FLASH_OperationErrorCallback
- 301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Stop the procedure ongoing */
- 303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
- 497 .loc 1 303 29
- 498 003a 624B ldr r3, .L45+4
- 499 003c 0022 movs r2, #0
- 500 003e 1A70 strb r2, [r3]
- 501 .L34:
- 304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Check FLASH End of Operation flag */
- 307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_EOP))
- 502 .loc 1 307 6
- 503 0040 5F4B ldr r3, .L45
- 504 0042 DB68 ldr r3, [r3, #12]
- 505 0044 03F02003 and r3, r3, #32
- 506 .loc 1 307 5
- 507 0048 202B cmp r3, #32
- 508 004a 40F0A080 bne .L35
- 308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Clear FLASH End of Operation pending bit */
- 310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP);
- 509 .loc 1 310 5
- 510 004e 5C4B ldr r3, .L45
- 511 0050 2022 movs r2, #32
- 512 0052 DA60 str r2, [r3, #12]
- 311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Process can continue only if no error detected */
- 313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** if(pFlash.ProcedureOnGoing != FLASH_PROC_NONE)
- 513 .loc 1 313 14
- 514 0054 5B4B ldr r3, .L45+4
- 515 0056 1B78 ldrb r3, [r3]
- 516 0058 DBB2 uxtb r3, r3
- 517 .loc 1 313 7
- 518 005a 002B cmp r3, #0
- 519 005c 00F09780 beq .L35
- 314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** if(pFlash.ProcedureOnGoing == FLASH_PROC_PAGEERASE)
- 520 .loc 1 315 16
- 521 0060 584B ldr r3, .L45+4
- 522 0062 1B78 ldrb r3, [r3]
- 523 0064 DBB2 uxtb r3, r3
- 524 .loc 1 315 9
- 525 0066 012B cmp r3, #1
- 526 0068 2DD1 bne .L36
- 316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Nb of pages to erased can be decreased */
- 318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.DataRemaining--;
- 527 .loc 1 318 15
- 528 006a 564B ldr r3, .L45+4
- 529 006c 5B68 ldr r3, [r3, #4]
- 530 .loc 1 318 29
- 531 006e 013B subs r3, r3, #1
- 532 0070 544A ldr r2, .L45+4
- 533 0072 5360 str r3, [r2, #4]
- 319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 16
- 320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Check if there are still pages to erase */
- 321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** if(pFlash.DataRemaining != 0U)
- 534 .loc 1 321 18
- 535 0074 534B ldr r3, .L45+4
- 536 0076 5B68 ldr r3, [r3, #4]
- 537 .loc 1 321 11
- 538 0078 002B cmp r3, #0
- 539 007a 17D0 beq .L37
- 322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** addresstmp = pFlash.Address;
- 540 .loc 1 323 22
- 541 007c 514B ldr r3, .L45+4
- 542 007e 9B68 ldr r3, [r3, #8]
- 543 0080 7B60 str r3, [r7, #4]
- 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /*Indicate user which sector has been erased */
- 325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** HAL_FLASH_EndOfOperationCallback(addresstmp);
- 544 .loc 1 325 11
- 545 0082 7868 ldr r0, [r7, #4]
- 546 0084 FFF7FEFF bl HAL_FLASH_EndOfOperationCallback
- 326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /*Increment sector number*/
- 328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** addresstmp = pFlash.Address + FLASH_PAGE_SIZE;
- 547 .loc 1 328 30
- 548 0088 4E4B ldr r3, .L45+4
- 549 008a 9B68 ldr r3, [r3, #8]
- 550 .loc 1 328 22
- 551 008c 03F50063 add r3, r3, #2048
- 552 0090 7B60 str r3, [r7, #4]
- 329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.Address = addresstmp;
- 553 .loc 1 329 26
- 554 0092 4C4A ldr r2, .L45+4
- 555 0094 7B68 ldr r3, [r7, #4]
- 556 0096 9360 str r3, [r2, #8]
- 330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* If the erase operation is completed, disable the PER Bit */
- 332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_PER);
- 557 .loc 1 332 11
- 558 0098 494B ldr r3, .L45
- 559 009a 1B69 ldr r3, [r3, #16]
- 560 009c 484A ldr r2, .L45
- 561 009e 23F00203 bic r3, r3, #2
- 562 00a2 1361 str r3, [r2, #16]
- 333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** FLASH_PageErase(addresstmp);
- 563 .loc 1 334 11
- 564 00a4 7868 ldr r0, [r7, #4]
- 565 00a6 FFF7FEFF bl FLASH_PageErase
- 566 00aa 70E0 b .L35
- 567 .L37:
- 335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** else
- 337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* No more pages to Erase, user callback can be called. */
- 339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Reset Sector and stop Erase pages procedure */
- 340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.Address = addresstmp = 0xFFFFFFFFU;
- 568 .loc 1 340 39
- 569 00ac 4FF0FF33 mov r3, #-1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 17
- 570 00b0 7B60 str r3, [r7, #4]
- 571 .loc 1 340 26
- 572 00b2 444A ldr r2, .L45+4
- 573 00b4 7B68 ldr r3, [r7, #4]
- 574 00b6 9360 str r3, [r2, #8]
- 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
- 575 .loc 1 341 35
- 576 00b8 424B ldr r3, .L45+4
- 577 00ba 0022 movs r2, #0
- 578 00bc 1A70 strb r2, [r3]
- 342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* FLASH EOP interrupt user callback */
- 343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** HAL_FLASH_EndOfOperationCallback(addresstmp);
- 579 .loc 1 343 11
- 580 00be 7868 ldr r0, [r7, #4]
- 581 00c0 FFF7FEFF bl HAL_FLASH_EndOfOperationCallback
- 582 00c4 63E0 b .L35
- 583 .L36:
- 344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** else if(pFlash.ProcedureOnGoing == FLASH_PROC_MASSERASE)
- 584 .loc 1 346 21
- 585 00c6 3F4B ldr r3, .L45+4
- 586 00c8 1B78 ldrb r3, [r3]
- 587 00ca DBB2 uxtb r3, r3
- 588 .loc 1 346 14
- 589 00cc 022B cmp r3, #2
- 590 00ce 0CD1 bne .L38
- 347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Operation is completed, disable the MER Bit */
- 349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_MER);
- 591 .loc 1 349 9
- 592 00d0 3B4B ldr r3, .L45
- 593 00d2 1B69 ldr r3, [r3, #16]
- 594 00d4 3A4A ldr r2, .L45
- 595 00d6 23F00403 bic r3, r3, #4
- 596 00da 1361 str r3, [r2, #16]
- 350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* MassErase ended. Return the selected bank */
- 352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* FLASH EOP interrupt user callback */
- 353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** HAL_FLASH_EndOfOperationCallback(0U);
- 597 .loc 1 353 11
- 598 00dc 0020 movs r0, #0
- 599 00de FFF7FEFF bl HAL_FLASH_EndOfOperationCallback
- 354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Stop Mass Erase procedure*/
- 356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
- 600 .loc 1 356 35
- 601 00e2 384B ldr r3, .L45+4
- 602 00e4 0022 movs r2, #0
- 603 00e6 1A70 strb r2, [r3]
- 604 00e8 51E0 b .L35
- 605 .L38:
- 357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** else
- 359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Nb of 16-bit data to program can be decreased */
- 361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.DataRemaining--;
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 18
- 606 .loc 1 361 15
- 607 00ea 364B ldr r3, .L45+4
- 608 00ec 5B68 ldr r3, [r3, #4]
- 609 .loc 1 361 29
- 610 00ee 013B subs r3, r3, #1
- 611 00f0 344A ldr r2, .L45+4
- 612 00f2 5360 str r3, [r2, #4]
- 362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Check if there are still 16-bit data to program */
- 364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** if(pFlash.DataRemaining != 0U)
- 613 .loc 1 364 18
- 614 00f4 334B ldr r3, .L45+4
- 615 00f6 5B68 ldr r3, [r3, #4]
- 616 .loc 1 364 11
- 617 00f8 002B cmp r3, #0
- 618 00fa 24D0 beq .L39
- 365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Increment address to 16-bit */
- 367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.Address += 2U;
- 619 .loc 1 367 26
- 620 00fc 314B ldr r3, .L45+4
- 621 00fe 9B68 ldr r3, [r3, #8]
- 622 0100 0233 adds r3, r3, #2
- 623 0102 304A ldr r2, .L45+4
- 624 0104 9360 str r3, [r2, #8]
- 368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** addresstmp = pFlash.Address;
- 625 .loc 1 368 22
- 626 0106 2F4B ldr r3, .L45+4
- 627 0108 9B68 ldr r3, [r3, #8]
- 628 010a 7B60 str r3, [r7, #4]
- 369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Shift to have next 16-bit data */
- 371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.Data = (pFlash.Data >> 16U);
- 629 .loc 1 371 32
- 630 010c 2D4B ldr r3, .L45+4
- 631 010e D3E90401 ldrd r0, [r3, #16]
- 632 .loc 1 371 38
- 633 0112 4FF00002 mov r2, #0
- 634 0116 4FF00003 mov r3, #0
- 635 011a 020C lsrs r2, r0, #16
- 636 011c 42EA0142 orr r2, r2, r1, lsl #16
- 637 0120 0B0C lsrs r3, r1, #16
- 638 .loc 1 371 23
- 639 0122 2849 ldr r1, .L45+4
- 640 0124 C1E90423 strd r2, [r1, #16]
- 372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Operation is completed, disable the PG Bit */
- 374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_PG);
- 641 .loc 1 374 11
- 642 0128 254B ldr r3, .L45
- 643 012a 1B69 ldr r3, [r3, #16]
- 644 012c 244A ldr r2, .L45
- 645 012e 23F00103 bic r3, r3, #1
- 646 0132 1361 str r3, [r2, #16]
- 375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /*Program halfword (16-bit) at a specified address.*/
- 377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** FLASH_Program_HalfWord(addresstmp, (uint16_t)pFlash.Data);
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 19
- 647 .loc 1 377 62
- 648 0134 234B ldr r3, .L45+4
- 649 0136 D3E90423 ldrd r2, [r3, #16]
- 650 .loc 1 377 11
- 651 013a 93B2 uxth r3, r2
- 652 013c 1946 mov r1, r3
- 653 013e 7868 ldr r0, [r7, #4]
- 654 0140 FFF7FEFF bl FLASH_Program_HalfWord
- 655 0144 23E0 b .L35
- 656 .L39:
- 378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** else
- 380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Program ended. Return the selected address */
- 382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* FLASH EOP interrupt user callback */
- 383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** if (pFlash.ProcedureOnGoing == FLASH_PROC_PROGRAMHALFWORD)
- 657 .loc 1 383 21
- 658 0146 1F4B ldr r3, .L45+4
- 659 0148 1B78 ldrb r3, [r3]
- 660 014a DBB2 uxtb r3, r3
- 661 .loc 1 383 14
- 662 014c 032B cmp r3, #3
- 663 014e 05D1 bne .L40
- 384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** HAL_FLASH_EndOfOperationCallback(pFlash.Address);
- 664 .loc 1 385 13
- 665 0150 1C4B ldr r3, .L45+4
- 666 0152 9B68 ldr r3, [r3, #8]
- 667 0154 1846 mov r0, r3
- 668 0156 FFF7FEFF bl HAL_FLASH_EndOfOperationCallback
- 669 015a 11E0 b .L41
- 670 .L40:
- 386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** else if (pFlash.ProcedureOnGoing == FLASH_PROC_PROGRAMWORD)
- 671 .loc 1 387 26
- 672 015c 194B ldr r3, .L45+4
- 673 015e 1B78 ldrb r3, [r3]
- 674 0160 DBB2 uxtb r3, r3
- 675 .loc 1 387 19
- 676 0162 042B cmp r3, #4
- 677 0164 06D1 bne .L42
- 388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** HAL_FLASH_EndOfOperationCallback(pFlash.Address - 2U);
- 678 .loc 1 389 52
- 679 0166 174B ldr r3, .L45+4
- 680 0168 9B68 ldr r3, [r3, #8]
- 681 .loc 1 389 13
- 682 016a 023B subs r3, r3, #2
- 683 016c 1846 mov r0, r3
- 684 016e FFF7FEFF bl HAL_FLASH_EndOfOperationCallback
- 685 0172 05E0 b .L41
- 686 .L42:
- 390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** else
- 392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** HAL_FLASH_EndOfOperationCallback(pFlash.Address - 6U);
- 687 .loc 1 393 52
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 20
- 688 0174 134B ldr r3, .L45+4
- 689 0176 9B68 ldr r3, [r3, #8]
- 690 .loc 1 393 13
- 691 0178 063B subs r3, r3, #6
- 692 017a 1846 mov r0, r3
- 693 017c FFF7FEFF bl HAL_FLASH_EndOfOperationCallback
- 694 .L41:
- 394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Reset Address and stop Program procedure */
- 397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.Address = 0xFFFFFFFFU;
- 695 .loc 1 397 26
- 696 0180 104B ldr r3, .L45+4
- 697 0182 4FF0FF32 mov r2, #-1
- 698 0186 9A60 str r2, [r3, #8]
- 398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
- 699 .loc 1 398 35
- 700 0188 0E4B ldr r3, .L45+4
- 701 018a 0022 movs r2, #0
- 702 018c 1A70 strb r2, [r3]
- 703 .L35:
- 399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** if(pFlash.ProcedureOnGoing == FLASH_PROC_NONE)
- 704 .loc 1 405 12
- 705 018e 0D4B ldr r3, .L45+4
- 706 0190 1B78 ldrb r3, [r3]
- 707 0192 DBB2 uxtb r3, r3
- 708 .loc 1 405 5
- 709 0194 002B cmp r3, #0
- 710 0196 0ED1 bne .L44
- 406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Operation is completed, disable the PG, PER and MER Bits */
- 408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** CLEAR_BIT(FLASH->CR, (FLASH_CR_PG | FLASH_CR_PER | FLASH_CR_MER));
- 711 .loc 1 408 5
- 712 0198 094B ldr r3, .L45
- 713 019a 1B69 ldr r3, [r3, #16]
- 714 019c 084A ldr r2, .L45
- 715 019e 23F00703 bic r3, r3, #7
- 716 01a2 1361 str r3, [r2, #16]
- 409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Disable End of FLASH Operation and Error source interrupts */
- 411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** __HAL_FLASH_DISABLE_IT(FLASH_IT_EOP | FLASH_IT_ERR);
- 717 .loc 1 411 5
- 718 01a4 064B ldr r3, .L45
- 719 01a6 1B69 ldr r3, [r3, #16]
- 720 01a8 054A ldr r2, .L45
- 721 01aa 23F4A053 bic r3, r3, #5120
- 722 01ae 1361 str r3, [r2, #16]
- 412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Process Unlocked */
- 414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** __HAL_UNLOCK(&pFlash);
- 723 .loc 1 414 5
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 21
- 724 01b0 044B ldr r3, .L45+4
- 725 01b2 0022 movs r2, #0
- 726 01b4 1A76 strb r2, [r3, #24]
- 727 .L44:
- 415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 728 .loc 1 416 1
- 729 01b6 00BF nop
- 730 01b8 0837 adds r7, r7, #8
- 731 .LCFI13:
- 732 .cfi_def_cfa_offset 8
- 733 01ba BD46 mov sp, r7
- 734 .LCFI14:
- 735 .cfi_def_cfa_register 13
- 736 @ sp needed
- 737 01bc 80BD pop {r7, pc}
- 738 .L46:
- 739 01be 00BF .align 2
- 740 .L45:
- 741 01c0 00200240 .word 1073881088
- 742 01c4 00000000 .word pFlash
- 743 .cfi_endproc
- 744 .LFE132:
- 746 .section .text.HAL_FLASH_EndOfOperationCallback,"ax",%progbits
- 747 .align 1
- 748 .weak HAL_FLASH_EndOfOperationCallback
- 749 .syntax unified
- 750 .thumb
- 751 .thumb_func
- 753 HAL_FLASH_EndOfOperationCallback:
- 754 .LFB133:
- 417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /**
- 419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @brief FLASH end of operation interrupt callback
- 420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @param ReturnValue The value saved in this parameter depends on the ongoing procedure
- 421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * - Mass Erase: No return value expected
- 422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * - Pages Erase: Address of the page which has been erased
- 423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * (if 0xFFFFFFFF, it means that all the selected pages have been erased)
- 424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * - Program: Address which was selected for data program
- 425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @retval none
- 426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** */
- 427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** __weak void HAL_FLASH_EndOfOperationCallback(uint32_t ReturnValue)
- 428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 755 .loc 1 428 1
- 756 .cfi_startproc
- 757 @ args = 0, pretend = 0, frame = 8
- 758 @ frame_needed = 1, uses_anonymous_args = 0
- 759 @ link register save eliminated.
- 760 0000 80B4 push {r7}
- 761 .LCFI15:
- 762 .cfi_def_cfa_offset 4
- 763 .cfi_offset 7, -4
- 764 0002 83B0 sub sp, sp, #12
- 765 .LCFI16:
- 766 .cfi_def_cfa_offset 16
- 767 0004 00AF add r7, sp, #0
- 768 .LCFI17:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 22
- 769 .cfi_def_cfa_register 7
- 770 0006 7860 str r0, [r7, #4]
- 429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Prevent unused argument(s) compilation warning */
- 430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** UNUSED(ReturnValue);
- 431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* NOTE : This function Should not be modified, when the callback is needed,
- 433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** the HAL_FLASH_EndOfOperationCallback could be implemented in the user file
- 434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** */
- 435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 771 .loc 1 435 1
- 772 0008 00BF nop
- 773 000a 0C37 adds r7, r7, #12
- 774 .LCFI18:
- 775 .cfi_def_cfa_offset 4
- 776 000c BD46 mov sp, r7
- 777 .LCFI19:
- 778 .cfi_def_cfa_register 13
- 779 @ sp needed
- 780 000e 5DF8047B ldr r7, [sp], #4
- 781 .LCFI20:
- 782 .cfi_restore 7
- 783 .cfi_def_cfa_offset 0
- 784 0012 7047 bx lr
- 785 .cfi_endproc
- 786 .LFE133:
- 788 .section .text.HAL_FLASH_OperationErrorCallback,"ax",%progbits
- 789 .align 1
- 790 .weak HAL_FLASH_OperationErrorCallback
- 791 .syntax unified
- 792 .thumb
- 793 .thumb_func
- 795 HAL_FLASH_OperationErrorCallback:
- 796 .LFB134:
- 436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /**
- 438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @brief FLASH operation error interrupt callback
- 439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @param ReturnValue The value saved in this parameter depends on the ongoing procedure
- 440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * - Mass Erase: No return value expected
- 441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * - Pages Erase: Address of the page which returned an error
- 442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * - Program: Address which was selected for data program
- 443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @retval none
- 444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** */
- 445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** __weak void HAL_FLASH_OperationErrorCallback(uint32_t ReturnValue)
- 446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 797 .loc 1 446 1
- 798 .cfi_startproc
- 799 @ args = 0, pretend = 0, frame = 8
- 800 @ frame_needed = 1, uses_anonymous_args = 0
- 801 @ link register save eliminated.
- 802 0000 80B4 push {r7}
- 803 .LCFI21:
- 804 .cfi_def_cfa_offset 4
- 805 .cfi_offset 7, -4
- 806 0002 83B0 sub sp, sp, #12
- 807 .LCFI22:
- 808 .cfi_def_cfa_offset 16
- 809 0004 00AF add r7, sp, #0
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 23
- 810 .LCFI23:
- 811 .cfi_def_cfa_register 7
- 812 0006 7860 str r0, [r7, #4]
- 447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Prevent unused argument(s) compilation warning */
- 448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** UNUSED(ReturnValue);
- 449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* NOTE : This function Should not be modified, when the callback is needed,
- 451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** the HAL_FLASH_OperationErrorCallback could be implemented in the user file
- 452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** */
- 453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 813 .loc 1 453 1
- 814 0008 00BF nop
- 815 000a 0C37 adds r7, r7, #12
- 816 .LCFI24:
- 817 .cfi_def_cfa_offset 4
- 818 000c BD46 mov sp, r7
- 819 .LCFI25:
- 820 .cfi_def_cfa_register 13
- 821 @ sp needed
- 822 000e 5DF8047B ldr r7, [sp], #4
- 823 .LCFI26:
- 824 .cfi_restore 7
- 825 .cfi_def_cfa_offset 0
- 826 0012 7047 bx lr
- 827 .cfi_endproc
- 828 .LFE134:
- 830 .section .text.HAL_FLASH_Unlock,"ax",%progbits
- 831 .align 1
- 832 .global HAL_FLASH_Unlock
- 833 .syntax unified
- 834 .thumb
- 835 .thumb_func
- 837 HAL_FLASH_Unlock:
- 838 .LFB135:
- 454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /**
- 456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @}
- 457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** */
- 458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /** @defgroup FLASH_Exported_Functions_Group2 Peripheral Control functions
- 460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @brief management functions
- 461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** *
- 462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** @verbatim
- 463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** ===============================================================================
- 464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** ##### Peripheral Control functions #####
- 465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** ===============================================================================
- 466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** [..]
- 467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** This subsection provides a set of functions allowing to control the FLASH
- 468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** memory operations.
- 469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** @endverbatim
- 471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @{
- 472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** */
- 473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /**
- 475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @brief Unlock the FLASH control register access
- 476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @retval HAL Status
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 24
- 477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** */
- 478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_Unlock(void)
- 479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 839 .loc 1 479 1
- 840 .cfi_startproc
- 841 @ args = 0, pretend = 0, frame = 8
- 842 @ frame_needed = 1, uses_anonymous_args = 0
- 843 @ link register save eliminated.
- 844 0000 80B4 push {r7}
- 845 .LCFI27:
- 846 .cfi_def_cfa_offset 4
- 847 .cfi_offset 7, -4
- 848 0002 83B0 sub sp, sp, #12
- 849 .LCFI28:
- 850 .cfi_def_cfa_offset 16
- 851 0004 00AF add r7, sp, #0
- 852 .LCFI29:
- 853 .cfi_def_cfa_register 7
- 480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** HAL_StatusTypeDef status = HAL_OK;
- 854 .loc 1 480 21
- 855 0006 0023 movs r3, #0
- 856 0008 FB71 strb r3, [r7, #7]
- 481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** if(READ_BIT(FLASH->CR, FLASH_CR_LOCK) != RESET)
- 857 .loc 1 482 6
- 858 000a 0D4B ldr r3, .L52
- 859 000c 1B69 ldr r3, [r3, #16]
- 860 000e 03F08003 and r3, r3, #128
- 861 .loc 1 482 5
- 862 0012 002B cmp r3, #0
- 863 0014 0DD0 beq .L50
- 483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Authorize the FLASH Registers access */
- 485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** WRITE_REG(FLASH->KEYR, FLASH_KEY1);
- 864 .loc 1 485 5
- 865 0016 0A4B ldr r3, .L52
- 866 0018 0A4A ldr r2, .L52+4
- 867 001a 5A60 str r2, [r3, #4]
- 486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** WRITE_REG(FLASH->KEYR, FLASH_KEY2);
- 868 .loc 1 486 5
- 869 001c 084B ldr r3, .L52
- 870 001e 0A4A ldr r2, .L52+8
- 871 0020 5A60 str r2, [r3, #4]
- 487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Verify Flash is unlocked */
- 489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** if(READ_BIT(FLASH->CR, FLASH_CR_LOCK) != RESET)
- 872 .loc 1 489 8
- 873 0022 074B ldr r3, .L52
- 874 0024 1B69 ldr r3, [r3, #16]
- 875 0026 03F08003 and r3, r3, #128
- 876 .loc 1 489 7
- 877 002a 002B cmp r3, #0
- 878 002c 01D0 beq .L50
- 490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** status = HAL_ERROR;
- 879 .loc 1 491 14
- 880 002e 0123 movs r3, #1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 25
- 881 0030 FB71 strb r3, [r7, #7]
- 882 .L50:
- 492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** return status;
- 883 .loc 1 495 10
- 884 0032 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2
- 496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 885 .loc 1 496 1
- 886 0034 1846 mov r0, r3
- 887 0036 0C37 adds r7, r7, #12
- 888 .LCFI30:
- 889 .cfi_def_cfa_offset 4
- 890 0038 BD46 mov sp, r7
- 891 .LCFI31:
- 892 .cfi_def_cfa_register 13
- 893 @ sp needed
- 894 003a 5DF8047B ldr r7, [sp], #4
- 895 .LCFI32:
- 896 .cfi_restore 7
- 897 .cfi_def_cfa_offset 0
- 898 003e 7047 bx lr
- 899 .L53:
- 900 .align 2
- 901 .L52:
- 902 0040 00200240 .word 1073881088
- 903 0044 23016745 .word 1164378403
- 904 0048 AB89EFCD .word -839939669
- 905 .cfi_endproc
- 906 .LFE135:
- 908 .section .text.HAL_FLASH_Lock,"ax",%progbits
- 909 .align 1
- 910 .global HAL_FLASH_Lock
- 911 .syntax unified
- 912 .thumb
- 913 .thumb_func
- 915 HAL_FLASH_Lock:
- 916 .LFB136:
- 497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /**
- 499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @brief Locks the FLASH control register access
- 500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @retval HAL Status
- 501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** */
- 502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_Lock(void)
- 503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 917 .loc 1 503 1
- 918 .cfi_startproc
- 919 @ args = 0, pretend = 0, frame = 0
- 920 @ frame_needed = 1, uses_anonymous_args = 0
- 921 @ link register save eliminated.
- 922 0000 80B4 push {r7}
- 923 .LCFI33:
- 924 .cfi_def_cfa_offset 4
- 925 .cfi_offset 7, -4
- 926 0002 00AF add r7, sp, #0
- 927 .LCFI34:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 26
- 928 .cfi_def_cfa_register 7
- 504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Set the LOCK Bit to lock the FLASH Registers access */
- 505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** SET_BIT(FLASH->CR, FLASH_CR_LOCK);
- 929 .loc 1 505 3
- 930 0004 054B ldr r3, .L56
- 931 0006 1B69 ldr r3, [r3, #16]
- 932 0008 044A ldr r2, .L56
- 933 000a 43F08003 orr r3, r3, #128
- 934 000e 1361 str r3, [r2, #16]
- 506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** return HAL_OK;
- 935 .loc 1 507 10
- 936 0010 0023 movs r3, #0
- 508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 937 .loc 1 508 1
- 938 0012 1846 mov r0, r3
- 939 0014 BD46 mov sp, r7
- 940 .LCFI35:
- 941 .cfi_def_cfa_register 13
- 942 @ sp needed
- 943 0016 5DF8047B ldr r7, [sp], #4
- 944 .LCFI36:
- 945 .cfi_restore 7
- 946 .cfi_def_cfa_offset 0
- 947 001a 7047 bx lr
- 948 .L57:
- 949 .align 2
- 950 .L56:
- 951 001c 00200240 .word 1073881088
- 952 .cfi_endproc
- 953 .LFE136:
- 955 .section .text.HAL_FLASH_OB_Unlock,"ax",%progbits
- 956 .align 1
- 957 .global HAL_FLASH_OB_Unlock
- 958 .syntax unified
- 959 .thumb
- 960 .thumb_func
- 962 HAL_FLASH_OB_Unlock:
- 963 .LFB137:
- 509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /**
- 511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @brief Unlock the FLASH Option Control Registers access.
- 512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @retval HAL Status
- 513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** */
- 514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_OB_Unlock(void)
- 515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 964 .loc 1 515 1
- 965 .cfi_startproc
- 966 @ args = 0, pretend = 0, frame = 0
- 967 @ frame_needed = 1, uses_anonymous_args = 0
- 968 @ link register save eliminated.
- 969 0000 80B4 push {r7}
- 970 .LCFI37:
- 971 .cfi_def_cfa_offset 4
- 972 .cfi_offset 7, -4
- 973 0002 00AF add r7, sp, #0
- 974 .LCFI38:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 27
- 975 .cfi_def_cfa_register 7
- 516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** if (HAL_IS_BIT_CLR(FLASH->CR, FLASH_CR_OPTWRE))
- 976 .loc 1 516 7
- 977 0004 094B ldr r3, .L62
- 978 0006 1B69 ldr r3, [r3, #16]
- 979 0008 03F40073 and r3, r3, #512
- 980 .loc 1 516 6
- 981 000c 002B cmp r3, #0
- 982 000e 07D1 bne .L59
- 517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Authorizes the Option Byte register programming */
- 519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** WRITE_REG(FLASH->OPTKEYR, FLASH_OPTKEY1);
- 983 .loc 1 519 5
- 984 0010 064B ldr r3, .L62
- 985 0012 074A ldr r2, .L62+4
- 986 0014 9A60 str r2, [r3, #8]
- 520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** WRITE_REG(FLASH->OPTKEYR, FLASH_OPTKEY2);
- 987 .loc 1 520 5
- 988 0016 054B ldr r3, .L62
- 989 0018 064A ldr r2, .L62+8
- 990 001a 9A60 str r2, [r3, #8]
- 521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** else
- 523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** return HAL_ERROR;
- 525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** return HAL_OK;
- 991 .loc 1 527 10
- 992 001c 0023 movs r3, #0
- 993 001e 00E0 b .L61
- 994 .L59:
- 524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 995 .loc 1 524 12
- 996 0020 0123 movs r3, #1
- 997 .L61:
- 528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 998 .loc 1 528 1
- 999 0022 1846 mov r0, r3
- 1000 0024 BD46 mov sp, r7
- 1001 .LCFI39:
- 1002 .cfi_def_cfa_register 13
- 1003 @ sp needed
- 1004 0026 5DF8047B ldr r7, [sp], #4
- 1005 .LCFI40:
- 1006 .cfi_restore 7
- 1007 .cfi_def_cfa_offset 0
- 1008 002a 7047 bx lr
- 1009 .L63:
- 1010 .align 2
- 1011 .L62:
- 1012 002c 00200240 .word 1073881088
- 1013 0030 23016745 .word 1164378403
- 1014 0034 AB89EFCD .word -839939669
- 1015 .cfi_endproc
- 1016 .LFE137:
- 1018 .section .text.HAL_FLASH_OB_Lock,"ax",%progbits
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 28
- 1019 .align 1
- 1020 .global HAL_FLASH_OB_Lock
- 1021 .syntax unified
- 1022 .thumb
- 1023 .thumb_func
- 1025 HAL_FLASH_OB_Lock:
- 1026 .LFB138:
- 529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /**
- 531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @brief Lock the FLASH Option Control Registers access.
- 532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @retval HAL Status
- 533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** */
- 534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_OB_Lock(void)
- 535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 1027 .loc 1 535 1
- 1028 .cfi_startproc
- 1029 @ args = 0, pretend = 0, frame = 0
- 1030 @ frame_needed = 1, uses_anonymous_args = 0
- 1031 @ link register save eliminated.
- 1032 0000 80B4 push {r7}
- 1033 .LCFI41:
- 1034 .cfi_def_cfa_offset 4
- 1035 .cfi_offset 7, -4
- 1036 0002 00AF add r7, sp, #0
- 1037 .LCFI42:
- 1038 .cfi_def_cfa_register 7
- 536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Clear the OPTWRE Bit to lock the FLASH Option Byte Registers access */
- 537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_OPTWRE);
- 1039 .loc 1 537 3
- 1040 0004 054B ldr r3, .L66
- 1041 0006 1B69 ldr r3, [r3, #16]
- 1042 0008 044A ldr r2, .L66
- 1043 000a 23F40073 bic r3, r3, #512
- 1044 000e 1361 str r3, [r2, #16]
- 538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** return HAL_OK;
- 1045 .loc 1 539 10
- 1046 0010 0023 movs r3, #0
- 540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 1047 .loc 1 540 1
- 1048 0012 1846 mov r0, r3
- 1049 0014 BD46 mov sp, r7
- 1050 .LCFI43:
- 1051 .cfi_def_cfa_register 13
- 1052 @ sp needed
- 1053 0016 5DF8047B ldr r7, [sp], #4
- 1054 .LCFI44:
- 1055 .cfi_restore 7
- 1056 .cfi_def_cfa_offset 0
- 1057 001a 7047 bx lr
- 1058 .L67:
- 1059 .align 2
- 1060 .L66:
- 1061 001c 00200240 .word 1073881088
- 1062 .cfi_endproc
- 1063 .LFE138:
- 1065 .section .text.HAL_FLASH_OB_Launch,"ax",%progbits
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 29
- 1066 .align 1
- 1067 .global HAL_FLASH_OB_Launch
- 1068 .syntax unified
- 1069 .thumb
- 1070 .thumb_func
- 1072 HAL_FLASH_OB_Launch:
- 1073 .LFB139:
- 541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /**
- 543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @brief Launch the option byte loading.
- 544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @note This function will reset automatically the MCU.
- 545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @retval HAL Status
- 546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** */
- 547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_OB_Launch(void)
- 548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 1074 .loc 1 548 1
- 1075 .cfi_startproc
- 1076 @ args = 0, pretend = 0, frame = 0
- 1077 @ frame_needed = 1, uses_anonymous_args = 0
- 1078 0000 80B5 push {r7, lr}
- 1079 .LCFI45:
- 1080 .cfi_def_cfa_offset 8
- 1081 .cfi_offset 7, -8
- 1082 .cfi_offset 14, -4
- 1083 0002 00AF add r7, sp, #0
- 1084 .LCFI46:
- 1085 .cfi_def_cfa_register 7
- 549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Set the OBL_Launch bit to launch the option byte loading */
- 550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** SET_BIT(FLASH->CR, FLASH_CR_OBL_LAUNCH);
- 1086 .loc 1 550 3
- 1087 0004 064B ldr r3, .L70
- 1088 0006 1B69 ldr r3, [r3, #16]
- 1089 0008 054A ldr r2, .L70
- 1090 000a 43F40053 orr r3, r3, #8192
- 1091 000e 1361 str r3, [r2, #16]
- 551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Wait for last operation to be completed */
- 553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** return(FLASH_WaitForLastOperation(FLASH_TIMEOUT_VALUE));
- 1092 .loc 1 553 10
- 1093 0010 4CF25030 movw r0, #50000
- 1094 0014 FFF7FEFF bl FLASH_WaitForLastOperation
- 1095 0018 0346 mov r3, r0
- 554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 1096 .loc 1 554 1
- 1097 001a 1846 mov r0, r3
- 1098 001c 80BD pop {r7, pc}
- 1099 .L71:
- 1100 001e 00BF .align 2
- 1101 .L70:
- 1102 0020 00200240 .word 1073881088
- 1103 .cfi_endproc
- 1104 .LFE139:
- 1106 .section .text.HAL_FLASH_GetError,"ax",%progbits
- 1107 .align 1
- 1108 .global HAL_FLASH_GetError
- 1109 .syntax unified
- 1110 .thumb
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 30
- 1111 .thumb_func
- 1113 HAL_FLASH_GetError:
- 1114 .LFB140:
- 555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /**
- 557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @}
- 558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** */
- 559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /** @defgroup FLASH_Exported_Functions_Group3 Peripheral errors functions
- 561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @brief Peripheral errors functions
- 562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** *
- 563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** @verbatim
- 564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** ===============================================================================
- 565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** ##### Peripheral Errors functions #####
- 566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** ===============================================================================
- 567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** [..]
- 568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** This subsection permit to get in run-time errors of the FLASH peripheral.
- 569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** @endverbatim
- 571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @{
- 572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** */
- 573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /**
- 575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @brief Get the specific FLASH error flag.
- 576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @retval FLASH_ErrorCode The returned value can be:
- 577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @ref FLASH_Error_Codes
- 578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** */
- 579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** uint32_t HAL_FLASH_GetError(void)
- 580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 1115 .loc 1 580 1
- 1116 .cfi_startproc
- 1117 @ args = 0, pretend = 0, frame = 0
- 1118 @ frame_needed = 1, uses_anonymous_args = 0
- 1119 @ link register save eliminated.
- 1120 0000 80B4 push {r7}
- 1121 .LCFI47:
- 1122 .cfi_def_cfa_offset 4
- 1123 .cfi_offset 7, -4
- 1124 0002 00AF add r7, sp, #0
- 1125 .LCFI48:
- 1126 .cfi_def_cfa_register 7
- 581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** return pFlash.ErrorCode;
- 1127 .loc 1 581 17
- 1128 0004 034B ldr r3, .L74
- 1129 0006 DB69 ldr r3, [r3, #28]
- 582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 1130 .loc 1 582 1
- 1131 0008 1846 mov r0, r3
- 1132 000a BD46 mov sp, r7
- 1133 .LCFI49:
- 1134 .cfi_def_cfa_register 13
- 1135 @ sp needed
- 1136 000c 5DF8047B ldr r7, [sp], #4
- 1137 .LCFI50:
- 1138 .cfi_restore 7
- 1139 .cfi_def_cfa_offset 0
- 1140 0010 7047 bx lr
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 31
- 1141 .L75:
- 1142 0012 00BF .align 2
- 1143 .L74:
- 1144 0014 00000000 .word pFlash
- 1145 .cfi_endproc
- 1146 .LFE140:
- 1148 .section .text.FLASH_Program_HalfWord,"ax",%progbits
- 1149 .align 1
- 1150 .syntax unified
- 1151 .thumb
- 1152 .thumb_func
- 1154 FLASH_Program_HalfWord:
- 1155 .LFB141:
- 583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /**
- 585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @}
- 586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** */
- 587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /**
- 589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @}
- 590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** */
- 591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /** @addtogroup FLASH_Private_Functions
- 593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @{
- 594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** */
- 595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /**
- 597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @brief Program a half-word (16-bit) at a specified address.
- 598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @param Address specify the address to be programmed.
- 599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @param Data specify the data to be programmed.
- 600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @retval None
- 601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** */
- 602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** static void FLASH_Program_HalfWord(uint32_t Address, uint16_t Data)
- 603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 1156 .loc 1 603 1
- 1157 .cfi_startproc
- 1158 @ args = 0, pretend = 0, frame = 8
- 1159 @ frame_needed = 1, uses_anonymous_args = 0
- 1160 @ link register save eliminated.
- 1161 0000 80B4 push {r7}
- 1162 .LCFI51:
- 1163 .cfi_def_cfa_offset 4
- 1164 .cfi_offset 7, -4
- 1165 0002 83B0 sub sp, sp, #12
- 1166 .LCFI52:
- 1167 .cfi_def_cfa_offset 16
- 1168 0004 00AF add r7, sp, #0
- 1169 .LCFI53:
- 1170 .cfi_def_cfa_register 7
- 1171 0006 7860 str r0, [r7, #4]
- 1172 0008 0B46 mov r3, r1
- 1173 000a 7B80 strh r3, [r7, #2] @ movhi
- 604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Clean the error context */
- 605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
- 1174 .loc 1 605 20
- 1175 000c 084B ldr r3, .L77
- 1176 000e 0022 movs r2, #0
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 32
- 1177 0010 DA61 str r2, [r3, #28]
- 606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Proceed to program the new data */
- 608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** SET_BIT(FLASH->CR, FLASH_CR_PG);
- 1178 .loc 1 608 5
- 1179 0012 084B ldr r3, .L77+4
- 1180 0014 1B69 ldr r3, [r3, #16]
- 1181 0016 074A ldr r2, .L77+4
- 1182 0018 43F00103 orr r3, r3, #1
- 1183 001c 1361 str r3, [r2, #16]
- 609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Write data in the address */
- 611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** *(__IO uint16_t*)Address = Data;
- 1184 .loc 1 611 4
- 1185 001e 7B68 ldr r3, [r7, #4]
- 1186 .loc 1 611 28
- 1187 0020 7A88 ldrh r2, [r7, #2] @ movhi
- 1188 0022 1A80 strh r2, [r3] @ movhi
- 612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 1189 .loc 1 612 1
- 1190 0024 00BF nop
- 1191 0026 0C37 adds r7, r7, #12
- 1192 .LCFI54:
- 1193 .cfi_def_cfa_offset 4
- 1194 0028 BD46 mov sp, r7
- 1195 .LCFI55:
- 1196 .cfi_def_cfa_register 13
- 1197 @ sp needed
- 1198 002a 5DF8047B ldr r7, [sp], #4
- 1199 .LCFI56:
- 1200 .cfi_restore 7
- 1201 .cfi_def_cfa_offset 0
- 1202 002e 7047 bx lr
- 1203 .L78:
- 1204 .align 2
- 1205 .L77:
- 1206 0030 00000000 .word pFlash
- 1207 0034 00200240 .word 1073881088
- 1208 .cfi_endproc
- 1209 .LFE141:
- 1211 .section .text.FLASH_WaitForLastOperation,"ax",%progbits
- 1212 .align 1
- 1213 .global FLASH_WaitForLastOperation
- 1214 .syntax unified
- 1215 .thumb
- 1216 .thumb_func
- 1218 FLASH_WaitForLastOperation:
- 1219 .LFB142:
- 613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /**
- 615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @brief Wait for a FLASH operation to complete.
- 616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @param Timeout maximum flash operation timeout
- 617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @retval HAL Status
- 618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** */
- 619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** HAL_StatusTypeDef FLASH_WaitForLastOperation(uint32_t Timeout)
- 620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 1220 .loc 1 620 1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 33
- 1221 .cfi_startproc
- 1222 @ args = 0, pretend = 0, frame = 16
- 1223 @ frame_needed = 1, uses_anonymous_args = 0
- 1224 0000 80B5 push {r7, lr}
- 1225 .LCFI57:
- 1226 .cfi_def_cfa_offset 8
- 1227 .cfi_offset 7, -8
- 1228 .cfi_offset 14, -4
- 1229 0002 84B0 sub sp, sp, #16
- 1230 .LCFI58:
- 1231 .cfi_def_cfa_offset 24
- 1232 0004 00AF add r7, sp, #0
- 1233 .LCFI59:
- 1234 .cfi_def_cfa_register 7
- 1235 0006 7860 str r0, [r7, #4]
- 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.
- 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
- 623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** flag will be set */
- 624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** uint32_t tickstart = HAL_GetTick();
- 1236 .loc 1 625 24
- 1237 0008 FFF7FEFF bl HAL_GetTick
- 1238 000c F860 str r0, [r7, #12]
- 626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** while(__HAL_FLASH_GET_FLAG(FLASH_FLAG_BSY))
- 1239 .loc 1 627 8
- 1240 000e 10E0 b .L80
- 1241 .L83:
- 628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** if (Timeout != HAL_MAX_DELAY)
- 1242 .loc 1 629 8
- 1243 0010 7B68 ldr r3, [r7, #4]
- 1244 0012 B3F1FF3F cmp r3, #-1
- 1245 0016 0CD0 beq .L80
- 630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** if((Timeout == 0U) || ((HAL_GetTick()-tickstart) > Timeout))
- 1246 .loc 1 631 9
- 1247 0018 7B68 ldr r3, [r7, #4]
- 1248 001a 002B cmp r3, #0
- 1249 001c 07D0 beq .L81
- 1250 .loc 1 631 31 discriminator 1
- 1251 001e FFF7FEFF bl HAL_GetTick
- 1252 0022 0246 mov r2, r0
- 1253 .loc 1 631 44 discriminator 1
- 1254 0024 FB68 ldr r3, [r7, #12]
- 1255 0026 D31A subs r3, r2, r3
- 1256 .loc 1 631 26 discriminator 1
- 1257 0028 7A68 ldr r2, [r7, #4]
- 1258 002a 9A42 cmp r2, r3
- 1259 002c 01D2 bcs .L80
- 1260 .L81:
- 632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** return HAL_TIMEOUT;
- 1261 .loc 1 633 16
- 1262 002e 0323 movs r3, #3
- 1263 0030 1FE0 b .L82
- 1264 .L80:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 34
- 627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 1265 .loc 1 627 9
- 1266 0032 124B ldr r3, .L87
- 1267 0034 DB68 ldr r3, [r3, #12]
- 1268 0036 03F00103 and r3, r3, #1
- 627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 1269 .loc 1 627 8
- 1270 003a 012B cmp r3, #1
- 1271 003c E8D0 beq .L83
- 634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Check FLASH End of Operation flag */
- 639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** if (__HAL_FLASH_GET_FLAG(FLASH_FLAG_EOP))
- 1272 .loc 1 639 7
- 1273 003e 0F4B ldr r3, .L87
- 1274 0040 DB68 ldr r3, [r3, #12]
- 1275 0042 03F02003 and r3, r3, #32
- 1276 .loc 1 639 6
- 1277 0046 202B cmp r3, #32
- 1278 0048 02D1 bne .L84
- 640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Clear FLASH End of Operation pending bit */
- 642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP);
- 1279 .loc 1 642 5
- 1280 004a 0C4B ldr r3, .L87
- 1281 004c 2022 movs r2, #32
- 1282 004e DA60 str r2, [r3, #12]
- 1283 .L84:
- 643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_WRPERR) ||
- 1284 .loc 1 645 6
- 1285 0050 0A4B ldr r3, .L87
- 1286 0052 DB68 ldr r3, [r3, #12]
- 1287 0054 03F01003 and r3, r3, #16
- 1288 .loc 1 645 5
- 1289 0058 102B cmp r3, #16
- 1290 005a 05D0 beq .L85
- 646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** __HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR))
- 1291 .loc 1 646 6 discriminator 1
- 1292 005c 074B ldr r3, .L87
- 1293 005e DB68 ldr r3, [r3, #12]
- 1294 0060 03F00403 and r3, r3, #4
- 645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** __HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR))
- 1295 .loc 1 645 47 discriminator 1
- 1296 0064 042B cmp r3, #4
- 1297 0066 03D1 bne .L86
- 1298 .L85:
- 647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /*Save the error code*/
- 649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** FLASH_SetErrorCode();
- 1299 .loc 1 649 5
- 1300 0068 FFF7FEFF bl FLASH_SetErrorCode
- 650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** return HAL_ERROR;
- 1301 .loc 1 650 12
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 35
- 1302 006c 0123 movs r3, #1
- 1303 006e 00E0 b .L82
- 1304 .L86:
- 651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* There is no error flag set */
- 654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** return HAL_OK;
- 1305 .loc 1 654 10
- 1306 0070 0023 movs r3, #0
- 1307 .L82:
- 655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 1308 .loc 1 655 1
- 1309 0072 1846 mov r0, r3
- 1310 0074 1037 adds r7, r7, #16
- 1311 .LCFI60:
- 1312 .cfi_def_cfa_offset 8
- 1313 0076 BD46 mov sp, r7
- 1314 .LCFI61:
- 1315 .cfi_def_cfa_register 13
- 1316 @ sp needed
- 1317 0078 80BD pop {r7, pc}
- 1318 .L88:
- 1319 007a 00BF .align 2
- 1320 .L87:
- 1321 007c 00200240 .word 1073881088
- 1322 .cfi_endproc
- 1323 .LFE142:
- 1325 .section .text.FLASH_SetErrorCode,"ax",%progbits
- 1326 .align 1
- 1327 .syntax unified
- 1328 .thumb
- 1329 .thumb_func
- 1331 FLASH_SetErrorCode:
- 1332 .LFB143:
- 656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /**
- 659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @brief Set the specific FLASH error flag.
- 660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** * @retval None
- 661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** */
- 662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** static void FLASH_SetErrorCode(void)
- 663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 1333 .loc 1 663 1
- 1334 .cfi_startproc
- 1335 @ args = 0, pretend = 0, frame = 8
- 1336 @ frame_needed = 1, uses_anonymous_args = 0
- 1337 @ link register save eliminated.
- 1338 0000 80B4 push {r7}
- 1339 .LCFI62:
- 1340 .cfi_def_cfa_offset 4
- 1341 .cfi_offset 7, -4
- 1342 0002 83B0 sub sp, sp, #12
- 1343 .LCFI63:
- 1344 .cfi_def_cfa_offset 16
- 1345 0004 00AF add r7, sp, #0
- 1346 .LCFI64:
- 1347 .cfi_def_cfa_register 7
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 36
- 664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** uint32_t flags = 0U;
- 1348 .loc 1 664 12
- 1349 0006 0023 movs r3, #0
- 1350 0008 7B60 str r3, [r7, #4]
- 665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****
- 666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_WRPERR))
- 1351 .loc 1 666 6
- 1352 000a 144B ldr r3, .L92
- 1353 000c DB68 ldr r3, [r3, #12]
- 1354 000e 03F01003 and r3, r3, #16
- 1355 .loc 1 666 5
- 1356 0012 102B cmp r3, #16
- 1357 0014 09D1 bne .L90
- 667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.ErrorCode |= HAL_FLASH_ERROR_WRP;
- 1358 .loc 1 668 22
- 1359 0016 124B ldr r3, .L92+4
- 1360 0018 DB69 ldr r3, [r3, #28]
- 1361 001a 43F00203 orr r3, r3, #2
- 1362 001e 104A ldr r2, .L92+4
- 1363 0020 D361 str r3, [r2, #28]
- 669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** flags |= FLASH_FLAG_WRPERR;
- 1364 .loc 1 669 11
- 1365 0022 7B68 ldr r3, [r7, #4]
- 1366 0024 43F01003 orr r3, r3, #16
- 1367 0028 7B60 str r3, [r7, #4]
- 1368 .L90:
- 670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR))
- 1369 .loc 1 671 6
- 1370 002a 0C4B ldr r3, .L92
- 1371 002c DB68 ldr r3, [r3, #12]
- 1372 002e 03F00403 and r3, r3, #4
- 1373 .loc 1 671 5
- 1374 0032 042B cmp r3, #4
- 1375 0034 09D1 bne .L91
- 672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** {
- 673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.ErrorCode |= HAL_FLASH_ERROR_PROG;
- 1376 .loc 1 673 22
- 1377 0036 0A4B ldr r3, .L92+4
- 1378 0038 DB69 ldr r3, [r3, #28]
- 1379 003a 43F00103 orr r3, r3, #1
- 1380 003e 084A ldr r2, .L92+4
- 1381 0040 D361 str r3, [r2, #28]
- 674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** flags |= FLASH_FLAG_PGERR;
- 1382 .loc 1 674 11
- 1383 0042 7B68 ldr r3, [r7, #4]
- 1384 0044 43F00403 orr r3, r3, #4
- 1385 0048 7B60 str r3, [r7, #4]
- 1386 .L91:
- 675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Clear FLASH error pending bits */
- 677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** __HAL_FLASH_CLEAR_FLAG(flags);
- 1387 .loc 1 677 3
- 1388 004a 044A ldr r2, .L92
- 1389 004c 7B68 ldr r3, [r7, #4]
- 1390 004e D360 str r3, [r2, #12]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 37
- 678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
- 1391 .loc 1 678 1
- 1392 0050 00BF nop
- 1393 0052 0C37 adds r7, r7, #12
- 1394 .LCFI65:
- 1395 .cfi_def_cfa_offset 4
- 1396 0054 BD46 mov sp, r7
- 1397 .LCFI66:
- 1398 .cfi_def_cfa_register 13
- 1399 @ sp needed
- 1400 0056 5DF8047B ldr r7, [sp], #4
- 1401 .LCFI67:
- 1402 .cfi_restore 7
- 1403 .cfi_def_cfa_offset 0
- 1404 005a 7047 bx lr
- 1405 .L93:
- 1406 .align 2
- 1407 .L92:
- 1408 005c 00200240 .word 1073881088
- 1409 0060 00000000 .word pFlash
- 1410 .cfi_endproc
- 1411 .LFE143:
- 1413 .text
- 1414 .Letext0:
- 1415 .file 2 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h"
- 1416 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h"
- 1417 .file 4 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h"
- 1418 .file 5 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f3xx.h"
- 1419 .file 6 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h"
- 1420 .file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_flash.h"
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s page 38
- DEFINED SYMBOLS
- *ABS*:00000000 stm32f3xx_hal_flash.c
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:24 .bss.pFlash:00000000 pFlash
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:21 .bss.pFlash:00000000 $d
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:27 .rodata:00000000 $d
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:32 .text.HAL_FLASH_Program:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:38 .text.HAL_FLASH_Program:00000000 HAL_FLASH_Program
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:1218 .text.FLASH_WaitForLastOperation:00000000 FLASH_WaitForLastOperation
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:1154 .text.FLASH_Program_HalfWord:00000000 FLASH_Program_HalfWord
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:251 .text.HAL_FLASH_Program:00000130 $d
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:262 .text.HAL_FLASH_Program_IT:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:268 .text.HAL_FLASH_Program_IT:00000000 HAL_FLASH_Program_IT
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:432 .text.HAL_FLASH_Program_IT:000000e0 $d
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:443 .text.HAL_FLASH_IRQHandler:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:449 .text.HAL_FLASH_IRQHandler:00000000 HAL_FLASH_IRQHandler
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:1331 .text.FLASH_SetErrorCode:00000000 FLASH_SetErrorCode
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:795 .text.HAL_FLASH_OperationErrorCallback:00000000 HAL_FLASH_OperationErrorCallback
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:753 .text.HAL_FLASH_EndOfOperationCallback:00000000 HAL_FLASH_EndOfOperationCallback
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:741 .text.HAL_FLASH_IRQHandler:000001c0 $d
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:747 .text.HAL_FLASH_EndOfOperationCallback:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:789 .text.HAL_FLASH_OperationErrorCallback:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:831 .text.HAL_FLASH_Unlock:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:837 .text.HAL_FLASH_Unlock:00000000 HAL_FLASH_Unlock
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:902 .text.HAL_FLASH_Unlock:00000040 $d
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:909 .text.HAL_FLASH_Lock:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:915 .text.HAL_FLASH_Lock:00000000 HAL_FLASH_Lock
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:951 .text.HAL_FLASH_Lock:0000001c $d
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:956 .text.HAL_FLASH_OB_Unlock:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:962 .text.HAL_FLASH_OB_Unlock:00000000 HAL_FLASH_OB_Unlock
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:1012 .text.HAL_FLASH_OB_Unlock:0000002c $d
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:1019 .text.HAL_FLASH_OB_Lock:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:1025 .text.HAL_FLASH_OB_Lock:00000000 HAL_FLASH_OB_Lock
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:1061 .text.HAL_FLASH_OB_Lock:0000001c $d
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:1066 .text.HAL_FLASH_OB_Launch:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:1072 .text.HAL_FLASH_OB_Launch:00000000 HAL_FLASH_OB_Launch
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:1102 .text.HAL_FLASH_OB_Launch:00000020 $d
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:1107 .text.HAL_FLASH_GetError:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:1113 .text.HAL_FLASH_GetError:00000000 HAL_FLASH_GetError
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:1144 .text.HAL_FLASH_GetError:00000014 $d
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:1149 .text.FLASH_Program_HalfWord:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:1206 .text.FLASH_Program_HalfWord:00000030 $d
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:1212 .text.FLASH_WaitForLastOperation:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:1321 .text.FLASH_WaitForLastOperation:0000007c $d
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:1326 .text.FLASH_SetErrorCode:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccW07dMO.s:1408 .text.FLASH_SetErrorCode:0000005c $d
- UNDEFINED SYMBOLS
- assert_failed
- FLASH_PageErase
- HAL_GetTick
|