ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.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, 2 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 .section .text.FLASH_SetErrorCode,"ax",%progbits 20 .align 1 21 .p2align 2,,3 22 .syntax unified 23 .thumb 24 .thumb_func 26 FLASH_SetErrorCode: 27 .LFB143: 28 .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 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 **** ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 2 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 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 **** */ ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 3 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 **** * @{ 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 ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 4 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 **** { 168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** HAL_StatusTypeDef status = HAL_ERROR; 169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** uint8_t index = 0U; 170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** uint8_t nbiterations = 0U; 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); 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)); 177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS(Address)); 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); 181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** if(status == HAL_OK) 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) 185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 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; 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) 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; 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; 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++) 201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 5 202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** FLASH_Program_HalfWord((Address + (2U*index)), (uint16_t)(Data >> (16U*index))); 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); 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); 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) 211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** break; 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); 219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** return status; 221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 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 **** { 240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** HAL_StatusTypeDef status = HAL_OK; 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); 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)); 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS(Address)); 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); 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.Address = Address; 253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.Data = Data; 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) 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; 258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Program halfword (16-bit) at a specified address. */ ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 6 259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.DataRemaining = 1U; 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) 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; 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; 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; 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; 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); 276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** return status; 278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 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 **** { 286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** uint32_t addresstmp = 0U; 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)) 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; 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; 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(); 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); 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; 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)) 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); 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) 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) ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 7 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--; 319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 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) 322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** addresstmp = pFlash.Address; 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); 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; 329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.Address = addresstmp; 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); 333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** FLASH_PageErase(addresstmp); 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; 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE; 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); 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) 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); 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); 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; 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--; 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) 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; 368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** addresstmp = pFlash.Address; 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); 372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 8 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); 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); 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) 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); 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) 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); 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); 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; 398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE; 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) 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)); 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); 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); 415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 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 **** { 429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Prevent unused argument(s) compilation warning */ ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 9 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 **** } 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 **** { 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 **** } 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 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 **** { 480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** HAL_StatusTypeDef status = HAL_OK; 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) 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); 486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** WRITE_REG(FLASH->KEYR, FLASH_KEY2); ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 10 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) 490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** status = HAL_ERROR; 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; 496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 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 **** { 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); 506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** return HAL_OK; 508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 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 **** { 516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** if (HAL_IS_BIT_CLR(FLASH->CR, FLASH_CR_OPTWRE)) 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); 520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** WRITE_REG(FLASH->OPTKEYR, FLASH_OPTKEY2); 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; 528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 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 **** { 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); 538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** return HAL_OK; 540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 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. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 11 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 **** { 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); 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)); 554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 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 **** { 581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** return pFlash.ErrorCode; 582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 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 ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 12 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 **** { 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; 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); 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; 612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 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 **** { 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(); 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)) 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) 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)) 632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** return HAL_TIMEOUT; 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)) 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); 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) || 646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** __HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR)) 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(); 650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** return HAL_ERROR; 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; 655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 13 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 **** { 29 .loc 1 663 1 view -0 30 .cfi_startproc 31 @ args = 0, pretend = 0, frame = 0 32 @ frame_needed = 0, uses_anonymous_args = 0 33 @ link register save eliminated. 664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** uint32_t flags = 0U; 34 .loc 1 664 3 view .LVU1 35 .LVL0: 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)) 36 .loc 1 666 3 view .LVU2 37 .loc 1 666 6 is_stmt 0 view .LVU3 38 0000 0C4B ldr r3, .L11 39 0002 DB68 ldr r3, [r3, #12] 40 .loc 1 666 5 view .LVU4 41 0004 13F01003 ands r3, r3, #16 42 0008 05D0 beq .L2 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; 43 .loc 1 668 5 is_stmt 1 view .LVU5 44 .loc 1 668 22 is_stmt 0 view .LVU6 45 000a 0B49 ldr r1, .L11+4 46 000c CA69 ldr r2, [r1, #28] 47 000e 42F00202 orr r2, r2, #2 669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** flags |= FLASH_FLAG_WRPERR; 48 .loc 1 669 11 view .LVU7 49 0012 1023 movs r3, #16 668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** flags |= FLASH_FLAG_WRPERR; 50 .loc 1 668 22 view .LVU8 51 0014 CA61 str r2, [r1, #28] 52 .loc 1 669 5 is_stmt 1 view .LVU9 53 .LVL1: 54 .L2: 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)) 55 .loc 1 671 3 view .LVU10 56 .loc 1 671 6 is_stmt 0 view .LVU11 57 0016 074A ldr r2, .L11 58 0018 D268 ldr r2, [r2, #12] 59 .loc 1 671 5 view .LVU12 60 001a 5207 lsls r2, r2, #29 61 001c 06D5 bpl .L3 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; 62 .loc 1 673 5 is_stmt 1 view .LVU13 63 .loc 1 673 22 is_stmt 0 view .LVU14 64 001e 0649 ldr r1, .L11+4 65 0020 CA69 ldr r2, [r1, #28] 66 0022 42F00102 orr r2, r2, #1 674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** flags |= FLASH_FLAG_PGERR; 67 .loc 1 674 11 view .LVU15 ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 14 68 0026 43F00403 orr r3, r3, #4 69 .LVL2: 673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** flags |= FLASH_FLAG_PGERR; 70 .loc 1 673 22 view .LVU16 71 002a CA61 str r2, [r1, #28] 72 .loc 1 674 5 is_stmt 1 view .LVU17 73 .LVL3: 74 .L3: 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); 75 .loc 1 677 3 view .LVU18 76 002c 014A ldr r2, .L11 77 002e D360 str r3, [r2, #12] 678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 78 .loc 1 678 1 is_stmt 0 view .LVU19 79 0030 7047 bx lr 80 .L12: 81 0032 00BF .align 2 82 .L11: 83 0034 00200240 .word 1073881088 84 0038 00000000 .word .LANCHOR0 85 .cfi_endproc 86 .LFE143: 88 .section .rodata.HAL_FLASH_Program_IT.str1.4,"aMS",%progbits,1 89 .align 2 90 .LC0: 91 0000 44726976 .ascii "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flas" 91 6572732F 91 53544D33 91 32463378 91 785F4841 92 0033 682E6300 .ascii "h.c\000" 93 .section .text.HAL_FLASH_Program_IT,"ax",%progbits 94 .align 1 95 .p2align 2,,3 96 .global HAL_FLASH_Program_IT 97 .syntax unified 98 .thumb 99 .thumb_func 101 HAL_FLASH_Program_IT: 102 .LVL4: 103 .LFB131: 239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** HAL_StatusTypeDef status = HAL_OK; 104 .loc 1 239 1 is_stmt 1 view -0 105 .cfi_startproc 106 @ args = 0, pretend = 0, frame = 0 107 @ frame_needed = 0, uses_anonymous_args = 0 240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 108 .loc 1 240 3 view .LVU21 243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 109 .loc 1 243 3 view .LVU22 243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 110 .loc 1 243 3 view .LVU23 239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** HAL_StatusTypeDef status = HAL_OK; 111 .loc 1 239 1 is_stmt 0 view .LVU24 112 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr} ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 15 113 .LCFI0: 114 .cfi_def_cfa_offset 24 115 .cfi_offset 4, -24 116 .cfi_offset 5, -20 117 .cfi_offset 6, -16 118 .cfi_offset 7, -12 119 .cfi_offset 8, -8 120 .cfi_offset 14, -4 243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 121 .loc 1 243 3 view .LVU25 122 0004 2A4C ldr r4, .L30 239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** HAL_StatusTypeDef status = HAL_OK; 123 .loc 1 239 1 view .LVU26 124 0006 1F46 mov r7, r3 243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 125 .loc 1 243 3 view .LVU27 126 0008 237E ldrb r3, [r4, #24] @ zero_extendqisi2 127 000a 012B cmp r3, #1 128 000c 4DD0 beq .L23 243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 129 .loc 1 243 3 discriminator 2 view .LVU28 130 000e 0123 movs r3, #1 131 0010 2376 strb r3, [r4, #24] 246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS(Address)); 132 .loc 1 246 3 discriminator 2 view .LVU29 133 0012 431E subs r3, r0, #1 134 0014 022B cmp r3, #2 135 0016 1646 mov r6, r2 136 0018 8046 mov r8, r0 137 001a 0D46 mov r5, r1 243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 138 .loc 1 243 3 is_stmt 1 discriminator 2 view .LVU30 243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 139 .loc 1 243 3 discriminator 2 view .LVU31 246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS(Address)); 140 .loc 1 246 3 discriminator 2 view .LVU32 141 001c 33D8 bhi .L25 142 .LVL5: 143 .L15: 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 144 .loc 1 247 3 view .LVU33 145 001e B5F1006F cmp r5, #134217728 146 0022 0AD3 bcc .L16 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 147 .loc 1 247 3 is_stmt 0 discriminator 2 view .LVU34 148 0024 234B ldr r3, .L30+4 149 0026 B3F8CC30 ldrh r3, [r3, #204] 150 002a B3F5807F cmp r3, #256 151 002e 2FD0 beq .L26 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 152 .loc 1 247 3 discriminator 4 view .LVU35 153 0030 802B cmp r3, #128 154 0032 36D0 beq .L27 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 155 .loc 1 247 3 discriminator 7 view .LVU36 156 0034 204B ldr r3, .L30+8 157 0036 9D42 cmp r5, r3 ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 16 158 0038 03D9 bls .L18 159 .L16: 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 160 .loc 1 247 3 discriminator 9 view .LVU37 161 003a 2048 ldr r0, .L30+12 162 003c F721 movs r1, #247 163 003e FFF7FEFF bl assert_failed 164 .LVL6: 165 .L18: 250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 166 .loc 1 250 3 is_stmt 1 view .LVU38 167 0042 1F4A ldr r2, .L30+16 168 0044 1369 ldr r3, [r2, #16] 255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 169 .loc 1 255 5 is_stmt 0 view .LVU39 170 0046 B8F1010F cmp r8, #1 250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 171 .loc 1 250 3 view .LVU40 172 004a 43F4A053 orr r3, r3, #5120 173 004e 1361 str r3, [r2, #16] 252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.Data = Data; 174 .loc 1 252 3 is_stmt 1 view .LVU41 252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.Data = Data; 175 .loc 1 252 18 is_stmt 0 view .LVU42 176 0050 A560 str r5, [r4, #8] 253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 177 .loc 1 253 3 is_stmt 1 view .LVU43 253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 178 .loc 1 253 15 is_stmt 0 view .LVU44 179 0052 C4E90467 strd r6, [r4, #16] 255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 180 .loc 1 255 3 is_stmt 1 view .LVU45 255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 181 .loc 1 255 5 is_stmt 0 view .LVU46 182 0056 11D0 beq .L28 261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 183 .loc 1 261 8 is_stmt 1 view .LVU47 261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 184 .loc 1 261 10 is_stmt 0 view .LVU48 185 0058 B8F1020F cmp r8, #2 186 005c 1CD0 beq .L29 269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Program double word (64-bit : 4*16-bit) at a specified address. */ 187 .loc 1 269 5 is_stmt 1 view .LVU49 269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Program double word (64-bit : 4*16-bit) at a specified address. */ 188 .loc 1 269 29 is_stmt 0 view .LVU50 189 005e 0523 movs r3, #5 190 0060 2370 strb r3, [r4] 271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 191 .loc 1 271 5 is_stmt 1 view .LVU51 271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 192 .loc 1 271 26 is_stmt 0 view .LVU52 193 0062 0423 movs r3, #4 194 0064 6360 str r3, [r4, #4] 195 .L21: 275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 196 .loc 1 275 3 is_stmt 1 view .LVU53 197 .LBB8: ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 17 198 .LBB9: 608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 199 .loc 1 608 5 is_stmt 0 view .LVU54 200 0066 164A ldr r2, .L30+16 605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 201 .loc 1 605 20 view .LVU55 202 0068 0020 movs r0, #0 203 006a E061 str r0, [r4, #28] 608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 204 .loc 1 608 5 view .LVU56 205 006c 1369 ldr r3, [r2, #16] 206 .LBE9: 207 .LBE8: 275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 208 .loc 1 275 3 view .LVU57 209 006e B6B2 uxth r6, r6 210 .LVL7: 211 .LBB11: 212 .LBI8: 602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 213 .loc 1 602 13 is_stmt 1 view .LVU58 214 .LBB10: 605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 215 .loc 1 605 3 view .LVU59 608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 216 .loc 1 608 5 view .LVU60 217 0070 43F00103 orr r3, r3, #1 218 0074 1361 str r3, [r2, #16] 611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 219 .loc 1 611 3 view .LVU61 611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 220 .loc 1 611 28 is_stmt 0 view .LVU62 221 0076 2E80 strh r6, [r5] @ movhi 222 .LVL8: 611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 223 .loc 1 611 28 view .LVU63 224 .LBE10: 225 .LBE11: 277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 226 .loc 1 277 3 is_stmt 1 view .LVU64 278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 227 .loc 1 278 1 is_stmt 0 view .LVU65 228 0078 BDE8F081 pop {r4, r5, r6, r7, r8, pc} 229 .LVL9: 230 .L28: 257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Program halfword (16-bit) at a specified address. */ 231 .loc 1 257 5 is_stmt 1 view .LVU66 257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Program halfword (16-bit) at a specified address. */ 232 .loc 1 257 29 is_stmt 0 view .LVU67 233 007c 0323 movs r3, #3 234 007e 2370 strb r3, [r4] 259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 235 .loc 1 259 5 is_stmt 1 view .LVU68 259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 236 .loc 1 259 26 is_stmt 0 view .LVU69 237 0080 C4F80480 str r8, [r4, #4] 238 0084 EFE7 b .L21 ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 18 239 .LVL10: 240 .L25: 246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS(Address)); 241 .loc 1 246 3 discriminator 1 view .LVU70 242 0086 0D48 ldr r0, .L30+12 243 .LVL11: 246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS(Address)); 244 .loc 1 246 3 discriminator 1 view .LVU71 245 0088 F621 movs r1, #246 246 .LVL12: 246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS(Address)); 247 .loc 1 246 3 discriminator 1 view .LVU72 248 008a FFF7FEFF bl assert_failed 249 .LVL13: 246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS(Address)); 250 .loc 1 246 3 discriminator 1 view .LVU73 251 008e C6E7 b .L15 252 .L26: 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 253 .loc 1 247 3 discriminator 3 view .LVU74 254 0090 0C4B ldr r3, .L30+20 255 0092 9D42 cmp r5, r3 256 0094 D1D8 bhi .L16 257 0096 D4E7 b .L18 258 .L29: 263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Program word (32-bit : 2*16-bit) at a specified address. */ 259 .loc 1 263 5 is_stmt 1 view .LVU75 263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Program word (32-bit : 2*16-bit) at a specified address. */ 260 .loc 1 263 29 is_stmt 0 view .LVU76 261 0098 0423 movs r3, #4 262 009a 2370 strb r3, [r4] 265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 263 .loc 1 265 5 is_stmt 1 view .LVU77 265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 264 .loc 1 265 26 is_stmt 0 view .LVU78 265 009c C4F80480 str r8, [r4, #4] 266 00a0 E1E7 b .L21 267 .L27: 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 268 .loc 1 247 3 discriminator 6 view .LVU79 269 00a2 094B ldr r3, .L30+24 270 00a4 9D42 cmp r5, r3 271 00a6 C8D8 bhi .L16 272 00a8 CBE7 b .L18 273 .LVL14: 274 .L23: 243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 275 .loc 1 243 3 view .LVU80 276 00aa 0220 movs r0, #2 277 .LVL15: 278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 278 .loc 1 278 1 view .LVU81 279 00ac BDE8F081 pop {r4, r5, r6, r7, r8, pc} 280 .L31: 281 .align 2 282 .L30: 283 00b0 00000000 .word .LANCHOR0 ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 19 284 00b4 00F7FF1F .word 536868608 285 00b8 FFFF0008 .word 134283263 286 00bc 00000000 .word .LC0 287 00c0 00200240 .word 1073881088 288 00c4 FFFF0308 .word 134479871 289 00c8 FFFF0108 .word 134348799 290 .cfi_endproc 291 .LFE131: 293 .section .text.HAL_FLASH_EndOfOperationCallback,"ax",%progbits 294 .align 1 295 .p2align 2,,3 296 .weak HAL_FLASH_EndOfOperationCallback 297 .syntax unified 298 .thumb 299 .thumb_func 301 HAL_FLASH_EndOfOperationCallback: 302 .LVL16: 303 .LFB133: 428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Prevent unused argument(s) compilation warning */ 304 .loc 1 428 1 is_stmt 1 view -0 305 .cfi_startproc 306 @ args = 0, pretend = 0, frame = 0 307 @ frame_needed = 0, uses_anonymous_args = 0 308 @ link register save eliminated. 430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 309 .loc 1 430 3 view .LVU83 435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 310 .loc 1 435 1 is_stmt 0 view .LVU84 311 0000 7047 bx lr 312 .cfi_endproc 313 .LFE133: 315 0002 00BF .section .text.HAL_FLASH_OperationErrorCallback,"ax",%progbits 316 .align 1 317 .p2align 2,,3 318 .weak HAL_FLASH_OperationErrorCallback 319 .syntax unified 320 .thumb 321 .thumb_func 323 HAL_FLASH_OperationErrorCallback: 324 .LFB145: 325 .cfi_startproc 326 @ args = 0, pretend = 0, frame = 0 327 @ frame_needed = 0, uses_anonymous_args = 0 328 @ link register save eliminated. 329 0000 7047 bx lr 330 .cfi_endproc 331 .LFE145: 333 0002 00BF .section .text.HAL_FLASH_IRQHandler,"ax",%progbits 334 .align 1 335 .p2align 2,,3 336 .global HAL_FLASH_IRQHandler 337 .syntax unified 338 .thumb 339 .thumb_func 341 HAL_FLASH_IRQHandler: 342 .LFB132: 285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** uint32_t addresstmp = 0U; ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 20 343 .loc 1 285 1 is_stmt 1 view -0 344 .cfi_startproc 345 @ args = 0, pretend = 0, frame = 0 346 @ frame_needed = 0, uses_anonymous_args = 0 286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 347 .loc 1 286 3 view .LVU86 348 .LVL17: 289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 349 .loc 1 289 3 view .LVU87 285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** uint32_t addresstmp = 0U; 350 .loc 1 285 1 is_stmt 0 view .LVU88 351 0000 F8B5 push {r3, r4, r5, r6, r7, lr} 352 .LCFI1: 353 .cfi_def_cfa_offset 24 354 .cfi_offset 3, -24 355 .cfi_offset 4, -20 356 .cfi_offset 5, -16 357 .cfi_offset 6, -12 358 .cfi_offset 7, -8 359 .cfi_offset 14, -4 289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 360 .loc 1 289 6 view .LVU89 361 0002 444B ldr r3, .L58 292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Reset address */ 362 .loc 1 292 16 view .LVU90 363 0004 444C ldr r4, .L58+4 289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 364 .loc 1 289 6 view .LVU91 365 0006 DA68 ldr r2, [r3, #12] 289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 366 .loc 1 289 5 view .LVU92 367 0008 D106 lsls r1, r2, #27 368 000a 19D4 bmi .L35 289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 369 .loc 1 289 48 discriminator 1 view .LVU93 370 000c DB68 ldr r3, [r3, #12] 289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 371 .loc 1 289 46 discriminator 1 view .LVU94 372 000e 5A07 lsls r2, r3, #29 373 0010 16D4 bmi .L35 374 .LVL18: 375 .L36: 307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 376 .loc 1 307 3 is_stmt 1 view .LVU95 307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 377 .loc 1 307 6 is_stmt 0 view .LVU96 378 0012 404D ldr r5, .L58 379 0014 EB68 ldr r3, [r5, #12] 307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 380 .loc 1 307 5 view .LVU97 381 0016 9B06 lsls r3, r3, #26 382 0018 03D5 bpl .L38 310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 383 .loc 1 310 5 is_stmt 1 view .LVU98 384 001a 2023 movs r3, #32 385 001c EB60 str r3, [r5, #12] 313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 21 386 .loc 1 313 5 view .LVU99 313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 387 .loc 1 313 14 is_stmt 0 view .LVU100 388 001e 2378 ldrb r3, [r4] @ zero_extendqisi2 313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 389 .loc 1 313 7 view .LVU101 390 0020 CBB9 cbnz r3, .L54 391 .L38: 405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 392 .loc 1 405 3 is_stmt 1 view .LVU102 405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 393 .loc 1 405 12 is_stmt 0 view .LVU103 394 0022 2378 ldrb r3, [r4] @ zero_extendqisi2 405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 395 .loc 1 405 5 view .LVU104 396 0024 03F0FF01 and r1, r3, #255 397 0028 4BB9 cbnz r3, .L34 408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 398 .loc 1 408 5 is_stmt 1 view .LVU105 399 002a 3A4B ldr r3, .L58 400 002c 1A69 ldr r2, [r3, #16] 401 002e 22F00702 bic r2, r2, #7 402 0032 1A61 str r2, [r3, #16] 411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 403 .loc 1 411 5 view .LVU106 404 0034 1A69 ldr r2, [r3, #16] 405 0036 22F4A052 bic r2, r2, #5120 406 003a 1A61 str r2, [r3, #16] 414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 407 .loc 1 414 5 view .LVU107 414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 408 .loc 1 414 5 view .LVU108 409 003c 2176 strb r1, [r4, #24] 414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 410 .loc 1 414 5 view .LVU109 411 .L34: 416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 412 .loc 1 416 1 is_stmt 0 view .LVU110 413 003e F8BD pop {r3, r4, r5, r6, r7, pc} 414 .LVL19: 415 .L35: 292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Reset address */ 416 .loc 1 292 5 is_stmt 1 view .LVU111 294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 417 .loc 1 294 20 is_stmt 0 view .LVU112 418 0040 4FF0FF33 mov r3, #-1 292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Reset address */ 419 .loc 1 292 16 view .LVU113 420 0044 A068 ldr r0, [r4, #8] 421 .LVL20: 294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 422 .loc 1 294 5 is_stmt 1 view .LVU114 294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 423 .loc 1 294 20 is_stmt 0 view .LVU115 424 0046 A360 str r3, [r4, #8] 297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 425 .loc 1 297 5 is_stmt 1 view .LVU116 ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 22 426 0048 FFF7FEFF bl FLASH_SetErrorCode 427 .LVL21: 300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 428 .loc 1 300 5 view .LVU117 429 004c FFF7FEFF bl HAL_FLASH_OperationErrorCallback 430 .LVL22: 303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 431 .loc 1 303 5 view .LVU118 303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 432 .loc 1 303 29 is_stmt 0 view .LVU119 433 0050 0023 movs r3, #0 434 0052 2370 strb r3, [r4] 435 0054 DDE7 b .L36 436 .L54: 315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 437 .loc 1 315 7 is_stmt 1 view .LVU120 315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 438 .loc 1 315 16 is_stmt 0 view .LVU121 439 0056 2378 ldrb r3, [r4] @ zero_extendqisi2 315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 440 .loc 1 315 9 view .LVU122 441 0058 012B cmp r3, #1 442 005a 22D0 beq .L55 346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 443 .loc 1 346 12 is_stmt 1 view .LVU123 346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 444 .loc 1 346 21 is_stmt 0 view .LVU124 445 005c 2378 ldrb r3, [r4] @ zero_extendqisi2 346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 446 .loc 1 346 14 view .LVU125 447 005e 022B cmp r3, #2 448 0060 4AD0 beq .L56 361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 449 .loc 1 361 9 is_stmt 1 view .LVU126 361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 450 .loc 1 361 15 is_stmt 0 view .LVU127 451 0062 6368 ldr r3, [r4, #4] 361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 452 .loc 1 361 29 view .LVU128 453 0064 013B subs r3, r3, #1 454 0066 6360 str r3, [r4, #4] 364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 455 .loc 1 364 9 is_stmt 1 view .LVU129 364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 456 .loc 1 364 18 is_stmt 0 view .LVU130 457 0068 6368 ldr r3, [r4, #4] 364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 458 .loc 1 364 11 view .LVU131 459 006a 6BB3 cbz r3, .L43 367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** addresstmp = pFlash.Address; 460 .loc 1 367 11 is_stmt 1 view .LVU132 367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** addresstmp = pFlash.Address; 461 .loc 1 367 26 is_stmt 0 view .LVU133 462 006c A368 ldr r3, [r4, #8] 463 006e 0233 adds r3, r3, #2 464 0070 A360 str r3, [r4, #8] 368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 23 465 .loc 1 368 11 is_stmt 1 view .LVU134 368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 466 .loc 1 368 22 is_stmt 0 view .LVU135 467 0072 A668 ldr r6, [r4, #8] 468 .LVL23: 371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 469 .loc 1 371 11 is_stmt 1 view .LVU136 371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 470 .loc 1 371 32 is_stmt 0 view .LVU137 471 0074 D4E90401 ldrd r0, [r4, #16] 371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 472 .loc 1 371 38 view .LVU138 473 0078 020C lsrs r2, r0, #16 474 007a 42EA0142 orr r2, r2, r1, lsl #16 475 007e 0B0C lsrs r3, r1, #16 371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 476 .loc 1 371 23 view .LVU139 477 0080 C4E90423 strd r2, [r4, #16] 374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 478 .loc 1 374 11 is_stmt 1 view .LVU140 479 0084 2B69 ldr r3, [r5, #16] 480 0086 23F00103 bic r3, r3, #1 481 008a 2B61 str r3, [r5, #16] 377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 482 .loc 1 377 11 view .LVU141 483 .LBB12: 484 .LBB13: 605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 485 .loc 1 605 20 is_stmt 0 view .LVU142 486 008c 0027 movs r7, #0 487 .LBE13: 488 .LBE12: 377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 489 .loc 1 377 62 view .LVU143 490 008e D4E90423 ldrd r2, [r4, #16] 491 .LBB16: 492 .LBB14: 605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 493 .loc 1 605 20 view .LVU144 494 0092 E761 str r7, [r4, #28] 608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 495 .loc 1 608 5 view .LVU145 496 0094 2B69 ldr r3, [r5, #16] 497 .LBE14: 498 .LBE16: 377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 499 .loc 1 377 11 view .LVU146 500 0096 92B2 uxth r2, r2 501 .LVL24: 502 .LBB17: 503 .LBI12: 602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 504 .loc 1 602 13 is_stmt 1 view .LVU147 505 .LBB15: 605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 506 .loc 1 605 3 view .LVU148 608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 24 507 .loc 1 608 5 view .LVU149 508 0098 43F00103 orr r3, r3, #1 509 009c 2B61 str r3, [r5, #16] 611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 510 .loc 1 611 3 view .LVU150 611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 511 .loc 1 611 28 is_stmt 0 view .LVU151 512 009e 3280 strh r2, [r6] @ movhi 612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 513 .loc 1 612 1 view .LVU152 514 00a0 BFE7 b .L38 515 .LVL25: 516 .L55: 612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 517 .loc 1 612 1 view .LVU153 518 .LBE15: 519 .LBE17: 318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 520 .loc 1 318 9 is_stmt 1 view .LVU154 318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 521 .loc 1 318 15 is_stmt 0 view .LVU155 522 00a2 6368 ldr r3, [r4, #4] 318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 523 .loc 1 318 29 view .LVU156 524 00a4 013B subs r3, r3, #1 525 00a6 6360 str r3, [r4, #4] 321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 526 .loc 1 321 9 is_stmt 1 view .LVU157 321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 527 .loc 1 321 18 is_stmt 0 view .LVU158 528 00a8 6368 ldr r3, [r4, #4] 321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 529 .loc 1 321 11 view .LVU159 530 00aa F3B1 cbz r3, .L41 323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /*Indicate user which sector has been erased */ 531 .loc 1 323 11 is_stmt 1 view .LVU160 323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /*Indicate user which sector has been erased */ 532 .loc 1 323 22 is_stmt 0 view .LVU161 533 00ac A068 ldr r0, [r4, #8] 534 .LVL26: 325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 535 .loc 1 325 11 is_stmt 1 view .LVU162 536 00ae FFF7FEFF bl HAL_FLASH_EndOfOperationCallback 537 .LVL27: 328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.Address = addresstmp; 538 .loc 1 328 11 view .LVU163 328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.Address = addresstmp; 539 .loc 1 328 30 is_stmt 0 view .LVU164 540 00b2 A068 ldr r0, [r4, #8] 328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.Address = addresstmp; 541 .loc 1 328 22 view .LVU165 542 00b4 00F50060 add r0, r0, #2048 543 .LVL28: 329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 544 .loc 1 329 11 is_stmt 1 view .LVU166 329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 545 .loc 1 329 26 is_stmt 0 view .LVU167 ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 25 546 00b8 A060 str r0, [r4, #8] 332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 547 .loc 1 332 11 is_stmt 1 view .LVU168 548 00ba 2B69 ldr r3, [r5, #16] 549 00bc 23F00203 bic r3, r3, #2 550 00c0 2B61 str r3, [r5, #16] 334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 551 .loc 1 334 11 view .LVU169 552 00c2 FFF7FEFF bl FLASH_PageErase 553 .LVL29: 334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 554 .loc 1 334 11 is_stmt 0 view .LVU170 555 00c6 ACE7 b .L38 556 .L43: 383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 557 .loc 1 383 11 is_stmt 1 view .LVU171 383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 558 .loc 1 383 21 is_stmt 0 view .LVU172 559 00c8 2378 ldrb r3, [r4] @ zero_extendqisi2 383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 560 .loc 1 383 14 view .LVU173 561 00ca 032B cmp r3, #3 562 00cc 1ED0 beq .L57 387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 563 .loc 1 387 16 is_stmt 1 view .LVU174 389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 564 .loc 1 389 13 view .LVU175 393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 565 .loc 1 393 13 view .LVU176 387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 566 .loc 1 387 26 is_stmt 0 view .LVU177 567 00ce 2378 ldrb r3, [r4] @ zero_extendqisi2 389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 568 .loc 1 389 52 view .LVU178 569 00d0 A068 ldr r0, [r4, #8] 387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 570 .loc 1 387 19 view .LVU179 571 00d2 042B cmp r3, #4 389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 572 .loc 1 389 13 view .LVU180 573 00d4 0CBF ite eq 574 00d6 0238 subeq r0, r0, #2 393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 575 .loc 1 393 13 view .LVU181 576 00d8 0638 subne r0, r0, #6 577 00da FFF7FEFF bl HAL_FLASH_EndOfOperationCallback 578 .LVL30: 579 .L45: 397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE; 580 .loc 1 397 11 is_stmt 1 view .LVU182 397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE; 581 .loc 1 397 26 is_stmt 0 view .LVU183 582 00de 4FF0FF32 mov r2, #-1 398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 583 .loc 1 398 35 view .LVU184 584 00e2 0023 movs r3, #0 397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE; ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 26 585 .loc 1 397 26 view .LVU185 586 00e4 A260 str r2, [r4, #8] 398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 587 .loc 1 398 11 is_stmt 1 view .LVU186 398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 588 .loc 1 398 35 is_stmt 0 view .LVU187 589 00e6 2370 strb r3, [r4] 590 00e8 9BE7 b .L38 591 .L41: 340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE; 592 .loc 1 340 11 is_stmt 1 view .LVU188 593 .LVL31: 340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE; 594 .loc 1 340 26 is_stmt 0 view .LVU189 595 00ea 4FF0FF30 mov r0, #-1 596 00ee A060 str r0, [r4, #8] 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* FLASH EOP interrupt user callback */ 597 .loc 1 341 11 is_stmt 1 view .LVU190 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* FLASH EOP interrupt user callback */ 598 .loc 1 341 35 is_stmt 0 view .LVU191 599 00f0 2370 strb r3, [r4] 343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 600 .loc 1 343 11 is_stmt 1 view .LVU192 601 00f2 FFF7FEFF bl HAL_FLASH_EndOfOperationCallback 602 .LVL32: 603 00f6 94E7 b .L38 604 .LVL33: 605 .L56: 349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 606 .loc 1 349 9 view .LVU193 607 00f8 2B69 ldr r3, [r5, #16] 608 00fa 23F00403 bic r3, r3, #4 609 00fe 2B61 str r3, [r5, #16] 353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 610 .loc 1 353 11 view .LVU194 611 0100 0020 movs r0, #0 612 0102 FFF7FEFF bl HAL_FLASH_EndOfOperationCallback 613 .LVL34: 356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 614 .loc 1 356 11 view .LVU195 356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 615 .loc 1 356 35 is_stmt 0 view .LVU196 616 0106 0023 movs r3, #0 617 0108 2370 strb r3, [r4] 618 010a 8AE7 b .L38 619 .L57: 385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 620 .loc 1 385 13 is_stmt 1 view .LVU197 621 010c A068 ldr r0, [r4, #8] 622 010e FFF7FEFF bl HAL_FLASH_EndOfOperationCallback 623 .LVL35: 624 0112 E4E7 b .L45 625 .L59: 626 .align 2 627 .L58: 628 0114 00200240 .word 1073881088 629 0118 00000000 .word .LANCHOR0 ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 27 630 .cfi_endproc 631 .LFE132: 633 .section .text.HAL_FLASH_Unlock,"ax",%progbits 634 .align 1 635 .p2align 2,,3 636 .global HAL_FLASH_Unlock 637 .syntax unified 638 .thumb 639 .thumb_func 641 HAL_FLASH_Unlock: 642 .LFB135: 479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** HAL_StatusTypeDef status = HAL_OK; 643 .loc 1 479 1 view -0 644 .cfi_startproc 645 @ args = 0, pretend = 0, frame = 0 646 @ frame_needed = 0, uses_anonymous_args = 0 647 @ link register save eliminated. 480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 648 .loc 1 480 3 view .LVU199 649 .LVL36: 482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 650 .loc 1 482 3 view .LVU200 482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 651 .loc 1 482 6 is_stmt 0 view .LVU201 652 0000 064B ldr r3, .L63 653 0002 1869 ldr r0, [r3, #16] 482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 654 .loc 1 482 5 view .LVU202 655 0004 10F08000 ands r0, r0, #128 656 0008 06D0 beq .L61 485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** WRITE_REG(FLASH->KEYR, FLASH_KEY2); 657 .loc 1 485 5 is_stmt 1 view .LVU203 658 000a 0549 ldr r1, .L63+4 486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 659 .loc 1 486 5 is_stmt 0 view .LVU204 660 000c 054A ldr r2, .L63+8 485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** WRITE_REG(FLASH->KEYR, FLASH_KEY2); 661 .loc 1 485 5 view .LVU205 662 000e 5960 str r1, [r3, #4] 486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 663 .loc 1 486 5 is_stmt 1 view .LVU206 664 0010 5A60 str r2, [r3, #4] 489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 665 .loc 1 489 5 view .LVU207 489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 666 .loc 1 489 8 is_stmt 0 view .LVU208 667 0012 1869 ldr r0, [r3, #16] 480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 668 .loc 1 480 21 view .LVU209 669 0014 C0F3C010 ubfx r0, r0, #7, #1 670 .L61: 671 .LVL37: 495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 672 .loc 1 495 3 is_stmt 1 view .LVU210 496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 673 .loc 1 496 1 is_stmt 0 view .LVU211 674 0018 7047 bx lr ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 28 675 .L64: 676 001a 00BF .align 2 677 .L63: 678 001c 00200240 .word 1073881088 679 0020 23016745 .word 1164378403 680 0024 AB89EFCD .word -839939669 681 .cfi_endproc 682 .LFE135: 684 .section .text.HAL_FLASH_Lock,"ax",%progbits 685 .align 1 686 .p2align 2,,3 687 .global HAL_FLASH_Lock 688 .syntax unified 689 .thumb 690 .thumb_func 692 HAL_FLASH_Lock: 693 .LFB136: 503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Set the LOCK Bit to lock the FLASH Registers access */ 694 .loc 1 503 1 is_stmt 1 view -0 695 .cfi_startproc 696 @ args = 0, pretend = 0, frame = 0 697 @ frame_needed = 0, uses_anonymous_args = 0 698 @ link register save eliminated. 505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 699 .loc 1 505 3 view .LVU213 700 0000 034A ldr r2, .L66 701 0002 1369 ldr r3, [r2, #16] 702 0004 43F08003 orr r3, r3, #128 508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 703 .loc 1 508 1 is_stmt 0 view .LVU214 704 0008 0020 movs r0, #0 505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 705 .loc 1 505 3 view .LVU215 706 000a 1361 str r3, [r2, #16] 507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 707 .loc 1 507 3 is_stmt 1 view .LVU216 508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 708 .loc 1 508 1 is_stmt 0 view .LVU217 709 000c 7047 bx lr 710 .L67: 711 000e 00BF .align 2 712 .L66: 713 0010 00200240 .word 1073881088 714 .cfi_endproc 715 .LFE136: 717 .section .text.HAL_FLASH_OB_Unlock,"ax",%progbits 718 .align 1 719 .p2align 2,,3 720 .global HAL_FLASH_OB_Unlock 721 .syntax unified 722 .thumb 723 .thumb_func 725 HAL_FLASH_OB_Unlock: 726 .LFB137: 515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** if (HAL_IS_BIT_CLR(FLASH->CR, FLASH_CR_OPTWRE)) 727 .loc 1 515 1 is_stmt 1 view -0 728 .cfi_startproc ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 29 729 @ args = 0, pretend = 0, frame = 0 730 @ frame_needed = 0, uses_anonymous_args = 0 731 @ link register save eliminated. 516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 732 .loc 1 516 3 view .LVU219 516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 733 .loc 1 516 7 is_stmt 0 view .LVU220 734 0000 054B ldr r3, .L71 735 0002 1869 ldr r0, [r3, #16] 516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 736 .loc 1 516 6 view .LVU221 737 0004 10F40070 ands r0, r0, #512 738 0008 04D1 bne .L70 519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** WRITE_REG(FLASH->OPTKEYR, FLASH_OPTKEY2); 739 .loc 1 519 5 is_stmt 1 view .LVU222 740 000a 0449 ldr r1, .L71+4 520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 741 .loc 1 520 5 is_stmt 0 view .LVU223 742 000c 044A ldr r2, .L71+8 519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** WRITE_REG(FLASH->OPTKEYR, FLASH_OPTKEY2); 743 .loc 1 519 5 view .LVU224 744 000e 9960 str r1, [r3, #8] 520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 745 .loc 1 520 5 is_stmt 1 view .LVU225 746 0010 9A60 str r2, [r3, #8] 527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 747 .loc 1 527 3 view .LVU226 527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 748 .loc 1 527 10 is_stmt 0 view .LVU227 749 0012 7047 bx lr 750 .L70: 524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 751 .loc 1 524 12 view .LVU228 752 0014 0120 movs r0, #1 528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 753 .loc 1 528 1 view .LVU229 754 0016 7047 bx lr 755 .L72: 756 .align 2 757 .L71: 758 0018 00200240 .word 1073881088 759 001c 23016745 .word 1164378403 760 0020 AB89EFCD .word -839939669 761 .cfi_endproc 762 .LFE137: 764 .section .text.HAL_FLASH_OB_Lock,"ax",%progbits 765 .align 1 766 .p2align 2,,3 767 .global HAL_FLASH_OB_Lock 768 .syntax unified 769 .thumb 770 .thumb_func 772 HAL_FLASH_OB_Lock: 773 .LFB138: 535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Clear the OPTWRE Bit to lock the FLASH Option Byte Registers access */ 774 .loc 1 535 1 is_stmt 1 view -0 775 .cfi_startproc ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 30 776 @ args = 0, pretend = 0, frame = 0 777 @ frame_needed = 0, uses_anonymous_args = 0 778 @ link register save eliminated. 537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 779 .loc 1 537 3 view .LVU231 780 0000 034A ldr r2, .L74 781 0002 1369 ldr r3, [r2, #16] 782 0004 23F40073 bic r3, r3, #512 540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 783 .loc 1 540 1 is_stmt 0 view .LVU232 784 0008 0020 movs r0, #0 537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 785 .loc 1 537 3 view .LVU233 786 000a 1361 str r3, [r2, #16] 539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 787 .loc 1 539 3 is_stmt 1 view .LVU234 540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 788 .loc 1 540 1 is_stmt 0 view .LVU235 789 000c 7047 bx lr 790 .L75: 791 000e 00BF .align 2 792 .L74: 793 0010 00200240 .word 1073881088 794 .cfi_endproc 795 .LFE138: 797 .section .text.HAL_FLASH_OB_Launch,"ax",%progbits 798 .align 1 799 .p2align 2,,3 800 .global HAL_FLASH_OB_Launch 801 .syntax unified 802 .thumb 803 .thumb_func 805 HAL_FLASH_OB_Launch: 806 .LFB139: 548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Set the OBL_Launch bit to launch the option byte loading */ 807 .loc 1 548 1 is_stmt 1 view -0 808 .cfi_startproc 809 @ args = 0, pretend = 0, frame = 0 810 @ frame_needed = 0, uses_anonymous_args = 0 550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 811 .loc 1 550 3 view .LVU237 548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Set the OBL_Launch bit to launch the option byte loading */ 812 .loc 1 548 1 is_stmt 0 view .LVU238 813 0000 70B5 push {r4, r5, r6, lr} 814 .LCFI2: 815 .cfi_def_cfa_offset 16 816 .cfi_offset 4, -16 817 .cfi_offset 5, -12 818 .cfi_offset 6, -8 819 .cfi_offset 14, -4 550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 820 .loc 1 550 3 view .LVU239 821 0002 134C ldr r4, .L88 822 0004 2369 ldr r3, [r4, #16] 823 0006 43F40053 orr r3, r3, #8192 824 000a 2361 str r3, [r4, #16] 553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 31 825 .loc 1 553 3 is_stmt 1 view .LVU240 826 .LVL38: 827 .LBB20: 828 .LBI20: 619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 829 .loc 1 619 19 view .LVU241 830 .LBB21: 625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 831 .loc 1 625 3 view .LVU242 625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 832 .loc 1 625 24 is_stmt 0 view .LVU243 833 000c FFF7FEFF bl HAL_GetTick 834 .LVL39: 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 835 .loc 1 631 26 view .LVU244 836 0010 4CF25036 movw r6, #50000 625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 837 .loc 1 625 24 view .LVU245 838 0014 0546 mov r5, r0 839 .LVL40: 627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 840 .loc 1 627 3 is_stmt 1 view .LVU246 627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 841 .loc 1 627 8 is_stmt 0 view .LVU247 842 0016 04E0 b .L77 843 .LVL41: 844 .L79: 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 845 .loc 1 631 31 view .LVU248 846 0018 FFF7FEFF bl HAL_GetTick 847 .LVL42: 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 848 .loc 1 631 44 view .LVU249 849 001c 401B subs r0, r0, r5 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 850 .loc 1 631 26 view .LVU250 851 001e B042 cmp r0, r6 852 0020 14D8 bhi .L82 853 .L77: 629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 854 .loc 1 629 5 is_stmt 1 view .LVU251 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 855 .loc 1 631 7 view .LVU252 627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 856 .loc 1 627 8 view .LVU253 627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 857 .loc 1 627 9 is_stmt 0 view .LVU254 858 0022 E368 ldr r3, [r4, #12] 627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 859 .loc 1 627 8 view .LVU255 860 0024 D807 lsls r0, r3, #31 861 0026 F7D4 bmi .L79 639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 862 .loc 1 639 3 is_stmt 1 view .LVU256 639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 863 .loc 1 639 7 is_stmt 0 view .LVU257 864 0028 E368 ldr r3, [r4, #12] ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 32 639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 865 .loc 1 639 6 view .LVU258 866 002a 9906 lsls r1, r3, #26 642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 867 .loc 1 642 5 is_stmt 1 view .LVU259 645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** __HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR)) 868 .loc 1 645 3 view .LVU260 642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 869 .loc 1 642 5 is_stmt 0 view .LVU261 870 002c 44BF itt mi 871 002e 2023 movmi r3, #32 872 0030 E360 strmi r3, [r4, #12] 645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** __HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR)) 873 .loc 1 645 6 view .LVU262 874 0032 074B ldr r3, .L88 875 0034 DA68 ldr r2, [r3, #12] 645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** __HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR)) 876 .loc 1 645 5 view .LVU263 877 0036 D206 lsls r2, r2, #27 878 0038 04D4 bmi .L81 646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 879 .loc 1 646 6 view .LVU264 880 003a D868 ldr r0, [r3, #12] 645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** __HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR)) 881 .loc 1 645 47 view .LVU265 882 003c 10F00400 ands r0, r0, #4 883 0040 00D1 bne .L81 884 .LVL43: 645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** __HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR)) 885 .loc 1 645 47 view .LVU266 886 .LBE21: 887 .LBE20: 554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 888 .loc 1 554 1 view .LVU267 889 0042 70BD pop {r4, r5, r6, pc} 890 .LVL44: 891 .L81: 892 .LBB24: 893 .LBB22: 649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** return HAL_ERROR; 894 .loc 1 649 5 is_stmt 1 view .LVU268 895 0044 FFF7FEFF bl FLASH_SetErrorCode 896 .LVL45: 650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 897 .loc 1 650 5 view .LVU269 650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 898 .loc 1 650 12 is_stmt 0 view .LVU270 899 0048 0120 movs r0, #1 900 .LVL46: 650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 901 .loc 1 650 12 view .LVU271 902 .LBE22: 903 .LBE24: 554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 904 .loc 1 554 1 view .LVU272 905 004a 70BD pop {r4, r5, r6, pc} 906 .LVL47: ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 33 907 .L82: 908 .LBB25: 909 .LBB23: 633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 910 .loc 1 633 16 view .LVU273 911 004c 0320 movs r0, #3 912 .LVL48: 633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 913 .loc 1 633 16 view .LVU274 914 .LBE23: 915 .LBE25: 554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 916 .loc 1 554 1 view .LVU275 917 004e 70BD pop {r4, r5, r6, pc} 918 .L89: 919 .align 2 920 .L88: 921 0050 00200240 .word 1073881088 922 .cfi_endproc 923 .LFE139: 925 .section .text.HAL_FLASH_GetError,"ax",%progbits 926 .align 1 927 .p2align 2,,3 928 .global HAL_FLASH_GetError 929 .syntax unified 930 .thumb 931 .thumb_func 933 HAL_FLASH_GetError: 934 .LFB140: 580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** return pFlash.ErrorCode; 935 .loc 1 580 1 is_stmt 1 view -0 936 .cfi_startproc 937 @ args = 0, pretend = 0, frame = 0 938 @ frame_needed = 0, uses_anonymous_args = 0 939 @ link register save eliminated. 581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 940 .loc 1 581 4 view .LVU277 581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 941 .loc 1 581 17 is_stmt 0 view .LVU278 942 0000 014B ldr r3, .L91 943 0002 D869 ldr r0, [r3, #28] 582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 944 .loc 1 582 1 view .LVU279 945 0004 7047 bx lr 946 .L92: 947 0006 00BF .align 2 948 .L91: 949 0008 00000000 .word .LANCHOR0 950 .cfi_endproc 951 .LFE140: 953 .section .text.FLASH_WaitForLastOperation,"ax",%progbits 954 .align 1 955 .p2align 2,,3 956 .global FLASH_WaitForLastOperation 957 .syntax unified 958 .thumb 959 .thumb_func ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 34 961 FLASH_WaitForLastOperation: 962 .LVL49: 963 .LFB142: 620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Wait for the FLASH operation to complete by polling on BUSY flag to be reset. 964 .loc 1 620 1 is_stmt 1 view -0 965 .cfi_startproc 966 @ args = 0, pretend = 0, frame = 0 967 @ frame_needed = 0, uses_anonymous_args = 0 625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 968 .loc 1 625 3 view .LVU281 620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Wait for the FLASH operation to complete by polling on BUSY flag to be reset. 969 .loc 1 620 1 is_stmt 0 view .LVU282 970 0000 70B5 push {r4, r5, r6, lr} 971 .LCFI3: 972 .cfi_def_cfa_offset 16 973 .cfi_offset 4, -16 974 .cfi_offset 5, -12 975 .cfi_offset 6, -8 976 .cfi_offset 14, -4 620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* Wait for the FLASH operation to complete by polling on BUSY flag to be reset. 977 .loc 1 620 1 view .LVU283 978 0002 0446 mov r4, r0 625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 979 .loc 1 625 24 view .LVU284 980 0004 FFF7FEFF bl HAL_GetTick 981 .LVL50: 627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 982 .loc 1 627 9 view .LVU285 983 0008 104D ldr r5, .L110 625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 984 .loc 1 625 24 view .LVU286 985 000a 0646 mov r6, r0 986 .LVL51: 627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 987 .loc 1 627 3 is_stmt 1 view .LVU287 627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 988 .loc 1 627 8 is_stmt 0 view .LVU288 989 000c 01E0 b .L95 990 .LVL52: 991 .L99: 629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 992 .loc 1 629 8 view .LVU289 993 000e 631C adds r3, r4, #1 994 0010 10D1 bne .L109 995 .L95: 629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 996 .loc 1 629 5 is_stmt 1 view .LVU290 627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 997 .loc 1 627 8 view .LVU291 627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 998 .loc 1 627 9 is_stmt 0 view .LVU292 999 0012 EB68 ldr r3, [r5, #12] 627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 1000 .loc 1 627 8 view .LVU293 1001 0014 D807 lsls r0, r3, #31 1002 0016 FAD4 bmi .L99 639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 35 1003 .loc 1 639 3 is_stmt 1 view .LVU294 639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 1004 .loc 1 639 7 is_stmt 0 view .LVU295 1005 0018 EB68 ldr r3, [r5, #12] 639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 1006 .loc 1 639 6 view .LVU296 1007 001a 9906 lsls r1, r3, #26 642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 1008 .loc 1 642 5 is_stmt 1 view .LVU297 645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** __HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR)) 1009 .loc 1 645 3 view .LVU298 642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 1010 .loc 1 642 5 is_stmt 0 view .LVU299 1011 001c 44BF itt mi 1012 001e 2023 movmi r3, #32 1013 0020 EB60 strmi r3, [r5, #12] 645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** __HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR)) 1014 .loc 1 645 6 view .LVU300 1015 0022 0A4B ldr r3, .L110 1016 0024 DA68 ldr r2, [r3, #12] 645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** __HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR)) 1017 .loc 1 645 5 view .LVU301 1018 0026 D206 lsls r2, r2, #27 1019 0028 0CD4 bmi .L101 646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 1020 .loc 1 646 6 discriminator 1 view .LVU302 1021 002a D868 ldr r0, [r3, #12] 645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** __HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR)) 1022 .loc 1 645 47 discriminator 1 view .LVU303 1023 002c 10F00400 ands r0, r0, #4 1024 0030 08D1 bne .L101 655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1025 .loc 1 655 1 view .LVU304 1026 0032 70BD pop {r4, r5, r6, pc} 1027 .LVL53: 1028 .L109: 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 1029 .loc 1 631 7 is_stmt 1 view .LVU305 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 1030 .loc 1 631 9 is_stmt 0 view .LVU306 1031 0034 24B1 cbz r4, .L98 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 1032 .loc 1 631 31 discriminator 1 view .LVU307 1033 0036 FFF7FEFF bl HAL_GetTick 1034 .LVL54: 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 1035 .loc 1 631 44 discriminator 1 view .LVU308 1036 003a 801B subs r0, r0, r6 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 1037 .loc 1 631 26 discriminator 1 view .LVU309 1038 003c A042 cmp r0, r4 1039 003e E8D9 bls .L95 1040 .L98: 633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 1041 .loc 1 633 16 view .LVU310 1042 0040 0320 movs r0, #3 655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 36 1043 .loc 1 655 1 view .LVU311 1044 0042 70BD pop {r4, r5, r6, pc} 1045 .LVL55: 1046 .L101: 649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** return HAL_ERROR; 1047 .loc 1 649 5 is_stmt 1 view .LVU312 1048 0044 FFF7FEFF bl FLASH_SetErrorCode 1049 .LVL56: 650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 1050 .loc 1 650 5 view .LVU313 650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 1051 .loc 1 650 12 is_stmt 0 view .LVU314 1052 0048 0120 movs r0, #1 655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1053 .loc 1 655 1 view .LVU315 1054 004a 70BD pop {r4, r5, r6, pc} 1055 .LVL57: 1056 .L111: 655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1057 .loc 1 655 1 view .LVU316 1058 .align 2 1059 .L110: 1060 004c 00200240 .word 1073881088 1061 .cfi_endproc 1062 .LFE142: 1064 .section .text.HAL_FLASH_Program,"ax",%progbits 1065 .align 1 1066 .p2align 2,,3 1067 .global HAL_FLASH_Program 1068 .syntax unified 1069 .thumb 1070 .thumb_func 1072 HAL_FLASH_Program: 1073 .LVL58: 1074 .LFB130: 167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** HAL_StatusTypeDef status = HAL_ERROR; 1075 .loc 1 167 1 is_stmt 1 view -0 1076 .cfi_startproc 1077 @ args = 0, pretend = 0, frame = 0 1078 @ frame_needed = 0, uses_anonymous_args = 0 168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** uint8_t index = 0U; 1079 .loc 1 168 3 view .LVU318 169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** uint8_t nbiterations = 0U; 1080 .loc 1 169 3 view .LVU319 170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1081 .loc 1 170 3 view .LVU320 173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1082 .loc 1 173 3 view .LVU321 173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1083 .loc 1 173 3 view .LVU322 167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** HAL_StatusTypeDef status = HAL_ERROR; 1084 .loc 1 167 1 is_stmt 0 view .LVU323 1085 0000 2DE9F84F push {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} 1086 .LCFI4: 1087 .cfi_def_cfa_offset 40 1088 .cfi_offset 3, -40 1089 .cfi_offset 4, -36 ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 37 1090 .cfi_offset 5, -32 1091 .cfi_offset 6, -28 1092 .cfi_offset 7, -24 1093 .cfi_offset 8, -20 1094 .cfi_offset 9, -16 1095 .cfi_offset 10, -12 1096 .cfi_offset 11, -8 1097 .cfi_offset 14, -4 173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1098 .loc 1 173 3 view .LVU324 1099 0004 354F ldr r7, .L130 167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** HAL_StatusTypeDef status = HAL_ERROR; 1100 .loc 1 167 1 view .LVU325 1101 0006 1D46 mov r5, r3 173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1102 .loc 1 173 3 view .LVU326 1103 0008 3B7E ldrb r3, [r7, #24] @ zero_extendqisi2 1104 000a 012B cmp r3, #1 1105 000c 63D0 beq .L122 173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1106 .loc 1 173 3 discriminator 2 view .LVU327 1107 000e 0123 movs r3, #1 1108 0010 3B76 strb r3, [r7, #24] 176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS(Address)); 1109 .loc 1 176 3 discriminator 2 view .LVU328 1110 0012 431E subs r3, r0, #1 1111 0014 022B cmp r3, #2 1112 0016 0646 mov r6, r0 1113 0018 8A46 mov r10, r1 1114 001a 9046 mov r8, r2 173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1115 .loc 1 173 3 is_stmt 1 discriminator 2 view .LVU329 173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1116 .loc 1 173 3 discriminator 2 view .LVU330 176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS(Address)); 1117 .loc 1 176 3 discriminator 2 view .LVU331 1118 001c 4ED8 bhi .L127 1119 .LVL59: 1120 .L114: 177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1121 .loc 1 177 3 view .LVU332 1122 001e BAF1006F cmp r10, #134217728 1123 0022 0AD3 bcc .L115 177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1124 .loc 1 177 3 is_stmt 0 discriminator 2 view .LVU333 1125 0024 2E4B ldr r3, .L130+4 1126 0026 B3F8CC30 ldrh r3, [r3, #204] 1127 002a B3F5807F cmp r3, #256 1128 002e 4AD0 beq .L128 177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1129 .loc 1 177 3 discriminator 4 view .LVU334 1130 0030 802B cmp r3, #128 1131 0032 4CD0 beq .L129 177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1132 .loc 1 177 3 discriminator 7 view .LVU335 1133 0034 2B4B ldr r3, .L130+8 1134 0036 9A45 cmp r10, r3 ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 38 1135 0038 03D9 bls .L117 1136 .L115: 177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1137 .loc 1 177 3 discriminator 9 view .LVU336 1138 003a 2B48 ldr r0, .L130+12 1139 003c B121 movs r1, #177 1140 003e FFF7FEFF bl assert_failed 1141 .LVL60: 1142 .L117: 180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1143 .loc 1 180 5 is_stmt 1 view .LVU337 180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1144 .loc 1 180 14 is_stmt 0 view .LVU338 1145 0042 4CF25030 movw r0, #50000 1146 0046 FFF7FEFF bl FLASH_WaitForLastOperation 1147 .LVL61: 182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 1148 .loc 1 182 3 is_stmt 1 view .LVU339 182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 1149 .loc 1 182 5 is_stmt 0 view .LVU340 1150 004a 98BB cbnz r0, .L119 184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 1151 .loc 1 184 5 is_stmt 1 view .LVU341 184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 1152 .loc 1 184 7 is_stmt 0 view .LVU342 1153 004c 012E cmp r6, #1 1154 004e 03D0 beq .L120 189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 1155 .loc 1 189 10 is_stmt 1 view .LVU343 197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 1156 .loc 1 197 20 is_stmt 0 view .LVU344 1157 0050 022E cmp r6, #2 1158 0052 0CBF ite eq 1159 0054 0226 moveq r6, #2 1160 .LVL62: 197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 1161 .loc 1 197 20 view .LVU345 1162 0056 0426 movne r6, #4 1163 .L120: 1164 .LVL63: 200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 1165 .loc 1 200 5 is_stmt 1 view .LVU346 200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 1166 .loc 1 200 22 view .LVU347 197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 1167 .loc 1 197 20 is_stmt 0 view .LVU348 1168 0058 0024 movs r4, #0 1169 .LBB26: 1170 .LBB27: 608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1171 .loc 1 608 5 view .LVU349 1172 005a DFF898B0 ldr fp, .L130+24 1173 005e 0AEB4606 add r6, r10, r6, lsl #1 1174 .LVL64: 605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1175 .loc 1 605 20 view .LVU350 1176 0062 A146 mov r9, r4 ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 39 1177 .LVL65: 1178 .L121: 605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1179 .loc 1 605 20 view .LVU351 1180 .LBE27: 1181 .LBE26: 202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1182 .loc 1 202 7 is_stmt 1 view .LVU352 202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1183 .loc 1 202 70 is_stmt 0 view .LVU353 1184 0064 C4F12003 rsb r3, r4, #32 1185 .LBB32: 1186 .LBB28: 605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1187 .loc 1 605 20 view .LVU354 1188 0068 C7F81C90 str r9, [r7, #28] 1189 .LBE28: 1190 .LBE32: 202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1191 .loc 1 202 70 view .LVU355 1192 006c A4F12002 sub r2, r4, #32 1193 0070 28FA04F0 lsr r0, r8, r4 1194 0074 05FA03F3 lsl r3, r5, r3 1195 0078 1843 orrs r0, r0, r3 1196 007a 25FA02F2 lsr r2, r5, r2 1197 .LBB33: 1198 .LBB29: 608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1199 .loc 1 608 5 view .LVU356 1200 007e DBF81030 ldr r3, [fp, #16] 1201 .LBE29: 1202 .LBE33: 202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1203 .loc 1 202 70 view .LVU357 1204 0082 1043 orrs r0, r0, r2 202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1205 .loc 1 202 7 view .LVU358 1206 0084 1FFA80FC uxth ip, r0 1207 .LVL66: 1208 .LBB34: 1209 .LBI26: 602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 1210 .loc 1 602 13 is_stmt 1 view .LVU359 1211 .LBB30: 605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1212 .loc 1 605 3 view .LVU360 608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1213 .loc 1 608 5 view .LVU361 1214 0088 43F00103 orr r3, r3, #1 1215 008c CBF81030 str r3, [fp, #16] 611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 1216 .loc 1 611 3 view .LVU362 1217 .LBE30: 1218 .LBE34: 205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1219 .loc 1 205 18 is_stmt 0 view .LVU363 1220 0090 4CF25030 movw r0, #50000 ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 40 1221 .LBB35: 1222 .LBB31: 611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 1223 .loc 1 611 28 view .LVU364 1224 0094 AAF800C0 strh ip, [r10] @ movhi 1225 .LVL67: 611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 1226 .loc 1 611 28 view .LVU365 1227 .LBE31: 1228 .LBE35: 205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1229 .loc 1 205 9 is_stmt 1 view .LVU366 205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1230 .loc 1 205 18 is_stmt 0 view .LVU367 1231 0098 FFF7FEFF bl FLASH_WaitForLastOperation 1232 .LVL68: 200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 1233 .loc 1 200 44 is_stmt 1 view .LVU368 200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 1234 .loc 1 200 22 view .LVU369 208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* In case of error, stop programming procedure */ 1235 .loc 1 208 9 view .LVU370 1236 009c DBF81030 ldr r3, [fp, #16] 1237 00a0 23F00103 bic r3, r3, #1 200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 1238 .loc 1 200 5 is_stmt 0 view .LVU371 1239 00a4 0AF1020A add r10, r10, #2 1240 00a8 1034 adds r4, r4, #16 1241 .LVL69: 208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** /* In case of error, stop programming procedure */ 1242 .loc 1 208 9 view .LVU372 1243 00aa CBF81030 str r3, [fp, #16] 210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 1244 .loc 1 210 7 is_stmt 1 view .LVU373 210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 1245 .loc 1 210 10 is_stmt 0 view .LVU374 1246 00ae 08B9 cbnz r0, .L119 200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** { 1247 .loc 1 200 5 discriminator 2 view .LVU375 1248 00b0 B245 cmp r10, r6 1249 00b2 D7D1 bne .L121 1250 .LVL70: 1251 .L119: 218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1252 .loc 1 218 3 is_stmt 1 view .LVU376 218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1253 .loc 1 218 3 view .LVU377 1254 00b4 0023 movs r3, #0 1255 00b6 3B76 strb r3, [r7, #24] 218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1256 .loc 1 218 3 view .LVU378 220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** } 1257 .loc 1 220 3 view .LVU379 221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1258 .loc 1 221 1 is_stmt 0 view .LVU380 1259 00b8 BDE8F88F pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} 1260 .LVL71: ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 41 1261 .L127: 176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS(Address)); 1262 .loc 1 176 3 discriminator 1 view .LVU381 1263 00bc 0A48 ldr r0, .L130+12 1264 .LVL72: 176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS(Address)); 1265 .loc 1 176 3 discriminator 1 view .LVU382 1266 00be B021 movs r1, #176 1267 .LVL73: 176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS(Address)); 1268 .loc 1 176 3 discriminator 1 view .LVU383 1269 00c0 FFF7FEFF bl assert_failed 1270 .LVL74: 176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS(Address)); 1271 .loc 1 176 3 discriminator 1 view .LVU384 1272 00c4 ABE7 b .L114 1273 .L128: 177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1274 .loc 1 177 3 discriminator 3 view .LVU385 1275 00c6 094B ldr r3, .L130+16 1276 00c8 9A45 cmp r10, r3 1277 00ca B6D8 bhi .L115 1278 00cc B9E7 b .L117 1279 .L129: 177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1280 .loc 1 177 3 discriminator 6 view .LVU386 1281 00ce 084B ldr r3, .L130+20 1282 00d0 9A45 cmp r10, r3 1283 00d2 B2D8 bhi .L115 1284 00d4 B5E7 b .L117 1285 .LVL75: 1286 .L122: 173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1287 .loc 1 173 3 view .LVU387 1288 00d6 0220 movs r0, #2 1289 .LVL76: 221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 1290 .loc 1 221 1 view .LVU388 1291 00d8 BDE8F88F pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} 1292 .L131: 1293 .align 2 1294 .L130: 1295 00dc 00000000 .word .LANCHOR0 1296 00e0 00F7FF1F .word 536868608 1297 00e4 FFFF0008 .word 134283263 1298 00e8 00000000 .word .LC0 1299 00ec FFFF0308 .word 134479871 1300 00f0 FFFF0108 .word 134348799 1301 00f4 00200240 .word 1073881088 1302 .cfi_endproc 1303 .LFE130: 1305 .global pFlash 1306 .section .bss.pFlash,"aw",%nobits 1307 .align 3 1308 .set .LANCHOR0,. + 0 1311 pFlash: 1312 0000 00000000 .space 32 ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 42 1312 00000000 1312 00000000 1312 00000000 1312 00000000 1313 .text 1314 .Letext0: 1315 .file 2 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h" 1316 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h" 1317 .file 4 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h" 1318 .file 5 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f3xx.h" 1319 .file 6 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h" 1320 .file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_flash.h" 1321 .file 8 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal.h" 1322 .file 9 "Core/Inc/stm32f3xx_hal_conf.h" ARM GAS C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s page 43 DEFINED SYMBOLS *ABS*:00000000 stm32f3xx_hal_flash.c C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:20 .text.FLASH_SetErrorCode:00000000 $t C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:26 .text.FLASH_SetErrorCode:00000000 FLASH_SetErrorCode C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:83 .text.FLASH_SetErrorCode:00000034 $d C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:89 .rodata.HAL_FLASH_Program_IT.str1.4:00000000 $d C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:94 .text.HAL_FLASH_Program_IT:00000000 $t C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:101 .text.HAL_FLASH_Program_IT:00000000 HAL_FLASH_Program_IT C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:283 .text.HAL_FLASH_Program_IT:000000b0 $d C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:294 .text.HAL_FLASH_EndOfOperationCallback:00000000 $t C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:301 .text.HAL_FLASH_EndOfOperationCallback:00000000 HAL_FLASH_EndOfOperationCallback C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:316 .text.HAL_FLASH_OperationErrorCallback:00000000 $t C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:323 .text.HAL_FLASH_OperationErrorCallback:00000000 HAL_FLASH_OperationErrorCallback C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:334 .text.HAL_FLASH_IRQHandler:00000000 $t C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:341 .text.HAL_FLASH_IRQHandler:00000000 HAL_FLASH_IRQHandler C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:628 .text.HAL_FLASH_IRQHandler:00000114 $d C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:634 .text.HAL_FLASH_Unlock:00000000 $t C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:641 .text.HAL_FLASH_Unlock:00000000 HAL_FLASH_Unlock C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:678 .text.HAL_FLASH_Unlock:0000001c $d C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:685 .text.HAL_FLASH_Lock:00000000 $t C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:692 .text.HAL_FLASH_Lock:00000000 HAL_FLASH_Lock C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:713 .text.HAL_FLASH_Lock:00000010 $d C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:718 .text.HAL_FLASH_OB_Unlock:00000000 $t C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:725 .text.HAL_FLASH_OB_Unlock:00000000 HAL_FLASH_OB_Unlock C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:758 .text.HAL_FLASH_OB_Unlock:00000018 $d C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:765 .text.HAL_FLASH_OB_Lock:00000000 $t C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:772 .text.HAL_FLASH_OB_Lock:00000000 HAL_FLASH_OB_Lock C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:793 .text.HAL_FLASH_OB_Lock:00000010 $d C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:798 .text.HAL_FLASH_OB_Launch:00000000 $t C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:805 .text.HAL_FLASH_OB_Launch:00000000 HAL_FLASH_OB_Launch C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:921 .text.HAL_FLASH_OB_Launch:00000050 $d C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:926 .text.HAL_FLASH_GetError:00000000 $t C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:933 .text.HAL_FLASH_GetError:00000000 HAL_FLASH_GetError C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:949 .text.HAL_FLASH_GetError:00000008 $d C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:954 .text.FLASH_WaitForLastOperation:00000000 $t C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:961 .text.FLASH_WaitForLastOperation:00000000 FLASH_WaitForLastOperation C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:1060 .text.FLASH_WaitForLastOperation:0000004c $d C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:1065 .text.HAL_FLASH_Program:00000000 $t C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:1072 .text.HAL_FLASH_Program:00000000 HAL_FLASH_Program C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:1295 .text.HAL_FLASH_Program:000000dc $d C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:1311 .bss.pFlash:00000000 pFlash C:\Users\zl835\AppData\Local\Temp\cc7fAEyN.s:1307 .bss.pFlash:00000000 $d UNDEFINED SYMBOLS assert_failed FLASH_PageErase HAL_GetTick