ARM GAS  /tmp/ccrwGBAK.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, 1
  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              		.file 1 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c"
  20              		.section	.text.FLASH_Program_HalfWord,"ax",%progbits
  21              		.align	1
  22              		.syntax unified
  23              		.thumb
  24              		.thumb_func
  26              	FLASH_Program_HalfWord:
  27              	.LVL0:
  28              	.LFB134:
   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  /tmp/ccrwGBAK.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  /tmp/ccrwGBAK.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  /tmp/ccrwGBAK.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  /tmp/ccrwGBAK.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  /tmp/ccrwGBAK.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  /tmp/ccrwGBAK.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  /tmp/ccrwGBAK.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  /tmp/ccrwGBAK.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  /tmp/ccrwGBAK.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  /tmp/ccrwGBAK.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  /tmp/ccrwGBAK.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 **** {
  29              		.loc 1 603 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.
 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;
  34              		.loc 1 605 3 view .LVU1
  35              		.loc 1 605 20 is_stmt 0 view .LVU2
  36 0000 044B     		ldr	r3, .L2
  37 0002 0022     		movs	r2, #0
  38 0004 DA61     		str	r2, [r3, #28]
 606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   
 607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     /* Proceed to program the new data */
 608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     SET_BIT(FLASH->CR, FLASH_CR_PG);
  39              		.loc 1 608 5 is_stmt 1 view .LVU3
  40 0006 044A     		ldr	r2, .L2+4
  41 0008 1369     		ldr	r3, [r2, #16]
  42 000a 43F00103 		orr	r3, r3, #1
  43 000e 1361     		str	r3, [r2, #16]
 609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   /* Write data in the address */
 611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   *(__IO uint16_t*)Address = Data;
  44              		.loc 1 611 3 view .LVU4
  45              		.loc 1 611 28 is_stmt 0 view .LVU5
  46 0010 0180     		strh	r1, [r0]	@ movhi
 612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
  47              		.loc 1 612 1 view .LVU6
  48 0012 7047     		bx	lr
  49              	.L3:
  50              		.align	2
  51              	.L2:
  52 0014 00000000 		.word	pFlash
  53 0018 00200240 		.word	1073881088
  54              		.cfi_endproc
  55              	.LFE134:
  57              		.section	.text.FLASH_SetErrorCode,"ax",%progbits
  58              		.align	1
  59              		.syntax unified
  60              		.thumb
  61              		.thumb_func
  63              	FLASH_SetErrorCode:
  64              	.LFB136:
 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 */
ARM GAS  /tmp/ccrwGBAK.s 			page 13


 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 **** 
 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 **** {
  65              		.loc 1 663 1 is_stmt 1 view -0
  66              		.cfi_startproc
  67              		@ args = 0, pretend = 0, frame = 0
  68              		@ frame_needed = 0, uses_anonymous_args = 0
  69              		@ link register save eliminated.
 664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   uint32_t flags = 0U;
  70              		.loc 1 664 3 view .LVU8
  71              	.LVL1:
 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))
  72              		.loc 1 666 3 view .LVU9
  73              		.loc 1 666 6 is_stmt 0 view .LVU10
  74 0000 0C4B     		ldr	r3, .L7
  75 0002 DB68     		ldr	r3, [r3, #12]
  76              		.loc 1 666 5 view .LVU11
  77 0004 13F01003 		ands	r3, r3, #16
  78 0008 05D0     		beq	.L5
ARM GAS  /tmp/ccrwGBAK.s 			page 14


 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;
  79              		.loc 1 668 5 is_stmt 1 view .LVU12
  80              		.loc 1 668 11 is_stmt 0 view .LVU13
  81 000a 0B4A     		ldr	r2, .L7+4
  82 000c D369     		ldr	r3, [r2, #28]
  83              		.loc 1 668 22 view .LVU14
  84 000e 43F00203 		orr	r3, r3, #2
  85 0012 D361     		str	r3, [r2, #28]
 669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     flags |= FLASH_FLAG_WRPERR;
  86              		.loc 1 669 5 is_stmt 1 view .LVU15
  87              	.LVL2:
  88              		.loc 1 669 11 is_stmt 0 view .LVU16
  89 0014 1023     		movs	r3, #16
  90              	.LVL3:
  91              	.L5:
 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))
  92              		.loc 1 671 3 is_stmt 1 view .LVU17
  93              		.loc 1 671 6 is_stmt 0 view .LVU18
  94 0016 074A     		ldr	r2, .L7
  95 0018 D268     		ldr	r2, [r2, #12]
  96              		.loc 1 671 5 view .LVU19
  97 001a 12F0040F 		tst	r2, #4
  98 001e 06D0     		beq	.L6
 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;
  99              		.loc 1 673 5 is_stmt 1 view .LVU20
 100              		.loc 1 673 11 is_stmt 0 view .LVU21
 101 0020 0549     		ldr	r1, .L7+4
 102 0022 CA69     		ldr	r2, [r1, #28]
 103              		.loc 1 673 22 view .LVU22
 104 0024 42F00102 		orr	r2, r2, #1
 105 0028 CA61     		str	r2, [r1, #28]
 674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     flags |= FLASH_FLAG_PGERR;
 106              		.loc 1 674 5 is_stmt 1 view .LVU23
 107              		.loc 1 674 11 is_stmt 0 view .LVU24
 108 002a 43F00403 		orr	r3, r3, #4
 109              	.LVL4:
 110              	.L6:
 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);
 111              		.loc 1 677 3 is_stmt 1 view .LVU25
 112 002e 014A     		ldr	r2, .L7
 113 0030 D360     		str	r3, [r2, #12]
 678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }  
 114              		.loc 1 678 1 is_stmt 0 view .LVU26
 115 0032 7047     		bx	lr
 116              	.L8:
 117              		.align	2
 118              	.L7:
 119 0034 00200240 		.word	1073881088
 120 0038 00000000 		.word	pFlash
 121              		.cfi_endproc
 122              	.LFE136:
 124              		.section	.text.HAL_FLASH_Program_IT,"ax",%progbits
ARM GAS  /tmp/ccrwGBAK.s 			page 15


 125              		.align	1
 126              		.global	HAL_FLASH_Program_IT
 127              		.syntax unified
 128              		.thumb
 129              		.thumb_func
 131              	HAL_FLASH_Program_IT:
 132              	.LVL5:
 133              	.LFB124:
 239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   HAL_StatusTypeDef status = HAL_OK;
 134              		.loc 1 239 1 is_stmt 1 view -0
 135              		.cfi_startproc
 136              		@ args = 0, pretend = 0, frame = 0
 137              		@ frame_needed = 0, uses_anonymous_args = 0
 239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   HAL_StatusTypeDef status = HAL_OK;
 138              		.loc 1 239 1 is_stmt 0 view .LVU28
 139 0000 38B5     		push	{r3, r4, r5, lr}
 140              		.cfi_def_cfa_offset 16
 141              		.cfi_offset 3, -16
 142              		.cfi_offset 4, -12
 143              		.cfi_offset 5, -8
 144              		.cfi_offset 14, -4
 145 0002 1D46     		mov	r5, r3
 240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   
 146              		.loc 1 240 3 is_stmt 1 view .LVU29
 147              	.LVL6:
 243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 148              		.loc 1 243 3 view .LVU30
 243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 149              		.loc 1 243 3 view .LVU31
 150 0004 174B     		ldr	r3, .L18
 151 0006 1B7E     		ldrb	r3, [r3, #24]	@ zero_extendqisi2
 152 0008 012B     		cmp	r3, #1
 153 000a 28D0     		beq	.L14
 154 000c 8446     		mov	ip, r0
 155 000e 0846     		mov	r0, r1
 156              	.LVL7:
 243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 157              		.loc 1 243 3 is_stmt 0 view .LVU32
 158 0010 1446     		mov	r4, r2
 243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 159              		.loc 1 243 3 is_stmt 1 discriminator 2 view .LVU33
 160 0012 144B     		ldr	r3, .L18
 161 0014 0122     		movs	r2, #1
 162              	.LVL8:
 243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 163              		.loc 1 243 3 is_stmt 0 discriminator 2 view .LVU34
 164 0016 1A76     		strb	r2, [r3, #24]
 243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 165              		.loc 1 243 3 is_stmt 1 discriminator 2 view .LVU35
 246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   assert_param(IS_FLASH_PROGRAM_ADDRESS(Address));
 166              		.loc 1 246 3 view .LVU36
 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 167              		.loc 1 247 3 view .LVU37
 250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   
 168              		.loc 1 250 3 view .LVU38
 169 0018 1349     		ldr	r1, .L18+4
 170              	.LVL9:
ARM GAS  /tmp/ccrwGBAK.s 			page 16


 250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   
 171              		.loc 1 250 3 is_stmt 0 view .LVU39
 172 001a 0A69     		ldr	r2, [r1, #16]
 173 001c 42F4A052 		orr	r2, r2, #5120
 174 0020 0A61     		str	r2, [r1, #16]
 252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   pFlash.Data = Data;
 175              		.loc 1 252 3 is_stmt 1 view .LVU40
 252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   pFlash.Data = Data;
 176              		.loc 1 252 18 is_stmt 0 view .LVU41
 177 0022 9860     		str	r0, [r3, #8]
 253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 178              		.loc 1 253 3 is_stmt 1 view .LVU42
 253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 179              		.loc 1 253 15 is_stmt 0 view .LVU43
 180 0024 C3E90445 		strd	r4, [r3, #16]
 255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   {
 181              		.loc 1 255 3 is_stmt 1 view .LVU44
 255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   {
 182              		.loc 1 255 5 is_stmt 0 view .LVU45
 183 0028 BCF1010F 		cmp	ip, #1
 184 002c 0CD0     		beq	.L16
 261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   {
 185              		.loc 1 261 8 is_stmt 1 view .LVU46
 261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   {
 186              		.loc 1 261 10 is_stmt 0 view .LVU47
 187 002e BCF1020F 		cmp	ip, #2
 188 0032 0ED0     		beq	.L17
 269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     /* Program double word (64-bit : 4*16-bit) at a specified address. */
 189              		.loc 1 269 5 is_stmt 1 view .LVU48
 269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     /* Program double word (64-bit : 4*16-bit) at a specified address. */
 190              		.loc 1 269 29 is_stmt 0 view .LVU49
 191 0034 0B4B     		ldr	r3, .L18
 192 0036 0522     		movs	r2, #5
 193 0038 1A70     		strb	r2, [r3]
 271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   }
 194              		.loc 1 271 5 is_stmt 1 view .LVU50
 271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   }
 195              		.loc 1 271 26 is_stmt 0 view .LVU51
 196 003a 0422     		movs	r2, #4
 197 003c 5A60     		str	r2, [r3, #4]
 198              	.L12:
 275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 199              		.loc 1 275 3 is_stmt 1 view .LVU52
 200 003e A1B2     		uxth	r1, r4
 201 0040 FFF7FEFF 		bl	FLASH_Program_HalfWord
 202              	.LVL10:
 277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
 203              		.loc 1 277 3 view .LVU53
 277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
 204              		.loc 1 277 10 is_stmt 0 view .LVU54
 205 0044 0020     		movs	r0, #0
 206              	.L10:
 278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 207              		.loc 1 278 1 view .LVU55
 208 0046 38BD     		pop	{r3, r4, r5, pc}
 209              	.LVL11:
 210              	.L16:
ARM GAS  /tmp/ccrwGBAK.s 			page 17


 257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     /* Program halfword (16-bit) at a specified address. */
 211              		.loc 1 257 5 is_stmt 1 view .LVU56
 257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     /* Program halfword (16-bit) at a specified address. */
 212              		.loc 1 257 29 is_stmt 0 view .LVU57
 213 0048 0322     		movs	r2, #3
 214 004a 1A70     		strb	r2, [r3]
 259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   }
 215              		.loc 1 259 5 is_stmt 1 view .LVU58
 259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   }
 216              		.loc 1 259 26 is_stmt 0 view .LVU59
 217 004c 0122     		movs	r2, #1
 218 004e 5A60     		str	r2, [r3, #4]
 219 0050 F5E7     		b	.L12
 220              	.L17:
 263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     /* Program word (32-bit : 2*16-bit) at a specified address. */
 221              		.loc 1 263 5 is_stmt 1 view .LVU60
 263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     /* Program word (32-bit : 2*16-bit) at a specified address. */
 222              		.loc 1 263 29 is_stmt 0 view .LVU61
 223 0052 044B     		ldr	r3, .L18
 224 0054 0422     		movs	r2, #4
 225 0056 1A70     		strb	r2, [r3]
 265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   }
 226              		.loc 1 265 5 is_stmt 1 view .LVU62
 265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   }
 227              		.loc 1 265 26 is_stmt 0 view .LVU63
 228 0058 0222     		movs	r2, #2
 229 005a 5A60     		str	r2, [r3, #4]
 230 005c EFE7     		b	.L12
 231              	.LVL12:
 232              	.L14:
 243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 233              		.loc 1 243 3 discriminator 1 view .LVU64
 234 005e 0220     		movs	r0, #2
 235              	.LVL13:
 243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 236              		.loc 1 243 3 discriminator 1 view .LVU65
 237 0060 F1E7     		b	.L10
 238              	.L19:
 239 0062 00BF     		.align	2
 240              	.L18:
 241 0064 00000000 		.word	pFlash
 242 0068 00200240 		.word	1073881088
 243              		.cfi_endproc
 244              	.LFE124:
 246              		.section	.text.HAL_FLASH_EndOfOperationCallback,"ax",%progbits
 247              		.align	1
 248              		.weak	HAL_FLASH_EndOfOperationCallback
 249              		.syntax unified
 250              		.thumb
 251              		.thumb_func
 253              	HAL_FLASH_EndOfOperationCallback:
 254              	.LVL14:
 255              	.LFB126:
 428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   /* Prevent unused argument(s) compilation warning */
 256              		.loc 1 428 1 is_stmt 1 view -0
 257              		.cfi_startproc
 258              		@ args = 0, pretend = 0, frame = 0
ARM GAS  /tmp/ccrwGBAK.s 			page 18


 259              		@ frame_needed = 0, uses_anonymous_args = 0
 260              		@ link register save eliminated.
 430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 261              		.loc 1 430 3 view .LVU67
 435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 262              		.loc 1 435 1 is_stmt 0 view .LVU68
 263 0000 7047     		bx	lr
 264              		.cfi_endproc
 265              	.LFE126:
 267              		.section	.text.HAL_FLASH_OperationErrorCallback,"ax",%progbits
 268              		.align	1
 269              		.weak	HAL_FLASH_OperationErrorCallback
 270              		.syntax unified
 271              		.thumb
 272              		.thumb_func
 274              	HAL_FLASH_OperationErrorCallback:
 275              	.LVL15:
 276              	.LFB127:
 446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   /* Prevent unused argument(s) compilation warning */
 277              		.loc 1 446 1 is_stmt 1 view -0
 278              		.cfi_startproc
 279              		@ args = 0, pretend = 0, frame = 0
 280              		@ frame_needed = 0, uses_anonymous_args = 0
 281              		@ link register save eliminated.
 448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 282              		.loc 1 448 3 view .LVU70
 453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 283              		.loc 1 453 1 is_stmt 0 view .LVU71
 284 0000 7047     		bx	lr
 285              		.cfi_endproc
 286              	.LFE127:
 288              		.section	.text.HAL_FLASH_IRQHandler,"ax",%progbits
 289              		.align	1
 290              		.global	HAL_FLASH_IRQHandler
 291              		.syntax unified
 292              		.thumb
 293              		.thumb_func
 295              	HAL_FLASH_IRQHandler:
 296              	.LFB125:
 285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   uint32_t addresstmp = 0U;
 297              		.loc 1 285 1 is_stmt 1 view -0
 298              		.cfi_startproc
 299              		@ args = 0, pretend = 0, frame = 0
 300              		@ frame_needed = 0, uses_anonymous_args = 0
 301 0000 F8B5     		push	{r3, r4, r5, r6, r7, lr}
 302              		.cfi_def_cfa_offset 24
 303              		.cfi_offset 3, -24
 304              		.cfi_offset 4, -20
 305              		.cfi_offset 5, -16
 306              		.cfi_offset 6, -12
 307              		.cfi_offset 7, -8
 308              		.cfi_offset 14, -4
 286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   
 309              		.loc 1 286 3 view .LVU73
 310              	.LVL16:
 289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   {
 311              		.loc 1 289 3 view .LVU74
ARM GAS  /tmp/ccrwGBAK.s 			page 19


 289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   {
 312              		.loc 1 289 6 is_stmt 0 view .LVU75
 313 0002 524B     		ldr	r3, .L40
 314 0004 DB68     		ldr	r3, [r3, #12]
 289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   {
 315              		.loc 1 289 5 view .LVU76
 316 0006 13F0100F 		tst	r3, #16
 317 000a 04D1     		bne	.L23
 289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   {
 318              		.loc 1 289 48 discriminator 1 view .LVU77
 319 000c 4F4B     		ldr	r3, .L40
 320 000e DB68     		ldr	r3, [r3, #12]
 289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   {
 321              		.loc 1 289 46 discriminator 1 view .LVU78
 322 0010 13F0040F 		tst	r3, #4
 323 0014 0BD0     		beq	.L24
 324              	.L23:
 292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     /* Reset address */
 325              		.loc 1 292 5 is_stmt 1 view .LVU79
 292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     /* Reset address */
 326              		.loc 1 292 16 is_stmt 0 view .LVU80
 327 0016 4E4C     		ldr	r4, .L40+4
 328 0018 A568     		ldr	r5, [r4, #8]
 329              	.LVL17:
 294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   
 330              		.loc 1 294 5 is_stmt 1 view .LVU81
 294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   
 331              		.loc 1 294 20 is_stmt 0 view .LVU82
 332 001a 4FF0FF33 		mov	r3, #-1
 333 001e A360     		str	r3, [r4, #8]
 297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     
 334              		.loc 1 297 5 is_stmt 1 view .LVU83
 335 0020 FFF7FEFF 		bl	FLASH_SetErrorCode
 336              	.LVL18:
 300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 337              		.loc 1 300 5 view .LVU84
 338 0024 2846     		mov	r0, r5
 339 0026 FFF7FEFF 		bl	HAL_FLASH_OperationErrorCallback
 340              	.LVL19:
 303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   }
 341              		.loc 1 303 5 view .LVU85
 303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   }
 342              		.loc 1 303 29 is_stmt 0 view .LVU86
 343 002a 0023     		movs	r3, #0
 344 002c 2370     		strb	r3, [r4]
 345              	.LVL20:
 346              	.L24:
 307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   {
 347              		.loc 1 307 3 is_stmt 1 view .LVU87
 307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   {
 348              		.loc 1 307 6 is_stmt 0 view .LVU88
 349 002e 474B     		ldr	r3, .L40
 350 0030 DB68     		ldr	r3, [r3, #12]
 307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   {
 351              		.loc 1 307 5 view .LVU89
 352 0032 13F0200F 		tst	r3, #32
 353 0036 2BD0     		beq	.L25
ARM GAS  /tmp/ccrwGBAK.s 			page 20


 310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     
 354              		.loc 1 310 5 is_stmt 1 view .LVU90
 355 0038 444B     		ldr	r3, .L40
 356 003a 2022     		movs	r2, #32
 357 003c DA60     		str	r2, [r3, #12]
 313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     {
 358              		.loc 1 313 5 view .LVU91
 313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     {
 359              		.loc 1 313 14 is_stmt 0 view .LVU92
 360 003e 444B     		ldr	r3, .L40+4
 361 0040 1B78     		ldrb	r3, [r3]	@ zero_extendqisi2
 313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     {
 362              		.loc 1 313 7 view .LVU93
 363 0042 2BB3     		cbz	r3, .L25
 315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****       {
 364              		.loc 1 315 7 is_stmt 1 view .LVU94
 315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****       {
 365              		.loc 1 315 16 is_stmt 0 view .LVU95
 366 0044 424B     		ldr	r3, .L40+4
 367 0046 1B78     		ldrb	r3, [r3]	@ zero_extendqisi2
 368 0048 DBB2     		uxtb	r3, r3
 315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****       {
 369              		.loc 1 315 9 view .LVU96
 370 004a 012B     		cmp	r3, #1
 371 004c 30D0     		beq	.L35
 346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****       {
 372              		.loc 1 346 12 is_stmt 1 view .LVU97
 346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****       {
 373              		.loc 1 346 21 is_stmt 0 view .LVU98
 374 004e 404B     		ldr	r3, .L40+4
 375 0050 1B78     		ldrb	r3, [r3]	@ zero_extendqisi2
 376 0052 DBB2     		uxtb	r3, r3
 346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****       {
 377              		.loc 1 346 14 view .LVU99
 378 0054 022B     		cmp	r3, #2
 379 0056 4AD0     		beq	.L36
 361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****         
 380              		.loc 1 361 9 is_stmt 1 view .LVU100
 361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****         
 381              		.loc 1 361 15 is_stmt 0 view .LVU101
 382 0058 3D4B     		ldr	r3, .L40+4
 383 005a 5A68     		ldr	r2, [r3, #4]
 361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****         
 384              		.loc 1 361 29 view .LVU102
 385 005c 013A     		subs	r2, r2, #1
 386 005e 5A60     		str	r2, [r3, #4]
 364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****         {
 387              		.loc 1 364 9 is_stmt 1 view .LVU103
 364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****         {
 388              		.loc 1 364 18 is_stmt 0 view .LVU104
 389 0060 5B68     		ldr	r3, [r3, #4]
 364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****         {
 390              		.loc 1 364 11 view .LVU105
 391 0062 002B     		cmp	r3, #0
 392 0064 4FD1     		bne	.L37
 383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****           {
 393              		.loc 1 383 11 is_stmt 1 view .LVU106
ARM GAS  /tmp/ccrwGBAK.s 			page 21


 383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****           {
 394              		.loc 1 383 21 is_stmt 0 view .LVU107
 395 0066 3A4B     		ldr	r3, .L40+4
 396 0068 1B78     		ldrb	r3, [r3]	@ zero_extendqisi2
 397 006a DBB2     		uxtb	r3, r3
 383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****           {
 398              		.loc 1 383 14 view .LVU108
 399 006c 032B     		cmp	r3, #3
 400 006e 62D0     		beq	.L38
 387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****           {
 401              		.loc 1 387 16 is_stmt 1 view .LVU109
 387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****           {
 402              		.loc 1 387 26 is_stmt 0 view .LVU110
 403 0070 374B     		ldr	r3, .L40+4
 404 0072 1B78     		ldrb	r3, [r3]	@ zero_extendqisi2
 405 0074 DBB2     		uxtb	r3, r3
 387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****           {
 406              		.loc 1 387 19 view .LVU111
 407 0076 042B     		cmp	r3, #4
 408 0078 62D0     		beq	.L39
 393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****           }
 409              		.loc 1 393 13 is_stmt 1 view .LVU112
 393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****           }
 410              		.loc 1 393 52 is_stmt 0 view .LVU113
 411 007a 354B     		ldr	r3, .L40+4
 412 007c 9868     		ldr	r0, [r3, #8]
 393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****           }
 413              		.loc 1 393 13 view .LVU114
 414 007e 0638     		subs	r0, r0, #6
 415 0080 FFF7FEFF 		bl	HAL_FLASH_EndOfOperationCallback
 416              	.LVL21:
 417              	.L31:
 397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****           pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
 418              		.loc 1 397 11 is_stmt 1 view .LVU115
 397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****           pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
 419              		.loc 1 397 26 is_stmt 0 view .LVU116
 420 0084 324B     		ldr	r3, .L40+4
 421 0086 4FF0FF32 		mov	r2, #-1
 422 008a 9A60     		str	r2, [r3, #8]
 398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****         }
 423              		.loc 1 398 11 is_stmt 1 view .LVU117
 398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****         }
 424              		.loc 1 398 35 is_stmt 0 view .LVU118
 425 008c 0022     		movs	r2, #0
 426 008e 1A70     		strb	r2, [r3]
 427              	.L25:
 405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   {
 428              		.loc 1 405 3 is_stmt 1 view .LVU119
 405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   {
 429              		.loc 1 405 12 is_stmt 0 view .LVU120
 430 0090 2F4B     		ldr	r3, .L40+4
 431 0092 1B78     		ldrb	r3, [r3]	@ zero_extendqisi2
 405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   {
 432              		.loc 1 405 5 view .LVU121
 433 0094 5BB9     		cbnz	r3, .L22
 408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 434              		.loc 1 408 5 is_stmt 1 view .LVU122
ARM GAS  /tmp/ccrwGBAK.s 			page 22


 435 0096 2D4B     		ldr	r3, .L40
 436 0098 1A69     		ldr	r2, [r3, #16]
 437 009a 22F00702 		bic	r2, r2, #7
 438 009e 1A61     		str	r2, [r3, #16]
 411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 439              		.loc 1 411 5 view .LVU123
 440 00a0 1A69     		ldr	r2, [r3, #16]
 441 00a2 22F4A052 		bic	r2, r2, #5120
 442 00a6 1A61     		str	r2, [r3, #16]
 414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   }
 443              		.loc 1 414 5 view .LVU124
 414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   }
 444              		.loc 1 414 5 view .LVU125
 445 00a8 294B     		ldr	r3, .L40+4
 446 00aa 0022     		movs	r2, #0
 447 00ac 1A76     		strb	r2, [r3, #24]
 414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   }
 448              		.loc 1 414 5 discriminator 1 view .LVU126
 449              	.L22:
 416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 450              		.loc 1 416 1 is_stmt 0 view .LVU127
 451 00ae F8BD     		pop	{r3, r4, r5, r6, r7, pc}
 452              	.L35:
 318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 453              		.loc 1 318 9 is_stmt 1 view .LVU128
 318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 454              		.loc 1 318 15 is_stmt 0 view .LVU129
 455 00b0 274B     		ldr	r3, .L40+4
 456 00b2 5A68     		ldr	r2, [r3, #4]
 318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 457              		.loc 1 318 29 view .LVU130
 458 00b4 013A     		subs	r2, r2, #1
 459 00b6 5A60     		str	r2, [r3, #4]
 321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****         {
 460              		.loc 1 321 9 is_stmt 1 view .LVU131
 321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****         {
 461              		.loc 1 321 18 is_stmt 0 view .LVU132
 462 00b8 5B68     		ldr	r3, [r3, #4]
 321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****         {
 463              		.loc 1 321 11 view .LVU133
 464 00ba 7BB1     		cbz	r3, .L27
 323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****           /*Indicate user which sector has been erased */
 465              		.loc 1 323 11 is_stmt 1 view .LVU134
 323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****           /*Indicate user which sector has been erased */
 466              		.loc 1 323 22 is_stmt 0 view .LVU135
 467 00bc 244C     		ldr	r4, .L40+4
 468 00be A068     		ldr	r0, [r4, #8]
 469              	.LVL22:
 325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 470              		.loc 1 325 11 is_stmt 1 view .LVU136
 471 00c0 FFF7FEFF 		bl	HAL_FLASH_EndOfOperationCallback
 472              	.LVL23:
 328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****           pFlash.Address = addresstmp;
 473              		.loc 1 328 11 view .LVU137
 328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****           pFlash.Address = addresstmp;
 474              		.loc 1 328 30 is_stmt 0 view .LVU138
 475 00c4 A068     		ldr	r0, [r4, #8]
ARM GAS  /tmp/ccrwGBAK.s 			page 23


 328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****           pFlash.Address = addresstmp;
 476              		.loc 1 328 22 view .LVU139
 477 00c6 00F50060 		add	r0, r0, #2048
 478              	.LVL24:
 329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 479              		.loc 1 329 11 is_stmt 1 view .LVU140
 329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 480              		.loc 1 329 26 is_stmt 0 view .LVU141
 481 00ca A060     		str	r0, [r4, #8]
 332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 482              		.loc 1 332 11 is_stmt 1 view .LVU142
 483 00cc 1F4A     		ldr	r2, .L40
 484 00ce 1369     		ldr	r3, [r2, #16]
 485 00d0 23F00203 		bic	r3, r3, #2
 486 00d4 1361     		str	r3, [r2, #16]
 334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****         }
 487              		.loc 1 334 11 view .LVU143
 488 00d6 FFF7FEFF 		bl	FLASH_PageErase
 489              	.LVL25:
 334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****         }
 490              		.loc 1 334 11 is_stmt 0 view .LVU144
 491 00da D9E7     		b	.L25
 492              	.LVL26:
 493              	.L27:
 340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****           pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
 494              		.loc 1 340 11 is_stmt 1 view .LVU145
 340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****           pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
 495              		.loc 1 340 26 is_stmt 0 view .LVU146
 496 00dc 1C4B     		ldr	r3, .L40+4
 497 00de 4FF0FF30 		mov	r0, #-1
 498 00e2 9860     		str	r0, [r3, #8]
 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****           /* FLASH EOP interrupt user callback */
 499              		.loc 1 341 11 is_stmt 1 view .LVU147
 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****           /* FLASH EOP interrupt user callback */
 500              		.loc 1 341 35 is_stmt 0 view .LVU148
 501 00e4 0022     		movs	r2, #0
 502 00e6 1A70     		strb	r2, [r3]
 343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****         }
 503              		.loc 1 343 11 is_stmt 1 view .LVU149
 504 00e8 FFF7FEFF 		bl	HAL_FLASH_EndOfOperationCallback
 505              	.LVL27:
 506 00ec D0E7     		b	.L25
 507              	.LVL28:
 508              	.L36:
 349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 509              		.loc 1 349 9 view .LVU150
 510 00ee 174A     		ldr	r2, .L40
 511 00f0 1369     		ldr	r3, [r2, #16]
 512 00f2 23F00403 		bic	r3, r3, #4
 513 00f6 1361     		str	r3, [r2, #16]
 353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 514              		.loc 1 353 11 view .LVU151
 515 00f8 0020     		movs	r0, #0
 516 00fa FFF7FEFF 		bl	HAL_FLASH_EndOfOperationCallback
 517              	.LVL29:
 356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****         }
 518              		.loc 1 356 11 view .LVU152
ARM GAS  /tmp/ccrwGBAK.s 			page 24


 356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****         }
 519              		.loc 1 356 35 is_stmt 0 view .LVU153
 520 00fe 144B     		ldr	r3, .L40+4
 521 0100 0022     		movs	r2, #0
 522 0102 1A70     		strb	r2, [r3]
 523 0104 C4E7     		b	.L25
 524              	.L37:
 367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****           addresstmp = pFlash.Address;
 525              		.loc 1 367 11 is_stmt 1 view .LVU154
 367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****           addresstmp = pFlash.Address;
 526              		.loc 1 367 17 is_stmt 0 view .LVU155
 527 0106 124B     		ldr	r3, .L40+4
 528 0108 9A68     		ldr	r2, [r3, #8]
 367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****           addresstmp = pFlash.Address;
 529              		.loc 1 367 26 view .LVU156
 530 010a 0232     		adds	r2, r2, #2
 531 010c 9A60     		str	r2, [r3, #8]
 368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****           
 532              		.loc 1 368 11 is_stmt 1 view .LVU157
 368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****           
 533              		.loc 1 368 22 is_stmt 0 view .LVU158
 534 010e 9868     		ldr	r0, [r3, #8]
 535              	.LVL30:
 371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****           
 536              		.loc 1 371 11 is_stmt 1 view .LVU159
 371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****           
 537              		.loc 1 371 32 is_stmt 0 view .LVU160
 538 0110 D3E90467 		ldrd	r6, [r3, #16]
 371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****           
 539              		.loc 1 371 38 view .LVU161
 540 0114 340C     		lsrs	r4, r6, #16
 541 0116 44EA0744 		orr	r4, r4, r7, lsl #16
 542 011a 3D0C     		lsrs	r5, r7, #16
 371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****           
 543              		.loc 1 371 23 view .LVU162
 544 011c C3E90445 		strd	r4, [r3, #16]
 374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 545              		.loc 1 374 11 is_stmt 1 view .LVU163
 546 0120 0A49     		ldr	r1, .L40
 547 0122 0A69     		ldr	r2, [r1, #16]
 548 0124 22F00102 		bic	r2, r2, #1
 549 0128 0A61     		str	r2, [r1, #16]
 377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****         }
 550              		.loc 1 377 11 view .LVU164
 377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****         }
 551              		.loc 1 377 62 is_stmt 0 view .LVU165
 552 012a D3E90423 		ldrd	r2, [r3, #16]
 377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****         }
 553              		.loc 1 377 11 view .LVU166
 554 012e 91B2     		uxth	r1, r2
 555 0130 FFF7FEFF 		bl	FLASH_Program_HalfWord
 556              	.LVL31:
 377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****         }
 557              		.loc 1 377 11 view .LVU167
 558 0134 ACE7     		b	.L25
 559              	.LVL32:
 560              	.L38:
ARM GAS  /tmp/ccrwGBAK.s 			page 25


 385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****           }
 561              		.loc 1 385 13 is_stmt 1 view .LVU168
 385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****           }
 562              		.loc 1 385 52 is_stmt 0 view .LVU169
 563 0136 064B     		ldr	r3, .L40+4
 564 0138 9868     		ldr	r0, [r3, #8]
 385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****           }
 565              		.loc 1 385 13 view .LVU170
 566 013a FFF7FEFF 		bl	HAL_FLASH_EndOfOperationCallback
 567              	.LVL33:
 568 013e A1E7     		b	.L31
 569              	.L39:
 389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****           }
 570              		.loc 1 389 13 is_stmt 1 view .LVU171
 389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****           }
 571              		.loc 1 389 52 is_stmt 0 view .LVU172
 572 0140 034B     		ldr	r3, .L40+4
 573 0142 9868     		ldr	r0, [r3, #8]
 389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****           }
 574              		.loc 1 389 13 view .LVU173
 575 0144 0238     		subs	r0, r0, #2
 576 0146 FFF7FEFF 		bl	HAL_FLASH_EndOfOperationCallback
 577              	.LVL34:
 578 014a 9BE7     		b	.L31
 579              	.L41:
 580              		.align	2
 581              	.L40:
 582 014c 00200240 		.word	1073881088
 583 0150 00000000 		.word	pFlash
 584              		.cfi_endproc
 585              	.LFE125:
 587              		.section	.text.HAL_FLASH_Unlock,"ax",%progbits
 588              		.align	1
 589              		.global	HAL_FLASH_Unlock
 590              		.syntax unified
 591              		.thumb
 592              		.thumb_func
 594              	HAL_FLASH_Unlock:
 595              	.LFB128:
 479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   HAL_StatusTypeDef status = HAL_OK;
 596              		.loc 1 479 1 is_stmt 1 view -0
 597              		.cfi_startproc
 598              		@ args = 0, pretend = 0, frame = 0
 599              		@ frame_needed = 0, uses_anonymous_args = 0
 600              		@ link register save eliminated.
 480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 601              		.loc 1 480 3 view .LVU175
 602              	.LVL35:
 482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   {
 603              		.loc 1 482 3 view .LVU176
 482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   {
 604              		.loc 1 482 6 is_stmt 0 view .LVU177
 605 0000 0A4B     		ldr	r3, .L46
 606 0002 1B69     		ldr	r3, [r3, #16]
 482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   {
 607              		.loc 1 482 5 view .LVU178
 608 0004 13F0800F 		tst	r3, #128
ARM GAS  /tmp/ccrwGBAK.s 			page 26


 609 0008 0BD0     		beq	.L44
 485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     WRITE_REG(FLASH->KEYR, FLASH_KEY2);
 610              		.loc 1 485 5 is_stmt 1 view .LVU179
 611 000a 084B     		ldr	r3, .L46
 612 000c 084A     		ldr	r2, .L46+4
 613 000e 5A60     		str	r2, [r3, #4]
 486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 614              		.loc 1 486 5 view .LVU180
 615 0010 02F18832 		add	r2, r2, #-2004318072
 616 0014 5A60     		str	r2, [r3, #4]
 489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     {
 617              		.loc 1 489 5 view .LVU181
 489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     {
 618              		.loc 1 489 8 is_stmt 0 view .LVU182
 619 0016 1B69     		ldr	r3, [r3, #16]
 489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     {
 620              		.loc 1 489 7 view .LVU183
 621 0018 13F0800F 		tst	r3, #128
 622 001c 03D1     		bne	.L45
 480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 623              		.loc 1 480 21 view .LVU184
 624 001e 0020     		movs	r0, #0
 625 0020 7047     		bx	lr
 626              	.L44:
 627 0022 0020     		movs	r0, #0
 628 0024 7047     		bx	lr
 629              	.L45:
 491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     }
 630              		.loc 1 491 14 view .LVU185
 631 0026 0120     		movs	r0, #1
 632              	.LVL36:
 495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
 633              		.loc 1 495 3 is_stmt 1 view .LVU186
 496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 634              		.loc 1 496 1 is_stmt 0 view .LVU187
 635 0028 7047     		bx	lr
 636              	.L47:
 637 002a 00BF     		.align	2
 638              	.L46:
 639 002c 00200240 		.word	1073881088
 640 0030 23016745 		.word	1164378403
 641              		.cfi_endproc
 642              	.LFE128:
 644              		.section	.text.HAL_FLASH_Lock,"ax",%progbits
 645              		.align	1
 646              		.global	HAL_FLASH_Lock
 647              		.syntax unified
 648              		.thumb
 649              		.thumb_func
 651              	HAL_FLASH_Lock:
 652              	.LFB129:
 503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   /* Set the LOCK Bit to lock the FLASH Registers access */
 653              		.loc 1 503 1 is_stmt 1 view -0
 654              		.cfi_startproc
 655              		@ args = 0, pretend = 0, frame = 0
 656              		@ frame_needed = 0, uses_anonymous_args = 0
 657              		@ link register save eliminated.
ARM GAS  /tmp/ccrwGBAK.s 			page 27


 505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   
 658              		.loc 1 505 3 view .LVU189
 659 0000 034A     		ldr	r2, .L49
 660 0002 1369     		ldr	r3, [r2, #16]
 661 0004 43F08003 		orr	r3, r3, #128
 662 0008 1361     		str	r3, [r2, #16]
 507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
 663              		.loc 1 507 3 view .LVU190
 508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 664              		.loc 1 508 1 is_stmt 0 view .LVU191
 665 000a 0020     		movs	r0, #0
 666 000c 7047     		bx	lr
 667              	.L50:
 668 000e 00BF     		.align	2
 669              	.L49:
 670 0010 00200240 		.word	1073881088
 671              		.cfi_endproc
 672              	.LFE129:
 674              		.section	.text.HAL_FLASH_OB_Unlock,"ax",%progbits
 675              		.align	1
 676              		.global	HAL_FLASH_OB_Unlock
 677              		.syntax unified
 678              		.thumb
 679              		.thumb_func
 681              	HAL_FLASH_OB_Unlock:
 682              	.LFB130:
 515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   if (HAL_IS_BIT_CLR(FLASH->CR, FLASH_CR_OPTWRE))
 683              		.loc 1 515 1 is_stmt 1 view -0
 684              		.cfi_startproc
 685              		@ args = 0, pretend = 0, frame = 0
 686              		@ frame_needed = 0, uses_anonymous_args = 0
 687              		@ link register save eliminated.
 516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   {
 688              		.loc 1 516 3 view .LVU193
 516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   {
 689              		.loc 1 516 7 is_stmt 0 view .LVU194
 690 0000 074B     		ldr	r3, .L54
 691 0002 1B69     		ldr	r3, [r3, #16]
 516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   {
 692              		.loc 1 516 6 view .LVU195
 693 0004 13F4007F 		tst	r3, #512
 694 0008 07D1     		bne	.L53
 519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     WRITE_REG(FLASH->OPTKEYR, FLASH_OPTKEY2);
 695              		.loc 1 519 5 is_stmt 1 view .LVU196
 696 000a 054B     		ldr	r3, .L54
 697 000c 054A     		ldr	r2, .L54+4
 698 000e 9A60     		str	r2, [r3, #8]
 520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   }
 699              		.loc 1 520 5 view .LVU197
 700 0010 02F18832 		add	r2, r2, #-2004318072
 701 0014 9A60     		str	r2, [r3, #8]
 527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
 702              		.loc 1 527 3 view .LVU198
 527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
 703              		.loc 1 527 10 is_stmt 0 view .LVU199
 704 0016 0020     		movs	r0, #0
 705 0018 7047     		bx	lr
ARM GAS  /tmp/ccrwGBAK.s 			page 28


 706              	.L53:
 524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   }  
 707              		.loc 1 524 12 view .LVU200
 708 001a 0120     		movs	r0, #1
 528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 709              		.loc 1 528 1 view .LVU201
 710 001c 7047     		bx	lr
 711              	.L55:
 712 001e 00BF     		.align	2
 713              	.L54:
 714 0020 00200240 		.word	1073881088
 715 0024 23016745 		.word	1164378403
 716              		.cfi_endproc
 717              	.LFE130:
 719              		.section	.text.HAL_FLASH_OB_Lock,"ax",%progbits
 720              		.align	1
 721              		.global	HAL_FLASH_OB_Lock
 722              		.syntax unified
 723              		.thumb
 724              		.thumb_func
 726              	HAL_FLASH_OB_Lock:
 727              	.LFB131:
 535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   /* Clear the OPTWRE Bit to lock the FLASH Option Byte Registers access */
 728              		.loc 1 535 1 is_stmt 1 view -0
 729              		.cfi_startproc
 730              		@ args = 0, pretend = 0, frame = 0
 731              		@ frame_needed = 0, uses_anonymous_args = 0
 732              		@ link register save eliminated.
 537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   
 733              		.loc 1 537 3 view .LVU203
 734 0000 034A     		ldr	r2, .L57
 735 0002 1369     		ldr	r3, [r2, #16]
 736 0004 23F40073 		bic	r3, r3, #512
 737 0008 1361     		str	r3, [r2, #16]
 539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
 738              		.loc 1 539 3 view .LVU204
 540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   
 739              		.loc 1 540 1 is_stmt 0 view .LVU205
 740 000a 0020     		movs	r0, #0
 741 000c 7047     		bx	lr
 742              	.L58:
 743 000e 00BF     		.align	2
 744              	.L57:
 745 0010 00200240 		.word	1073881088
 746              		.cfi_endproc
 747              	.LFE131:
 749              		.section	.text.HAL_FLASH_GetError,"ax",%progbits
 750              		.align	1
 751              		.global	HAL_FLASH_GetError
 752              		.syntax unified
 753              		.thumb
 754              		.thumb_func
 756              	HAL_FLASH_GetError:
 757              	.LFB133:
 580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****    return pFlash.ErrorCode;
 758              		.loc 1 580 1 is_stmt 1 view -0
 759              		.cfi_startproc
ARM GAS  /tmp/ccrwGBAK.s 			page 29


 760              		@ args = 0, pretend = 0, frame = 0
 761              		@ frame_needed = 0, uses_anonymous_args = 0
 762              		@ link register save eliminated.
 581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
 763              		.loc 1 581 4 view .LVU207
 581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
 764              		.loc 1 581 17 is_stmt 0 view .LVU208
 765 0000 014B     		ldr	r3, .L60
 766 0002 D869     		ldr	r0, [r3, #28]
 582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 767              		.loc 1 582 1 view .LVU209
 768 0004 7047     		bx	lr
 769              	.L61:
 770 0006 00BF     		.align	2
 771              	.L60:
 772 0008 00000000 		.word	pFlash
 773              		.cfi_endproc
 774              	.LFE133:
 776              		.section	.text.FLASH_WaitForLastOperation,"ax",%progbits
 777              		.align	1
 778              		.global	FLASH_WaitForLastOperation
 779              		.syntax unified
 780              		.thumb
 781              		.thumb_func
 783              	FLASH_WaitForLastOperation:
 784              	.LVL37:
 785              	.LFB135:
 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.
 786              		.loc 1 620 1 is_stmt 1 view -0
 787              		.cfi_startproc
 788              		@ args = 0, pretend = 0, frame = 0
 789              		@ frame_needed = 0, uses_anonymous_args = 0
 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.
 790              		.loc 1 620 1 is_stmt 0 view .LVU211
 791 0000 38B5     		push	{r3, r4, r5, lr}
 792              		.cfi_def_cfa_offset 16
 793              		.cfi_offset 3, -16
 794              		.cfi_offset 4, -12
 795              		.cfi_offset 5, -8
 796              		.cfi_offset 14, -4
 797 0002 0446     		mov	r4, r0
 625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****      
 798              		.loc 1 625 3 is_stmt 1 view .LVU212
 625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****      
 799              		.loc 1 625 24 is_stmt 0 view .LVU213
 800 0004 FFF7FEFF 		bl	HAL_GetTick
 801              	.LVL38:
 625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****      
 802              		.loc 1 625 24 view .LVU214
 803 0008 0546     		mov	r5, r0
 804              	.LVL39:
 627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   { 
 805              		.loc 1 627 3 is_stmt 1 view .LVU215
 806              	.L64:
 627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   { 
 807              		.loc 1 627 9 view .LVU216
 808 000a 144B     		ldr	r3, .L73
ARM GAS  /tmp/ccrwGBAK.s 			page 30


 809 000c DB68     		ldr	r3, [r3, #12]
 810 000e 13F0010F 		tst	r3, #1
 811 0012 0AD0     		beq	.L72
 629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     {
 812              		.loc 1 629 5 view .LVU217
 629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     {
 813              		.loc 1 629 8 is_stmt 0 view .LVU218
 814 0014 B4F1FF3F 		cmp	r4, #-1
 815 0018 F7D0     		beq	.L64
 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****       {
 816              		.loc 1 631 7 is_stmt 1 view .LVU219
 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****       {
 817              		.loc 1 631 9 is_stmt 0 view .LVU220
 818 001a 24B1     		cbz	r4, .L65
 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****       {
 819              		.loc 1 631 31 discriminator 1 view .LVU221
 820 001c FFF7FEFF 		bl	HAL_GetTick
 821              	.LVL40:
 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****       {
 822              		.loc 1 631 44 discriminator 1 view .LVU222
 823 0020 401B     		subs	r0, r0, r5
 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****       {
 824              		.loc 1 631 26 discriminator 1 view .LVU223
 825 0022 A042     		cmp	r0, r4
 826 0024 F1D9     		bls	.L64
 827              	.L65:
 633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****       }
 828              		.loc 1 633 9 is_stmt 1 view .LVU224
 633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****       }
 829              		.loc 1 633 16 is_stmt 0 view .LVU225
 830 0026 0320     		movs	r0, #3
 831 0028 12E0     		b	.L66
 832              	.L72:
 639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   {
 833              		.loc 1 639 3 is_stmt 1 view .LVU226
 639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   {
 834              		.loc 1 639 7 is_stmt 0 view .LVU227
 835 002a 0C4B     		ldr	r3, .L73
 836 002c DB68     		ldr	r3, [r3, #12]
 639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   {
 837              		.loc 1 639 6 view .LVU228
 838 002e 13F0200F 		tst	r3, #32
 839 0032 02D0     		beq	.L68
 642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   }
 840              		.loc 1 642 5 is_stmt 1 view .LVU229
 841 0034 094B     		ldr	r3, .L73
 842 0036 2022     		movs	r2, #32
 843 0038 DA60     		str	r2, [r3, #12]
 844              	.L68:
 645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****      __HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR))
 845              		.loc 1 645 3 view .LVU230
 645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****      __HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR))
 846              		.loc 1 645 6 is_stmt 0 view .LVU231
 847 003a 084B     		ldr	r3, .L73
 848 003c DB68     		ldr	r3, [r3, #12]
 645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****      __HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR))
 849              		.loc 1 645 5 view .LVU232
ARM GAS  /tmp/ccrwGBAK.s 			page 31


 850 003e 13F0100F 		tst	r3, #16
 851 0042 06D1     		bne	.L69
 646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   {
 852              		.loc 1 646 6 view .LVU233
 853 0044 054B     		ldr	r3, .L73
 854 0046 DB68     		ldr	r3, [r3, #12]
 645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****      __HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR))
 855              		.loc 1 645 47 discriminator 1 view .LVU234
 856 0048 13F0040F 		tst	r3, #4
 857 004c 01D1     		bne	.L69
 654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
 858              		.loc 1 654 10 view .LVU235
 859 004e 0020     		movs	r0, #0
 860              	.L66:
 655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 861              		.loc 1 655 1 view .LVU236
 862 0050 38BD     		pop	{r3, r4, r5, pc}
 863              	.LVL41:
 864              	.L69:
 649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     return HAL_ERROR;
 865              		.loc 1 649 5 is_stmt 1 view .LVU237
 866 0052 FFF7FEFF 		bl	FLASH_SetErrorCode
 867              	.LVL42:
 650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   }
 868              		.loc 1 650 5 view .LVU238
 650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   }
 869              		.loc 1 650 12 is_stmt 0 view .LVU239
 870 0056 0120     		movs	r0, #1
 871 0058 FAE7     		b	.L66
 872              	.L74:
 873 005a 00BF     		.align	2
 874              	.L73:
 875 005c 00200240 		.word	1073881088
 876              		.cfi_endproc
 877              	.LFE135:
 879              		.section	.text.HAL_FLASH_Program,"ax",%progbits
 880              		.align	1
 881              		.global	HAL_FLASH_Program
 882              		.syntax unified
 883              		.thumb
 884              		.thumb_func
 886              	HAL_FLASH_Program:
 887              	.LVL43:
 888              	.LFB123:
 167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   HAL_StatusTypeDef status = HAL_ERROR;
 889              		.loc 1 167 1 is_stmt 1 view -0
 890              		.cfi_startproc
 891              		@ args = 0, pretend = 0, frame = 0
 892              		@ frame_needed = 0, uses_anonymous_args = 0
 167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   HAL_StatusTypeDef status = HAL_ERROR;
 893              		.loc 1 167 1 is_stmt 0 view .LVU241
 894 0000 2DE9F843 		push	{r3, r4, r5, r6, r7, r8, r9, lr}
 895              		.cfi_def_cfa_offset 32
 896              		.cfi_offset 3, -32
 897              		.cfi_offset 4, -28
 898              		.cfi_offset 5, -24
 899              		.cfi_offset 6, -20
ARM GAS  /tmp/ccrwGBAK.s 			page 32


 900              		.cfi_offset 7, -16
 901              		.cfi_offset 8, -12
 902              		.cfi_offset 9, -8
 903              		.cfi_offset 14, -4
 904 0004 1E46     		mov	r6, r3
 168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   uint8_t index = 0U;
 905              		.loc 1 168 3 is_stmt 1 view .LVU242
 906              	.LVL44:
 169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   uint8_t nbiterations = 0U;
 907              		.loc 1 169 3 view .LVU243
 170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   
 908              		.loc 1 170 3 view .LVU244
 173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 909              		.loc 1 173 3 view .LVU245
 173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 910              		.loc 1 173 3 view .LVU246
 911 0006 244B     		ldr	r3, .L87
 912 0008 1B7E     		ldrb	r3, [r3, #24]	@ zero_extendqisi2
 913 000a 012B     		cmp	r3, #1
 914 000c 41D0     		beq	.L81
 915 000e 0446     		mov	r4, r0
 916 0010 0F46     		mov	r7, r1
 917 0012 9046     		mov	r8, r2
 173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 918              		.loc 1 173 3 discriminator 2 view .LVU247
 919 0014 204B     		ldr	r3, .L87
 920 0016 0122     		movs	r2, #1
 921              	.LVL45:
 173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 922              		.loc 1 173 3 is_stmt 0 discriminator 2 view .LVU248
 923 0018 1A76     		strb	r2, [r3, #24]
 173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 924              		.loc 1 173 3 is_stmt 1 discriminator 2 view .LVU249
 176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   assert_param(IS_FLASH_PROGRAM_ADDRESS(Address));
 925              		.loc 1 176 3 view .LVU250
 177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 926              		.loc 1 177 3 view .LVU251
 180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   
 927              		.loc 1 180 5 view .LVU252
 180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   
 928              		.loc 1 180 14 is_stmt 0 view .LVU253
 929 001a 4CF25030 		movw	r0, #50000
 930              	.LVL46:
 180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   
 931              		.loc 1 180 14 view .LVU254
 932 001e FFF7FEFF 		bl	FLASH_WaitForLastOperation
 933              	.LVL47:
 182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   {
 934              		.loc 1 182 3 is_stmt 1 view .LVU255
 182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   {
 935              		.loc 1 182 5 is_stmt 0 view .LVU256
 936 0022 0346     		mov	r3, r0
 937 0024 78BB     		cbnz	r0, .L77
 184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     {
 938              		.loc 1 184 5 is_stmt 1 view .LVU257
 184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     {
 939              		.loc 1 184 7 is_stmt 0 view .LVU258
ARM GAS  /tmp/ccrwGBAK.s 			page 33


 940 0026 012C     		cmp	r4, #1
 941 0028 08D0     		beq	.L82
 189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     {
 942              		.loc 1 189 10 is_stmt 1 view .LVU259
 189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     {
 943              		.loc 1 189 12 is_stmt 0 view .LVU260
 944 002a 022C     		cmp	r4, #2
 945 002c 03D0     		beq	.L85
 197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     }
 946              		.loc 1 197 20 view .LVU261
 947 002e 4FF00409 		mov	r9, #4
 948              	.L78:
 949              	.LVL48:
 200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     {
 950              		.loc 1 200 5 is_stmt 1 view .LVU262
 200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     {
 951              		.loc 1 200 16 is_stmt 0 view .LVU263
 952 0032 1C46     		mov	r4, r3
 953              	.LVL49:
 200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     {
 954              		.loc 1 200 5 view .LVU264
 955 0034 07E0     		b	.L79
 956              	.LVL50:
 957              	.L85:
 192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     }
 958              		.loc 1 192 20 view .LVU265
 959 0036 4FF00209 		mov	r9, #2
 960 003a FAE7     		b	.L78
 961              	.L82:
 187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     }
 962              		.loc 1 187 20 view .LVU266
 963 003c 4FF00109 		mov	r9, #1
 964 0040 F7E7     		b	.L78
 965              	.LVL51:
 966              	.L86:
 200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     {
 967              		.loc 1 200 49 is_stmt 1 discriminator 2 view .LVU267
 968 0042 0134     		adds	r4, r4, #1
 969              	.LVL52:
 200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     {
 970              		.loc 1 200 49 is_stmt 0 discriminator 2 view .LVU268
 971 0044 E4B2     		uxtb	r4, r4
 972              	.LVL53:
 973              	.L79:
 200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     {
 974              		.loc 1 200 28 is_stmt 1 discriminator 1 view .LVU269
 975 0046 4C45     		cmp	r4, r9
 976 0048 1DD2     		bcs	.L77
 202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 977              		.loc 1 202 7 view .LVU270
 202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 978              		.loc 1 202 77 is_stmt 0 view .LVU271
 979 004a 2101     		lsls	r1, r4, #4
 202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 980              		.loc 1 202 70 view .LVU272
 981 004c C1F12002 		rsb	r2, r1, #32
 982 0050 A1F12003 		sub	r3, r1, #32
ARM GAS  /tmp/ccrwGBAK.s 			page 34


 983              	.LVL54:
 202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 984              		.loc 1 202 70 view .LVU273
 985 0054 28FA01F1 		lsr	r1, r8, r1
 986 0058 06FA02F2 		lsl	r2, r6, r2
 987 005c 1143     		orrs	r1, r1, r2
 988 005e 26FA03F3 		lsr	r3, r6, r3
 989 0062 1943     		orrs	r1, r1, r3
 202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 990              		.loc 1 202 7 view .LVU274
 991 0064 89B2     		uxth	r1, r1
 992 0066 07EB4400 		add	r0, r7, r4, lsl #1
 993 006a FFF7FEFF 		bl	FLASH_Program_HalfWord
 994              	.LVL55:
 205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     
 995              		.loc 1 205 9 is_stmt 1 view .LVU275
 205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****     
 996              		.loc 1 205 18 is_stmt 0 view .LVU276
 997 006e 4CF25030 		movw	r0, #50000
 998 0072 FFF7FEFF 		bl	FLASH_WaitForLastOperation
 999              	.LVL56:
 208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****       /* In case of error, stop programming procedure */
 1000              		.loc 1 208 9 is_stmt 1 view .LVU277
 1001 0076 094B     		ldr	r3, .L87+4
 1002 0078 1D69     		ldr	r5, [r3, #16]
 1003 007a 25F00105 		bic	r5, r5, #1
 1004 007e 1D61     		str	r5, [r3, #16]
 210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****       {
 1005              		.loc 1 210 7 view .LVU278
 210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****       {
 1006              		.loc 1 210 10 is_stmt 0 view .LVU279
 1007 0080 0346     		mov	r3, r0
 1008 0082 0028     		cmp	r0, #0
 1009 0084 DDD0     		beq	.L86
 1010              	.LVL57:
 1011              	.L77:
 218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 1012              		.loc 1 218 3 is_stmt 1 view .LVU280
 218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 1013              		.loc 1 218 3 view .LVU281
 1014 0086 044A     		ldr	r2, .L87
 1015 0088 0021     		movs	r1, #0
 1016 008a 1176     		strb	r1, [r2, #24]
 218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 1017              		.loc 1 218 3 view .LVU282
 220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
 1018              		.loc 1 220 3 view .LVU283
 1019              	.LVL58:
 1020              	.L76:
 221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 1021              		.loc 1 221 1 is_stmt 0 view .LVU284
 1022 008c 1846     		mov	r0, r3
 1023 008e BDE8F883 		pop	{r3, r4, r5, r6, r7, r8, r9, pc}
 1024              	.LVL59:
 1025              	.L81:
 173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 1026              		.loc 1 173 3 discriminator 1 view .LVU285
ARM GAS  /tmp/ccrwGBAK.s 			page 35


 1027 0092 0223     		movs	r3, #2
 1028 0094 FAE7     		b	.L76
 1029              	.L88:
 1030 0096 00BF     		.align	2
 1031              	.L87:
 1032 0098 00000000 		.word	pFlash
 1033 009c 00200240 		.word	1073881088
 1034              		.cfi_endproc
 1035              	.LFE123:
 1037              		.section	.text.HAL_FLASH_OB_Launch,"ax",%progbits
 1038              		.align	1
 1039              		.global	HAL_FLASH_OB_Launch
 1040              		.syntax unified
 1041              		.thumb
 1042              		.thumb_func
 1044              	HAL_FLASH_OB_Launch:
 1045              	.LFB132:
 548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   /* Set the OBL_Launch bit to launch the option byte loading */
 1046              		.loc 1 548 1 is_stmt 1 view -0
 1047              		.cfi_startproc
 1048              		@ args = 0, pretend = 0, frame = 0
 1049              		@ frame_needed = 0, uses_anonymous_args = 0
 1050 0000 08B5     		push	{r3, lr}
 1051              		.cfi_def_cfa_offset 8
 1052              		.cfi_offset 3, -8
 1053              		.cfi_offset 14, -4
 550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c ****   
 1054              		.loc 1 550 3 view .LVU287
 1055 0002 054A     		ldr	r2, .L91
 1056 0004 1369     		ldr	r3, [r2, #16]
 1057 0006 43F40053 		orr	r3, r3, #8192
 1058 000a 1361     		str	r3, [r2, #16]
 553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
 1059              		.loc 1 553 3 view .LVU288
 553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** }
 1060              		.loc 1 553 10 is_stmt 0 view .LVU289
 1061 000c 4CF25030 		movw	r0, #50000
 1062 0010 FFF7FEFF 		bl	FLASH_WaitForLastOperation
 1063              	.LVL60:
 554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c **** 
 1064              		.loc 1 554 1 view .LVU290
 1065 0014 08BD     		pop	{r3, pc}
 1066              	.L92:
 1067 0016 00BF     		.align	2
 1068              	.L91:
 1069 0018 00200240 		.word	1073881088
 1070              		.cfi_endproc
 1071              	.LFE132:
 1073              		.global	pFlash
 1074              		.section	.bss.pFlash,"aw",%nobits
 1075              		.align	3
 1078              	pFlash:
 1079 0000 00000000 		.space	32
 1079      00000000 
 1079      00000000 
 1079      00000000 
 1079      00000000 
ARM GAS  /tmp/ccrwGBAK.s 			page 36


 1080              		.text
 1081              	.Letext0:
 1082              		.file 2 "/home/chiangni/.config/Code/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/arm-
 1083              		.file 3 "/home/chiangni/.config/Code/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/arm-
 1084              		.file 4 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302x8.h"
 1085              		.file 5 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f3xx.h"
 1086              		.file 6 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h"
 1087              		.file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_flash.h"
 1088              		.file 8 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal.h"
ARM GAS  /tmp/ccrwGBAK.s 			page 37


DEFINED SYMBOLS
                            *ABS*:00000000 stm32f3xx_hal_flash.c
     /tmp/ccrwGBAK.s:21     .text.FLASH_Program_HalfWord:00000000 $t
     /tmp/ccrwGBAK.s:26     .text.FLASH_Program_HalfWord:00000000 FLASH_Program_HalfWord
     /tmp/ccrwGBAK.s:52     .text.FLASH_Program_HalfWord:00000014 $d
     /tmp/ccrwGBAK.s:1078   .bss.pFlash:00000000 pFlash
     /tmp/ccrwGBAK.s:58     .text.FLASH_SetErrorCode:00000000 $t
     /tmp/ccrwGBAK.s:63     .text.FLASH_SetErrorCode:00000000 FLASH_SetErrorCode
     /tmp/ccrwGBAK.s:119    .text.FLASH_SetErrorCode:00000034 $d
     /tmp/ccrwGBAK.s:125    .text.HAL_FLASH_Program_IT:00000000 $t
     /tmp/ccrwGBAK.s:131    .text.HAL_FLASH_Program_IT:00000000 HAL_FLASH_Program_IT
     /tmp/ccrwGBAK.s:241    .text.HAL_FLASH_Program_IT:00000064 $d
     /tmp/ccrwGBAK.s:247    .text.HAL_FLASH_EndOfOperationCallback:00000000 $t
     /tmp/ccrwGBAK.s:253    .text.HAL_FLASH_EndOfOperationCallback:00000000 HAL_FLASH_EndOfOperationCallback
     /tmp/ccrwGBAK.s:268    .text.HAL_FLASH_OperationErrorCallback:00000000 $t
     /tmp/ccrwGBAK.s:274    .text.HAL_FLASH_OperationErrorCallback:00000000 HAL_FLASH_OperationErrorCallback
     /tmp/ccrwGBAK.s:289    .text.HAL_FLASH_IRQHandler:00000000 $t
     /tmp/ccrwGBAK.s:295    .text.HAL_FLASH_IRQHandler:00000000 HAL_FLASH_IRQHandler
     /tmp/ccrwGBAK.s:582    .text.HAL_FLASH_IRQHandler:0000014c $d
     /tmp/ccrwGBAK.s:588    .text.HAL_FLASH_Unlock:00000000 $t
     /tmp/ccrwGBAK.s:594    .text.HAL_FLASH_Unlock:00000000 HAL_FLASH_Unlock
     /tmp/ccrwGBAK.s:639    .text.HAL_FLASH_Unlock:0000002c $d
     /tmp/ccrwGBAK.s:645    .text.HAL_FLASH_Lock:00000000 $t
     /tmp/ccrwGBAK.s:651    .text.HAL_FLASH_Lock:00000000 HAL_FLASH_Lock
     /tmp/ccrwGBAK.s:670    .text.HAL_FLASH_Lock:00000010 $d
     /tmp/ccrwGBAK.s:675    .text.HAL_FLASH_OB_Unlock:00000000 $t
     /tmp/ccrwGBAK.s:681    .text.HAL_FLASH_OB_Unlock:00000000 HAL_FLASH_OB_Unlock
     /tmp/ccrwGBAK.s:714    .text.HAL_FLASH_OB_Unlock:00000020 $d
     /tmp/ccrwGBAK.s:720    .text.HAL_FLASH_OB_Lock:00000000 $t
     /tmp/ccrwGBAK.s:726    .text.HAL_FLASH_OB_Lock:00000000 HAL_FLASH_OB_Lock
     /tmp/ccrwGBAK.s:745    .text.HAL_FLASH_OB_Lock:00000010 $d
     /tmp/ccrwGBAK.s:750    .text.HAL_FLASH_GetError:00000000 $t
     /tmp/ccrwGBAK.s:756    .text.HAL_FLASH_GetError:00000000 HAL_FLASH_GetError
     /tmp/ccrwGBAK.s:772    .text.HAL_FLASH_GetError:00000008 $d
     /tmp/ccrwGBAK.s:777    .text.FLASH_WaitForLastOperation:00000000 $t
     /tmp/ccrwGBAK.s:783    .text.FLASH_WaitForLastOperation:00000000 FLASH_WaitForLastOperation
     /tmp/ccrwGBAK.s:875    .text.FLASH_WaitForLastOperation:0000005c $d
     /tmp/ccrwGBAK.s:880    .text.HAL_FLASH_Program:00000000 $t
     /tmp/ccrwGBAK.s:886    .text.HAL_FLASH_Program:00000000 HAL_FLASH_Program
     /tmp/ccrwGBAK.s:1032   .text.HAL_FLASH_Program:00000098 $d
     /tmp/ccrwGBAK.s:1038   .text.HAL_FLASH_OB_Launch:00000000 $t
     /tmp/ccrwGBAK.s:1044   .text.HAL_FLASH_OB_Launch:00000000 HAL_FLASH_OB_Launch
     /tmp/ccrwGBAK.s:1069   .text.HAL_FLASH_OB_Launch:00000018 $d
     /tmp/ccrwGBAK.s:1075   .bss.pFlash:00000000 $d

UNDEFINED SYMBOLS
FLASH_PageErase
HAL_GetTick
