ARM GAS  /tmp/ccCfNgvn.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	"stm32f4xx_hal_flash.c"
  16              		.text
  17              	.Ltext0:
  18              		.cfi_sections	.debug_frame
  19              		.section	.text.FLASH_Program_DoubleWord,"ax",%progbits
  20              		.align	1
  21              		.syntax unified
  22              		.thumb
  23              		.thumb_func
  25              	FLASH_Program_DoubleWord:
  26              	.LVL0:
  27              	.LFB142:
  28              		.file 1 "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c"
   1:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /**
   2:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   ******************************************************************************
   3:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @file    stm32f4xx_hal_flash.c
   4:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @author  MCD Application Team
   5:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @brief   FLASH HAL module driver.
   6:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *          This file provides firmware functions to manage the following 
   7:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *          functionalities of the internal FLASH memory:
   8:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *           + Program operations functions
   9:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *           + Memory Control functions 
  10:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *           + Peripheral Errors functions
  11:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *         
  12:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   @verbatim
  13:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   ==============================================================================
  14:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****                         ##### FLASH peripheral features #####
  15:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   ==============================================================================
  16:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****            
  17:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   [..] The Flash memory interface manages CPU AHB I-Code and D-Code accesses 
  18:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****        to the Flash memory. It implements the erase and program Flash memory operations 
  19:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****        and the read and write protection mechanisms.
  20:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       
  21:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   [..] The Flash memory interface accelerates code execution with a system of instruction
  22:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****        prefetch and cache lines. 
  23:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
  24:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   [..] The FLASH main features are:
  25:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       (+) Flash memory read operations
  26:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       (+) Flash memory program/erase operations
  27:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       (+) Read / write protections
  28:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       (+) Prefetch on I-Code
  29:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       (+) 64 cache lines of 128 bits on I-Code
  30:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       (+) 8 cache lines of 128 bits on D-Code
ARM GAS  /tmp/ccCfNgvn.s 			page 2


  31:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       
  32:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       
  33:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****                      ##### How to use this driver #####
  34:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   ==============================================================================
  35:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     [..]                             
  36:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       This driver provides functions and macros to configure and program the FLASH 
  37:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       memory of all STM32F4xx devices.
  38:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     
  39:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       (#) FLASH Memory IO Programming functions: 
  40:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****            (++) Lock and Unlock the FLASH interface using HAL_FLASH_Unlock() and 
  41:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****                 HAL_FLASH_Lock() functions
  42:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****            (++) Program functions: byte, half word, word and double word
  43:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****            (++) There Two modes of programming :
  44:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****             (+++) Polling mode using HAL_FLASH_Program() function
  45:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****             (+++) Interrupt mode using HAL_FLASH_Program_IT() function
  46:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     
  47:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       (#) Interrupts and flags management functions : 
  48:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****            (++) Handle FLASH interrupts by calling HAL_FLASH_IRQHandler()
  49:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****            (++) Wait for last FLASH operation according to its status
  50:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****            (++) Get error flag status by calling HAL_SetErrorCode()          
  51:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
  52:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     [..] 
  53:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       In addition to these functions, this driver includes a set of macros allowing
  54:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       to handle the following operations:
  55:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****        (+) Set the latency
  56:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****        (+) Enable/Disable the prefetch buffer
  57:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****        (+) Enable/Disable the Instruction cache and the Data cache
  58:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****        (+) Reset the Instruction cache and the Data cache
  59:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****        (+) Enable/Disable the FLASH interrupts
  60:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****        (+) Monitor the FLASH flags status
  61:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****           
  62:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   @endverbatim
  63:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   ******************************************************************************
  64:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @attention
  65:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *
  66:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * <h2><center>&copy; Copyright (c) 2017 STMicroelectronics.
  67:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * All rights reserved.</center></h2>
  68:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *
  69:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * This software component is licensed by ST under BSD 3-Clause license,
  70:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * the "License"; You may not use this file except in compliance with the
  71:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * License. You may obtain a copy of the License at:
  72:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *                        opensource.org/licenses/BSD-3-Clause
  73:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *
  74:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   ******************************************************************************
  75:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   */ 
  76:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
  77:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Includes ------------------------------------------------------------------*/
  78:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** #include "stm32f4xx_hal.h"
  79:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
  80:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** @addtogroup STM32F4xx_HAL_Driver
  81:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @{
  82:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   */
  83:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
  84:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** @defgroup FLASH FLASH
  85:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @brief FLASH HAL module driver
  86:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @{
  87:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   */
ARM GAS  /tmp/ccCfNgvn.s 			page 3


  88:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
  89:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** #ifdef HAL_FLASH_MODULE_ENABLED
  90:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
  91:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Private typedef -----------------------------------------------------------*/
  92:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Private define ------------------------------------------------------------*/
  93:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** @addtogroup FLASH_Private_Constants
  94:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @{
  95:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   */
  96:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** #define FLASH_TIMEOUT_VALUE       50000U /* 50 s */
  97:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /**
  98:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @}
  99:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   */         
 100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Private macro -------------------------------------------------------------*/
 101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Private variables ---------------------------------------------------------*/
 102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** @addtogroup FLASH_Private_Variables
 103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @{
 104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   */
 105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Variable used for Erase sectors under interruption */
 106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** FLASH_ProcessTypeDef pFlash;
 107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /**
 108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @}
 109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   */
 110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Private function prototypes -----------------------------------------------*/
 112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** @addtogroup FLASH_Private_Functions
 113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @{
 114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   */
 115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Program operations */
 116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** static void   FLASH_Program_DoubleWord(uint32_t Address, uint64_t Data);
 117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** static void   FLASH_Program_Word(uint32_t Address, uint32_t Data);
 118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** static void   FLASH_Program_HalfWord(uint32_t Address, uint16_t Data);
 119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** static void   FLASH_Program_Byte(uint32_t Address, uint8_t Data);
 120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** static void   FLASH_SetErrorCode(void);
 121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** HAL_StatusTypeDef FLASH_WaitForLastOperation(uint32_t Timeout);
 123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /**
 124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @}
 125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   */
 126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Exported functions --------------------------------------------------------*/
 128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** @defgroup FLASH_Exported_Functions FLASH Exported Functions
 129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @{
 130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   */
 131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** @defgroup FLASH_Exported_Functions_Group1 Programming operation functions 
 133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****  *  @brief   Programming operation functions 
 134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****  *
 135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** @verbatim   
 136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****  ===============================================================================
 137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****                   ##### Programming operation functions #####
 138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****  ===============================================================================  
 139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     [..]
 140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     This subsection provides a set of functions allowing to manage the FLASH 
 141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     program operations.
 142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** @endverbatim
 144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @{
ARM GAS  /tmp/ccCfNgvn.s 			page 4


 145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   */
 146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /**
 148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @brief  Program byte, halfword, word or double word at a specified address
 149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @param  TypeProgram  Indicate the way to program at a specified address.
 150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *                           This parameter can be a value of @ref FLASH_Type_Program
 151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @param  Address  specifies the address to be programmed.
 152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @param  Data specifies the data to be programmed
 153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * 
 154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @retval HAL_StatusTypeDef HAL Status
 155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   */
 156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_Program(uint32_t TypeProgram, uint32_t Address, uint64_t Data)
 157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** {
 158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   HAL_StatusTypeDef status = HAL_ERROR;
 159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* Process Locked */
 161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   __HAL_LOCK(&pFlash);
 162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* Check the parameters */
 164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   assert_param(IS_FLASH_TYPEPROGRAM(TypeProgram));
 165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* Wait for last operation to be completed */
 167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
 168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   if(status == HAL_OK)
 170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     if(TypeProgram == FLASH_TYPEPROGRAM_BYTE)
 172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     {
 173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       /*Program byte (8-bit) at a specified address.*/
 174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       FLASH_Program_Byte(Address, (uint8_t) Data);
 175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     }
 176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     else if(TypeProgram == FLASH_TYPEPROGRAM_HALFWORD)
 177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     {
 178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       /*Program halfword (16-bit) at a specified address.*/
 179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       FLASH_Program_HalfWord(Address, (uint16_t) Data);
 180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     }
 181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     else if(TypeProgram == FLASH_TYPEPROGRAM_WORD)
 182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     {
 183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       /*Program word (32-bit) at a specified address.*/
 184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       FLASH_Program_Word(Address, (uint32_t) Data);
 185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     }
 186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     else
 187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     {
 188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       /*Program double word (64-bit) at a specified address.*/
 189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       FLASH_Program_DoubleWord(Address, Data);
 190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     }
 191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     
 192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     /* Wait for last operation to be completed */
 193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
 194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     
 195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     /* If the program operation is completed, disable the PG Bit */
 196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     FLASH->CR &= (~FLASH_CR_PG);  
 197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }
 198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* Process Unlocked */
 200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   __HAL_UNLOCK(&pFlash);
 201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
ARM GAS  /tmp/ccCfNgvn.s 			page 5


 202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   return status;
 203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** }
 204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /**
 206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @brief   Program byte, halfword, word or double word at a specified address  with interrupt ena
 207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @param  TypeProgram  Indicate the way to program at a specified address.
 208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *                           This parameter can be a value of @ref FLASH_Type_Program
 209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @param  Address  specifies the address to be programmed.
 210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @param  Data specifies the data to be programmed
 211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * 
 212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @retval HAL Status
 213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   */
 214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_Program_IT(uint32_t TypeProgram, uint32_t Address, uint64_t Data)
 215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** {
 216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   HAL_StatusTypeDef status = HAL_OK;
 217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* Process Locked */
 219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   __HAL_LOCK(&pFlash);
 220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* Check the parameters */
 222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   assert_param(IS_FLASH_TYPEPROGRAM(TypeProgram));
 223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* Enable End of FLASH Operation interrupt */
 225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   __HAL_FLASH_ENABLE_IT(FLASH_IT_EOP);
 226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* Enable Error source interrupt */
 228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   __HAL_FLASH_ENABLE_IT(FLASH_IT_ERR);
 229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   pFlash.ProcedureOnGoing = FLASH_PROC_PROGRAM;
 231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   pFlash.Address = Address;
 232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   if(TypeProgram == FLASH_TYPEPROGRAM_BYTE)
 234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     /*Program byte (8-bit) at a specified address.*/
 236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       FLASH_Program_Byte(Address, (uint8_t) Data);
 237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }
 238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   else if(TypeProgram == FLASH_TYPEPROGRAM_HALFWORD)
 239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     /*Program halfword (16-bit) at a specified address.*/
 241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     FLASH_Program_HalfWord(Address, (uint16_t) Data);
 242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }
 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   else if(TypeProgram == FLASH_TYPEPROGRAM_WORD)
 244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     /*Program word (32-bit) at a specified address.*/
 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     FLASH_Program_Word(Address, (uint32_t) Data);
 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }
 248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   else
 249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     /*Program double word (64-bit) at a specified address.*/
 251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     FLASH_Program_DoubleWord(Address, Data);
 252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }
 253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   return status;
 255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** }
 256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /**
 258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @brief This function handles FLASH interrupt request.
ARM GAS  /tmp/ccCfNgvn.s 			page 6


 259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @retval None
 260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   */
 261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** void HAL_FLASH_IRQHandler(void)
 262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** {
 263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   uint32_t addresstmp = 0U;
 264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* Check FLASH operation error flags */
 266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** #if defined(FLASH_SR_RDERR) 
 267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   if(__HAL_FLASH_GET_FLAG((FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR | FLASH_FLAG_PGAERR | \
 268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     FLASH_FLAG_PGPERR | FLASH_FLAG_PGSERR | FLASH_FLAG_RDERR)) != RESET)
 269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** #else
 270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   if(__HAL_FLASH_GET_FLAG((FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR | FLASH_FLAG_PGAERR | \
 271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     FLASH_FLAG_PGPERR | FLASH_FLAG_PGSERR)) != RESET)
 272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** #endif /* FLASH_SR_RDERR */
 273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     if(pFlash.ProcedureOnGoing == FLASH_PROC_SECTERASE)
 275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     {
 276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       /*return the faulty sector*/
 277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       addresstmp = pFlash.Sector;
 278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       pFlash.Sector = 0xFFFFFFFFU;
 279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     }
 280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     else if(pFlash.ProcedureOnGoing == FLASH_PROC_MASSERASE)
 281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     {
 282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       /*return the faulty bank*/
 283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       addresstmp = pFlash.Bank;
 284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     }
 285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     else
 286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     {
 287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       /*return the faulty address*/
 288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       addresstmp = pFlash.Address;
 289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     }
 290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     
 291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     /*Save the Error code*/
 292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     FLASH_SetErrorCode();
 293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     
 294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     /* FLASH error interrupt user callback */
 295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     HAL_FLASH_OperationErrorCallback(addresstmp);
 296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     
 297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     /*Stop the procedure ongoing*/
 298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
 299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }
 300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* Check FLASH End of Operation flag  */
 302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_EOP) != RESET)
 303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     /* Clear FLASH End of Operation pending bit */
 305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP);
 306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     
 307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     if(pFlash.ProcedureOnGoing == FLASH_PROC_SECTERASE)
 308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     {
 309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       /*Nb of sector to erased can be decreased*/
 310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       pFlash.NbSectorsToErase--;
 311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       
 312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       /* Check if there are still sectors to erase*/
 313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       if(pFlash.NbSectorsToErase != 0U)
 314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       {
 315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         addresstmp = pFlash.Sector;
ARM GAS  /tmp/ccCfNgvn.s 			page 7


 316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         /*Indicate user which sector has been erased*/
 317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         HAL_FLASH_EndOfOperationCallback(addresstmp);
 318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         
 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         /*Increment sector number*/
 320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         pFlash.Sector++;
 321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         addresstmp = pFlash.Sector;
 322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         FLASH_Erase_Sector(addresstmp, pFlash.VoltageForErase);
 323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       }
 324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       else
 325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       {
 326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         /*No more sectors to Erase, user callback can be called.*/
 327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         /*Reset Sector and stop Erase sectors procedure*/
 328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         pFlash.Sector = addresstmp = 0xFFFFFFFFU;
 329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
 330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         
 331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         /* Flush the caches to be sure of the data consistency */
 332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         FLASH_FlushCaches() ;
 333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****                 
 334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         /* FLASH EOP interrupt user callback */
 335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         HAL_FLASH_EndOfOperationCallback(addresstmp);
 336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       }
 337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     }
 338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     else 
 339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     {
 340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       if(pFlash.ProcedureOnGoing == FLASH_PROC_MASSERASE) 
 341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       {
 342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         /* MassErase ended. Return the selected bank */
 343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         /* Flush the caches to be sure of the data consistency */
 344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         FLASH_FlushCaches() ;
 345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         /* FLASH EOP interrupt user callback */
 347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         HAL_FLASH_EndOfOperationCallback(pFlash.Bank);
 348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       }
 349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       else
 350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       {
 351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         /*Program ended. Return the selected address*/
 352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         /* FLASH EOP interrupt user callback */
 353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         HAL_FLASH_EndOfOperationCallback(pFlash.Address);
 354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       }
 355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
 356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     }
 357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }
 358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   if(pFlash.ProcedureOnGoing == FLASH_PROC_NONE)
 360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     /* Operation is completed, disable the PG, SER, SNB and MER Bits */
 362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     CLEAR_BIT(FLASH->CR, (FLASH_CR_PG | FLASH_CR_SER | FLASH_CR_SNB | FLASH_MER_BIT));
 363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     /* Disable End of FLASH Operation interrupt */
 365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     __HAL_FLASH_DISABLE_IT(FLASH_IT_EOP);
 366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     
 367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     /* Disable Error source interrupt */
 368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     __HAL_FLASH_DISABLE_IT(FLASH_IT_ERR);
 369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     
 370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     /* Process Unlocked */
 371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     __HAL_UNLOCK(&pFlash);
 372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }
ARM GAS  /tmp/ccCfNgvn.s 			page 8


 373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** }
 374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /**
 376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @brief  FLASH end of operation interrupt callback
 377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @param  ReturnValue The value saved in this parameter depends on the ongoing procedure
 378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *                  Mass Erase: Bank number which has been requested to erase
 379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *                  Sectors Erase: Sector which has been erased 
 380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *                    (if 0xFFFFFFFFU, it means that all the selected sectors have been erased)
 381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *                  Program: Address which was selected for data program
 382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @retval None
 383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   */
 384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** __weak void HAL_FLASH_EndOfOperationCallback(uint32_t ReturnValue)
 385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** {
 386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* Prevent unused argument(s) compilation warning */
 387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   UNUSED(ReturnValue);
 388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* NOTE : This function Should not be modified, when the callback is needed,
 389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****             the HAL_FLASH_EndOfOperationCallback could be implemented in the user file
 390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****    */ 
 391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** }
 392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /**
 394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @brief  FLASH operation error interrupt callback
 395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @param  ReturnValue The value saved in this parameter depends on the ongoing procedure
 396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *                 Mass Erase: Bank number which has been requested to erase
 397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *                 Sectors Erase: Sector number which returned an error
 398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *                 Program: Address which was selected for data program
 399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @retval None
 400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   */
 401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** __weak void HAL_FLASH_OperationErrorCallback(uint32_t ReturnValue)
 402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** {
 403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* Prevent unused argument(s) compilation warning */
 404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   UNUSED(ReturnValue);
 405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* NOTE : This function Should not be modified, when the callback is needed,
 406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****             the HAL_FLASH_OperationErrorCallback could be implemented in the user file
 407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****    */ 
 408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** }
 409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /**
 411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @}
 412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   */
 413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** @defgroup FLASH_Exported_Functions_Group2 Peripheral Control functions 
 415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****  *  @brief   management functions 
 416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****  *
 417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** @verbatim   
 418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****  ===============================================================================
 419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****                       ##### Peripheral Control functions #####
 420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****  ===============================================================================  
 421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     [..]
 422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     This subsection provides a set of functions allowing to control the FLASH 
 423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     memory operations.
 424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** @endverbatim
 426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @{
 427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   */
 428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /**
ARM GAS  /tmp/ccCfNgvn.s 			page 9


 430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @brief  Unlock the FLASH control register access
 431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @retval HAL Status
 432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   */
 433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_Unlock(void)
 434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** {
 435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   HAL_StatusTypeDef status = HAL_OK;
 436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   if(READ_BIT(FLASH->CR, FLASH_CR_LOCK) != RESET)
 438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     /* Authorize the FLASH Registers access */
 440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     WRITE_REG(FLASH->KEYR, FLASH_KEY1);
 441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     WRITE_REG(FLASH->KEYR, FLASH_KEY2);
 442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     /* Verify Flash is unlocked */
 444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     if(READ_BIT(FLASH->CR, FLASH_CR_LOCK) != RESET)
 445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     {
 446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       status = HAL_ERROR;
 447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     }
 448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }
 449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   return status;
 451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** }
 452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /**
 454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @brief  Locks the FLASH control register access
 455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @retval HAL Status
 456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   */
 457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_Lock(void)
 458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** {
 459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* Set the LOCK Bit to lock the FLASH Registers access */
 460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   FLASH->CR |= FLASH_CR_LOCK;
 461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   return HAL_OK;  
 463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** }
 464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /**
 466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @brief  Unlock the FLASH Option Control Registers access.
 467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @retval HAL Status
 468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   */
 469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_OB_Unlock(void)
 470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** {
 471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   if((FLASH->OPTCR & FLASH_OPTCR_OPTLOCK) != RESET)
 472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     /* Authorizes the Option Byte register programming */
 474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     FLASH->OPTKEYR = FLASH_OPT_KEY1;
 475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     FLASH->OPTKEYR = FLASH_OPT_KEY2;
 476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }
 477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   else
 478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     return HAL_ERROR;
 480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }  
 481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   return HAL_OK;  
 483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** }
 484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /**
 486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @brief  Lock the FLASH Option Control Registers access.
ARM GAS  /tmp/ccCfNgvn.s 			page 10


 487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @retval HAL Status 
 488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   */
 489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_OB_Lock(void)
 490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** {
 491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* Set the OPTLOCK Bit to lock the FLASH Option Byte Registers access */
 492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   FLASH->OPTCR |= FLASH_OPTCR_OPTLOCK;
 493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   return HAL_OK;  
 495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** }
 496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /**
 498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @brief  Launch the option byte loading.
 499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @retval HAL Status
 500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   */
 501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_OB_Launch(void)
 502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** {
 503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* Set the OPTSTRT bit in OPTCR register */
 504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *(__IO uint8_t *)OPTCR_BYTE0_ADDRESS |= FLASH_OPTCR_OPTSTRT;
 505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* Wait for last operation to be completed */
 507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   return(FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE)); 
 508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** }
 509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /**
 511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @}
 512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   */
 513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** @defgroup FLASH_Exported_Functions_Group3 Peripheral State and Errors functions 
 515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****  *  @brief   Peripheral Errors functions 
 516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****  *
 517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** @verbatim   
 518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****  ===============================================================================
 519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****                 ##### Peripheral Errors functions #####
 520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****  ===============================================================================  
 521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     [..]
 522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     This subsection permits to get in run-time Errors of the FLASH peripheral.
 523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** @endverbatim
 525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @{
 526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   */
 527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /**
 529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @brief  Get the specific FLASH error flag.
 530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @retval FLASH_ErrorCode: The returned value can be a combination of:
 531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *            @arg HAL_FLASH_ERROR_RD: FLASH Read Protection error flag (PCROP)
 532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *            @arg HAL_FLASH_ERROR_PGS: FLASH Programming Sequence error flag 
 533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *            @arg HAL_FLASH_ERROR_PGP: FLASH Programming Parallelism error flag  
 534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *            @arg HAL_FLASH_ERROR_PGA: FLASH Programming Alignment error flag
 535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *            @arg HAL_FLASH_ERROR_WRP: FLASH Write protected error flag
 536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *            @arg HAL_FLASH_ERROR_OPERATION: FLASH operation Error flag 
 537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   */
 538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** uint32_t HAL_FLASH_GetError(void)
 539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 
 540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****    return pFlash.ErrorCode;
 541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** }  
 542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /**
ARM GAS  /tmp/ccCfNgvn.s 			page 11


 544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @}
 545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   */    
 546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /**
 548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @brief  Wait for a FLASH operation to complete.
 549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @param  Timeout maximum flash operationtimeout
 550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @retval HAL Status
 551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   */
 552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** HAL_StatusTypeDef FLASH_WaitForLastOperation(uint32_t Timeout)
 553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 
 554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   uint32_t tickstart = 0U;
 555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* Clear Error Code */
 557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
 558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* Wait for the FLASH operation to complete by polling on BUSY flag to be reset.
 560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****      Even if the FLASH operation fails, the BUSY flag will be reset and an error
 561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****      flag will be set */
 562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* Get tick */
 563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   tickstart = HAL_GetTick();
 564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   while(__HAL_FLASH_GET_FLAG(FLASH_FLAG_BSY) != RESET) 
 566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   { 
 567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     if(Timeout != HAL_MAX_DELAY)
 568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     {
 569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       if((Timeout == 0U)||((HAL_GetTick() - tickstart ) > Timeout))
 570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       {
 571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         return HAL_TIMEOUT;
 572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       }
 573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     } 
 574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }
 575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* Check FLASH End of Operation flag  */
 577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   if (__HAL_FLASH_GET_FLAG(FLASH_FLAG_EOP) != RESET)
 578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     /* Clear FLASH End of Operation pending bit */
 580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP);
 581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }
 582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** #if defined(FLASH_SR_RDERR)  
 583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   if(__HAL_FLASH_GET_FLAG((FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR | FLASH_FLAG_PGAERR | \
 584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****                            FLASH_FLAG_PGPERR | FLASH_FLAG_PGSERR | FLASH_FLAG_RDERR)) != RESET)
 585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** #else
 586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   if(__HAL_FLASH_GET_FLAG((FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR | FLASH_FLAG_PGAERR | \
 587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****                            FLASH_FLAG_PGPERR | FLASH_FLAG_PGSERR)) != RESET)
 588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** #endif /* FLASH_SR_RDERR */
 589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     /*Save the error code*/
 591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     FLASH_SetErrorCode();
 592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     return HAL_ERROR;
 593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }
 594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* If there is no error flag set */
 596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   return HAL_OK;
 597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** }  
 599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /**
ARM GAS  /tmp/ccCfNgvn.s 			page 12


 601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @brief  Program a double word (64-bit) at a specified address.
 602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @note   This function must be used when the device voltage range is from
 603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *         2.7V to 3.6V and Vpp in the range 7V to 9V.
 604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *
 605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @note   If an erase and a program operations are requested simultaneously,    
 606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *         the erase operation is performed before the program one.
 607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *  
 608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @param  Address specifies the address to be programmed.
 609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @param  Data specifies the data to be programmed.
 610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @retval None
 611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   */
 612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** static void FLASH_Program_DoubleWord(uint32_t Address, uint64_t Data)
 613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** {
  29              		.loc 1 613 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.
  34              		.loc 1 613 1 is_stmt 0 view .LVU1
  35 0000 10B4     		push	{r4}
  36              	.LCFI0:
  37              		.cfi_def_cfa_offset 4
  38              		.cfi_offset 4, -4
 614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* Check the parameters */
 615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   assert_param(IS_FLASH_ADDRESS(Address));
  39              		.loc 1 615 3 is_stmt 1 view .LVU2
 616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* If the previous operation is completed, proceed to program the new data */
 618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   CLEAR_BIT(FLASH->CR, FLASH_CR_PSIZE);
  40              		.loc 1 618 3 view .LVU3
  41 0002 0949     		ldr	r1, .L3
  42 0004 0C69     		ldr	r4, [r1, #16]
  43 0006 24F44074 		bic	r4, r4, #768
  44 000a 0C61     		str	r4, [r1, #16]
 619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   FLASH->CR |= FLASH_PSIZE_DOUBLE_WORD;
  45              		.loc 1 619 3 view .LVU4
  46              		.loc 1 619 13 is_stmt 0 view .LVU5
  47 000c 0C69     		ldr	r4, [r1, #16]
  48 000e 44F44074 		orr	r4, r4, #768
  49 0012 0C61     		str	r4, [r1, #16]
 620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   FLASH->CR |= FLASH_CR_PG;
  50              		.loc 1 620 3 is_stmt 1 view .LVU6
  51              		.loc 1 620 13 is_stmt 0 view .LVU7
  52 0014 0C69     		ldr	r4, [r1, #16]
  53 0016 44F00104 		orr	r4, r4, #1
  54 001a 0C61     		str	r4, [r1, #16]
 621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* Program the double-word */
 623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *(__IO uint32_t*)Address = (uint32_t)Data;
  55              		.loc 1 623 3 is_stmt 1 view .LVU8
  56              		.loc 1 623 28 is_stmt 0 view .LVU9
  57 001c 0260     		str	r2, [r0]
 624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *(__IO uint32_t*)(Address+4) = (uint32_t)(Data >> 32);
  58              		.loc 1 624 3 is_stmt 1 view .LVU10
  59              		.loc 1 624 32 is_stmt 0 view .LVU11
  60 001e 4360     		str	r3, [r0, #4]
 625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** }
ARM GAS  /tmp/ccCfNgvn.s 			page 13


  61              		.loc 1 625 1 view .LVU12
  62 0020 5DF8044B 		ldr	r4, [sp], #4
  63              	.LCFI1:
  64              		.cfi_restore 4
  65              		.cfi_def_cfa_offset 0
  66 0024 7047     		bx	lr
  67              	.L4:
  68 0026 00BF     		.align	2
  69              	.L3:
  70 0028 003C0240 		.word	1073888256
  71              		.cfi_endproc
  72              	.LFE142:
  74              		.section	.text.FLASH_Program_Word,"ax",%progbits
  75              		.align	1
  76              		.syntax unified
  77              		.thumb
  78              		.thumb_func
  80              	FLASH_Program_Word:
  81              	.LVL1:
  82              	.LFB143:
 626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /**
 629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @brief  Program word (32-bit) at a specified address.
 630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @note   This function must be used when the device voltage range is from
 631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *         2.7V to 3.6V.
 632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *
 633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @note   If an erase and a program operations are requested simultaneously,    
 634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *         the erase operation is performed before the program one.
 635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *  
 636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @param  Address specifies the address to be programmed.
 637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @param  Data specifies the data to be programmed.
 638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @retval None
 639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   */
 640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** static void FLASH_Program_Word(uint32_t Address, uint32_t Data)
 641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** {
  83              		.loc 1 641 1 is_stmt 1 view -0
  84              		.cfi_startproc
  85              		@ args = 0, pretend = 0, frame = 0
  86              		@ frame_needed = 0, uses_anonymous_args = 0
  87              		@ link register save eliminated.
 642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* Check the parameters */
 643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   assert_param(IS_FLASH_ADDRESS(Address));
  88              		.loc 1 643 3 view .LVU14
 644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* If the previous operation is completed, proceed to program the new data */
 646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   CLEAR_BIT(FLASH->CR, FLASH_CR_PSIZE);
  89              		.loc 1 646 3 view .LVU15
  90 0000 074B     		ldr	r3, .L6
  91 0002 1A69     		ldr	r2, [r3, #16]
  92 0004 22F44072 		bic	r2, r2, #768
  93 0008 1A61     		str	r2, [r3, #16]
 647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   FLASH->CR |= FLASH_PSIZE_WORD;
  94              		.loc 1 647 3 view .LVU16
  95              		.loc 1 647 13 is_stmt 0 view .LVU17
  96 000a 1A69     		ldr	r2, [r3, #16]
  97 000c 42F40072 		orr	r2, r2, #512
ARM GAS  /tmp/ccCfNgvn.s 			page 14


  98 0010 1A61     		str	r2, [r3, #16]
 648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   FLASH->CR |= FLASH_CR_PG;
  99              		.loc 1 648 3 is_stmt 1 view .LVU18
 100              		.loc 1 648 13 is_stmt 0 view .LVU19
 101 0012 1A69     		ldr	r2, [r3, #16]
 102 0014 42F00102 		orr	r2, r2, #1
 103 0018 1A61     		str	r2, [r3, #16]
 649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *(__IO uint32_t*)Address = Data;
 104              		.loc 1 650 3 is_stmt 1 view .LVU20
 105              		.loc 1 650 28 is_stmt 0 view .LVU21
 106 001a 0160     		str	r1, [r0]
 651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** }
 107              		.loc 1 651 1 view .LVU22
 108 001c 7047     		bx	lr
 109              	.L7:
 110 001e 00BF     		.align	2
 111              	.L6:
 112 0020 003C0240 		.word	1073888256
 113              		.cfi_endproc
 114              	.LFE143:
 116              		.section	.text.FLASH_Program_HalfWord,"ax",%progbits
 117              		.align	1
 118              		.syntax unified
 119              		.thumb
 120              		.thumb_func
 122              	FLASH_Program_HalfWord:
 123              	.LVL2:
 124              	.LFB144:
 652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /**
 654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @brief  Program a half-word (16-bit) at a specified address.
 655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @note   This function must be used when the device voltage range is from
 656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *         2.1V to 3.6V.
 657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *
 658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @note   If an erase and a program operations are requested simultaneously,    
 659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *         the erase operation is performed before the program one.
 660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *  
 661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @param  Address specifies the address to be programmed.
 662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @param  Data specifies the data to be programmed.
 663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @retval None
 664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   */
 665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** static void FLASH_Program_HalfWord(uint32_t Address, uint16_t Data)
 666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** {
 125              		.loc 1 666 1 is_stmt 1 view -0
 126              		.cfi_startproc
 127              		@ args = 0, pretend = 0, frame = 0
 128              		@ frame_needed = 0, uses_anonymous_args = 0
 129              		@ link register save eliminated.
 667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* Check the parameters */
 668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   assert_param(IS_FLASH_ADDRESS(Address));
 130              		.loc 1 668 3 view .LVU24
 669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* If the previous operation is completed, proceed to program the new data */
 671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   CLEAR_BIT(FLASH->CR, FLASH_CR_PSIZE);
 131              		.loc 1 671 3 view .LVU25
 132 0000 074B     		ldr	r3, .L9
ARM GAS  /tmp/ccCfNgvn.s 			page 15


 133 0002 1A69     		ldr	r2, [r3, #16]
 134 0004 22F44072 		bic	r2, r2, #768
 135 0008 1A61     		str	r2, [r3, #16]
 672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   FLASH->CR |= FLASH_PSIZE_HALF_WORD;
 136              		.loc 1 672 3 view .LVU26
 137              		.loc 1 672 13 is_stmt 0 view .LVU27
 138 000a 1A69     		ldr	r2, [r3, #16]
 139 000c 42F48072 		orr	r2, r2, #256
 140 0010 1A61     		str	r2, [r3, #16]
 673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   FLASH->CR |= FLASH_CR_PG;
 141              		.loc 1 673 3 is_stmt 1 view .LVU28
 142              		.loc 1 673 13 is_stmt 0 view .LVU29
 143 0012 1A69     		ldr	r2, [r3, #16]
 144 0014 42F00102 		orr	r2, r2, #1
 145 0018 1A61     		str	r2, [r3, #16]
 674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *(__IO uint16_t*)Address = Data;
 146              		.loc 1 675 3 is_stmt 1 view .LVU30
 147              		.loc 1 675 28 is_stmt 0 view .LVU31
 148 001a 0180     		strh	r1, [r0]	@ movhi
 676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** }
 149              		.loc 1 676 1 view .LVU32
 150 001c 7047     		bx	lr
 151              	.L10:
 152 001e 00BF     		.align	2
 153              	.L9:
 154 0020 003C0240 		.word	1073888256
 155              		.cfi_endproc
 156              	.LFE144:
 158              		.section	.text.FLASH_Program_Byte,"ax",%progbits
 159              		.align	1
 160              		.syntax unified
 161              		.thumb
 162              		.thumb_func
 164              	FLASH_Program_Byte:
 165              	.LVL3:
 166              	.LFB145:
 677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /**
 679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @brief  Program byte (8-bit) at a specified address.
 680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @note   This function must be used when the device voltage range is from
 681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *         1.8V to 3.6V.
 682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *
 683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @note   If an erase and a program operations are requested simultaneously,    
 684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *         the erase operation is performed before the program one.
 685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *  
 686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @param  Address specifies the address to be programmed.
 687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @param  Data specifies the data to be programmed.
 688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @retval None
 689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   */
 690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** static void FLASH_Program_Byte(uint32_t Address, uint8_t Data)
 691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** {
 167              		.loc 1 691 1 is_stmt 1 view -0
 168              		.cfi_startproc
 169              		@ args = 0, pretend = 0, frame = 0
 170              		@ frame_needed = 0, uses_anonymous_args = 0
 171              		@ link register save eliminated.
ARM GAS  /tmp/ccCfNgvn.s 			page 16


 692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* Check the parameters */
 693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   assert_param(IS_FLASH_ADDRESS(Address));
 172              		.loc 1 693 3 view .LVU34
 694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* If the previous operation is completed, proceed to program the new data */
 696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   CLEAR_BIT(FLASH->CR, FLASH_CR_PSIZE);
 173              		.loc 1 696 3 view .LVU35
 174 0000 064B     		ldr	r3, .L12
 175 0002 1A69     		ldr	r2, [r3, #16]
 176 0004 22F44072 		bic	r2, r2, #768
 177 0008 1A61     		str	r2, [r3, #16]
 697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   FLASH->CR |= FLASH_PSIZE_BYTE;
 178              		.loc 1 697 3 view .LVU36
 179              		.loc 1 697 13 is_stmt 0 view .LVU37
 180 000a 1A69     		ldr	r2, [r3, #16]
 181 000c 1A61     		str	r2, [r3, #16]
 698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   FLASH->CR |= FLASH_CR_PG;
 182              		.loc 1 698 3 is_stmt 1 view .LVU38
 183              		.loc 1 698 13 is_stmt 0 view .LVU39
 184 000e 1A69     		ldr	r2, [r3, #16]
 185 0010 42F00102 		orr	r2, r2, #1
 186 0014 1A61     		str	r2, [r3, #16]
 699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   *(__IO uint8_t*)Address = Data;
 187              		.loc 1 700 3 is_stmt 1 view .LVU40
 188              		.loc 1 700 27 is_stmt 0 view .LVU41
 189 0016 0170     		strb	r1, [r0]
 701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** }
 190              		.loc 1 701 1 view .LVU42
 191 0018 7047     		bx	lr
 192              	.L13:
 193 001a 00BF     		.align	2
 194              	.L12:
 195 001c 003C0240 		.word	1073888256
 196              		.cfi_endproc
 197              	.LFE145:
 199              		.section	.text.FLASH_SetErrorCode,"ax",%progbits
 200              		.align	1
 201              		.syntax unified
 202              		.thumb
 203              		.thumb_func
 205              	FLASH_SetErrorCode:
 206              	.LFB146:
 702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /**
 704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @brief  Set the specific FLASH error flag.
 705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   * @retval None
 706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   */
 707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** static void FLASH_SetErrorCode(void)
 708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 
 207              		.loc 1 708 1 is_stmt 1 view -0
 208              		.cfi_startproc
 209              		@ args = 0, pretend = 0, frame = 0
 210              		@ frame_needed = 0, uses_anonymous_args = 0
 211              		@ link register save eliminated.
 709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_WRPERR) != RESET)
 212              		.loc 1 709 3 view .LVU44
ARM GAS  /tmp/ccCfNgvn.s 			page 17


 213              		.loc 1 709 6 is_stmt 0 view .LVU45
 214 0000 204B     		ldr	r3, .L20
 215 0002 DB68     		ldr	r3, [r3, #12]
 216              		.loc 1 709 5 view .LVU46
 217 0004 13F0100F 		tst	r3, #16
 218 0008 07D0     		beq	.L15
 710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****    pFlash.ErrorCode |= HAL_FLASH_ERROR_WRP;
 219              		.loc 1 711 4 is_stmt 1 view .LVU47
 220              		.loc 1 711 21 is_stmt 0 view .LVU48
 221 000a 1F4A     		ldr	r2, .L20+4
 222 000c D369     		ldr	r3, [r2, #28]
 223 000e 43F01003 		orr	r3, r3, #16
 224 0012 D361     		str	r3, [r2, #28]
 712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****    
 713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****    /* Clear FLASH write protection error pending bit */
 714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****    __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_WRPERR);
 225              		.loc 1 714 4 is_stmt 1 view .LVU49
 226 0014 1B4B     		ldr	r3, .L20
 227 0016 1022     		movs	r2, #16
 228 0018 DA60     		str	r2, [r3, #12]
 229              	.L15:
 715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }
 716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_PGAERR) != RESET)
 230              		.loc 1 717 3 view .LVU50
 231              		.loc 1 717 6 is_stmt 0 view .LVU51
 232 001a 1A4B     		ldr	r3, .L20
 233 001c DB68     		ldr	r3, [r3, #12]
 234              		.loc 1 717 5 view .LVU52
 235 001e 13F0200F 		tst	r3, #32
 236 0022 07D0     		beq	.L16
 718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****    pFlash.ErrorCode |= HAL_FLASH_ERROR_PGA;
 237              		.loc 1 719 4 is_stmt 1 view .LVU53
 238              		.loc 1 719 21 is_stmt 0 view .LVU54
 239 0024 184A     		ldr	r2, .L20+4
 240 0026 D369     		ldr	r3, [r2, #28]
 241 0028 43F00803 		orr	r3, r3, #8
 242 002c D361     		str	r3, [r2, #28]
 720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****    
 721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****    /* Clear FLASH Programming alignment error pending bit */
 722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****    __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_PGAERR);
 243              		.loc 1 722 4 is_stmt 1 view .LVU55
 244 002e 154B     		ldr	r3, .L20
 245 0030 2022     		movs	r2, #32
 246 0032 DA60     		str	r2, [r3, #12]
 247              	.L16:
 723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }
 724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_PGPERR) != RESET)
 248              		.loc 1 725 3 view .LVU56
 249              		.loc 1 725 6 is_stmt 0 view .LVU57
 250 0034 134B     		ldr	r3, .L20
 251 0036 DB68     		ldr	r3, [r3, #12]
 252              		.loc 1 725 5 view .LVU58
 253 0038 13F0400F 		tst	r3, #64
ARM GAS  /tmp/ccCfNgvn.s 			page 18


 254 003c 07D0     		beq	.L17
 726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     pFlash.ErrorCode |= HAL_FLASH_ERROR_PGP;
 255              		.loc 1 727 5 is_stmt 1 view .LVU59
 256              		.loc 1 727 22 is_stmt 0 view .LVU60
 257 003e 124A     		ldr	r2, .L20+4
 258 0040 D369     		ldr	r3, [r2, #28]
 259 0042 43F00403 		orr	r3, r3, #4
 260 0046 D361     		str	r3, [r2, #28]
 728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     
 729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     /* Clear FLASH Programming parallelism error pending bit */
 730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_PGPERR);
 261              		.loc 1 730 5 is_stmt 1 view .LVU61
 262 0048 0E4B     		ldr	r3, .L20
 263 004a 4022     		movs	r2, #64
 264 004c DA60     		str	r2, [r3, #12]
 265              	.L17:
 731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }
 732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_PGSERR) != RESET)
 266              		.loc 1 733 3 view .LVU62
 267              		.loc 1 733 6 is_stmt 0 view .LVU63
 268 004e 0D4B     		ldr	r3, .L20
 269 0050 DB68     		ldr	r3, [r3, #12]
 270              		.loc 1 733 5 view .LVU64
 271 0052 13F0800F 		tst	r3, #128
 272 0056 07D0     		beq	.L18
 734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     pFlash.ErrorCode |= HAL_FLASH_ERROR_PGS;
 273              		.loc 1 735 5 is_stmt 1 view .LVU65
 274              		.loc 1 735 22 is_stmt 0 view .LVU66
 275 0058 0B4A     		ldr	r2, .L20+4
 276 005a D369     		ldr	r3, [r2, #28]
 277 005c 43F00203 		orr	r3, r3, #2
 278 0060 D361     		str	r3, [r2, #28]
 736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     
 737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     /* Clear FLASH Programming sequence error pending bit */
 738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_PGSERR);
 279              		.loc 1 738 5 is_stmt 1 view .LVU67
 280 0062 084B     		ldr	r3, .L20
 281 0064 8022     		movs	r2, #128
 282 0066 DA60     		str	r2, [r3, #12]
 283              	.L18:
 739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }
 740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** #if defined(FLASH_SR_RDERR) 
 741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_RDERR) != RESET)
 742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     pFlash.ErrorCode |= HAL_FLASH_ERROR_RD;
 744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     
 745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     /* Clear FLASH Proprietary readout protection error pending bit */
 746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_RDERR);
 747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }
 748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** #endif /* FLASH_SR_RDERR */  
 749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_OPERR) != RESET)
 284              		.loc 1 749 3 view .LVU68
 285              		.loc 1 749 6 is_stmt 0 view .LVU69
 286 0068 064B     		ldr	r3, .L20
ARM GAS  /tmp/ccCfNgvn.s 			page 19


 287 006a DB68     		ldr	r3, [r3, #12]
 288              		.loc 1 749 5 view .LVU70
 289 006c 13F0020F 		tst	r3, #2
 290 0070 07D0     		beq	.L14
 750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     pFlash.ErrorCode |= HAL_FLASH_ERROR_OPERATION;
 291              		.loc 1 751 5 is_stmt 1 view .LVU71
 292              		.loc 1 751 22 is_stmt 0 view .LVU72
 293 0072 054A     		ldr	r2, .L20+4
 294 0074 D369     		ldr	r3, [r2, #28]
 295 0076 43F02003 		orr	r3, r3, #32
 296 007a D361     		str	r3, [r2, #28]
 752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     
 753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     /* Clear FLASH Operation error pending bit */
 754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_OPERR);
 297              		.loc 1 754 5 is_stmt 1 view .LVU73
 298 007c 014B     		ldr	r3, .L20
 299 007e 0222     		movs	r2, #2
 300 0080 DA60     		str	r2, [r3, #12]
 301              	.L14:
 755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }
 756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** }
 302              		.loc 1 756 1 is_stmt 0 view .LVU74
 303 0082 7047     		bx	lr
 304              	.L21:
 305              		.align	2
 306              	.L20:
 307 0084 003C0240 		.word	1073888256
 308 0088 00000000 		.word	.LANCHOR0
 309              		.cfi_endproc
 310              	.LFE146:
 312              		.section	.text.HAL_FLASH_Program_IT,"ax",%progbits
 313              		.align	1
 314              		.global	HAL_FLASH_Program_IT
 315              		.syntax unified
 316              		.thumb
 317              		.thumb_func
 319              	HAL_FLASH_Program_IT:
 320              	.LVL4:
 321              	.LFB131:
 215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   HAL_StatusTypeDef status = HAL_OK;
 322              		.loc 1 215 1 is_stmt 1 view -0
 323              		.cfi_startproc
 324              		@ args = 0, pretend = 0, frame = 0
 325              		@ frame_needed = 0, uses_anonymous_args = 0
 215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   HAL_StatusTypeDef status = HAL_OK;
 326              		.loc 1 215 1 is_stmt 0 view .LVU76
 327 0000 F8B5     		push	{r3, r4, r5, r6, r7, lr}
 328              	.LCFI2:
 329              		.cfi_def_cfa_offset 24
 330              		.cfi_offset 3, -24
 331              		.cfi_offset 4, -20
 332              		.cfi_offset 5, -16
 333              		.cfi_offset 6, -12
 334              		.cfi_offset 7, -8
 335              		.cfi_offset 14, -4
 216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
ARM GAS  /tmp/ccCfNgvn.s 			page 20


 336              		.loc 1 216 3 is_stmt 1 view .LVU77
 337              	.LVL5:
 219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 338              		.loc 1 219 3 view .LVU78
 219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 339              		.loc 1 219 3 view .LVU79
 340 0002 174D     		ldr	r5, .L32
 341 0004 2D7E     		ldrb	r5, [r5, #24]	@ zero_extendqisi2
 342 0006 012D     		cmp	r5, #1
 343 0008 28D0     		beq	.L27
 344 000a 0446     		mov	r4, r0
 345 000c 0846     		mov	r0, r1
 346              	.LVL6:
 219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 347              		.loc 1 219 3 discriminator 2 view .LVU80
 348 000e 144E     		ldr	r6, .L32
 349 0010 0121     		movs	r1, #1
 350              	.LVL7:
 219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 351              		.loc 1 219 3 is_stmt 0 discriminator 2 view .LVU81
 352 0012 3176     		strb	r1, [r6, #24]
 219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 353              		.loc 1 219 3 is_stmt 1 discriminator 2 view .LVU82
 222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 354              		.loc 1 222 3 discriminator 2 view .LVU83
 225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 355              		.loc 1 225 3 discriminator 2 view .LVU84
 356 0014 134D     		ldr	r5, .L32+4
 357 0016 2F69     		ldr	r7, [r5, #16]
 358 0018 47F08077 		orr	r7, r7, #16777216
 359 001c 2F61     		str	r7, [r5, #16]
 228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 360              		.loc 1 228 3 discriminator 2 view .LVU85
 361 001e 2F69     		ldr	r7, [r5, #16]
 362 0020 47F00077 		orr	r7, r7, #33554432
 363 0024 2F61     		str	r7, [r5, #16]
 230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   pFlash.Address = Address;
 364              		.loc 1 230 3 discriminator 2 view .LVU86
 230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   pFlash.Address = Address;
 365              		.loc 1 230 27 is_stmt 0 discriminator 2 view .LVU87
 366 0026 0321     		movs	r1, #3
 367 0028 3170     		strb	r1, [r6]
 231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 368              		.loc 1 231 3 is_stmt 1 discriminator 2 view .LVU88
 231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 369              		.loc 1 231 18 is_stmt 0 discriminator 2 view .LVU89
 370 002a 7061     		str	r0, [r6, #20]
 233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 371              		.loc 1 233 3 is_stmt 1 discriminator 2 view .LVU90
 233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 372              		.loc 1 233 5 is_stmt 0 discriminator 2 view .LVU91
 373 002c 3CB1     		cbz	r4, .L29
 238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 374              		.loc 1 238 8 is_stmt 1 view .LVU92
 238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 375              		.loc 1 238 10 is_stmt 0 view .LVU93
 376 002e 012C     		cmp	r4, #1
ARM GAS  /tmp/ccCfNgvn.s 			page 21


 377 0030 0AD0     		beq	.L30
 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 378              		.loc 1 243 8 is_stmt 1 view .LVU94
 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 379              		.loc 1 243 10 is_stmt 0 view .LVU95
 380 0032 022C     		cmp	r4, #2
 381 0034 0DD0     		beq	.L31
 251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }
 382              		.loc 1 251 5 is_stmt 1 view .LVU96
 383 0036 FFF7FEFF 		bl	FLASH_Program_DoubleWord
 384              	.LVL8:
 254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** }
 385              		.loc 1 254 10 is_stmt 0 view .LVU97
 386 003a 0020     		movs	r0, #0
 387              	.LVL9:
 388              	.L23:
 255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 389              		.loc 1 255 1 view .LVU98
 390 003c F8BD     		pop	{r3, r4, r5, r6, r7, pc}
 391              	.LVL10:
 392              	.L29:
 236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }
 393              		.loc 1 236 7 is_stmt 1 view .LVU99
 394 003e D1B2     		uxtb	r1, r2
 395 0040 FFF7FEFF 		bl	FLASH_Program_Byte
 396              	.LVL11:
 254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** }
 397              		.loc 1 254 10 is_stmt 0 view .LVU100
 398 0044 0020     		movs	r0, #0
 399 0046 F9E7     		b	.L23
 400              	.LVL12:
 401              	.L30:
 241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }
 402              		.loc 1 241 5 is_stmt 1 view .LVU101
 403 0048 91B2     		uxth	r1, r2
 404 004a FFF7FEFF 		bl	FLASH_Program_HalfWord
 405              	.LVL13:
 254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** }
 406              		.loc 1 254 10 is_stmt 0 view .LVU102
 407 004e 0020     		movs	r0, #0
 408 0050 F4E7     		b	.L23
 409              	.LVL14:
 410              	.L31:
 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }
 411              		.loc 1 246 5 is_stmt 1 view .LVU103
 412 0052 1146     		mov	r1, r2
 413 0054 FFF7FEFF 		bl	FLASH_Program_Word
 414              	.LVL15:
 254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** }
 415              		.loc 1 254 10 is_stmt 0 view .LVU104
 416 0058 0020     		movs	r0, #0
 417 005a EFE7     		b	.L23
 418              	.LVL16:
 419              	.L27:
 219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 420              		.loc 1 219 3 view .LVU105
 421 005c 0220     		movs	r0, #2
ARM GAS  /tmp/ccCfNgvn.s 			page 22


 422              	.LVL17:
 219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 423              		.loc 1 219 3 view .LVU106
 424 005e EDE7     		b	.L23
 425              	.L33:
 426              		.align	2
 427              	.L32:
 428 0060 00000000 		.word	.LANCHOR0
 429 0064 003C0240 		.word	1073888256
 430              		.cfi_endproc
 431              	.LFE131:
 433              		.section	.text.HAL_FLASH_EndOfOperationCallback,"ax",%progbits
 434              		.align	1
 435              		.weak	HAL_FLASH_EndOfOperationCallback
 436              		.syntax unified
 437              		.thumb
 438              		.thumb_func
 440              	HAL_FLASH_EndOfOperationCallback:
 441              	.LVL18:
 442              	.LFB133:
 385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* Prevent unused argument(s) compilation warning */
 443              		.loc 1 385 1 is_stmt 1 view -0
 444              		.cfi_startproc
 445              		@ args = 0, pretend = 0, frame = 0
 446              		@ frame_needed = 0, uses_anonymous_args = 0
 447              		@ link register save eliminated.
 387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* NOTE : This function Should not be modified, when the callback is needed,
 448              		.loc 1 387 3 view .LVU108
 391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 449              		.loc 1 391 1 is_stmt 0 view .LVU109
 450 0000 7047     		bx	lr
 451              		.cfi_endproc
 452              	.LFE133:
 454              		.section	.text.HAL_FLASH_OperationErrorCallback,"ax",%progbits
 455              		.align	1
 456              		.weak	HAL_FLASH_OperationErrorCallback
 457              		.syntax unified
 458              		.thumb
 459              		.thumb_func
 461              	HAL_FLASH_OperationErrorCallback:
 462              	.LVL19:
 463              	.LFB134:
 402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* Prevent unused argument(s) compilation warning */
 464              		.loc 1 402 1 is_stmt 1 view -0
 465              		.cfi_startproc
 466              		@ args = 0, pretend = 0, frame = 0
 467              		@ frame_needed = 0, uses_anonymous_args = 0
 468              		@ link register save eliminated.
 404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* NOTE : This function Should not be modified, when the callback is needed,
 469              		.loc 1 404 3 view .LVU111
 408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 470              		.loc 1 408 1 is_stmt 0 view .LVU112
 471 0000 7047     		bx	lr
 472              		.cfi_endproc
 473              	.LFE134:
 475              		.section	.text.HAL_FLASH_IRQHandler,"ax",%progbits
 476              		.align	1
ARM GAS  /tmp/ccCfNgvn.s 			page 23


 477              		.global	HAL_FLASH_IRQHandler
 478              		.syntax unified
 479              		.thumb
 480              		.thumb_func
 482              	HAL_FLASH_IRQHandler:
 483              	.LFB132:
 262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   uint32_t addresstmp = 0U;
 484              		.loc 1 262 1 is_stmt 1 view -0
 485              		.cfi_startproc
 486              		@ args = 0, pretend = 0, frame = 0
 487              		@ frame_needed = 0, uses_anonymous_args = 0
 488 0000 10B5     		push	{r4, lr}
 489              	.LCFI3:
 490              		.cfi_def_cfa_offset 8
 491              		.cfi_offset 4, -8
 492              		.cfi_offset 14, -4
 263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 493              		.loc 1 263 3 view .LVU114
 494              	.LVL20:
 270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     FLASH_FLAG_PGPERR | FLASH_FLAG_PGSERR)) != RESET)
 495              		.loc 1 270 3 view .LVU115
 270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     FLASH_FLAG_PGPERR | FLASH_FLAG_PGSERR)) != RESET)
 496              		.loc 1 270 6 is_stmt 0 view .LVU116
 497 0002 3A4B     		ldr	r3, .L52
 498 0004 DB68     		ldr	r3, [r3, #12]
 270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     FLASH_FLAG_PGPERR | FLASH_FLAG_PGSERR)) != RESET)
 499              		.loc 1 270 5 view .LVU117
 500 0006 13F0F20F 		tst	r3, #242
 501 000a 13D0     		beq	.L37
 274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     {
 502              		.loc 1 274 5 is_stmt 1 view .LVU118
 274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     {
 503              		.loc 1 274 14 is_stmt 0 view .LVU119
 504 000c 384B     		ldr	r3, .L52+4
 505 000e 1B78     		ldrb	r3, [r3]	@ zero_extendqisi2
 506 0010 DBB2     		uxtb	r3, r3
 274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     {
 507              		.loc 1 274 7 view .LVU120
 508 0012 012B     		cmp	r3, #1
 509 0014 3BD0     		beq	.L48
 280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     {
 510              		.loc 1 280 10 is_stmt 1 view .LVU121
 280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     {
 511              		.loc 1 280 19 is_stmt 0 view .LVU122
 512 0016 364B     		ldr	r3, .L52+4
 513 0018 1B78     		ldrb	r3, [r3]	@ zero_extendqisi2
 514 001a DBB2     		uxtb	r3, r3
 280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     {
 515              		.loc 1 280 12 view .LVU123
 516 001c 022B     		cmp	r3, #2
 517 001e 3CD0     		beq	.L49
 288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     }
 518              		.loc 1 288 7 is_stmt 1 view .LVU124
 288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     }
 519              		.loc 1 288 18 is_stmt 0 view .LVU125
 520 0020 334B     		ldr	r3, .L52+4
 521 0022 5C69     		ldr	r4, [r3, #20]
ARM GAS  /tmp/ccCfNgvn.s 			page 24


 522              	.LVL21:
 523              	.L39:
 292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     
 524              		.loc 1 292 5 is_stmt 1 view .LVU126
 525 0024 FFF7FEFF 		bl	FLASH_SetErrorCode
 526              	.LVL22:
 295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     
 527              		.loc 1 295 5 view .LVU127
 528 0028 2046     		mov	r0, r4
 529 002a FFF7FEFF 		bl	HAL_FLASH_OperationErrorCallback
 530              	.LVL23:
 298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }
 531              		.loc 1 298 5 view .LVU128
 298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }
 532              		.loc 1 298 29 is_stmt 0 view .LVU129
 533 002e 304B     		ldr	r3, .L52+4
 534 0030 0022     		movs	r2, #0
 535 0032 1A70     		strb	r2, [r3]
 536              	.LVL24:
 537              	.L37:
 302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 538              		.loc 1 302 3 is_stmt 1 view .LVU130
 302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 539              		.loc 1 302 6 is_stmt 0 view .LVU131
 540 0034 2D4B     		ldr	r3, .L52
 541 0036 DB68     		ldr	r3, [r3, #12]
 302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 542              		.loc 1 302 5 view .LVU132
 543 0038 13F0010F 		tst	r3, #1
 544 003c 13D0     		beq	.L41
 305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     
 545              		.loc 1 305 5 is_stmt 1 view .LVU133
 546 003e 2B4B     		ldr	r3, .L52
 547 0040 0122     		movs	r2, #1
 548 0042 DA60     		str	r2, [r3, #12]
 307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     {
 549              		.loc 1 307 5 view .LVU134
 307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     {
 550              		.loc 1 307 14 is_stmt 0 view .LVU135
 551 0044 2A4B     		ldr	r3, .L52+4
 552 0046 1B78     		ldrb	r3, [r3]	@ zero_extendqisi2
 553 0048 DBB2     		uxtb	r3, r3
 307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     {
 554              		.loc 1 307 7 view .LVU136
 555 004a 9342     		cmp	r3, r2
 556 004c 28D0     		beq	.L50
 340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       {
 557              		.loc 1 340 7 is_stmt 1 view .LVU137
 340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       {
 558              		.loc 1 340 16 is_stmt 0 view .LVU138
 559 004e 284B     		ldr	r3, .L52+4
 560 0050 1B78     		ldrb	r3, [r3]	@ zero_extendqisi2
 561 0052 DBB2     		uxtb	r3, r3
 340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       {
 562              		.loc 1 340 9 view .LVU139
 563 0054 022B     		cmp	r3, #2
 564 0056 41D0     		beq	.L51
ARM GAS  /tmp/ccCfNgvn.s 			page 25


 353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       }
 565              		.loc 1 353 9 is_stmt 1 view .LVU140
 566 0058 254B     		ldr	r3, .L52+4
 567 005a 5869     		ldr	r0, [r3, #20]
 568 005c FFF7FEFF 		bl	HAL_FLASH_EndOfOperationCallback
 569              	.LVL25:
 570              	.L45:
 355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     }
 571              		.loc 1 355 7 view .LVU141
 355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     }
 572              		.loc 1 355 31 is_stmt 0 view .LVU142
 573 0060 234B     		ldr	r3, .L52+4
 574 0062 0022     		movs	r2, #0
 575 0064 1A70     		strb	r2, [r3]
 576              	.L41:
 359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 577              		.loc 1 359 3 is_stmt 1 view .LVU143
 359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 578              		.loc 1 359 12 is_stmt 0 view .LVU144
 579 0066 224B     		ldr	r3, .L52+4
 580 0068 1B78     		ldrb	r3, [r3]	@ zero_extendqisi2
 359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 581              		.loc 1 359 5 view .LVU145
 582 006a 7BB9     		cbnz	r3, .L36
 362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 583              		.loc 1 362 5 is_stmt 1 view .LVU146
 584 006c 1F4B     		ldr	r3, .L52
 585 006e 1A69     		ldr	r2, [r3, #16]
 586 0070 22F0FF02 		bic	r2, r2, #255
 587 0074 1A61     		str	r2, [r3, #16]
 365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     
 588              		.loc 1 365 5 view .LVU147
 589 0076 1A69     		ldr	r2, [r3, #16]
 590 0078 22F08072 		bic	r2, r2, #16777216
 591 007c 1A61     		str	r2, [r3, #16]
 368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     
 592              		.loc 1 368 5 view .LVU148
 593 007e 1A69     		ldr	r2, [r3, #16]
 594 0080 22F00072 		bic	r2, r2, #33554432
 595 0084 1A61     		str	r2, [r3, #16]
 371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }
 596              		.loc 1 371 5 view .LVU149
 371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }
 597              		.loc 1 371 5 view .LVU150
 598 0086 1A4B     		ldr	r3, .L52+4
 599 0088 0022     		movs	r2, #0
 600 008a 1A76     		strb	r2, [r3, #24]
 371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }
 601              		.loc 1 371 5 view .LVU151
 602              	.L36:
 373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 603              		.loc 1 373 1 is_stmt 0 view .LVU152
 604 008c 10BD     		pop	{r4, pc}
 605              	.LVL26:
 606              	.L48:
 277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       pFlash.Sector = 0xFFFFFFFFU;
 607              		.loc 1 277 7 is_stmt 1 view .LVU153
ARM GAS  /tmp/ccCfNgvn.s 			page 26


 277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       pFlash.Sector = 0xFFFFFFFFU;
 608              		.loc 1 277 18 is_stmt 0 view .LVU154
 609 008e 184B     		ldr	r3, .L52+4
 610 0090 DC68     		ldr	r4, [r3, #12]
 611              	.LVL27:
 278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     }
 612              		.loc 1 278 7 is_stmt 1 view .LVU155
 278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     }
 613              		.loc 1 278 21 is_stmt 0 view .LVU156
 614 0092 4FF0FF32 		mov	r2, #-1
 615 0096 DA60     		str	r2, [r3, #12]
 616 0098 C4E7     		b	.L39
 617              	.LVL28:
 618              	.L49:
 283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     }
 619              		.loc 1 283 7 is_stmt 1 view .LVU157
 283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     }
 620              		.loc 1 283 18 is_stmt 0 view .LVU158
 621 009a 154B     		ldr	r3, .L52+4
 622 009c 1C69     		ldr	r4, [r3, #16]
 623              	.LVL29:
 283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     }
 624              		.loc 1 283 18 view .LVU159
 625 009e C1E7     		b	.L39
 626              	.LVL30:
 627              	.L50:
 310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       
 628              		.loc 1 310 7 is_stmt 1 view .LVU160
 310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       
 629              		.loc 1 310 13 is_stmt 0 view .LVU161
 630 00a0 134B     		ldr	r3, .L52+4
 631 00a2 5A68     		ldr	r2, [r3, #4]
 310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       
 632              		.loc 1 310 30 view .LVU162
 633 00a4 013A     		subs	r2, r2, #1
 634 00a6 5A60     		str	r2, [r3, #4]
 313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       {
 635              		.loc 1 313 7 is_stmt 1 view .LVU163
 313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       {
 636              		.loc 1 313 16 is_stmt 0 view .LVU164
 637 00a8 5B68     		ldr	r3, [r3, #4]
 313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       {
 638              		.loc 1 313 9 view .LVU165
 639 00aa 5BB1     		cbz	r3, .L43
 315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         /*Indicate user which sector has been erased*/
 640              		.loc 1 315 9 is_stmt 1 view .LVU166
 315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         /*Indicate user which sector has been erased*/
 641              		.loc 1 315 20 is_stmt 0 view .LVU167
 642 00ac 104C     		ldr	r4, .L52+4
 643 00ae E068     		ldr	r0, [r4, #12]
 644              	.LVL31:
 317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         
 645              		.loc 1 317 9 is_stmt 1 view .LVU168
 646 00b0 FFF7FEFF 		bl	HAL_FLASH_EndOfOperationCallback
 647              	.LVL32:
 320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         addresstmp = pFlash.Sector;
 648              		.loc 1 320 9 view .LVU169
ARM GAS  /tmp/ccCfNgvn.s 			page 27


 320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         addresstmp = pFlash.Sector;
 649              		.loc 1 320 15 is_stmt 0 view .LVU170
 650 00b4 E368     		ldr	r3, [r4, #12]
 320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         addresstmp = pFlash.Sector;
 651              		.loc 1 320 22 view .LVU171
 652 00b6 0133     		adds	r3, r3, #1
 653 00b8 E360     		str	r3, [r4, #12]
 321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         FLASH_Erase_Sector(addresstmp, pFlash.VoltageForErase);
 654              		.loc 1 321 9 is_stmt 1 view .LVU172
 321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         FLASH_Erase_Sector(addresstmp, pFlash.VoltageForErase);
 655              		.loc 1 321 20 is_stmt 0 view .LVU173
 656 00ba E068     		ldr	r0, [r4, #12]
 657              	.LVL33:
 322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       }
 658              		.loc 1 322 9 is_stmt 1 view .LVU174
 659 00bc 217A     		ldrb	r1, [r4, #8]	@ zero_extendqisi2
 660 00be FFF7FEFF 		bl	FLASH_Erase_Sector
 661              	.LVL34:
 322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       }
 662              		.loc 1 322 9 is_stmt 0 view .LVU175
 663 00c2 D0E7     		b	.L41
 664              	.L43:
 328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
 665              		.loc 1 328 9 is_stmt 1 view .LVU176
 666              	.LVL35:
 328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
 667              		.loc 1 328 23 is_stmt 0 view .LVU177
 668 00c4 0A4B     		ldr	r3, .L52+4
 669 00c6 4FF0FF34 		mov	r4, #-1
 670 00ca DC60     		str	r4, [r3, #12]
 329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         
 671              		.loc 1 329 9 is_stmt 1 view .LVU178
 329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****         
 672              		.loc 1 329 33 is_stmt 0 view .LVU179
 673 00cc 0022     		movs	r2, #0
 674 00ce 1A70     		strb	r2, [r3]
 332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****                 
 675              		.loc 1 332 9 is_stmt 1 view .LVU180
 676 00d0 FFF7FEFF 		bl	FLASH_FlushCaches
 677              	.LVL36:
 335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       }
 678              		.loc 1 335 9 view .LVU181
 679 00d4 2046     		mov	r0, r4
 680 00d6 FFF7FEFF 		bl	HAL_FLASH_EndOfOperationCallback
 681              	.LVL37:
 682 00da C4E7     		b	.L41
 683              	.LVL38:
 684              	.L51:
 344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 685              		.loc 1 344 9 view .LVU182
 686 00dc FFF7FEFF 		bl	FLASH_FlushCaches
 687              	.LVL39:
 347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       }
 688              		.loc 1 347 9 view .LVU183
 689 00e0 034B     		ldr	r3, .L52+4
 690 00e2 1869     		ldr	r0, [r3, #16]
 691 00e4 FFF7FEFF 		bl	HAL_FLASH_EndOfOperationCallback
ARM GAS  /tmp/ccCfNgvn.s 			page 28


 692              	.LVL40:
 693 00e8 BAE7     		b	.L45
 694              	.L53:
 695 00ea 00BF     		.align	2
 696              	.L52:
 697 00ec 003C0240 		.word	1073888256
 698 00f0 00000000 		.word	.LANCHOR0
 699              		.cfi_endproc
 700              	.LFE132:
 702              		.section	.text.HAL_FLASH_Unlock,"ax",%progbits
 703              		.align	1
 704              		.global	HAL_FLASH_Unlock
 705              		.syntax unified
 706              		.thumb
 707              		.thumb_func
 709              	HAL_FLASH_Unlock:
 710              	.LFB135:
 434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   HAL_StatusTypeDef status = HAL_OK;
 711              		.loc 1 434 1 view -0
 712              		.cfi_startproc
 713              		@ args = 0, pretend = 0, frame = 0
 714              		@ frame_needed = 0, uses_anonymous_args = 0
 715              		@ link register save eliminated.
 435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 716              		.loc 1 435 3 view .LVU185
 717              	.LVL41:
 437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 718              		.loc 1 437 3 view .LVU186
 437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 719              		.loc 1 437 6 is_stmt 0 view .LVU187
 720 0000 094B     		ldr	r3, .L59
 721 0002 1B69     		ldr	r3, [r3, #16]
 437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 722              		.loc 1 437 5 view .LVU188
 723 0004 002B     		cmp	r3, #0
 724 0006 01DB     		blt	.L58
 435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 725              		.loc 1 435 21 view .LVU189
 726 0008 0020     		movs	r0, #0
 727 000a 7047     		bx	lr
 728              	.L58:
 440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     WRITE_REG(FLASH->KEYR, FLASH_KEY2);
 729              		.loc 1 440 5 is_stmt 1 view .LVU190
 730 000c 064B     		ldr	r3, .L59
 731 000e 074A     		ldr	r2, .L59+4
 732 0010 5A60     		str	r2, [r3, #4]
 441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 733              		.loc 1 441 5 view .LVU191
 734 0012 02F18832 		add	r2, r2, #-2004318072
 735 0016 5A60     		str	r2, [r3, #4]
 444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     {
 736              		.loc 1 444 5 view .LVU192
 444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     {
 737              		.loc 1 444 8 is_stmt 0 view .LVU193
 738 0018 1B69     		ldr	r3, [r3, #16]
 444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     {
 739              		.loc 1 444 7 view .LVU194
ARM GAS  /tmp/ccCfNgvn.s 			page 29


 740 001a 002B     		cmp	r3, #0
 741 001c 01DB     		blt	.L57
 435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 742              		.loc 1 435 21 view .LVU195
 743 001e 0020     		movs	r0, #0
 744 0020 7047     		bx	lr
 745              	.L57:
 446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     }
 746              		.loc 1 446 14 view .LVU196
 747 0022 0120     		movs	r0, #1
 748              	.LVL42:
 450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** }
 749              		.loc 1 450 3 is_stmt 1 view .LVU197
 451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 750              		.loc 1 451 1 is_stmt 0 view .LVU198
 751 0024 7047     		bx	lr
 752              	.L60:
 753 0026 00BF     		.align	2
 754              	.L59:
 755 0028 003C0240 		.word	1073888256
 756 002c 23016745 		.word	1164378403
 757              		.cfi_endproc
 758              	.LFE135:
 760              		.section	.text.HAL_FLASH_Lock,"ax",%progbits
 761              		.align	1
 762              		.global	HAL_FLASH_Lock
 763              		.syntax unified
 764              		.thumb
 765              		.thumb_func
 767              	HAL_FLASH_Lock:
 768              	.LFB136:
 458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* Set the LOCK Bit to lock the FLASH Registers access */
 769              		.loc 1 458 1 is_stmt 1 view -0
 770              		.cfi_startproc
 771              		@ args = 0, pretend = 0, frame = 0
 772              		@ frame_needed = 0, uses_anonymous_args = 0
 773              		@ link register save eliminated.
 460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 774              		.loc 1 460 3 view .LVU200
 460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 775              		.loc 1 460 13 is_stmt 0 view .LVU201
 776 0000 034A     		ldr	r2, .L62
 777 0002 1369     		ldr	r3, [r2, #16]
 778 0004 43F00043 		orr	r3, r3, #-2147483648
 779 0008 1361     		str	r3, [r2, #16]
 462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** }
 780              		.loc 1 462 3 is_stmt 1 view .LVU202
 463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 781              		.loc 1 463 1 is_stmt 0 view .LVU203
 782 000a 0020     		movs	r0, #0
 783 000c 7047     		bx	lr
 784              	.L63:
 785 000e 00BF     		.align	2
 786              	.L62:
 787 0010 003C0240 		.word	1073888256
 788              		.cfi_endproc
 789              	.LFE136:
ARM GAS  /tmp/ccCfNgvn.s 			page 30


 791              		.section	.text.HAL_FLASH_OB_Unlock,"ax",%progbits
 792              		.align	1
 793              		.global	HAL_FLASH_OB_Unlock
 794              		.syntax unified
 795              		.thumb
 796              		.thumb_func
 798              	HAL_FLASH_OB_Unlock:
 799              	.LFB137:
 470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   if((FLASH->OPTCR & FLASH_OPTCR_OPTLOCK) != RESET)
 800              		.loc 1 470 1 is_stmt 1 view -0
 801              		.cfi_startproc
 802              		@ args = 0, pretend = 0, frame = 0
 803              		@ frame_needed = 0, uses_anonymous_args = 0
 804              		@ link register save eliminated.
 471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 805              		.loc 1 471 3 view .LVU205
 471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 806              		.loc 1 471 12 is_stmt 0 view .LVU206
 807 0000 074B     		ldr	r3, .L67
 808 0002 5B69     		ldr	r3, [r3, #20]
 471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 809              		.loc 1 471 5 view .LVU207
 810 0004 13F0010F 		tst	r3, #1
 811 0008 07D0     		beq	.L66
 474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     FLASH->OPTKEYR = FLASH_OPT_KEY2;
 812              		.loc 1 474 5 is_stmt 1 view .LVU208
 474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     FLASH->OPTKEYR = FLASH_OPT_KEY2;
 813              		.loc 1 474 20 is_stmt 0 view .LVU209
 814 000a 054B     		ldr	r3, .L67
 815 000c 054A     		ldr	r2, .L67+4
 816 000e 9A60     		str	r2, [r3, #8]
 475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }
 817              		.loc 1 475 5 is_stmt 1 view .LVU210
 475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }
 818              		.loc 1 475 20 is_stmt 0 view .LVU211
 819 0010 02F14432 		add	r2, r2, #1145324612
 820 0014 9A60     		str	r2, [r3, #8]
 482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** }
 821              		.loc 1 482 3 is_stmt 1 view .LVU212
 482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** }
 822              		.loc 1 482 10 is_stmt 0 view .LVU213
 823 0016 0020     		movs	r0, #0
 824 0018 7047     		bx	lr
 825              	.L66:
 479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }  
 826              		.loc 1 479 12 view .LVU214
 827 001a 0120     		movs	r0, #1
 483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 828              		.loc 1 483 1 view .LVU215
 829 001c 7047     		bx	lr
 830              	.L68:
 831 001e 00BF     		.align	2
 832              	.L67:
 833 0020 003C0240 		.word	1073888256
 834 0024 3B2A1908 		.word	135866939
 835              		.cfi_endproc
 836              	.LFE137:
ARM GAS  /tmp/ccCfNgvn.s 			page 31


 838              		.section	.text.HAL_FLASH_OB_Lock,"ax",%progbits
 839              		.align	1
 840              		.global	HAL_FLASH_OB_Lock
 841              		.syntax unified
 842              		.thumb
 843              		.thumb_func
 845              	HAL_FLASH_OB_Lock:
 846              	.LFB138:
 490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* Set the OPTLOCK Bit to lock the FLASH Option Byte Registers access */
 847              		.loc 1 490 1 is_stmt 1 view -0
 848              		.cfi_startproc
 849              		@ args = 0, pretend = 0, frame = 0
 850              		@ frame_needed = 0, uses_anonymous_args = 0
 851              		@ link register save eliminated.
 492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 852              		.loc 1 492 3 view .LVU217
 492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 853              		.loc 1 492 16 is_stmt 0 view .LVU218
 854 0000 034A     		ldr	r2, .L70
 855 0002 5369     		ldr	r3, [r2, #20]
 856 0004 43F00103 		orr	r3, r3, #1
 857 0008 5361     		str	r3, [r2, #20]
 494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** }
 858              		.loc 1 494 3 is_stmt 1 view .LVU219
 495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 859              		.loc 1 495 1 is_stmt 0 view .LVU220
 860 000a 0020     		movs	r0, #0
 861 000c 7047     		bx	lr
 862              	.L71:
 863 000e 00BF     		.align	2
 864              	.L70:
 865 0010 003C0240 		.word	1073888256
 866              		.cfi_endproc
 867              	.LFE138:
 869              		.section	.text.HAL_FLASH_GetError,"ax",%progbits
 870              		.align	1
 871              		.global	HAL_FLASH_GetError
 872              		.syntax unified
 873              		.thumb
 874              		.thumb_func
 876              	HAL_FLASH_GetError:
 877              	.LFB140:
 539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****    return pFlash.ErrorCode;
 878              		.loc 1 539 1 is_stmt 1 view -0
 879              		.cfi_startproc
 880              		@ args = 0, pretend = 0, frame = 0
 881              		@ frame_needed = 0, uses_anonymous_args = 0
 882              		@ link register save eliminated.
 540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** }  
 883              		.loc 1 540 4 view .LVU222
 540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** }  
 884              		.loc 1 540 17 is_stmt 0 view .LVU223
 885 0000 014B     		ldr	r3, .L73
 886 0002 D869     		ldr	r0, [r3, #28]
 541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 887              		.loc 1 541 1 view .LVU224
 888 0004 7047     		bx	lr
ARM GAS  /tmp/ccCfNgvn.s 			page 32


 889              	.L74:
 890 0006 00BF     		.align	2
 891              	.L73:
 892 0008 00000000 		.word	.LANCHOR0
 893              		.cfi_endproc
 894              	.LFE140:
 896              		.section	.text.FLASH_WaitForLastOperation,"ax",%progbits
 897              		.align	1
 898              		.global	FLASH_WaitForLastOperation
 899              		.syntax unified
 900              		.thumb
 901              		.thumb_func
 903              	FLASH_WaitForLastOperation:
 904              	.LVL43:
 905              	.LFB141:
 553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   uint32_t tickstart = 0U;
 906              		.loc 1 553 1 is_stmt 1 view -0
 907              		.cfi_startproc
 908              		@ args = 0, pretend = 0, frame = 0
 909              		@ frame_needed = 0, uses_anonymous_args = 0
 553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   uint32_t tickstart = 0U;
 910              		.loc 1 553 1 is_stmt 0 view .LVU226
 911 0000 38B5     		push	{r3, r4, r5, lr}
 912              	.LCFI4:
 913              		.cfi_def_cfa_offset 16
 914              		.cfi_offset 3, -16
 915              		.cfi_offset 4, -12
 916              		.cfi_offset 5, -8
 917              		.cfi_offset 14, -4
 918 0002 0446     		mov	r4, r0
 554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 919              		.loc 1 554 3 is_stmt 1 view .LVU227
 920              	.LVL44:
 557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 921              		.loc 1 557 3 view .LVU228
 557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 922              		.loc 1 557 20 is_stmt 0 view .LVU229
 923 0004 144B     		ldr	r3, .L86
 924 0006 0022     		movs	r2, #0
 925 0008 DA61     		str	r2, [r3, #28]
 563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 926              		.loc 1 563 3 is_stmt 1 view .LVU230
 563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 927              		.loc 1 563 15 is_stmt 0 view .LVU231
 928 000a FFF7FEFF 		bl	HAL_GetTick
 929              	.LVL45:
 563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 930              		.loc 1 563 15 view .LVU232
 931 000e 0546     		mov	r5, r0
 932              	.LVL46:
 565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   { 
 933              		.loc 1 565 3 is_stmt 1 view .LVU233
 934              	.L77:
 565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   { 
 935              		.loc 1 565 8 view .LVU234
 565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   { 
 936              		.loc 1 565 9 is_stmt 0 view .LVU235
ARM GAS  /tmp/ccCfNgvn.s 			page 33


 937 0010 124B     		ldr	r3, .L86+4
 938 0012 DB68     		ldr	r3, [r3, #12]
 565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   { 
 939              		.loc 1 565 8 view .LVU236
 940 0014 13F4803F 		tst	r3, #65536
 941 0018 0AD0     		beq	.L84
 567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     {
 942              		.loc 1 567 5 is_stmt 1 view .LVU237
 567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     {
 943              		.loc 1 567 7 is_stmt 0 view .LVU238
 944 001a B4F1FF3F 		cmp	r4, #-1
 945 001e F7D0     		beq	.L77
 569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       {
 946              		.loc 1 569 7 is_stmt 1 view .LVU239
 569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       {
 947              		.loc 1 569 9 is_stmt 0 view .LVU240
 948 0020 24B1     		cbz	r4, .L78
 569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       {
 949              		.loc 1 569 29 discriminator 1 view .LVU241
 950 0022 FFF7FEFF 		bl	HAL_GetTick
 951              	.LVL47:
 569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       {
 952              		.loc 1 569 43 discriminator 1 view .LVU242
 953 0026 401B     		subs	r0, r0, r5
 569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       {
 954              		.loc 1 569 25 discriminator 1 view .LVU243
 955 0028 A042     		cmp	r0, r4
 956 002a F1D9     		bls	.L77
 957              	.L78:
 571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       }
 958              		.loc 1 571 9 is_stmt 1 view .LVU244
 571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****       }
 959              		.loc 1 571 16 is_stmt 0 view .LVU245
 960 002c 0320     		movs	r0, #3
 961 002e 0DE0     		b	.L79
 962              	.L84:
 577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 963              		.loc 1 577 3 is_stmt 1 view .LVU246
 577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 964              		.loc 1 577 7 is_stmt 0 view .LVU247
 965 0030 0A4B     		ldr	r3, .L86+4
 966 0032 DB68     		ldr	r3, [r3, #12]
 577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 967              		.loc 1 577 6 view .LVU248
 968 0034 13F0010F 		tst	r3, #1
 969 0038 02D0     		beq	.L81
 580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }
 970              		.loc 1 580 5 is_stmt 1 view .LVU249
 971 003a 084B     		ldr	r3, .L86+4
 972 003c 0122     		movs	r2, #1
 973 003e DA60     		str	r2, [r3, #12]
 974              	.L81:
 586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****                            FLASH_FLAG_PGPERR | FLASH_FLAG_PGSERR)) != RESET)
 975              		.loc 1 586 3 view .LVU250
 586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****                            FLASH_FLAG_PGPERR | FLASH_FLAG_PGSERR)) != RESET)
 976              		.loc 1 586 6 is_stmt 0 view .LVU251
 977 0040 064B     		ldr	r3, .L86+4
ARM GAS  /tmp/ccCfNgvn.s 			page 34


 978 0042 DB68     		ldr	r3, [r3, #12]
 586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****                            FLASH_FLAG_PGPERR | FLASH_FLAG_PGSERR)) != RESET)
 979              		.loc 1 586 5 view .LVU252
 980 0044 13F0F20F 		tst	r3, #242
 981 0048 01D1     		bne	.L85
 596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 982              		.loc 1 596 10 view .LVU253
 983 004a 0020     		movs	r0, #0
 984              	.L79:
 598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 985              		.loc 1 598 1 view .LVU254
 986 004c 38BD     		pop	{r3, r4, r5, pc}
 987              	.LVL48:
 988              	.L85:
 591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     return HAL_ERROR;
 989              		.loc 1 591 5 is_stmt 1 view .LVU255
 990 004e FFF7FEFF 		bl	FLASH_SetErrorCode
 991              	.LVL49:
 592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }
 992              		.loc 1 592 5 view .LVU256
 592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }
 993              		.loc 1 592 12 is_stmt 0 view .LVU257
 994 0052 0120     		movs	r0, #1
 995 0054 FAE7     		b	.L79
 996              	.L87:
 997 0056 00BF     		.align	2
 998              	.L86:
 999 0058 00000000 		.word	.LANCHOR0
 1000 005c 003C0240 		.word	1073888256
 1001              		.cfi_endproc
 1002              	.LFE141:
 1004              		.section	.text.HAL_FLASH_Program,"ax",%progbits
 1005              		.align	1
 1006              		.global	HAL_FLASH_Program
 1007              		.syntax unified
 1008              		.thumb
 1009              		.thumb_func
 1011              	HAL_FLASH_Program:
 1012              	.LVL50:
 1013              	.LFB130:
 157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   HAL_StatusTypeDef status = HAL_ERROR;
 1014              		.loc 1 157 1 is_stmt 1 view -0
 1015              		.cfi_startproc
 1016              		@ args = 0, pretend = 0, frame = 0
 1017              		@ frame_needed = 0, uses_anonymous_args = 0
 157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   HAL_StatusTypeDef status = HAL_ERROR;
 1018              		.loc 1 157 1 is_stmt 0 view .LVU259
 1019 0000 F8B5     		push	{r3, r4, r5, r6, r7, lr}
 1020              	.LCFI5:
 1021              		.cfi_def_cfa_offset 24
 1022              		.cfi_offset 3, -24
 1023              		.cfi_offset 4, -20
 1024              		.cfi_offset 5, -16
 1025              		.cfi_offset 6, -12
 1026              		.cfi_offset 7, -8
 1027              		.cfi_offset 14, -4
 1028 0002 1646     		mov	r6, r2
ARM GAS  /tmp/ccCfNgvn.s 			page 35


 158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 1029              		.loc 1 158 3 is_stmt 1 view .LVU260
 1030              	.LVL51:
 161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 1031              		.loc 1 161 3 view .LVU261
 161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 1032              		.loc 1 161 3 view .LVU262
 1033 0004 1B4A     		ldr	r2, .L100
 1034              	.LVL52:
 161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 1035              		.loc 1 161 3 is_stmt 0 view .LVU263
 1036 0006 127E     		ldrb	r2, [r2, #24]	@ zero_extendqisi2
 1037 0008 012A     		cmp	r2, #1
 1038 000a 30D0     		beq	.L95
 1039 000c 0446     		mov	r4, r0
 1040 000e 0D46     		mov	r5, r1
 1041 0010 1F46     		mov	r7, r3
 161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 1042              		.loc 1 161 3 is_stmt 1 discriminator 2 view .LVU264
 1043 0012 184B     		ldr	r3, .L100
 1044 0014 0122     		movs	r2, #1
 1045 0016 1A76     		strb	r2, [r3, #24]
 161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 1046              		.loc 1 161 3 discriminator 2 view .LVU265
 164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 1047              		.loc 1 164 3 discriminator 2 view .LVU266
 167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 1048              		.loc 1 167 3 discriminator 2 view .LVU267
 167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 1049              		.loc 1 167 12 is_stmt 0 discriminator 2 view .LVU268
 1050 0018 4CF25030 		movw	r0, #50000
 1051              	.LVL53:
 167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 1052              		.loc 1 167 12 discriminator 2 view .LVU269
 1053 001c FFF7FEFF 		bl	FLASH_WaitForLastOperation
 1054              	.LVL54:
 169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 1055              		.loc 1 169 3 is_stmt 1 discriminator 2 view .LVU270
 169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   {
 1056              		.loc 1 169 5 is_stmt 0 discriminator 2 view .LVU271
 1057 0020 90B9     		cbnz	r0, .L90
 171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     {
 1058              		.loc 1 171 5 is_stmt 1 view .LVU272
 171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     {
 1059              		.loc 1 171 7 is_stmt 0 view .LVU273
 1060 0022 ACB1     		cbz	r4, .L97
 176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     {
 1061              		.loc 1 176 10 is_stmt 1 view .LVU274
 176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     {
 1062              		.loc 1 176 12 is_stmt 0 view .LVU275
 1063 0024 012C     		cmp	r4, #1
 1064 0026 18D0     		beq	.L98
 181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     {
 1065              		.loc 1 181 10 is_stmt 1 view .LVU276
 181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     {
 1066              		.loc 1 181 12 is_stmt 0 view .LVU277
 1067 0028 022C     		cmp	r4, #2
ARM GAS  /tmp/ccCfNgvn.s 			page 36


 1068 002a 1BD0     		beq	.L99
 189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     }
 1069              		.loc 1 189 7 is_stmt 1 view .LVU278
 1070 002c 3246     		mov	r2, r6
 1071 002e 3B46     		mov	r3, r7
 1072 0030 2846     		mov	r0, r5
 1073              	.LVL55:
 189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     }
 1074              		.loc 1 189 7 is_stmt 0 view .LVU279
 1075 0032 FFF7FEFF 		bl	FLASH_Program_DoubleWord
 1076              	.LVL56:
 1077              	.L92:
 193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     
 1078              		.loc 1 193 5 is_stmt 1 view .LVU280
 193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     
 1079              		.loc 1 193 14 is_stmt 0 view .LVU281
 1080 0036 4CF25030 		movw	r0, #50000
 1081 003a FFF7FEFF 		bl	FLASH_WaitForLastOperation
 1082              	.LVL57:
 196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }
 1083              		.loc 1 196 5 is_stmt 1 view .LVU282
 196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   }
 1084              		.loc 1 196 15 is_stmt 0 view .LVU283
 1085 003e 0E4A     		ldr	r2, .L100+4
 1086 0040 1369     		ldr	r3, [r2, #16]
 1087 0042 23F00103 		bic	r3, r3, #1
 1088 0046 1361     		str	r3, [r2, #16]
 1089              	.L90:
 200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 1090              		.loc 1 200 3 is_stmt 1 view .LVU284
 200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 1091              		.loc 1 200 3 view .LVU285
 1092 0048 0A4B     		ldr	r3, .L100
 1093 004a 0022     		movs	r2, #0
 1094 004c 1A76     		strb	r2, [r3, #24]
 200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 1095              		.loc 1 200 3 view .LVU286
 202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** }
 1096              		.loc 1 202 3 view .LVU287
 1097              	.LVL58:
 1098              	.L89:
 203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 1099              		.loc 1 203 1 is_stmt 0 view .LVU288
 1100 004e F8BD     		pop	{r3, r4, r5, r6, r7, pc}
 1101              	.LVL59:
 1102              	.L97:
 174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     }
 1103              		.loc 1 174 7 is_stmt 1 view .LVU289
 1104 0050 F1B2     		uxtb	r1, r6
 1105 0052 2846     		mov	r0, r5
 1106              	.LVL60:
 174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     }
 1107              		.loc 1 174 7 is_stmt 0 view .LVU290
 1108 0054 FFF7FEFF 		bl	FLASH_Program_Byte
 1109              	.LVL61:
 1110 0058 EDE7     		b	.L92
 1111              	.LVL62:
ARM GAS  /tmp/ccCfNgvn.s 			page 37


 1112              	.L98:
 179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     }
 1113              		.loc 1 179 7 is_stmt 1 view .LVU291
 1114 005a B1B2     		uxth	r1, r6
 1115 005c 2846     		mov	r0, r5
 1116              	.LVL63:
 179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     }
 1117              		.loc 1 179 7 is_stmt 0 view .LVU292
 1118 005e FFF7FEFF 		bl	FLASH_Program_HalfWord
 1119              	.LVL64:
 1120 0062 E8E7     		b	.L92
 1121              	.LVL65:
 1122              	.L99:
 184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     }
 1123              		.loc 1 184 7 is_stmt 1 view .LVU293
 1124 0064 3146     		mov	r1, r6
 1125 0066 2846     		mov	r0, r5
 1126              	.LVL66:
 184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****     }
 1127              		.loc 1 184 7 is_stmt 0 view .LVU294
 1128 0068 FFF7FEFF 		bl	FLASH_Program_Word
 1129              	.LVL67:
 1130 006c E3E7     		b	.L92
 1131              	.LVL68:
 1132              	.L95:
 161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 1133              		.loc 1 161 3 view .LVU295
 1134 006e 0220     		movs	r0, #2
 1135              	.LVL69:
 161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   
 1136              		.loc 1 161 3 view .LVU296
 1137 0070 EDE7     		b	.L89
 1138              	.L101:
 1139 0072 00BF     		.align	2
 1140              	.L100:
 1141 0074 00000000 		.word	.LANCHOR0
 1142 0078 003C0240 		.word	1073888256
 1143              		.cfi_endproc
 1144              	.LFE130:
 1146              		.section	.text.HAL_FLASH_OB_Launch,"ax",%progbits
 1147              		.align	1
 1148              		.global	HAL_FLASH_OB_Launch
 1149              		.syntax unified
 1150              		.thumb
 1151              		.thumb_func
 1153              	HAL_FLASH_OB_Launch:
 1154              	.LFB139:
 502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c ****   /* Set the OPTSTRT bit in OPTCR register */
 1155              		.loc 1 502 1 is_stmt 1 view -0
 1156              		.cfi_startproc
 1157              		@ args = 0, pretend = 0, frame = 0
 1158              		@ frame_needed = 0, uses_anonymous_args = 0
 1159 0000 08B5     		push	{r3, lr}
 1160              	.LCFI6:
 1161              		.cfi_def_cfa_offset 8
 1162              		.cfi_offset 3, -8
 1163              		.cfi_offset 14, -4
ARM GAS  /tmp/ccCfNgvn.s 			page 38


 504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 1164              		.loc 1 504 3 view .LVU298
 504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 1165              		.loc 1 504 40 is_stmt 0 view .LVU299
 1166 0002 054A     		ldr	r2, .L104
 1167 0004 137D     		ldrb	r3, [r2, #20]	@ zero_extendqisi2
 1168 0006 43F00203 		orr	r3, r3, #2
 1169 000a 1375     		strb	r3, [r2, #20]
 507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** }
 1170              		.loc 1 507 3 is_stmt 1 view .LVU300
 507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** }
 1171              		.loc 1 507 10 is_stmt 0 view .LVU301
 1172 000c 4CF25030 		movw	r0, #50000
 1173 0010 FFF7FEFF 		bl	FLASH_WaitForLastOperation
 1174              	.LVL70:
 508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 
 1175              		.loc 1 508 1 view .LVU302
 1176 0014 08BD     		pop	{r3, pc}
 1177              	.L105:
 1178 0016 00BF     		.align	2
 1179              	.L104:
 1180 0018 003C0240 		.word	1073888256
 1181              		.cfi_endproc
 1182              	.LFE139:
 1184              		.global	pFlash
 1185              		.section	.bss.pFlash,"aw",%nobits
 1186              		.align	2
 1187              		.set	.LANCHOR0,. + 0
 1190              	pFlash:
 1191 0000 00000000 		.space	32
 1191      00000000 
 1191      00000000 
 1191      00000000 
 1191      00000000 
 1192              		.text
 1193              	.Letext0:
 1194              		.file 2 "/home/gitc/\346\241\214\351\235\242/gcc-arm-none-eabi-10.3-2021.10/arm-none-eabi/include/
 1195              		.file 3 "/home/gitc/\346\241\214\351\235\242/gcc-arm-none-eabi-10.3-2021.10/arm-none-eabi/include/
 1196              		.file 4 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f407xx.h"
 1197              		.file 5 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h"
 1198              		.file 6 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h"
 1199              		.file 7 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h"
 1200              		.file 8 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h"
 1201              		.file 9 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h"
ARM GAS  /tmp/ccCfNgvn.s 			page 39


DEFINED SYMBOLS
                            *ABS*:0000000000000000 stm32f4xx_hal_flash.c
     /tmp/ccCfNgvn.s:20     .text.FLASH_Program_DoubleWord:0000000000000000 $t
     /tmp/ccCfNgvn.s:25     .text.FLASH_Program_DoubleWord:0000000000000000 FLASH_Program_DoubleWord
     /tmp/ccCfNgvn.s:70     .text.FLASH_Program_DoubleWord:0000000000000028 $d
     /tmp/ccCfNgvn.s:75     .text.FLASH_Program_Word:0000000000000000 $t
     /tmp/ccCfNgvn.s:80     .text.FLASH_Program_Word:0000000000000000 FLASH_Program_Word
     /tmp/ccCfNgvn.s:112    .text.FLASH_Program_Word:0000000000000020 $d
     /tmp/ccCfNgvn.s:117    .text.FLASH_Program_HalfWord:0000000000000000 $t
     /tmp/ccCfNgvn.s:122    .text.FLASH_Program_HalfWord:0000000000000000 FLASH_Program_HalfWord
     /tmp/ccCfNgvn.s:154    .text.FLASH_Program_HalfWord:0000000000000020 $d
     /tmp/ccCfNgvn.s:159    .text.FLASH_Program_Byte:0000000000000000 $t
     /tmp/ccCfNgvn.s:164    .text.FLASH_Program_Byte:0000000000000000 FLASH_Program_Byte
     /tmp/ccCfNgvn.s:195    .text.FLASH_Program_Byte:000000000000001c $d
     /tmp/ccCfNgvn.s:200    .text.FLASH_SetErrorCode:0000000000000000 $t
     /tmp/ccCfNgvn.s:205    .text.FLASH_SetErrorCode:0000000000000000 FLASH_SetErrorCode
     /tmp/ccCfNgvn.s:307    .text.FLASH_SetErrorCode:0000000000000084 $d
     /tmp/ccCfNgvn.s:313    .text.HAL_FLASH_Program_IT:0000000000000000 $t
     /tmp/ccCfNgvn.s:319    .text.HAL_FLASH_Program_IT:0000000000000000 HAL_FLASH_Program_IT
     /tmp/ccCfNgvn.s:428    .text.HAL_FLASH_Program_IT:0000000000000060 $d
     /tmp/ccCfNgvn.s:434    .text.HAL_FLASH_EndOfOperationCallback:0000000000000000 $t
     /tmp/ccCfNgvn.s:440    .text.HAL_FLASH_EndOfOperationCallback:0000000000000000 HAL_FLASH_EndOfOperationCallback
     /tmp/ccCfNgvn.s:455    .text.HAL_FLASH_OperationErrorCallback:0000000000000000 $t
     /tmp/ccCfNgvn.s:461    .text.HAL_FLASH_OperationErrorCallback:0000000000000000 HAL_FLASH_OperationErrorCallback
     /tmp/ccCfNgvn.s:476    .text.HAL_FLASH_IRQHandler:0000000000000000 $t
     /tmp/ccCfNgvn.s:482    .text.HAL_FLASH_IRQHandler:0000000000000000 HAL_FLASH_IRQHandler
     /tmp/ccCfNgvn.s:697    .text.HAL_FLASH_IRQHandler:00000000000000ec $d
     /tmp/ccCfNgvn.s:703    .text.HAL_FLASH_Unlock:0000000000000000 $t
     /tmp/ccCfNgvn.s:709    .text.HAL_FLASH_Unlock:0000000000000000 HAL_FLASH_Unlock
     /tmp/ccCfNgvn.s:755    .text.HAL_FLASH_Unlock:0000000000000028 $d
     /tmp/ccCfNgvn.s:761    .text.HAL_FLASH_Lock:0000000000000000 $t
     /tmp/ccCfNgvn.s:767    .text.HAL_FLASH_Lock:0000000000000000 HAL_FLASH_Lock
     /tmp/ccCfNgvn.s:787    .text.HAL_FLASH_Lock:0000000000000010 $d
     /tmp/ccCfNgvn.s:792    .text.HAL_FLASH_OB_Unlock:0000000000000000 $t
     /tmp/ccCfNgvn.s:798    .text.HAL_FLASH_OB_Unlock:0000000000000000 HAL_FLASH_OB_Unlock
     /tmp/ccCfNgvn.s:833    .text.HAL_FLASH_OB_Unlock:0000000000000020 $d
     /tmp/ccCfNgvn.s:839    .text.HAL_FLASH_OB_Lock:0000000000000000 $t
     /tmp/ccCfNgvn.s:845    .text.HAL_FLASH_OB_Lock:0000000000000000 HAL_FLASH_OB_Lock
     /tmp/ccCfNgvn.s:865    .text.HAL_FLASH_OB_Lock:0000000000000010 $d
     /tmp/ccCfNgvn.s:870    .text.HAL_FLASH_GetError:0000000000000000 $t
     /tmp/ccCfNgvn.s:876    .text.HAL_FLASH_GetError:0000000000000000 HAL_FLASH_GetError
     /tmp/ccCfNgvn.s:892    .text.HAL_FLASH_GetError:0000000000000008 $d
     /tmp/ccCfNgvn.s:897    .text.FLASH_WaitForLastOperation:0000000000000000 $t
     /tmp/ccCfNgvn.s:903    .text.FLASH_WaitForLastOperation:0000000000000000 FLASH_WaitForLastOperation
     /tmp/ccCfNgvn.s:999    .text.FLASH_WaitForLastOperation:0000000000000058 $d
     /tmp/ccCfNgvn.s:1005   .text.HAL_FLASH_Program:0000000000000000 $t
     /tmp/ccCfNgvn.s:1011   .text.HAL_FLASH_Program:0000000000000000 HAL_FLASH_Program
     /tmp/ccCfNgvn.s:1141   .text.HAL_FLASH_Program:0000000000000074 $d
     /tmp/ccCfNgvn.s:1147   .text.HAL_FLASH_OB_Launch:0000000000000000 $t
     /tmp/ccCfNgvn.s:1153   .text.HAL_FLASH_OB_Launch:0000000000000000 HAL_FLASH_OB_Launch
     /tmp/ccCfNgvn.s:1180   .text.HAL_FLASH_OB_Launch:0000000000000018 $d
     /tmp/ccCfNgvn.s:1190   .bss.pFlash:0000000000000000 pFlash
     /tmp/ccCfNgvn.s:1186   .bss.pFlash:0000000000000000 $d

UNDEFINED SYMBOLS
FLASH_Erase_Sector
FLASH_FlushCaches
ARM GAS  /tmp/ccCfNgvn.s 			page 40


HAL_GetTick
