ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 1


   1              		.cpu cortex-m7
   2              		.arch armv7e-m
   3              		.fpu fpv5-d16
   4              		.eabi_attribute 28, 1
   5              		.eabi_attribute 20, 1
   6              		.eabi_attribute 21, 1
   7              		.eabi_attribute 23, 3
   8              		.eabi_attribute 24, 1
   9              		.eabi_attribute 25, 1
  10              		.eabi_attribute 26, 1
  11              		.eabi_attribute 30, 1
  12              		.eabi_attribute 34, 1
  13              		.eabi_attribute 18, 4
  14              		.file	"stm32h7xx_hal_flash.c"
  15              		.text
  16              	.Ltext0:
  17              		.cfi_sections	.debug_frame
  18              		.file 1 "Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c"
  19              		.section	.text.HAL_FLASH_EndOfOperationCallback,"ax",%progbits
  20              		.align	1
  21              		.weak	HAL_FLASH_EndOfOperationCallback
  22              		.syntax unified
  23              		.thumb
  24              		.thumb_func
  26              	HAL_FLASH_EndOfOperationCallback:
  27              	.LVL0:
  28              	.LFB338:
   1:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /**
   2:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   ******************************************************************************
   3:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @file    stm32h7xx_hal_flash.c
   4:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @author  MCD Application Team
   5:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @brief   FLASH HAL module driver.
   6:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *          This file provides firmware functions to manage the following
   7:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *          functionalities of the internal FLASH memory:
   8:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *           + Program operations functions
   9:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *           + Memory Control functions
  10:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *           + Peripheral Errors functions
  11:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *
  12:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****  @verbatim
  13:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   ==============================================================================
  14:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****                         ##### FLASH peripheral features #####
  15:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   ==============================================================================
  16:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
  17:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   [..] The Flash memory interface manages CPU AXI I-Code and D-Code accesses
  18:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****        to the Flash memory. It implements the erase and program Flash memory operations
  19:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****        and the read and write protection mechanisms.
  20:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
  21:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   [..] The FLASH main features are:
  22:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       (+) Flash memory read operations
  23:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       (+) Flash memory program/erase operations
  24:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       (+) Read / write protections
  25:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       (+) Option bytes programming
  26:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       (+) Error code correction (ECC) : Data in flash are 266-bits word
  27:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****           (10 bits added per flash word)
  28:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
  29:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****                         ##### How to use this driver #####
  30:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****  ==============================================================================
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 2


  31:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     [..]
  32:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       This driver provides functions and macros to configure and program the FLASH
  33:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       memory of all STM32H7xx devices.
  34:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
  35:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       (#) FLASH Memory IO Programming functions:
  36:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****            (++) Lock and Unlock the FLASH interface using HAL_FLASH_Unlock() and
  37:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****                 HAL_FLASH_Lock() functions
  38:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****            (++) Program functions: 256-bit word only
  39:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****            (++) There Two modes of programming :
  40:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****             (+++) Polling mode using HAL_FLASH_Program() function
  41:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****             (+++) Interrupt mode using HAL_FLASH_Program_IT() function
  42:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
  43:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       (#) Interrupts and flags management functions :
  44:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****            (++) Handle FLASH interrupts by calling HAL_FLASH_IRQHandler()
  45:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****            (++) Callback functions are called when the flash operations are finished :
  46:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****                 HAL_FLASH_EndOfOperationCallback() when everything is ok, otherwise
  47:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****                 HAL_FLASH_OperationErrorCallback()
  48:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****            (++) Get error flag status by calling HAL_FLASH_GetError()
  49:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
  50:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       (#) Option bytes management functions :
  51:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****            (++) Lock and Unlock the option bytes using HAL_FLASH_OB_Unlock() and
  52:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****                 HAL_FLASH_OB_Lock() functions
  53:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****            (++) Launch the reload of the option bytes using HAL_FLASH_OB_Launch() function.
  54:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****                 In this case, a reset is generated
  55:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     [..]
  56:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       In addition to these functions, this driver includes a set of macros allowing
  57:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       to handle the following operations:
  58:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****        (+) Set the latency
  59:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****        (+) Enable/Disable the FLASH interrupts
  60:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****        (+) Monitor the FLASH flags status
  61:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****      [..]
  62:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     (@) For any Flash memory program operation (erase or program), the CPU clock frequency
  63:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         (HCLK) must be at least 1MHz.
  64:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     (@) The contents of the Flash memory are not guaranteed if a device reset occurs during
  65:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         a Flash memory operation.
  66:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     (@) The application can simultaneously request a read and a write operation through each AXI
  67:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         interface.
  68:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         As the Flash memory is divided into two independent banks, the embedded Flash
  69:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         memory interface can drive different operations at the same time on each bank. For
  70:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         example a read, write or erase operation can be executed on bank 1 while another read,
  71:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         write or erase operation is executed on bank 2.
  72:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
  73:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****  @endverbatim
  74:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   ******************************************************************************
  75:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @attention
  76:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *
  77:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * Copyright (c) 2017 STMicroelectronics.
  78:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * All rights reserved.
  79:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *
  80:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * This software is licensed under terms that can be found in the LICENSE file in
  81:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * the root directory of this software component.
  82:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * If no LICENSE file comes with this software, it is provided AS-IS.
  83:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   ******************************************************************************
  84:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   */
  85:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
  86:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /* Includes ------------------------------------------------------------------*/
  87:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #include "stm32h7xx_hal.h"
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 3


  88:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
  89:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /** @addtogroup STM32H7xx_HAL_Driver
  90:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @{
  91:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   */
  92:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
  93:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /** @defgroup FLASH FLASH
  94:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @brief FLASH HAL module driver
  95:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @{
  96:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   */
  97:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
  98:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #ifdef HAL_FLASH_MODULE_ENABLED
  99:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 100:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /* Private typedef -----------------------------------------------------------*/
 101:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /* Private define ------------------------------------------------------------*/
 102:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /** @addtogroup FLASH_Private_Constants
 103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @{
 104:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   */
 105:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #define FLASH_TIMEOUT_VALUE              50000U /* 50 s */
 106:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /**
 107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @}
 108:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   */
 109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /* Private macro -------------------------------------------------------------*/
 110:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /* Private variables ---------------------------------------------------------*/
 111:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /** @addtogroup FLASH_Private_Variables
 112:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @{
 113:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   */
 114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** FLASH_ProcessTypeDef pFlash;
 115:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /**
 116:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @}
 117:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   */
 118:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /* Private function prototypes -----------------------------------------------*/
 119:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /* Exported functions ---------------------------------------------------------*/
 120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 121:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /** @defgroup FLASH_Exported_Functions FLASH Exported functions
 122:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @{
 123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   */
 124:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 125:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /** @defgroup FLASH_Exported_Functions_Group1 Programming operation functions
 126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *  @brief   Programming operation functions
 127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *
 128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** @verbatim
 129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****  ===============================================================================
 130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****                   ##### Programming operation functions #####
 131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****  ===============================================================================
 132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     [..]
 133:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     This subsection provides a set of functions allowing to manage the FLASH
 134:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     program operations.
 135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 136:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** @endverbatim
 137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @{
 138:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   */
 139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 140:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /**
 141:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @brief  Program a flash word at a specified address
 142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @param  TypeProgram Indicate the way to program at a specified address.
 143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *         This parameter can be a value of @ref FLASH_Type_Program
 144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @param  FlashAddress specifies the address to be programmed.
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 4


 145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *         This parameter shall be aligned to the Flash word:
 146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *          - 256 bits for STM32H74x/5X devices (8x 32bits words)
 147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *          - 128 bits for STM32H7Ax/BX devices (4x 32bits words)
 148:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *          - 256 bits for STM32H72x/3X devices (8x 32bits words)
 149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @param  DataAddress specifies the address of data to be programmed.
 150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *         This parameter shall be 32-bit aligned
 151:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *
 152:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @retval HAL_StatusTypeDef HAL Status
 153:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   */
 154:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_Program(uint32_t TypeProgram, uint32_t FlashAddress, uint32_t DataAddre
 155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** {
 156:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   HAL_StatusTypeDef status;
 157:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   __IO uint32_t *dest_addr = (__IO uint32_t *)FlashAddress;
 158:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   __IO uint32_t *src_addr = (__IO uint32_t*)DataAddress;
 159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   uint32_t bank;
 160:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   uint8_t row_index = FLASH_NB_32BITWORD_IN_FLASHWORD;
 161:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* Check the parameters */
 163:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   assert_param(IS_FLASH_TYPEPROGRAM(TypeProgram));
 164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   assert_param(IS_FLASH_PROGRAM_ADDRESS(FlashAddress));
 165:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* Process Locked */
 167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   __HAL_LOCK(&pFlash);
 168:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 169:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #if defined (FLASH_OPTCR_PG_OTP)
 170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   if((IS_FLASH_PROGRAM_ADDRESS_BANK1(FlashAddress)) || (IS_FLASH_PROGRAM_ADDRESS_OTP(FlashAddress))
 171:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #else
 172:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   if(IS_FLASH_PROGRAM_ADDRESS_BANK1(FlashAddress))
 173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #endif /* FLASH_OPTCR_PG_OTP */
 174:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     bank = FLASH_BANK_1;
 176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Prevent unused argument(s) compilation warning */
 177:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     UNUSED(TypeProgram);
 178:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #if defined (DUAL_BANK)
 180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   else if(IS_FLASH_PROGRAM_ADDRESS_BANK2(FlashAddress))
 181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 182:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     bank = FLASH_BANK_2;
 183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 184:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #endif /* DUAL_BANK */
 185:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   else
 186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     return HAL_ERROR;
 188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 190:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* Reset error code */
 191:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
 192:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 193:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* Wait for last operation to be completed */
 194:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, bank);
 195:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   if(status == HAL_OK)
 197:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 198:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #if defined (DUAL_BANK)
 199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     if(bank == FLASH_BANK_1)
 200:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 201:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #if defined (FLASH_OPTCR_PG_OTP)
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 5


 202:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       if (TypeProgram == FLASH_TYPEPROGRAM_OTPWORD)
 203:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 204:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /* Set OTP_PG bit */
 205:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         SET_BIT(FLASH->OPTCR, FLASH_OPTCR_PG_OTP);
 206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 207:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       else
 208:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #endif /* FLASH_OPTCR_PG_OTP */
 209:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 210:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /* Set PG bit */
 211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         SET_BIT(FLASH->CR1, FLASH_CR_PG);
 212:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 213:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 214:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     else
 215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 216:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       /* Set PG bit */
 217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       SET_BIT(FLASH->CR2, FLASH_CR_PG);
 218:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 219:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #else /* Single Bank */
 220:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #if defined (FLASH_OPTCR_PG_OTP)
 221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       if (TypeProgram == FLASH_TYPEPROGRAM_OTPWORD)
 222:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 223:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /* Set OTP_PG bit */
 224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         SET_BIT(FLASH->OPTCR, FLASH_OPTCR_PG_OTP);
 225:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 226:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       else
 227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #endif /* FLASH_OPTCR_PG_OTP */
 228:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /* Set PG bit */
 230:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         SET_BIT(FLASH->CR1, FLASH_CR_PG);
 231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 232:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #endif /* DUAL_BANK */
 233:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 234:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     __ISB();
 235:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     __DSB();
 236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 237:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #if defined (FLASH_OPTCR_PG_OTP)
 238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     if (TypeProgram == FLASH_TYPEPROGRAM_OTPWORD)
 239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 240:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       /* Program an OTP word (16 bits) */
 241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       *(__IO uint16_t *)FlashAddress = *(__IO uint16_t*)DataAddress;
 242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     else
 244:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #endif /* FLASH_OPTCR_PG_OTP */
 245:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 246:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       /* Program the flash word */
 247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       do
 248:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         *dest_addr = *src_addr;
 250:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         dest_addr++;
 251:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         src_addr++;
 252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         row_index--;
 253:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****      } while (row_index != 0U);
 254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 255:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     __ISB();
 257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     __DSB();
 258:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 6


 259:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Wait for last operation to be completed */
 260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, bank);
 261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 262:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #if defined (DUAL_BANK)
 263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #if defined (FLASH_OPTCR_PG_OTP)
 264:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     if (TypeProgram == FLASH_TYPEPROGRAM_OTPWORD)
 265:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 266:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       /* If the program operation is completed, disable the OTP_PG */
 267:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       CLEAR_BIT(FLASH->OPTCR, FLASH_OPTCR_PG_OTP);
 268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 269:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     else
 270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #endif /* FLASH_OPTCR_PG_OTP */
 271:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 272:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       if(bank == FLASH_BANK_1)
 273:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 274:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /* If the program operation is completed, disable the PG */
 275:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         CLEAR_BIT(FLASH->CR1, FLASH_CR_PG);
 276:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 277:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       else
 278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 279:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /* If the program operation is completed, disable the PG */
 280:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         CLEAR_BIT(FLASH->CR2, FLASH_CR_PG);
 281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 282:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #else /* Single Bank */
 284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #if defined (FLASH_OPTCR_PG_OTP)
 285:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     if (TypeProgram == FLASH_TYPEPROGRAM_OTPWORD)
 286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 287:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       /* If the program operation is completed, disable the OTP_PG */
 288:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       CLEAR_BIT(FLASH->OPTCR, FLASH_OPTCR_PG_OTP);
 289:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     else
 291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #endif /* FLASH_OPTCR_PG_OTP */
 292:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       /* If the program operation is completed, disable the PG */
 294:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       CLEAR_BIT(FLASH->CR1, FLASH_CR_PG);
 295:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #endif /* DUAL_BANK */
 297:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 298:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* Process Unlocked */
 300:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   __HAL_UNLOCK(&pFlash);
 301:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 302:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   return status;
 303:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** }
 304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 305:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /**
 306:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @brief  Program a flash word at a specified address with interrupt enabled.
 307:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @param  TypeProgram Indicate the way to program at a specified address.
 308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *                      This parameter can be a value of @ref FLASH_Type_Program
 309:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @param  FlashAddress specifies the address to be programmed.
 310:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *         This parameter shall be aligned to the Flash word:
 311:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *          - 256 bits for STM32H74x/5X devices (8x 32bits words)
 312:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *          - 128 bits for STM32H7Ax/BX devices (4x 32bits words)
 313:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *          - 256 bits for STM32H72x/3X devices (8x 32bits words)
 314:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @param  DataAddress specifies the address of data to be programmed.
 315:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *         This parameter shall be 32-bit aligned
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 7


 316:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *
 317:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @retval HAL Status
 318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   */
 319:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_Program_IT(uint32_t TypeProgram, uint32_t FlashAddress, uint32_t DataAd
 320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** {
 321:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   HAL_StatusTypeDef status;
 322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   __IO uint32_t *dest_addr = (__IO uint32_t*)FlashAddress;
 323:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   __IO uint32_t *src_addr = (__IO uint32_t*)DataAddress;
 324:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   uint32_t bank;
 325:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   uint8_t row_index = FLASH_NB_32BITWORD_IN_FLASHWORD;
 326:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* Check the parameters */
 328:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   assert_param(IS_FLASH_TYPEPROGRAM(TypeProgram));
 329:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   assert_param(IS_FLASH_PROGRAM_ADDRESS(FlashAddress));
 330:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 331:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* Process Locked */
 332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   __HAL_LOCK(&pFlash);
 333:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 334:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* Reset error code */
 335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
 336:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 337:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #if defined (FLASH_OPTCR_PG_OTP)
 338:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   if((IS_FLASH_PROGRAM_ADDRESS_BANK1(FlashAddress)) || (IS_FLASH_PROGRAM_ADDRESS_OTP(FlashAddress))
 339:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #else
 340:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   if(IS_FLASH_PROGRAM_ADDRESS_BANK1(FlashAddress))
 341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #endif /* FLASH_OPTCR_PG_OTP */
 342:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 343:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     bank = FLASH_BANK_1;
 344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Prevent unused argument(s) compilation warning */
 345:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     UNUSED(TypeProgram);
 346:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 347:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #if defined (DUAL_BANK)
 348:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   else if(IS_FLASH_PROGRAM_ADDRESS_BANK2(FlashAddress))
 349:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 350:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     bank = FLASH_BANK_2;
 351:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 352:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #endif /* DUAL_BANK */
 353:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   else
 354:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 355:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     return HAL_ERROR;
 356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 357:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 358:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* Wait for last operation to be completed */
 359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, bank);
 360:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   if (status != HAL_OK)
 362:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 363:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Process Unlocked */
 364:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     __HAL_UNLOCK(&pFlash);
 365:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 366:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   else
 367:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     pFlash.Address = FlashAddress;
 369:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 370:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #if defined (DUAL_BANK)
 371:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     if(bank == FLASH_BANK_1)
 372:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 8


 373:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       /* Set internal variables used by the IRQ handler */
 374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       pFlash.ProcedureOnGoing = FLASH_PROC_PROGRAM_BANK1;
 375:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 376:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #if defined (FLASH_OPTCR_PG_OTP)
 377:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       if (TypeProgram == FLASH_TYPEPROGRAM_OTPWORD)
 378:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 379:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /* Set OTP_PG bit */
 380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         SET_BIT(FLASH->OPTCR, FLASH_OPTCR_PG_OTP);
 381:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 382:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       else
 383:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #endif /* FLASH_OPTCR_PG_OTP */
 384:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 385:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /* Set PG bit */
 386:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         SET_BIT(FLASH->CR1, FLASH_CR_PG);
 387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 388:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 389:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       /* Enable End of Operation and Error interrupts for Bank 1 */
 390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #if defined (FLASH_CR_OPERRIE)
 391:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       __HAL_FLASH_ENABLE_IT_BANK1(FLASH_IT_EOP_BANK1     | FLASH_IT_WRPERR_BANK1 | FLASH_IT_PGSERR_
 392:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****                                   FLASH_IT_STRBERR_BANK1 | FLASH_IT_INCERR_BANK1 | FLASH_IT_OPERR_B
 393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #else
 394:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       __HAL_FLASH_ENABLE_IT_BANK1(FLASH_IT_EOP_BANK1     | FLASH_IT_WRPERR_BANK1 | FLASH_IT_PGSERR_
 395:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****                                   FLASH_IT_STRBERR_BANK1 | FLASH_IT_INCERR_BANK1);
 396:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #endif /* FLASH_CR_OPERRIE */
 397:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     else
 399:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 400:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       /* Set internal variables used by the IRQ handler */
 401:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       pFlash.ProcedureOnGoing = FLASH_PROC_PROGRAM_BANK2;
 402:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       /* Set PG bit */
 404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       SET_BIT(FLASH->CR2, FLASH_CR_PG);
 405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       /* Enable End of Operation and Error interrupts for Bank2 */
 407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #if defined (FLASH_CR_OPERRIE)
 408:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       __HAL_FLASH_ENABLE_IT_BANK2(FLASH_IT_EOP_BANK2     | FLASH_IT_WRPERR_BANK2 | FLASH_IT_PGSERR_
 409:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****                                   FLASH_IT_STRBERR_BANK2 | FLASH_IT_INCERR_BANK2 | FLASH_IT_OPERR_B
 410:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #else
 411:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       __HAL_FLASH_ENABLE_IT_BANK2(FLASH_IT_EOP_BANK2     | FLASH_IT_WRPERR_BANK2 | FLASH_IT_PGSERR_
 412:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****                                   FLASH_IT_STRBERR_BANK2 | FLASH_IT_INCERR_BANK2);
 413:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #endif /* FLASH_CR_OPERRIE */
 414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 415:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #else /* Single Bank */
 416:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Set internal variables used by the IRQ handler */
 417:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     pFlash.ProcedureOnGoing = FLASH_PROC_PROGRAM_BANK1;
 418:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 419:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #if defined (FLASH_OPTCR_PG_OTP)
 420:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     if (TypeProgram == FLASH_TYPEPROGRAM_OTPWORD)
 421:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 422:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       /* Set OTP_PG bit */
 423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       SET_BIT(FLASH->OPTCR, FLASH_OPTCR_PG_OTP);
 424:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 425:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     else
 426:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #endif /* FLASH_OPTCR_PG_OTP */
 427:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       /* Set PG bit */
 429:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       SET_BIT(FLASH->CR1, FLASH_CR_PG);
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 9


 430:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 431:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 432:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       /* Enable End of Operation and Error interrupts for Bank 1 */
 433:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #if defined (FLASH_CR_OPERRIE)
 434:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       __HAL_FLASH_ENABLE_IT_BANK1(FLASH_IT_EOP_BANK1     | FLASH_IT_WRPERR_BANK1 | FLASH_IT_PGSERR_
 435:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****                                   FLASH_IT_STRBERR_BANK1 | FLASH_IT_INCERR_BANK1 | FLASH_IT_OPERR_B
 436:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #else
 437:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       __HAL_FLASH_ENABLE_IT_BANK1(FLASH_IT_EOP_BANK1     | FLASH_IT_WRPERR_BANK1 | FLASH_IT_PGSERR_
 438:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****                                   FLASH_IT_STRBERR_BANK1 | FLASH_IT_INCERR_BANK1);
 439:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #endif /* FLASH_CR_OPERRIE */
 440:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #endif /* DUAL_BANK */
 441:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 442:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     __ISB();
 443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     __DSB();
 444:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 445:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #if defined (FLASH_OPTCR_PG_OTP)
 446:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     if (TypeProgram == FLASH_TYPEPROGRAM_OTPWORD)
 447:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       /* Program an OTP word (16 bits) */
 449:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       *(__IO uint16_t *)FlashAddress = *(__IO uint16_t*)DataAddress;
 450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 451:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     else
 452:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #endif /* FLASH_OPTCR_PG_OTP */
 453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 454:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       /* Program the flash word */
 455:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       do
 456:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 457:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         *dest_addr = *src_addr;
 458:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         dest_addr++;
 459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         src_addr++;
 460:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         row_index--;
 461:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       } while (row_index != 0U);
 462:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 463:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 464:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     __ISB();
 465:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     __DSB();
 466:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 467:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   return status;
 469:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** }
 470:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /**
 472:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @brief This function handles FLASH interrupt request.
 473:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @retval None
 474:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   */
 475:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** void HAL_FLASH_IRQHandler(void)
 476:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** {
 477:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   uint32_t temp;
 478:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   uint32_t errorflag;
 479:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   FLASH_ProcedureTypeDef procedure;
 480:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 481:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* Check FLASH Bank1 End of Operation flag  */
 482:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   if(__HAL_FLASH_GET_FLAG_BANK1(FLASH_SR_EOP) != RESET)
 483:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     if(pFlash.ProcedureOnGoing == FLASH_PROC_SECTERASE_BANK1)
 485:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 486:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       /* Nb of sector to erased can be decreased */
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 10


 487:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       pFlash.NbSectorsToErase--;
 488:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       /* Check if there are still sectors to erase */
 490:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       if(pFlash.NbSectorsToErase != 0U)
 491:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 492:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /* Indicate user which sector has been erased */
 493:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         HAL_FLASH_EndOfOperationCallback(pFlash.Sector);
 494:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 495:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /* Clear bank 1 End of Operation pending bit */
 496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         __HAL_FLASH_CLEAR_FLAG_BANK1(FLASH_FLAG_EOP_BANK1);
 497:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 498:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /* Increment sector number */
 499:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         pFlash.Sector++;
 500:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         temp = pFlash.Sector;
 501:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         FLASH_Erase_Sector(temp, FLASH_BANK_1, pFlash.VoltageForErase);
 502:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 503:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       else
 504:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /* No more sectors to Erase, user callback can be called */
 506:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /* Reset Sector and stop Erase sectors procedure */
 507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         pFlash.Sector = 0xFFFFFFFFU;
 508:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
 509:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 510:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /* FLASH EOP interrupt user callback */
 511:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         HAL_FLASH_EndOfOperationCallback(pFlash.Sector);
 512:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 513:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /* Clear FLASH End of Operation pending bit */
 514:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         __HAL_FLASH_CLEAR_FLAG_BANK1(FLASH_FLAG_EOP_BANK1);
 515:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 516:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 517:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     else
 518:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       procedure = pFlash.ProcedureOnGoing;
 520:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 521:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       if((procedure == FLASH_PROC_MASSERASE_BANK1) || (procedure == FLASH_PROC_ALLBANK_MASSERASE))
 522:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 523:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /* MassErase ended. Return the selected bank */
 524:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /* FLASH EOP interrupt user callback */
 525:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         HAL_FLASH_EndOfOperationCallback(FLASH_BANK_1);
 526:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 527:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       else if(procedure == FLASH_PROC_PROGRAM_BANK1)
 528:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 529:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /* Program ended. Return the selected address */
 530:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /* FLASH EOP interrupt user callback */
 531:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         HAL_FLASH_EndOfOperationCallback(pFlash.Address);
 532:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 533:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       else
 534:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 535:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /* Nothing to do */
 536:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 537:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 538:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       if((procedure != FLASH_PROC_SECTERASE_BANK2) && \
 539:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****          (procedure != FLASH_PROC_MASSERASE_BANK2) && \
 540:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****          (procedure != FLASH_PROC_PROGRAM_BANK2))
 541:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 542:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
 543:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /* Clear FLASH End of Operation pending bit */
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 11


 544:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         __HAL_FLASH_CLEAR_FLAG_BANK1(FLASH_FLAG_EOP_BANK1);
 545:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 546:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 547:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 548:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 549:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #if defined (DUAL_BANK)
 550:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****  /* Check FLASH Bank2 End of Operation flag  */
 551:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   if(__HAL_FLASH_GET_FLAG_BANK2(FLASH_SR_EOP) != RESET)
 552:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 553:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     if(pFlash.ProcedureOnGoing == FLASH_PROC_SECTERASE_BANK2)
 554:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 555:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       /*Nb of sector to erased can be decreased*/
 556:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       pFlash.NbSectorsToErase--;
 557:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 558:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       /* Check if there are still sectors to erase*/
 559:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       if(pFlash.NbSectorsToErase != 0U)
 560:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 561:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /*Indicate user which sector has been erased*/
 562:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         HAL_FLASH_EndOfOperationCallback(pFlash.Sector);
 563:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 564:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /* Clear bank 2 End of Operation pending bit */
 565:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         __HAL_FLASH_CLEAR_FLAG_BANK2(FLASH_FLAG_EOP_BANK2);
 566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 567:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /*Increment sector number*/
 568:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         pFlash.Sector++;
 569:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         temp = pFlash.Sector;
 570:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         FLASH_Erase_Sector(temp, FLASH_BANK_2, pFlash.VoltageForErase);
 571:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 572:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       else
 573:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /* No more sectors to Erase, user callback can be called */
 575:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /* Reset Sector and stop Erase sectors procedure */
 576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         pFlash.Sector = 0xFFFFFFFFU;
 577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
 578:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 579:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /* FLASH EOP interrupt user callback */
 580:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         HAL_FLASH_EndOfOperationCallback(pFlash.Sector);
 581:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /* Clear FLASH End of Operation pending bit */
 583:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         __HAL_FLASH_CLEAR_FLAG_BANK2(FLASH_FLAG_EOP_BANK2);
 584:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 586:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     else
 587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       procedure = pFlash.ProcedureOnGoing;
 589:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 590:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       if((procedure == FLASH_PROC_MASSERASE_BANK2) || (procedure == FLASH_PROC_ALLBANK_MASSERASE))
 591:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 592:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /*MassErase ended. Return the selected bank*/
 593:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /* FLASH EOP interrupt user callback */
 594:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         HAL_FLASH_EndOfOperationCallback(FLASH_BANK_2);
 595:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 596:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       else if(procedure == FLASH_PROC_PROGRAM_BANK2)
 597:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 598:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /* Program ended. Return the selected address */
 599:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /* FLASH EOP interrupt user callback */
 600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         HAL_FLASH_EndOfOperationCallback(pFlash.Address);
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 12


 601:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 602:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       else
 603:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 604:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /* Nothing to do */
 605:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 607:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       if((procedure != FLASH_PROC_SECTERASE_BANK1) && \
 608:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****          (procedure != FLASH_PROC_MASSERASE_BANK1) && \
 609:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****          (procedure != FLASH_PROC_PROGRAM_BANK1))
 610:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 611:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
 612:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /* Clear FLASH End of Operation pending bit */
 613:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         __HAL_FLASH_CLEAR_FLAG_BANK2(FLASH_FLAG_EOP_BANK2);
 614:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 615:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 616:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 617:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #endif /* DUAL_BANK */
 618:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 619:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* Check FLASH Bank1 operation error flags */
 620:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #if defined (FLASH_SR_OPERR)
 621:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   errorflag = FLASH->SR1 & (FLASH_FLAG_WRPERR_BANK1 | FLASH_FLAG_PGSERR_BANK1 | FLASH_FLAG_STRBERR_
 622:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****                             FLASH_FLAG_INCERR_BANK1 | FLASH_FLAG_OPERR_BANK1);
 623:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #else
 624:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   errorflag = FLASH->SR1 & (FLASH_FLAG_WRPERR_BANK1 | FLASH_FLAG_PGSERR_BANK1 | FLASH_FLAG_STRBERR_
 625:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****                             FLASH_FLAG_INCERR_BANK1);
 626:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #endif /* FLASH_SR_OPERR */
 627:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 628:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   if(errorflag != 0U)
 629:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 630:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Save the error code */
 631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     pFlash.ErrorCode |= errorflag;
 632:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 633:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Clear error programming flags */
 634:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     __HAL_FLASH_CLEAR_FLAG_BANK1(errorflag);
 635:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 636:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     procedure = pFlash.ProcedureOnGoing;
 637:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 638:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     if(procedure == FLASH_PROC_SECTERASE_BANK1)
 639:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 640:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       /* Return the faulty sector */
 641:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       temp = pFlash.Sector;
 642:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       pFlash.Sector = 0xFFFFFFFFU;
 643:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 644:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     else if((procedure == FLASH_PROC_MASSERASE_BANK1) || (procedure == FLASH_PROC_ALLBANK_MASSERASE
 645:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 646:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       /* Return the faulty bank */
 647:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       temp = FLASH_BANK_1;
 648:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 649:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     else
 650:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 651:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       /* Return the faulty address */
 652:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       temp = pFlash.Address;
 653:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 654:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 655:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Stop the procedure ongoing*/
 656:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
 657:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 13


 658:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* FLASH error interrupt user callback */
 659:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     HAL_FLASH_OperationErrorCallback(temp);
 660:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 661:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 662:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #if (USE_FLASH_ECC == 1U)
 663:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* Check FLASH Bank1 ECC single correction error flag */
 664:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   errorflag = FLASH->SR1 & FLASH_FLAG_SNECCERR_BANK1;
 665:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 666:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   if(errorflag != 0U)
 667:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 668:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Save the error code */
 669:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     pFlash.ErrorCode |= errorflag;
 670:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 671:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Call User callback */
 672:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     HAL_FLASHEx_EccCorrectionCallback();
 673:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 674:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Clear FLASH Bank1 ECC single correction error flag in order to allow new ECC error record */
 675:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     __HAL_FLASH_CLEAR_FLAG_BANK1(errorflag);
 676:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 677:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 678:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* Check FLASH Bank1 ECC double detection error flag */
 679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   errorflag = FLASH->SR1 & FLASH_FLAG_DBECCERR_BANK1;
 680:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 681:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   if(errorflag != 0U)
 682:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 683:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Save the error code */
 684:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     pFlash.ErrorCode |= errorflag;
 685:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 686:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Call User callback */
 687:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     HAL_FLASHEx_EccDetectionCallback();
 688:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 689:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Clear FLASH Bank1 ECC double detection error flag in order to allow new ECC error record */
 690:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     __HAL_FLASH_CLEAR_FLAG_BANK1(errorflag);
 691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 692:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #endif /* USE_FLASH_ECC */
 693:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 694:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #if defined (DUAL_BANK)
 695:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* Check FLASH Bank2 operation error flags */
 696:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #if defined (FLASH_SR_OPERR)
 697:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   errorflag = FLASH->SR2 & ((FLASH_FLAG_WRPERR_BANK2 | FLASH_FLAG_PGSERR_BANK2 | FLASH_FLAG_STRBERR
 698:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****                              FLASH_FLAG_INCERR_BANK2 | FLASH_FLAG_OPERR_BANK2) & 0x7FFFFFFFU);
 699:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #else
 700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   errorflag = FLASH->SR2 & ((FLASH_FLAG_WRPERR_BANK2 | FLASH_FLAG_PGSERR_BANK2 | FLASH_FLAG_STRBERR
 701:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****                              FLASH_FLAG_INCERR_BANK2) & 0x7FFFFFFFU);
 702:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #endif /* FLASH_SR_OPERR */
 703:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 704:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   if(errorflag != 0U)
 705:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 706:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Save the error code */
 707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     pFlash.ErrorCode |= (errorflag | 0x80000000U);
 708:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 709:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Clear error programming flags */
 710:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     __HAL_FLASH_CLEAR_FLAG_BANK2(errorflag);
 711:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 712:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     procedure = pFlash.ProcedureOnGoing;
 713:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 714:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     if(procedure== FLASH_PROC_SECTERASE_BANK2)
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 14


 715:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 716:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       /*return the faulty sector*/
 717:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       temp = pFlash.Sector;
 718:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       pFlash.Sector = 0xFFFFFFFFU;
 719:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     else if((procedure == FLASH_PROC_MASSERASE_BANK2) || (procedure == FLASH_PROC_ALLBANK_MASSERASE
 721:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 722:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       /*return the faulty bank*/
 723:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       temp = FLASH_BANK_2;
 724:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 725:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     else
 726:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 727:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       /*return the faulty address*/
 728:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       temp = pFlash.Address;
 729:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 730:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 731:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /*Stop the procedure ongoing*/
 732:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
 733:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 734:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* FLASH error interrupt user callback */
 735:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     HAL_FLASH_OperationErrorCallback(temp);
 736:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 737:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 738:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #if (USE_FLASH_ECC == 1U)
 739:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* Check FLASH Bank2 ECC single correction error flag */
 740:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   errorflag = FLASH->SR2 & FLASH_FLAG_SNECCERR_BANK2;
 741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 742:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   if(errorflag != 0U)
 743:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 744:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Save the error code */
 745:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     pFlash.ErrorCode |= (errorflag | 0x80000000U);
 746:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 747:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Call User callback */
 748:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     HAL_FLASHEx_EccCorrectionCallback();
 749:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 750:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Clear FLASH Bank2 ECC single correction error flag in order to allow new ECC error record */
 751:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     __HAL_FLASH_CLEAR_FLAG_BANK2(errorflag);
 752:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 753:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 754:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* Check FLASH Bank2 ECC double detection error flag */
 755:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   errorflag = FLASH->SR2 & FLASH_FLAG_DBECCERR_BANK2;
 756:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 757:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   if(errorflag != 0U)
 758:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 759:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Save the error code */
 760:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     pFlash.ErrorCode |= (errorflag | 0x80000000U);
 761:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 762:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Call User callback */
 763:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     HAL_FLASHEx_EccDetectionCallback();
 764:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 765:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Clear FLASH Bank2 ECC double detection error flag in order to allow new ECC error record */
 766:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     __HAL_FLASH_CLEAR_FLAG_BANK2(errorflag);
 767:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 768:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 769:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #endif /* USE_FLASH_ECC */
 770:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #endif /* DUAL_BANK */
 771:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 15


 772:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   if(pFlash.ProcedureOnGoing == FLASH_PROC_NONE)
 773:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 774:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #if defined (FLASH_CR_OPERRIE)
 775:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Disable Bank1 Operation and Error source interrupt */
 776:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     __HAL_FLASH_DISABLE_IT_BANK1(FLASH_IT_EOP_BANK1    | FLASH_IT_WRPERR_BANK1 | FLASH_IT_PGSERR_BA
 777:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****                                  FLASH_IT_STRBERR_BANK1 | FLASH_IT_INCERR_BANK1 | FLASH_IT_OPERR_BA
 778:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 779:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #if defined (DUAL_BANK)
 780:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Disable Bank2 Operation and Error source interrupt */
 781:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     __HAL_FLASH_DISABLE_IT_BANK2(FLASH_IT_EOP_BANK2    | FLASH_IT_WRPERR_BANK2 | FLASH_IT_PGSERR_BA
 782:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****                                  FLASH_IT_STRBERR_BANK2 | FLASH_IT_INCERR_BANK2 | FLASH_IT_OPERR_BA
 783:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #endif /* DUAL_BANK */
 784:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #else
 785:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Disable Bank1 Operation and Error source interrupt */
 786:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     __HAL_FLASH_DISABLE_IT_BANK1(FLASH_IT_EOP_BANK1    | FLASH_IT_WRPERR_BANK1 | FLASH_IT_PGSERR_BA
 787:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****                                  FLASH_IT_STRBERR_BANK1 | FLASH_IT_INCERR_BANK1);
 788:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 789:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #if defined (DUAL_BANK)
 790:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Disable Bank2 Operation and Error source interrupt */
 791:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     __HAL_FLASH_DISABLE_IT_BANK2(FLASH_IT_EOP_BANK2    | FLASH_IT_WRPERR_BANK2 | FLASH_IT_PGSERR_BA
 792:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****                                  FLASH_IT_STRBERR_BANK2 | FLASH_IT_INCERR_BANK2);
 793:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #endif /* DUAL_BANK */
 794:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #endif /* FLASH_CR_OPERRIE */
 795:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 796:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Process Unlocked */
 797:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     __HAL_UNLOCK(&pFlash);
 798:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 799:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** }
 800:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 801:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /**
 802:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @brief  FLASH end of operation interrupt callback
 803:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @param  ReturnValue The value saved in this parameter depends on the ongoing procedure
 804:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *                  Mass Erase: Bank number which has been requested to erase
 805:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *                  Sectors Erase: Sector which has been erased
 806:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *                    (if 0xFFFFFFFF, it means that all the selected sectors have been erased)
 807:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *                  Program: Address which was selected for data program
 808:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @retval None
 809:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   */
 810:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** __weak void HAL_FLASH_EndOfOperationCallback(uint32_t ReturnValue)
 811:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** {
  29              		.loc 1 811 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.
 812:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* Prevent unused argument(s) compilation warning */
 813:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   UNUSED(ReturnValue);
  34              		.loc 1 813 3 view .LVU1
 814:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 815:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* NOTE : This function Should not be modified, when the callback is needed,
 816:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****             the HAL_FLASH_EndOfOperationCallback could be implemented in the user file
 817:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****    */
 818:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** }
  35              		.loc 1 818 1 is_stmt 0 view .LVU2
  36 0000 7047     		bx	lr
  37              		.cfi_endproc
  38              	.LFE338:
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 16


  40              		.section	.text.HAL_FLASH_OperationErrorCallback,"ax",%progbits
  41              		.align	1
  42              		.weak	HAL_FLASH_OperationErrorCallback
  43              		.syntax unified
  44              		.thumb
  45              		.thumb_func
  47              	HAL_FLASH_OperationErrorCallback:
  48              	.LVL1:
  49              	.LFB339:
 819:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 820:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /**
 821:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @brief  FLASH operation error interrupt callback
 822:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @param  ReturnValue The value saved in this parameter depends on the ongoing procedure
 823:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *                 Mass Erase: Bank number which has been requested to erase
 824:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *                 Sectors Erase: Sector number which returned an error
 825:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *                 Program: Address which was selected for data program
 826:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @retval None
 827:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   */
 828:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** __weak void HAL_FLASH_OperationErrorCallback(uint32_t ReturnValue)
 829:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** {
  50              		.loc 1 829 1 is_stmt 1 view -0
  51              		.cfi_startproc
  52              		@ args = 0, pretend = 0, frame = 0
  53              		@ frame_needed = 0, uses_anonymous_args = 0
  54              		@ link register save eliminated.
 830:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* Prevent unused argument(s) compilation warning */
 831:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   UNUSED(ReturnValue);
  55              		.loc 1 831 3 view .LVU4
 832:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 833:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* NOTE : This function Should not be modified, when the callback is needed,
 834:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****             the HAL_FLASH_OperationErrorCallback could be implemented in the user file
 835:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****    */
 836:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** }
  56              		.loc 1 836 1 is_stmt 0 view .LVU5
  57 0000 7047     		bx	lr
  58              		.cfi_endproc
  59              	.LFE339:
  61              		.section	.text.HAL_FLASH_IRQHandler,"ax",%progbits
  62              		.align	1
  63              		.global	HAL_FLASH_IRQHandler
  64              		.syntax unified
  65              		.thumb
  66              		.thumb_func
  68              	HAL_FLASH_IRQHandler:
  69              	.LFB337:
 476:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   uint32_t temp;
  70              		.loc 1 476 1 is_stmt 1 view -0
  71              		.cfi_startproc
  72              		@ args = 0, pretend = 0, frame = 0
  73              		@ frame_needed = 0, uses_anonymous_args = 0
  74 0000 10B5     		push	{r4, lr}
  75              		.cfi_def_cfa_offset 8
  76              		.cfi_offset 4, -8
  77              		.cfi_offset 14, -4
 477:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   uint32_t errorflag;
  78              		.loc 1 477 3 view .LVU7
 478:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   FLASH_ProcedureTypeDef procedure;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 17


  79              		.loc 1 478 3 view .LVU8
 479:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
  80              		.loc 1 479 3 view .LVU9
 482:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
  81              		.loc 1 482 3 view .LVU10
 482:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
  82              		.loc 1 482 6 is_stmt 0 view .LVU11
  83 0002 7A4B     		ldr	r3, .L32
  84 0004 1B69     		ldr	r3, [r3, #16]
 482:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
  85              		.loc 1 482 5 view .LVU12
  86 0006 13F4803F 		tst	r3, #65536
  87 000a 17D0     		beq	.L4
 484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
  88              		.loc 1 484 5 is_stmt 1 view .LVU13
 484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
  89              		.loc 1 484 14 is_stmt 0 view .LVU14
  90 000c 784B     		ldr	r3, .L32+4
  91 000e 1B78     		ldrb	r3, [r3]	@ zero_extendqisi2
 484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
  92              		.loc 1 484 7 view .LVU15
  93 0010 012B     		cmp	r3, #1
  94 0012 49D0     		beq	.L24
 519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
  95              		.loc 1 519 7 is_stmt 1 view .LVU16
 519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
  96              		.loc 1 519 17 is_stmt 0 view .LVU17
  97 0014 764B     		ldr	r3, .L32+4
  98 0016 1B78     		ldrb	r3, [r3]	@ zero_extendqisi2
  99 0018 DCB2     		uxtb	r4, r3
 100              	.LVL2:
 521:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 101              		.loc 1 521 7 is_stmt 1 view .LVU18
 521:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 102              		.loc 1 521 9 is_stmt 0 view .LVU19
 103 001a 072B     		cmp	r3, #7
 104 001c 18BF     		it	ne
 105 001e 022B     		cmpne	r3, #2
 106 0020 67D0     		beq	.L25
 527:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 107              		.loc 1 527 12 is_stmt 1 view .LVU20
 527:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 108              		.loc 1 527 14 is_stmt 0 view .LVU21
 109 0022 032C     		cmp	r4, #3
 110 0024 69D0     		beq	.L26
 111              	.L8:
 536:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 112              		.loc 1 536 7 is_stmt 1 view .LVU22
 538:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****          (procedure != FLASH_PROC_MASSERASE_BANK2) && \
 113              		.loc 1 538 7 view .LVU23
 539:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****          (procedure != FLASH_PROC_PROGRAM_BANK2))
 114              		.loc 1 539 52 is_stmt 0 view .LVU24
 115 0026 043C     		subs	r4, r4, #4
 116              	.LVL3:
 539:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****          (procedure != FLASH_PROC_PROGRAM_BANK2))
 117              		.loc 1 539 52 view .LVU25
 118 0028 E4B2     		uxtb	r4, r4
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 18


 119              	.LVL4:
 538:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****          (procedure != FLASH_PROC_MASSERASE_BANK2) && \
 120              		.loc 1 538 9 view .LVU26
 121 002a 022C     		cmp	r4, #2
 122 002c 06D9     		bls	.L4
 542:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /* Clear FLASH End of Operation pending bit */
 123              		.loc 1 542 9 is_stmt 1 view .LVU27
 542:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /* Clear FLASH End of Operation pending bit */
 124              		.loc 1 542 33 is_stmt 0 view .LVU28
 125 002e 704B     		ldr	r3, .L32+4
 126 0030 0022     		movs	r2, #0
 127 0032 1A70     		strb	r2, [r3]
 544:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 128              		.loc 1 544 9 is_stmt 1 view .LVU29
 129 0034 6D4B     		ldr	r3, .L32
 130 0036 4FF48032 		mov	r2, #65536
 131 003a 5A61     		str	r2, [r3, #20]
 132              	.LVL5:
 133              	.L4:
 551:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 134              		.loc 1 551 3 view .LVU30
 551:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 135              		.loc 1 551 6 is_stmt 0 view .LVU31
 136 003c 6B4B     		ldr	r3, .L32
 137 003e D3F81031 		ldr	r3, [r3, #272]
 551:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 138              		.loc 1 551 5 view .LVU32
 139 0042 13F4803F 		tst	r3, #65536
 140 0046 18D0     		beq	.L9
 553:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 141              		.loc 1 553 5 is_stmt 1 view .LVU33
 553:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 142              		.loc 1 553 14 is_stmt 0 view .LVU34
 143 0048 694B     		ldr	r3, .L32+4
 144 004a 1B78     		ldrb	r3, [r3]	@ zero_extendqisi2
 553:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 145              		.loc 1 553 7 view .LVU35
 146 004c 042B     		cmp	r3, #4
 147 004e 59D0     		beq	.L27
 588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 148              		.loc 1 588 7 is_stmt 1 view .LVU36
 588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 149              		.loc 1 588 17 is_stmt 0 view .LVU37
 150 0050 674B     		ldr	r3, .L32+4
 151 0052 1B78     		ldrb	r3, [r3]	@ zero_extendqisi2
 152 0054 DCB2     		uxtb	r4, r3
 153              	.LVL6:
 590:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 154              		.loc 1 590 7 is_stmt 1 view .LVU38
 590:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 155              		.loc 1 590 9 is_stmt 0 view .LVU39
 156 0056 072B     		cmp	r3, #7
 157 0058 18BF     		it	ne
 158 005a 052B     		cmpne	r3, #5
 159 005c 79D0     		beq	.L28
 596:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 160              		.loc 1 596 12 is_stmt 1 view .LVU40
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 19


 596:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 161              		.loc 1 596 14 is_stmt 0 view .LVU41
 162 005e 062C     		cmp	r4, #6
 163 0060 7BD0     		beq	.L29
 164              	.L13:
 605:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 165              		.loc 1 605 7 is_stmt 1 view .LVU42
 607:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****          (procedure != FLASH_PROC_MASSERASE_BANK1) && \
 166              		.loc 1 607 7 view .LVU43
 608:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****          (procedure != FLASH_PROC_PROGRAM_BANK1))
 167              		.loc 1 608 52 is_stmt 0 view .LVU44
 168 0062 013C     		subs	r4, r4, #1
 169              	.LVL7:
 608:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****          (procedure != FLASH_PROC_PROGRAM_BANK1))
 170              		.loc 1 608 52 view .LVU45
 171 0064 E4B2     		uxtb	r4, r4
 172              	.LVL8:
 607:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****          (procedure != FLASH_PROC_MASSERASE_BANK1) && \
 173              		.loc 1 607 9 view .LVU46
 174 0066 022C     		cmp	r4, #2
 175 0068 07D9     		bls	.L9
 611:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /* Clear FLASH End of Operation pending bit */
 176              		.loc 1 611 9 is_stmt 1 view .LVU47
 611:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         /* Clear FLASH End of Operation pending bit */
 177              		.loc 1 611 33 is_stmt 0 view .LVU48
 178 006a 614B     		ldr	r3, .L32+4
 179 006c 0022     		movs	r2, #0
 180 006e 1A70     		strb	r2, [r3]
 613:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 181              		.loc 1 613 9 is_stmt 1 view .LVU49
 182 0070 5E4B     		ldr	r3, .L32
 183 0072 4FF48032 		mov	r2, #65536
 184 0076 C3F81421 		str	r2, [r3, #276]
 185              	.LVL9:
 186              	.L9:
 624:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****                             FLASH_FLAG_INCERR_BANK1);
 187              		.loc 1 624 3 view .LVU50
 624:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****                             FLASH_FLAG_INCERR_BANK1);
 188              		.loc 1 624 20 is_stmt 0 view .LVU51
 189 007a 5C4B     		ldr	r3, .L32
 190 007c 1B69     		ldr	r3, [r3, #16]
 191              	.LVL10:
 628:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 192              		.loc 1 628 3 is_stmt 1 view .LVU52
 628:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 193              		.loc 1 628 5 is_stmt 0 view .LVU53
 194 007e 13F43813 		ands	r3, r3, #3014656
 195              	.LVL11:
 628:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 196              		.loc 1 628 5 view .LVU54
 197 0082 79D0     		beq	.L14
 631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 198              		.loc 1 631 5 is_stmt 1 view .LVU55
 631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 199              		.loc 1 631 11 is_stmt 0 view .LVU56
 200 0084 5A4A     		ldr	r2, .L32+4
 201 0086 9169     		ldr	r1, [r2, #24]
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 20


 631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 202              		.loc 1 631 22 view .LVU57
 203 0088 1943     		orrs	r1, r1, r3
 204 008a 9161     		str	r1, [r2, #24]
 634:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 205              		.loc 1 634 5 is_stmt 1 view .LVU58
 206 008c 5749     		ldr	r1, .L32
 207 008e 4B61     		str	r3, [r1, #20]
 636:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 208              		.loc 1 636 5 view .LVU59
 636:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 209              		.loc 1 636 15 is_stmt 0 view .LVU60
 210 0090 1378     		ldrb	r3, [r2]	@ zero_extendqisi2
 211              	.LVL12:
 636:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 212              		.loc 1 636 15 view .LVU61
 213 0092 DAB2     		uxtb	r2, r3
 214              	.LVL13:
 638:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 215              		.loc 1 638 5 is_stmt 1 view .LVU62
 638:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 216              		.loc 1 638 7 is_stmt 0 view .LVU63
 217 0094 012B     		cmp	r3, #1
 218 0096 65D0     		beq	.L30
 644:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 219              		.loc 1 644 10 is_stmt 1 view .LVU64
 644:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 220              		.loc 1 644 12 is_stmt 0 view .LVU65
 221 0098 072A     		cmp	r2, #7
 222 009a 18BF     		it	ne
 223 009c 022A     		cmpne	r2, #2
 224 009e 00F08580 		beq	.L21
 652:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 225              		.loc 1 652 7 is_stmt 1 view .LVU66
 652:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 226              		.loc 1 652 12 is_stmt 0 view .LVU67
 227 00a2 534B     		ldr	r3, .L32+4
 228 00a4 1869     		ldr	r0, [r3, #16]
 229              	.LVL14:
 652:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 230              		.loc 1 652 12 view .LVU68
 231 00a6 62E0     		b	.L16
 232              	.LVL15:
 233              	.L24:
 487:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 234              		.loc 1 487 7 is_stmt 1 view .LVU69
 487:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 235              		.loc 1 487 13 is_stmt 0 view .LVU70
 236 00a8 514B     		ldr	r3, .L32+4
 237 00aa 5A68     		ldr	r2, [r3, #4]
 487:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 238              		.loc 1 487 30 view .LVU71
 239 00ac 013A     		subs	r2, r2, #1
 240 00ae 5A60     		str	r2, [r3, #4]
 490:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 241              		.loc 1 490 7 is_stmt 1 view .LVU72
 490:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 21


 242              		.loc 1 490 16 is_stmt 0 view .LVU73
 243 00b0 5B68     		ldr	r3, [r3, #4]
 490:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 244              		.loc 1 490 9 view .LVU74
 245 00b2 83B1     		cbz	r3, .L6
 493:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 246              		.loc 1 493 9 is_stmt 1 view .LVU75
 493:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 247              		.loc 1 493 48 is_stmt 0 view .LVU76
 248 00b4 4E4C     		ldr	r4, .L32+4
 249 00b6 E068     		ldr	r0, [r4, #12]
 493:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 250              		.loc 1 493 9 view .LVU77
 251 00b8 FFF7FEFF 		bl	HAL_FLASH_EndOfOperationCallback
 252              	.LVL16:
 496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 253              		.loc 1 496 9 is_stmt 1 view .LVU78
 254 00bc 4B4B     		ldr	r3, .L32
 255 00be 4FF48032 		mov	r2, #65536
 256 00c2 5A61     		str	r2, [r3, #20]
 499:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         temp = pFlash.Sector;
 257              		.loc 1 499 9 view .LVU79
 499:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         temp = pFlash.Sector;
 258              		.loc 1 499 15 is_stmt 0 view .LVU80
 259 00c4 E368     		ldr	r3, [r4, #12]
 499:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         temp = pFlash.Sector;
 260              		.loc 1 499 22 view .LVU81
 261 00c6 0133     		adds	r3, r3, #1
 262 00c8 E360     		str	r3, [r4, #12]
 500:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         FLASH_Erase_Sector(temp, FLASH_BANK_1, pFlash.VoltageForErase);
 263              		.loc 1 500 9 is_stmt 1 view .LVU82
 500:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         FLASH_Erase_Sector(temp, FLASH_BANK_1, pFlash.VoltageForErase);
 264              		.loc 1 500 14 is_stmt 0 view .LVU83
 265 00ca E068     		ldr	r0, [r4, #12]
 266              	.LVL17:
 501:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 267              		.loc 1 501 9 is_stmt 1 view .LVU84
 501:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 268              		.loc 1 501 54 is_stmt 0 view .LVU85
 269 00cc A268     		ldr	r2, [r4, #8]
 501:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 270              		.loc 1 501 9 view .LVU86
 271 00ce 0121     		movs	r1, #1
 272 00d0 FFF7FEFF 		bl	FLASH_Erase_Sector
 273              	.LVL18:
 501:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 274              		.loc 1 501 9 view .LVU87
 275 00d4 B2E7     		b	.L4
 276              	.LVL19:
 277              	.L6:
 507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
 278              		.loc 1 507 9 is_stmt 1 view .LVU88
 507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
 279              		.loc 1 507 23 is_stmt 0 view .LVU89
 280 00d6 464B     		ldr	r3, .L32+4
 281 00d8 4FF0FF32 		mov	r2, #-1
 282 00dc DA60     		str	r2, [r3, #12]
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 22


 508:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 283              		.loc 1 508 9 is_stmt 1 view .LVU90
 508:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 284              		.loc 1 508 33 is_stmt 0 view .LVU91
 285 00de 0022     		movs	r2, #0
 286 00e0 1A70     		strb	r2, [r3]
 511:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 287              		.loc 1 511 9 is_stmt 1 view .LVU92
 511:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 288              		.loc 1 511 48 is_stmt 0 view .LVU93
 289 00e2 D868     		ldr	r0, [r3, #12]
 511:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 290              		.loc 1 511 9 view .LVU94
 291 00e4 FFF7FEFF 		bl	HAL_FLASH_EndOfOperationCallback
 292              	.LVL20:
 514:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 293              		.loc 1 514 9 is_stmt 1 view .LVU95
 294 00e8 404B     		ldr	r3, .L32
 295 00ea 4FF48032 		mov	r2, #65536
 296 00ee 5A61     		str	r2, [r3, #20]
 297 00f0 A4E7     		b	.L4
 298              	.LVL21:
 299              	.L25:
 525:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 300              		.loc 1 525 9 view .LVU96
 301 00f2 0120     		movs	r0, #1
 302 00f4 FFF7FEFF 		bl	HAL_FLASH_EndOfOperationCallback
 303              	.LVL22:
 304 00f8 95E7     		b	.L8
 305              	.L26:
 531:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 306              		.loc 1 531 9 view .LVU97
 531:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 307              		.loc 1 531 48 is_stmt 0 view .LVU98
 308 00fa 3D4B     		ldr	r3, .L32+4
 309 00fc 1869     		ldr	r0, [r3, #16]
 531:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 310              		.loc 1 531 9 view .LVU99
 311 00fe FFF7FEFF 		bl	HAL_FLASH_EndOfOperationCallback
 312              	.LVL23:
 313 0102 90E7     		b	.L8
 314              	.LVL24:
 315              	.L27:
 556:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 316              		.loc 1 556 7 is_stmt 1 view .LVU100
 556:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 317              		.loc 1 556 13 is_stmt 0 view .LVU101
 318 0104 3A4B     		ldr	r3, .L32+4
 319 0106 5A68     		ldr	r2, [r3, #4]
 556:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 320              		.loc 1 556 30 view .LVU102
 321 0108 013A     		subs	r2, r2, #1
 322 010a 5A60     		str	r2, [r3, #4]
 559:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 323              		.loc 1 559 7 is_stmt 1 view .LVU103
 559:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 324              		.loc 1 559 16 is_stmt 0 view .LVU104
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 23


 325 010c 5B68     		ldr	r3, [r3, #4]
 559:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 326              		.loc 1 559 9 view .LVU105
 327 010e 8BB1     		cbz	r3, .L11
 562:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 328              		.loc 1 562 9 is_stmt 1 view .LVU106
 562:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 329              		.loc 1 562 48 is_stmt 0 view .LVU107
 330 0110 374C     		ldr	r4, .L32+4
 331 0112 E068     		ldr	r0, [r4, #12]
 562:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 332              		.loc 1 562 9 view .LVU108
 333 0114 FFF7FEFF 		bl	HAL_FLASH_EndOfOperationCallback
 334              	.LVL25:
 565:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 335              		.loc 1 565 9 is_stmt 1 view .LVU109
 336 0118 344B     		ldr	r3, .L32
 337 011a 4FF48032 		mov	r2, #65536
 338 011e C3F81421 		str	r2, [r3, #276]
 568:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         temp = pFlash.Sector;
 339              		.loc 1 568 9 view .LVU110
 568:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         temp = pFlash.Sector;
 340              		.loc 1 568 15 is_stmt 0 view .LVU111
 341 0122 E368     		ldr	r3, [r4, #12]
 568:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         temp = pFlash.Sector;
 342              		.loc 1 568 22 view .LVU112
 343 0124 0133     		adds	r3, r3, #1
 344 0126 E360     		str	r3, [r4, #12]
 569:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         FLASH_Erase_Sector(temp, FLASH_BANK_2, pFlash.VoltageForErase);
 345              		.loc 1 569 9 is_stmt 1 view .LVU113
 569:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         FLASH_Erase_Sector(temp, FLASH_BANK_2, pFlash.VoltageForErase);
 346              		.loc 1 569 14 is_stmt 0 view .LVU114
 347 0128 E068     		ldr	r0, [r4, #12]
 348              	.LVL26:
 570:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 349              		.loc 1 570 9 is_stmt 1 view .LVU115
 570:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 350              		.loc 1 570 54 is_stmt 0 view .LVU116
 351 012a A268     		ldr	r2, [r4, #8]
 570:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 352              		.loc 1 570 9 view .LVU117
 353 012c 0221     		movs	r1, #2
 354 012e FFF7FEFF 		bl	FLASH_Erase_Sector
 355              	.LVL27:
 570:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 356              		.loc 1 570 9 view .LVU118
 357 0132 A2E7     		b	.L9
 358              	.LVL28:
 359              	.L11:
 576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
 360              		.loc 1 576 9 is_stmt 1 view .LVU119
 576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
 361              		.loc 1 576 23 is_stmt 0 view .LVU120
 362 0134 2E4B     		ldr	r3, .L32+4
 363 0136 4FF0FF32 		mov	r2, #-1
 364 013a DA60     		str	r2, [r3, #12]
 577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 24


 365              		.loc 1 577 9 is_stmt 1 view .LVU121
 577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 366              		.loc 1 577 33 is_stmt 0 view .LVU122
 367 013c 0022     		movs	r2, #0
 368 013e 1A70     		strb	r2, [r3]
 580:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 369              		.loc 1 580 9 is_stmt 1 view .LVU123
 580:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 370              		.loc 1 580 48 is_stmt 0 view .LVU124
 371 0140 D868     		ldr	r0, [r3, #12]
 580:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 372              		.loc 1 580 9 view .LVU125
 373 0142 FFF7FEFF 		bl	HAL_FLASH_EndOfOperationCallback
 374              	.LVL29:
 583:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 375              		.loc 1 583 9 is_stmt 1 view .LVU126
 376 0146 294B     		ldr	r3, .L32
 377 0148 4FF48032 		mov	r2, #65536
 378 014c C3F81421 		str	r2, [r3, #276]
 379 0150 93E7     		b	.L9
 380              	.LVL30:
 381              	.L28:
 594:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 382              		.loc 1 594 9 view .LVU127
 383 0152 0220     		movs	r0, #2
 384 0154 FFF7FEFF 		bl	HAL_FLASH_EndOfOperationCallback
 385              	.LVL31:
 386 0158 83E7     		b	.L13
 387              	.L29:
 600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 388              		.loc 1 600 9 view .LVU128
 600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 389              		.loc 1 600 48 is_stmt 0 view .LVU129
 390 015a 254B     		ldr	r3, .L32+4
 391 015c 1869     		ldr	r0, [r3, #16]
 600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 392              		.loc 1 600 9 view .LVU130
 393 015e FFF7FEFF 		bl	HAL_FLASH_EndOfOperationCallback
 394              	.LVL32:
 395 0162 7EE7     		b	.L13
 396              	.LVL33:
 397              	.L30:
 641:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       pFlash.Sector = 0xFFFFFFFFU;
 398              		.loc 1 641 7 is_stmt 1 view .LVU131
 641:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       pFlash.Sector = 0xFFFFFFFFU;
 399              		.loc 1 641 12 is_stmt 0 view .LVU132
 400 0164 224B     		ldr	r3, .L32+4
 401 0166 D868     		ldr	r0, [r3, #12]
 402              	.LVL34:
 642:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 403              		.loc 1 642 7 is_stmt 1 view .LVU133
 642:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 404              		.loc 1 642 21 is_stmt 0 view .LVU134
 405 0168 4FF0FF32 		mov	r2, #-1
 406              	.LVL35:
 642:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 407              		.loc 1 642 21 view .LVU135
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 25


 408 016c DA60     		str	r2, [r3, #12]
 409              	.LVL36:
 410              	.L16:
 656:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 411              		.loc 1 656 5 is_stmt 1 view .LVU136
 656:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 412              		.loc 1 656 29 is_stmt 0 view .LVU137
 413 016e 204B     		ldr	r3, .L32+4
 656:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 414              		.loc 1 656 29 view .LVU138
 415 0170 0022     		movs	r2, #0
 416 0172 1A70     		strb	r2, [r3]
 417              	.LVL37:
 659:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 418              		.loc 1 659 5 is_stmt 1 view .LVU139
 419 0174 FFF7FEFF 		bl	HAL_FLASH_OperationErrorCallback
 420              	.LVL38:
 421              	.L14:
 700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****                              FLASH_FLAG_INCERR_BANK2) & 0x7FFFFFFFU);
 422              		.loc 1 700 3 view .LVU140
 700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****                              FLASH_FLAG_INCERR_BANK2) & 0x7FFFFFFFU);
 423              		.loc 1 700 20 is_stmt 0 view .LVU141
 424 0178 1C4B     		ldr	r3, .L32
 425 017a D3F81031 		ldr	r3, [r3, #272]
 426              	.LVL39:
 704:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 427              		.loc 1 704 3 is_stmt 1 view .LVU142
 704:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 428              		.loc 1 704 5 is_stmt 0 view .LVU143
 429 017e 13F43813 		ands	r3, r3, #3014656
 430              	.LVL40:
 704:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 431              		.loc 1 704 5 view .LVU144
 432 0182 1ED0     		beq	.L17
 707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 433              		.loc 1 707 5 is_stmt 1 view .LVU145
 707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 434              		.loc 1 707 11 is_stmt 0 view .LVU146
 435 0184 1A49     		ldr	r1, .L32+4
 436 0186 8A69     		ldr	r2, [r1, #24]
 707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 437              		.loc 1 707 22 view .LVU147
 438 0188 1A43     		orrs	r2, r2, r3
 439 018a 42F00042 		orr	r2, r2, #-2147483648
 440 018e 8A61     		str	r2, [r1, #24]
 710:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 441              		.loc 1 710 5 is_stmt 1 view .LVU148
 442 0190 164A     		ldr	r2, .L32
 443 0192 C2F81431 		str	r3, [r2, #276]
 712:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 444              		.loc 1 712 5 view .LVU149
 712:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 445              		.loc 1 712 15 is_stmt 0 view .LVU150
 446 0196 0B78     		ldrb	r3, [r1]	@ zero_extendqisi2
 447              	.LVL41:
 712:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 448              		.loc 1 712 15 view .LVU151
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 26


 449 0198 DAB2     		uxtb	r2, r3
 450              	.LVL42:
 714:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 451              		.loc 1 714 5 is_stmt 1 view .LVU152
 714:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 452              		.loc 1 714 7 is_stmt 0 view .LVU153
 453 019a 042B     		cmp	r3, #4
 454 019c 08D0     		beq	.L31
 720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 455              		.loc 1 720 10 is_stmt 1 view .LVU154
 720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 456              		.loc 1 720 12 is_stmt 0 view .LVU155
 457 019e 072A     		cmp	r2, #7
 458 01a0 18BF     		it	ne
 459 01a2 052A     		cmpne	r2, #5
 460 01a4 1FD0     		beq	.L22
 728:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 461              		.loc 1 728 7 is_stmt 1 view .LVU156
 728:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 462              		.loc 1 728 12 is_stmt 0 view .LVU157
 463 01a6 124B     		ldr	r3, .L32+4
 464 01a8 1869     		ldr	r0, [r3, #16]
 465              	.LVL43:
 728:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 466              		.loc 1 728 12 view .LVU158
 467 01aa 05E0     		b	.L19
 468              	.LVL44:
 469              	.L21:
 647:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 470              		.loc 1 647 12 view .LVU159
 471 01ac 0120     		movs	r0, #1
 472 01ae DEE7     		b	.L16
 473              	.LVL45:
 474              	.L31:
 717:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       pFlash.Sector = 0xFFFFFFFFU;
 475              		.loc 1 717 7 is_stmt 1 view .LVU160
 717:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       pFlash.Sector = 0xFFFFFFFFU;
 476              		.loc 1 717 12 is_stmt 0 view .LVU161
 477 01b0 C868     		ldr	r0, [r1, #12]
 478              	.LVL46:
 718:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 479              		.loc 1 718 7 is_stmt 1 view .LVU162
 718:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 480              		.loc 1 718 21 is_stmt 0 view .LVU163
 481 01b2 4FF0FF32 		mov	r2, #-1
 482              	.LVL47:
 718:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 483              		.loc 1 718 21 view .LVU164
 484 01b6 CA60     		str	r2, [r1, #12]
 485              	.LVL48:
 486              	.L19:
 732:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 487              		.loc 1 732 5 is_stmt 1 view .LVU165
 732:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 488              		.loc 1 732 29 is_stmt 0 view .LVU166
 489 01b8 0D4B     		ldr	r3, .L32+4
 490 01ba 0022     		movs	r2, #0
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 27


 491 01bc 1A70     		strb	r2, [r3]
 492              	.LVL49:
 735:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 493              		.loc 1 735 5 is_stmt 1 view .LVU167
 494 01be FFF7FEFF 		bl	HAL_FLASH_OperationErrorCallback
 495              	.LVL50:
 496              	.L17:
 772:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 497              		.loc 1 772 3 view .LVU168
 772:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 498              		.loc 1 772 12 is_stmt 0 view .LVU169
 499 01c2 0B4B     		ldr	r3, .L32+4
 500 01c4 1B78     		ldrb	r3, [r3]	@ zero_extendqisi2
 772:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 501              		.loc 1 772 5 view .LVU170
 502 01c6 6BB9     		cbnz	r3, .L3
 786:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****                                  FLASH_IT_STRBERR_BANK1 | FLASH_IT_INCERR_BANK1);
 503              		.loc 1 786 5 is_stmt 1 view .LVU171
 504 01c8 084B     		ldr	r3, .L32
 505 01ca DA68     		ldr	r2, [r3, #12]
 506 01cc 22F43C12 		bic	r2, r2, #3080192
 507 01d0 DA60     		str	r2, [r3, #12]
 791:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****                                  FLASH_IT_STRBERR_BANK2 | FLASH_IT_INCERR_BANK2);
 508              		.loc 1 791 5 view .LVU172
 509 01d2 D3F80C21 		ldr	r2, [r3, #268]
 510 01d6 22F43C12 		bic	r2, r2, #3080192
 511 01da C3F80C21 		str	r2, [r3, #268]
 797:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 512              		.loc 1 797 5 view .LVU173
 797:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 513              		.loc 1 797 5 view .LVU174
 514 01de 044B     		ldr	r3, .L32+4
 515 01e0 0022     		movs	r2, #0
 516 01e2 1A75     		strb	r2, [r3, #20]
 797:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 517              		.loc 1 797 5 discriminator 1 view .LVU175
 518              	.L3:
 799:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 519              		.loc 1 799 1 is_stmt 0 view .LVU176
 520 01e4 10BD     		pop	{r4, pc}
 521              	.LVL51:
 522              	.L22:
 723:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 523              		.loc 1 723 12 view .LVU177
 524 01e6 0220     		movs	r0, #2
 525 01e8 E6E7     		b	.L19
 526              	.L33:
 527 01ea 00BF     		.align	2
 528              	.L32:
 529 01ec 00200052 		.word	1375739904
 530 01f0 00000000 		.word	pFlash
 531              		.cfi_endproc
 532              	.LFE337:
 534              		.section	.text.HAL_FLASH_Unlock,"ax",%progbits
 535              		.align	1
 536              		.global	HAL_FLASH_Unlock
 537              		.syntax unified
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 28


 538              		.thumb
 539              		.thumb_func
 541              	HAL_FLASH_Unlock:
 542              	.LFB340:
 837:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 838:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /**
 839:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @}
 840:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   */
 841:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 842:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /** @defgroup FLASH_Exported_Functions_Group2 Peripheral Control functions
 843:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *  @brief   Management functions
 844:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *
 845:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** @verbatim
 846:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****  ===============================================================================
 847:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****                       ##### Peripheral Control functions #####
 848:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****  ===============================================================================
 849:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     [..]
 850:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     This subsection provides a set of functions allowing to control the FLASH
 851:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     memory operations.
 852:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 853:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** @endverbatim
 854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @{
 855:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   */
 856:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 857:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /**
 858:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @brief  Unlock the FLASH control registers access
 859:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @retval HAL Status
 860:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   */
 861:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_Unlock(void)
 862:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** {
 543              		.loc 1 862 1 is_stmt 1 view -0
 544              		.cfi_startproc
 545              		@ args = 0, pretend = 0, frame = 0
 546              		@ frame_needed = 0, uses_anonymous_args = 0
 547              		@ link register save eliminated.
 863:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   if(READ_BIT(FLASH->CR1, FLASH_CR_LOCK) != 0U)
 548              		.loc 1 863 3 view .LVU179
 549              		.loc 1 863 6 is_stmt 0 view .LVU180
 550 0000 144B     		ldr	r3, .L40
 551 0002 DB68     		ldr	r3, [r3, #12]
 552              		.loc 1 863 5 view .LVU181
 553 0004 13F0010F 		tst	r3, #1
 554 0008 09D0     		beq	.L35
 864:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 865:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Authorize the FLASH Bank1 Registers access */
 866:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     WRITE_REG(FLASH->KEYR1, FLASH_KEY1);
 555              		.loc 1 866 5 is_stmt 1 view .LVU182
 556 000a 124B     		ldr	r3, .L40
 557 000c 124A     		ldr	r2, .L40+4
 558 000e 5A60     		str	r2, [r3, #4]
 867:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     WRITE_REG(FLASH->KEYR1, FLASH_KEY2);
 559              		.loc 1 867 5 view .LVU183
 560 0010 02F18832 		add	r2, r2, #-2004318072
 561 0014 5A60     		str	r2, [r3, #4]
 868:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 869:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Verify Flash Bank1 is unlocked */
 870:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     if (READ_BIT(FLASH->CR1, FLASH_CR_LOCK) != 0U)
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 29


 562              		.loc 1 870 5 view .LVU184
 563              		.loc 1 870 9 is_stmt 0 view .LVU185
 564 0016 DB68     		ldr	r3, [r3, #12]
 565              		.loc 1 870 8 view .LVU186
 566 0018 13F0010F 		tst	r3, #1
 567 001c 14D1     		bne	.L37
 568              	.L35:
 871:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 872:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       return HAL_ERROR;
 873:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 874:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 875:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 876:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #if defined (DUAL_BANK)
 877:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   if(READ_BIT(FLASH->CR2, FLASH_CR_LOCK) != 0U)
 569              		.loc 1 877 3 is_stmt 1 view .LVU187
 570              		.loc 1 877 6 is_stmt 0 view .LVU188
 571 001e 0D4B     		ldr	r3, .L40
 572 0020 D3F80C31 		ldr	r3, [r3, #268]
 573              		.loc 1 877 5 view .LVU189
 574 0024 13F0010F 		tst	r3, #1
 575 0028 10D0     		beq	.L38
 878:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 879:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Authorize the FLASH Bank2 Registers access */
 880:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     WRITE_REG(FLASH->KEYR2, FLASH_KEY1);
 576              		.loc 1 880 5 is_stmt 1 view .LVU190
 577 002a 0A4B     		ldr	r3, .L40
 578 002c 0A4A     		ldr	r2, .L40+4
 579 002e C3F80421 		str	r2, [r3, #260]
 881:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     WRITE_REG(FLASH->KEYR2, FLASH_KEY2);
 580              		.loc 1 881 5 view .LVU191
 581 0032 02F18832 		add	r2, r2, #-2004318072
 582 0036 C3F80421 		str	r2, [r3, #260]
 882:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 883:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Verify Flash Bank2 is unlocked */
 884:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     if (READ_BIT(FLASH->CR2, FLASH_CR_LOCK) != 0U)
 583              		.loc 1 884 5 view .LVU192
 584              		.loc 1 884 9 is_stmt 0 view .LVU193
 585 003a D3F80C31 		ldr	r3, [r3, #268]
 586              		.loc 1 884 8 view .LVU194
 587 003e 13F0010F 		tst	r3, #1
 588 0042 05D1     		bne	.L39
 885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 886:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       return HAL_ERROR;
 887:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 888:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 889:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #endif /* DUAL_BANK */
 890:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 891:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   return HAL_OK;
 589              		.loc 1 891 10 view .LVU195
 590 0044 0020     		movs	r0, #0
 591 0046 7047     		bx	lr
 592              	.L37:
 872:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 593              		.loc 1 872 14 view .LVU196
 594 0048 0120     		movs	r0, #1
 595 004a 7047     		bx	lr
 596              	.L38:
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 30


 597              		.loc 1 891 10 view .LVU197
 598 004c 0020     		movs	r0, #0
 599 004e 7047     		bx	lr
 600              	.L39:
 886:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 601              		.loc 1 886 14 view .LVU198
 602 0050 0120     		movs	r0, #1
 892:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** }
 603              		.loc 1 892 1 view .LVU199
 604 0052 7047     		bx	lr
 605              	.L41:
 606              		.align	2
 607              	.L40:
 608 0054 00200052 		.word	1375739904
 609 0058 23016745 		.word	1164378403
 610              		.cfi_endproc
 611              	.LFE340:
 613              		.section	.text.HAL_FLASH_Lock,"ax",%progbits
 614              		.align	1
 615              		.global	HAL_FLASH_Lock
 616              		.syntax unified
 617              		.thumb
 618              		.thumb_func
 620              	HAL_FLASH_Lock:
 621              	.LFB341:
 893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 894:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /**
 895:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @brief  Locks the FLASH control registers access
 896:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @retval HAL Status
 897:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   */
 898:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_Lock(void)
 899:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** {
 622              		.loc 1 899 1 is_stmt 1 view -0
 623              		.cfi_startproc
 624              		@ args = 0, pretend = 0, frame = 0
 625              		@ frame_needed = 0, uses_anonymous_args = 0
 626              		@ link register save eliminated.
 900:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* Set the LOCK Bit to lock the FLASH Bank1 Control Register access */
 901:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   SET_BIT(FLASH->CR1, FLASH_CR_LOCK);
 627              		.loc 1 901 3 view .LVU201
 628 0000 0D4B     		ldr	r3, .L46
 629 0002 DA68     		ldr	r2, [r3, #12]
 630 0004 42F00102 		orr	r2, r2, #1
 631 0008 DA60     		str	r2, [r3, #12]
 902:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* Verify Flash Bank1 is locked */
 904:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   if (READ_BIT(FLASH->CR1, FLASH_CR_LOCK) == 0U)
 632              		.loc 1 904 3 view .LVU202
 633              		.loc 1 904 7 is_stmt 0 view .LVU203
 634 000a DB68     		ldr	r3, [r3, #12]
 635              		.loc 1 904 6 view .LVU204
 636 000c 13F0010F 		tst	r3, #1
 637 0010 0DD0     		beq	.L44
 905:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 906:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     return HAL_ERROR;
 907:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 908:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 31


 909:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #if defined (DUAL_BANK)
 910:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* Set the LOCK Bit to lock the FLASH Bank2 Control Register access */
 911:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   SET_BIT(FLASH->CR2, FLASH_CR_LOCK);
 638              		.loc 1 911 3 is_stmt 1 view .LVU205
 639 0012 094B     		ldr	r3, .L46
 640 0014 D3F80C21 		ldr	r2, [r3, #268]
 641 0018 42F00102 		orr	r2, r2, #1
 642 001c C3F80C21 		str	r2, [r3, #268]
 912:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 913:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* Verify Flash Bank2 is locked */
 914:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   if (READ_BIT(FLASH->CR2, FLASH_CR_LOCK) == 0U)
 643              		.loc 1 914 3 view .LVU206
 644              		.loc 1 914 7 is_stmt 0 view .LVU207
 645 0020 D3F80C31 		ldr	r3, [r3, #268]
 646              		.loc 1 914 6 view .LVU208
 647 0024 13F0010F 		tst	r3, #1
 648 0028 03D0     		beq	.L45
 915:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 916:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     return HAL_ERROR;
 917:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 918:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #endif /* DUAL_BANK */
 919:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 920:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   return HAL_OK;
 649              		.loc 1 920 10 view .LVU209
 650 002a 0020     		movs	r0, #0
 651 002c 7047     		bx	lr
 652              	.L44:
 906:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 653              		.loc 1 906 12 view .LVU210
 654 002e 0120     		movs	r0, #1
 655 0030 7047     		bx	lr
 656              	.L45:
 916:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 657              		.loc 1 916 12 view .LVU211
 658 0032 0120     		movs	r0, #1
 921:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** }
 659              		.loc 1 921 1 view .LVU212
 660 0034 7047     		bx	lr
 661              	.L47:
 662 0036 00BF     		.align	2
 663              	.L46:
 664 0038 00200052 		.word	1375739904
 665              		.cfi_endproc
 666              	.LFE341:
 668              		.section	.text.HAL_FLASH_OB_Unlock,"ax",%progbits
 669              		.align	1
 670              		.global	HAL_FLASH_OB_Unlock
 671              		.syntax unified
 672              		.thumb
 673              		.thumb_func
 675              	HAL_FLASH_OB_Unlock:
 676              	.LFB342:
 922:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 923:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /**
 924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @brief  Unlock the FLASH Option Control Registers access.
 925:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @retval HAL Status
 926:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   */
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 32


 927:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_OB_Unlock(void)
 928:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** {
 677              		.loc 1 928 1 is_stmt 1 view -0
 678              		.cfi_startproc
 679              		@ args = 0, pretend = 0, frame = 0
 680              		@ frame_needed = 0, uses_anonymous_args = 0
 681              		@ link register save eliminated.
 929:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   if(READ_BIT(FLASH->OPTCR, FLASH_OPTCR_OPTLOCK) != 0U)
 682              		.loc 1 929 3 view .LVU214
 683              		.loc 1 929 6 is_stmt 0 view .LVU215
 684 0000 0A4B     		ldr	r3, .L52
 685 0002 9B69     		ldr	r3, [r3, #24]
 686              		.loc 1 929 5 view .LVU216
 687 0004 13F0010F 		tst	r3, #1
 688 0008 0BD0     		beq	.L50
 930:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 931:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Authorizes the Option Byte registers programming */
 932:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     WRITE_REG(FLASH->OPTKEYR, FLASH_OPT_KEY1);
 689              		.loc 1 932 5 is_stmt 1 view .LVU217
 690 000a 084B     		ldr	r3, .L52
 691 000c 084A     		ldr	r2, .L52+4
 692 000e 9A60     		str	r2, [r3, #8]
 933:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     WRITE_REG(FLASH->OPTKEYR, FLASH_OPT_KEY2);
 693              		.loc 1 933 5 view .LVU218
 694 0010 02F14432 		add	r2, r2, #1145324612
 695 0014 9A60     		str	r2, [r3, #8]
 934:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 935:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Verify that the Option Bytes are unlocked */
 936:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     if (READ_BIT(FLASH->OPTCR, FLASH_OPTCR_OPTLOCK) != 0U)
 696              		.loc 1 936 5 view .LVU219
 697              		.loc 1 936 9 is_stmt 0 view .LVU220
 698 0016 9B69     		ldr	r3, [r3, #24]
 699              		.loc 1 936 8 view .LVU221
 700 0018 13F0010F 		tst	r3, #1
 701 001c 03D1     		bne	.L51
 937:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 938:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       return HAL_ERROR;
 939:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 940:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 941:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 942:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   return HAL_OK;
 702              		.loc 1 942 10 view .LVU222
 703 001e 0020     		movs	r0, #0
 704 0020 7047     		bx	lr
 705              	.L50:
 706 0022 0020     		movs	r0, #0
 707 0024 7047     		bx	lr
 708              	.L51:
 938:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 709              		.loc 1 938 14 view .LVU223
 710 0026 0120     		movs	r0, #1
 943:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** }
 711              		.loc 1 943 1 view .LVU224
 712 0028 7047     		bx	lr
 713              	.L53:
 714 002a 00BF     		.align	2
 715              	.L52:
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 33


 716 002c 00200052 		.word	1375739904
 717 0030 3B2A1908 		.word	135866939
 718              		.cfi_endproc
 719              	.LFE342:
 721              		.section	.text.HAL_FLASH_OB_Lock,"ax",%progbits
 722              		.align	1
 723              		.global	HAL_FLASH_OB_Lock
 724              		.syntax unified
 725              		.thumb
 726              		.thumb_func
 728              	HAL_FLASH_OB_Lock:
 729              	.LFB343:
 944:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 945:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /**
 946:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @brief  Lock the FLASH Option Control Registers access.
 947:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @retval HAL Status
 948:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   */
 949:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_OB_Lock(void)
 950:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** {
 730              		.loc 1 950 1 is_stmt 1 view -0
 731              		.cfi_startproc
 732              		@ args = 0, pretend = 0, frame = 0
 733              		@ frame_needed = 0, uses_anonymous_args = 0
 734              		@ link register save eliminated.
 951:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* Set the OPTLOCK Bit to lock the FLASH Option Byte Registers access */
 952:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   SET_BIT(FLASH->OPTCR, FLASH_OPTCR_OPTLOCK);
 735              		.loc 1 952 3 view .LVU226
 736 0000 064B     		ldr	r3, .L57
 737 0002 9A69     		ldr	r2, [r3, #24]
 738 0004 42F00102 		orr	r2, r2, #1
 739 0008 9A61     		str	r2, [r3, #24]
 953:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 954:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* Verify that the Option Bytes are locked */
 955:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   if (READ_BIT(FLASH->OPTCR, FLASH_OPTCR_OPTLOCK) == 0U)
 740              		.loc 1 955 3 view .LVU227
 741              		.loc 1 955 7 is_stmt 0 view .LVU228
 742 000a 9B69     		ldr	r3, [r3, #24]
 743              		.loc 1 955 6 view .LVU229
 744 000c 13F0010F 		tst	r3, #1
 745 0010 01D0     		beq	.L56
 956:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 957:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     return HAL_ERROR;
 958:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 959:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 960:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   return HAL_OK;
 746              		.loc 1 960 10 view .LVU230
 747 0012 0020     		movs	r0, #0
 748 0014 7047     		bx	lr
 749              	.L56:
 957:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 750              		.loc 1 957 12 view .LVU231
 751 0016 0120     		movs	r0, #1
 961:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** }
 752              		.loc 1 961 1 view .LVU232
 753 0018 7047     		bx	lr
 754              	.L58:
 755 001a 00BF     		.align	2
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 34


 756              	.L57:
 757 001c 00200052 		.word	1375739904
 758              		.cfi_endproc
 759              	.LFE343:
 761              		.section	.text.HAL_FLASH_GetError,"ax",%progbits
 762              		.align	1
 763              		.global	HAL_FLASH_GetError
 764              		.syntax unified
 765              		.thumb
 766              		.thumb_func
 768              	HAL_FLASH_GetError:
 769              	.LFB345:
 962:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 963:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /**
 964:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @brief  Launch the option bytes loading.
 965:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @retval HAL Status
 966:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   */
 967:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_OB_Launch(void)
 968:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** {
 969:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   HAL_StatusTypeDef status;
 970:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 971:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* Wait for CRC computation to be completed */
 972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   if (FLASH_CRC_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_1) != HAL_OK)
 973:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 974:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     status = HAL_ERROR;
 975:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #if defined (DUAL_BANK)
 977:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   else if (FLASH_CRC_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_2) != HAL_OK)
 978:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 979:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     status = HAL_ERROR;
 980:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 981:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #endif /* DUAL_BANK */
 982:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   else
 983:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 984:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     status = HAL_OK;
 985:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 986:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 987:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   if (status == HAL_OK)
 988:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 989:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Set OPTSTRT Bit */
 990:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     SET_BIT(FLASH->OPTCR, FLASH_OPTCR_OPTSTART);
 991:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 992:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Wait for OB change operation to be completed */
 993:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     status = FLASH_OB_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
 994:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 995:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 996:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   return status;
 997:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** }
 998:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 999:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /**
1000:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @}
1001:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   */
1002:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
1003:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /** @defgroup FLASH_Exported_Functions_Group3 Peripheral State and Errors functions
1004:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *  @brief   Peripheral Errors functions
1005:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *
1006:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** @verbatim
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 35


1007:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****  ===============================================================================
1008:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****                 ##### Peripheral Errors functions #####
1009:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****  ===============================================================================
1010:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     [..]
1011:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     This subsection permits to get in run-time Errors of the FLASH peripheral.
1012:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
1013:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** @endverbatim
1014:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @{
1015:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   */
1016:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
1017:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /**
1018:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @brief  Get the specific FLASH error flag.
1019:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @retval HAL_FLASH_ERRORCode The returned value can be:
1020:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *            @arg HAL_FLASH_ERROR_NONE       : No error set
1021:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *
1022:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *            @arg HAL_FLASH_ERROR_WRP_BANK1  : Write Protection Error on Bank 1
1023:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *            @arg HAL_FLASH_ERROR_PGS_BANK1  : Program Sequence Error on Bank 1
1024:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *            @arg HAL_FLASH_ERROR_STRB_BANK1 : Strobe Error on Bank 1
1025:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *            @arg HAL_FLASH_ERROR_INC_BANK1  : Inconsistency Error on Bank 1
1026:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *            @arg HAL_FLASH_ERROR_OPE_BANK1  : Operation Error on Bank 1
1027:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *            @arg HAL_FLASH_ERROR_RDP_BANK1  : Read Protection Error on Bank 1
1028:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *            @arg HAL_FLASH_ERROR_RDS_BANK1  : Read Secured Error on Bank 1
1029:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *            @arg HAL_FLASH_ERROR_SNECC_BANK1: ECC Single Correction Error on Bank 1
1030:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *            @arg HAL_FLASH_ERROR_DBECC_BANK1: ECC Double Detection Error on Bank 1
1031:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *            @arg HAL_FLASH_ERROR_CRCRD_BANK1: CRC Read Error on Bank 1
1032:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *
1033:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *            @arg HAL_FLASH_ERROR_WRP_BANK2  : Write Protection Error on Bank 2
1034:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *            @arg HAL_FLASH_ERROR_PGS_BANK2  : Program Sequence Error on Bank 2
1035:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *            @arg HAL_FLASH_ERROR_STRB_BANK2 : Strobe Error on Bank 2
1036:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *            @arg HAL_FLASH_ERROR_INC_BANK2  : Inconsistency Error on Bank 2
1037:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *            @arg HAL_FLASH_ERROR_OPE_BANK2  : Operation Error on Bank 2
1038:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *            @arg HAL_FLASH_ERROR_RDP_BANK2  : Read Protection Error on Bank 2
1039:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *            @arg HAL_FLASH_ERROR_RDS_BANK2  : Read Secured Error on Bank 2
1040:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *            @arg HAL_FLASH_ERROR_SNECC_BANK2: SNECC Error on Bank 2
1041:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *            @arg HAL_FLASH_ERROR_DBECC_BANK2: Double Detection ECC on Bank 2
1042:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   *            @arg HAL_FLASH_ERROR_CRCRD_BANK2: CRC Read Error on Bank 2
1043:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   */
1044:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
1045:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** uint32_t HAL_FLASH_GetError(void)
1046:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** {
 770              		.loc 1 1046 1 is_stmt 1 view -0
 771              		.cfi_startproc
 772              		@ args = 0, pretend = 0, frame = 0
 773              		@ frame_needed = 0, uses_anonymous_args = 0
 774              		@ link register save eliminated.
1047:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****    return pFlash.ErrorCode;
 775              		.loc 1 1047 4 view .LVU234
 776              		.loc 1 1047 17 is_stmt 0 view .LVU235
 777 0000 014B     		ldr	r3, .L60
 778 0002 9869     		ldr	r0, [r3, #24]
1048:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** }
 779              		.loc 1 1048 1 view .LVU236
 780 0004 7047     		bx	lr
 781              	.L61:
 782 0006 00BF     		.align	2
 783              	.L60:
 784 0008 00000000 		.word	pFlash
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 36


 785              		.cfi_endproc
 786              	.LFE345:
 788              		.section	.text.FLASH_WaitForLastOperation,"ax",%progbits
 789              		.align	1
 790              		.global	FLASH_WaitForLastOperation
 791              		.syntax unified
 792              		.thumb
 793              		.thumb_func
 795              	FLASH_WaitForLastOperation:
 796              	.LVL52:
 797              	.LFB346:
1049:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
1050:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /**
1051:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @}
1052:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   */
1053:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
1054:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /**
1055:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @}
1056:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   */
1057:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
1058:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /* Private functions ---------------------------------------------------------*/
1059:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
1060:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /** @addtogroup FLASH_Private_Functions
1061:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @{
1062:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   */
1063:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
1064:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /**
1065:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @brief  Wait for a FLASH operation to complete.
1066:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @param  Timeout maximum flash operation timeout
1067:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @param  Bank flash FLASH_BANK_1 or FLASH_BANK_2
1068:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @retval HAL_StatusTypeDef HAL Status
1069:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   */
1070:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** HAL_StatusTypeDef FLASH_WaitForLastOperation(uint32_t Timeout, uint32_t Bank)
1071:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** {
 798              		.loc 1 1071 1 is_stmt 1 view -0
 799              		.cfi_startproc
 800              		@ args = 0, pretend = 0, frame = 0
 801              		@ frame_needed = 0, uses_anonymous_args = 0
 802              		.loc 1 1071 1 is_stmt 0 view .LVU238
 803 0000 F8B5     		push	{r3, r4, r5, r6, r7, lr}
 804              		.cfi_def_cfa_offset 24
 805              		.cfi_offset 3, -24
 806              		.cfi_offset 4, -20
 807              		.cfi_offset 5, -16
 808              		.cfi_offset 6, -12
 809              		.cfi_offset 7, -8
 810              		.cfi_offset 14, -4
 811 0002 0546     		mov	r5, r0
 812 0004 0E46     		mov	r6, r1
1072:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* Wait for the FLASH operation to complete by polling on QW flag to be reset.
1073:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****      Even if the FLASH operation fails, the QW flag will be reset and an error
1074:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****      flag will be set */
1075:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
1076:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   uint32_t bsyflag = FLASH_FLAG_QW_BANK1;
 813              		.loc 1 1076 3 is_stmt 1 view .LVU239
 814              	.LVL53:
1077:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   uint32_t errorflag = 0;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 37


 815              		.loc 1 1077 3 view .LVU240
1078:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   uint32_t tickstart = HAL_GetTick();
 816              		.loc 1 1078 3 view .LVU241
 817              		.loc 1 1078 24 is_stmt 0 view .LVU242
 818 0006 FFF7FEFF 		bl	HAL_GetTick
 819              	.LVL54:
 820              		.loc 1 1078 24 view .LVU243
 821 000a 0746     		mov	r7, r0
 822              	.LVL55:
1079:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
1080:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   assert_param(IS_FLASH_BANK_EXCLUSIVE(Bank));
 823              		.loc 1 1080 3 is_stmt 1 view .LVU244
1081:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
1082:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #if defined (DUAL_BANK)
1083:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
1084:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   if (Bank == FLASH_BANK_2)
 824              		.loc 1 1084 3 view .LVU245
 825              		.loc 1 1084 6 is_stmt 0 view .LVU246
 826 000c 022E     		cmp	r6, #2
 827 000e 09D0     		beq	.L84
1076:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   uint32_t errorflag = 0;
 828              		.loc 1 1076 12 view .LVU247
 829 0010 0424     		movs	r4, #4
 830 0012 17E0     		b	.L65
 831              	.LVL56:
 832              	.L86:
1085:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
1086:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Select bsyflag depending on Bank */
1087:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     bsyflag = FLASH_FLAG_QW_BANK2;
1088:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
1089:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #endif /* DUAL_BANK */
1090:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
1091:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   while(__HAL_FLASH_GET_FLAG(bsyflag))
1092:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
1093:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     if(Timeout != HAL_MAX_DELAY)
1094:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
1095:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       if(((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U))
 833              		.loc 1 1095 7 is_stmt 1 view .LVU248
 834              		.loc 1 1095 12 is_stmt 0 view .LVU249
 835 0014 FFF7FEFF 		bl	HAL_GetTick
 836              	.LVL57:
 837              		.loc 1 1095 26 discriminator 1 view .LVU250
 838 0018 C01B     		subs	r0, r0, r7
 839              		.loc 1 1095 9 discriminator 1 view .LVU251
 840 001a A842     		cmp	r0, r5
 841 001c 5DD8     		bhi	.L78
 842              		.loc 1 1095 50 discriminator 1 view .LVU252
 843 001e 8DB9     		cbnz	r5, .L65
1096:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
1097:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         return HAL_TIMEOUT;
 844              		.loc 1 1097 16 view .LVU253
 845 0020 0320     		movs	r0, #3
 846 0022 4AE0     		b	.L66
 847              	.LVL58:
 848              	.L84:
1087:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 849              		.loc 1 1087 13 view .LVU254
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 38


 850 0024 304C     		ldr	r4, .L90
 851 0026 0DE0     		b	.L65
 852              	.LVL59:
 853              	.L68:
1091:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 854              		.loc 1 1091 9 discriminator 2 view .LVU255
 855 0028 304B     		ldr	r3, .L90+4
 856 002a D3F81031 		ldr	r3, [r3, #272]
 857 002e 24EA0303 		bic	r3, r4, r3
 858 0032 23F00043 		bic	r3, r3, #-2147483648
 859 0036 B3FA83F3 		clz	r3, r3
 860 003a 5B09     		lsrs	r3, r3, #5
 861              	.L69:
1091:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 862              		.loc 1 1091 9 discriminator 4 view .LVU256
 863 003c 63B1     		cbz	r3, .L85
1093:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 864              		.loc 1 1093 5 is_stmt 1 view .LVU257
1093:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 865              		.loc 1 1093 7 is_stmt 0 view .LVU258
 866 003e B5F1FF3F 		cmp	r5, #-1
 867 0042 E7D1     		bne	.L86
 868              	.LVL60:
 869              	.L65:
1091:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 870              		.loc 1 1091 9 is_stmt 1 view .LVU259
 871 0044 002C     		cmp	r4, #0
 872 0046 EFDB     		blt	.L68
1091:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 873              		.loc 1 1091 9 is_stmt 0 discriminator 1 view .LVU260
 874 0048 284B     		ldr	r3, .L90+4
 875 004a 1B69     		ldr	r3, [r3, #16]
 876 004c 34EA0303 		bics	r3, r4, r3
 877 0050 0CBF     		ite	eq
 878 0052 0123     		moveq	r3, #1
 879 0054 0023     		movne	r3, #0
 880 0056 F1E7     		b	.L69
 881              	.L85:
1098:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
1099:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
1100:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
1101:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
1102:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* Get Error Flags */
1103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   if (Bank == FLASH_BANK_1)
 882              		.loc 1 1103 3 is_stmt 1 view .LVU261
 883              		.loc 1 1103 6 is_stmt 0 view .LVU262
 884 0058 012E     		cmp	r6, #1
 885 005a 1CD0     		beq	.L87
1104:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
1105:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     errorflag = FLASH->SR1 & FLASH_FLAG_ALL_ERRORS_BANK1;
1106:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
1107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #if defined (DUAL_BANK)
1108:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   else
1109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
1110:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     errorflag = (FLASH->SR2 & FLASH_FLAG_ALL_ERRORS_BANK2) | 0x80000000U;
 886              		.loc 1 1110 5 is_stmt 1 view .LVU263
 887              		.loc 1 1110 23 is_stmt 0 view .LVU264
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 39


 888 005c 234B     		ldr	r3, .L90+4
 889 005e D3F81031 		ldr	r3, [r3, #272]
 890              		.loc 1 1110 60 view .LVU265
 891 0062 23F06843 		bic	r3, r3, #-402653184
 892 0066 23F4A003 		bic	r3, r3, #5242880
 893 006a 5B0C     		lsrs	r3, r3, #17
 894 006c 5B04     		lsls	r3, r3, #17
 895              		.loc 1 1110 15 view .LVU266
 896 006e 43F00043 		orr	r3, r3, #-2147483648
 897              	.LVL61:
 898              	.L72:
1111:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
1112:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #endif /* DUAL_BANK */
1113:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
1114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* In case of error reported in Flash SR1 or SR2 register */
1115:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   if((errorflag & 0x7FFFFFFFU) != 0U)
 899              		.loc 1 1115 3 is_stmt 1 view .LVU267
 900              		.loc 1 1115 5 is_stmt 0 view .LVU268
 901 0072 33F00041 		bics	r1, r3, #-2147483648
 902 0076 17D1     		bne	.L88
1116:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
1117:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /*Save the error code*/
1118:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     pFlash.ErrorCode |= errorflag;
1119:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
1120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Clear error programming flags */
1121:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     __HAL_FLASH_CLEAR_FLAG(errorflag);
1122:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
1123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     return HAL_ERROR;
1124:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
1125:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
1126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* Check FLASH End of Operation flag  */
1127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   if(Bank == FLASH_BANK_1)
 903              		.loc 1 1127 3 is_stmt 1 view .LVU269
 904              		.loc 1 1127 5 is_stmt 0 view .LVU270
 905 0078 012E     		cmp	r6, #1
 906 007a 23D0     		beq	.L89
1128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
1129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     if (__HAL_FLASH_GET_FLAG_BANK1(FLASH_FLAG_EOP_BANK1))
1130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
1131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       /* Clear FLASH End of Operation pending bit */
1132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       __HAL_FLASH_CLEAR_FLAG_BANK1(FLASH_FLAG_EOP_BANK1);
1133:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
1134:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
1135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #if defined (DUAL_BANK)
1136:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   else
1137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
1138:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     if (__HAL_FLASH_GET_FLAG_BANK2(FLASH_FLAG_EOP_BANK2))
 907              		.loc 1 1138 5 is_stmt 1 view .LVU271
 908              		.loc 1 1138 9 is_stmt 0 view .LVU272
 909 007c 1B4B     		ldr	r3, .L90+4
 910              	.LVL62:
 911              		.loc 1 1138 9 view .LVU273
 912 007e D3F81031 		ldr	r3, [r3, #272]
 913              		.loc 1 1138 8 view .LVU274
 914 0082 13F4803F 		tst	r3, #65536
 915 0086 2CD0     		beq	.L81
1139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 40


1140:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       /* Clear FLASH End of Operation pending bit */
1141:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       __HAL_FLASH_CLEAR_FLAG_BANK2(FLASH_FLAG_EOP_BANK2);
 916              		.loc 1 1141 7 is_stmt 1 view .LVU275
 917 0088 184B     		ldr	r3, .L90+4
 918 008a 4FF48032 		mov	r2, #65536
 919 008e C3F81421 		str	r2, [r3, #276]
1142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
1143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
1144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #endif /* DUAL_BANK */
1145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
1146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   return HAL_OK;
 920              		.loc 1 1146 10 is_stmt 0 view .LVU276
 921 0092 0020     		movs	r0, #0
 922 0094 11E0     		b	.L66
 923              	.LVL63:
 924              	.L87:
1105:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 925              		.loc 1 1105 5 is_stmt 1 view .LVU277
1105:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 926              		.loc 1 1105 22 is_stmt 0 view .LVU278
 927 0096 154B     		ldr	r3, .L90+4
 928 0098 1B69     		ldr	r3, [r3, #16]
1105:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 929              		.loc 1 1105 15 view .LVU279
 930 009a 23F06843 		bic	r3, r3, #-402653184
 931 009e 23F4A003 		bic	r3, r3, #5242880
 932 00a2 5B0C     		lsrs	r3, r3, #17
 933 00a4 5B04     		lsls	r3, r3, #17
 934              	.LVL64:
1105:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 935              		.loc 1 1105 15 view .LVU280
 936 00a6 E4E7     		b	.L72
 937              	.L88:
1118:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 938              		.loc 1 1118 5 is_stmt 1 view .LVU281
1118:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 939              		.loc 1 1118 11 is_stmt 0 view .LVU282
 940 00a8 1148     		ldr	r0, .L90+8
 941 00aa 8269     		ldr	r2, [r0, #24]
1118:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 942              		.loc 1 1118 22 view .LVU283
 943 00ac 1A43     		orrs	r2, r2, r3
 944 00ae 8261     		str	r2, [r0, #24]
1121:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 945              		.loc 1 1121 5 is_stmt 1 view .LVU284
 946 00b0 002B     		cmp	r3, #0
 947 00b2 03DB     		blt	.L74
1121:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 948              		.loc 1 1121 5 is_stmt 0 discriminator 1 view .LVU285
 949 00b4 0D4A     		ldr	r2, .L90+4
 950 00b6 5361     		str	r3, [r2, #20]
 951              	.LVL65:
 952              	.L75:
1123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 953              		.loc 1 1123 5 is_stmt 1 view .LVU286
1123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 954              		.loc 1 1123 12 is_stmt 0 view .LVU287
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 41


 955 00b8 0120     		movs	r0, #1
 956              	.LVL66:
 957              	.L66:
1147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** }
 958              		.loc 1 1147 1 view .LVU288
 959 00ba F8BD     		pop	{r3, r4, r5, r6, r7, pc}
 960              	.LVL67:
 961              	.L74:
1121:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 962              		.loc 1 1121 5 discriminator 2 view .LVU289
 963 00bc 0B4B     		ldr	r3, .L90+4
 964              	.LVL68:
1121:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 965              		.loc 1 1121 5 discriminator 2 view .LVU290
 966 00be C3F81411 		str	r1, [r3, #276]
 967 00c2 F9E7     		b	.L75
 968              	.LVL69:
 969              	.L89:
1129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 970              		.loc 1 1129 5 is_stmt 1 view .LVU291
1129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 971              		.loc 1 1129 9 is_stmt 0 view .LVU292
 972 00c4 094B     		ldr	r3, .L90+4
 973              	.LVL70:
1129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 974              		.loc 1 1129 9 view .LVU293
 975 00c6 1B69     		ldr	r3, [r3, #16]
1129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 976              		.loc 1 1129 8 view .LVU294
 977 00c8 13F4803F 		tst	r3, #65536
 978 00cc 07D0     		beq	.L80
1132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 979              		.loc 1 1132 7 is_stmt 1 view .LVU295
 980 00ce 074B     		ldr	r3, .L90+4
 981 00d0 4FF48032 		mov	r2, #65536
 982 00d4 5A61     		str	r2, [r3, #20]
1146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** }
 983              		.loc 1 1146 10 is_stmt 0 view .LVU296
 984 00d6 0020     		movs	r0, #0
 985 00d8 EFE7     		b	.L66
 986              	.LVL71:
 987              	.L78:
1097:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 988              		.loc 1 1097 16 view .LVU297
 989 00da 0320     		movs	r0, #3
 990 00dc EDE7     		b	.L66
 991              	.LVL72:
 992              	.L80:
1146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** }
 993              		.loc 1 1146 10 view .LVU298
 994 00de 0020     		movs	r0, #0
 995 00e0 EBE7     		b	.L66
 996              	.L81:
 997 00e2 0020     		movs	r0, #0
 998 00e4 E9E7     		b	.L66
 999              	.L91:
 1000 00e6 00BF     		.align	2
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 42


 1001              	.L90:
 1002 00e8 04000080 		.word	-2147483644
 1003 00ec 00200052 		.word	1375739904
 1004 00f0 00000000 		.word	pFlash
 1005              		.cfi_endproc
 1006              	.LFE346:
 1008              		.section	.text.HAL_FLASH_Program,"ax",%progbits
 1009              		.align	1
 1010              		.global	HAL_FLASH_Program
 1011              		.syntax unified
 1012              		.thumb
 1013              		.thumb_func
 1015              	HAL_FLASH_Program:
 1016              	.LVL73:
 1017              	.LFB335:
 155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   HAL_StatusTypeDef status;
 1018              		.loc 1 155 1 is_stmt 1 view -0
 1019              		.cfi_startproc
 1020              		@ args = 0, pretend = 0, frame = 0
 1021              		@ frame_needed = 0, uses_anonymous_args = 0
 155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   HAL_StatusTypeDef status;
 1022              		.loc 1 155 1 is_stmt 0 view .LVU300
 1023 0000 2DE9F843 		push	{r3, r4, r5, r6, r7, r8, r9, lr}
 1024              		.cfi_def_cfa_offset 32
 1025              		.cfi_offset 3, -32
 1026              		.cfi_offset 4, -28
 1027              		.cfi_offset 5, -24
 1028              		.cfi_offset 6, -20
 1029              		.cfi_offset 7, -16
 1030              		.cfi_offset 8, -12
 1031              		.cfi_offset 9, -8
 1032              		.cfi_offset 14, -4
 156:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   __IO uint32_t *dest_addr = (__IO uint32_t *)FlashAddress;
 1033              		.loc 1 156 3 is_stmt 1 view .LVU301
 157:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   __IO uint32_t *src_addr = (__IO uint32_t*)DataAddress;
 1034              		.loc 1 157 3 view .LVU302
 1035              	.LVL74:
 158:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   uint32_t bank;
 1036              		.loc 1 158 3 view .LVU303
 159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   uint8_t row_index = FLASH_NB_32BITWORD_IN_FLASHWORD;
 1037              		.loc 1 159 3 view .LVU304
 160:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1038              		.loc 1 160 3 view .LVU305
 163:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   assert_param(IS_FLASH_PROGRAM_ADDRESS(FlashAddress));
 1039              		.loc 1 163 3 view .LVU306
 164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1040              		.loc 1 164 3 view .LVU307
 167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1041              		.loc 1 167 3 view .LVU308
 167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1042              		.loc 1 167 3 view .LVU309
 1043 0004 3E4B     		ldr	r3, .L113
 1044 0006 1B7D     		ldrb	r3, [r3, #20]	@ zero_extendqisi2
 1045 0008 012B     		cmp	r3, #1
 1046 000a 75D0     		beq	.L103
 1047 000c 0646     		mov	r6, r0
 1048 000e 0C46     		mov	r4, r1
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 43


 1049 0010 1546     		mov	r5, r2
 1050 0012 0F46     		mov	r7, r1
 1051 0014 9046     		mov	r8, r2
 167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1052              		.loc 1 167 3 discriminator 2 view .LVU310
 1053 0016 3A4B     		ldr	r3, .L113
 1054 0018 0122     		movs	r2, #1
 1055              	.LVL75:
 167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1056              		.loc 1 167 3 is_stmt 0 discriminator 2 view .LVU311
 1057 001a 1A75     		strb	r2, [r3, #20]
 167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1058              		.loc 1 167 3 is_stmt 1 view .LVU312
 170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #else
 1059              		.loc 1 170 3 view .LVU313
 170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #else
 1060              		.loc 1 170 7 is_stmt 0 view .LVU314
 1061 001c 01F17842 		add	r2, r1, #-134217728
 170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #else
 1062              		.loc 1 170 57 view .LVU315
 1063 0020 384B     		ldr	r3, .L113+4
 1064 0022 0B44     		add	r3, r3, r1
 170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #else
 1065              		.loc 1 170 5 view .LVU316
 1066 0024 B3F5806F 		cmp	r3, #1024
 1067 0028 28BF     		it	cs
 1068 002a B2F5801F 		cmpcs	r2, #1048576
 1069 002e 42D3     		bcc	.L104
 180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 1070              		.loc 1 180 8 is_stmt 1 view .LVU317
 180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 1071              		.loc 1 180 11 is_stmt 0 view .LVU318
 1072 0030 A1F10163 		sub	r3, r1, #135266304
 180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 1073              		.loc 1 180 10 view .LVU319
 1074 0034 B3F5801F 		cmp	r3, #1048576
 1075 0038 60D2     		bcs	.L105
 182:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 1076              		.loc 1 182 10 view .LVU320
 1077 003a 4FF00209 		mov	r9, #2
 1078              	.L94:
 1079              	.LVL76:
 191:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1080              		.loc 1 191 3 is_stmt 1 view .LVU321
 191:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1081              		.loc 1 191 20 is_stmt 0 view .LVU322
 1082 003e 304B     		ldr	r3, .L113
 1083 0040 0022     		movs	r2, #0
 1084 0042 9A61     		str	r2, [r3, #24]
 194:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1085              		.loc 1 194 3 is_stmt 1 view .LVU323
 194:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1086              		.loc 1 194 12 is_stmt 0 view .LVU324
 1087 0044 4946     		mov	r1, r9
 1088              	.LVL77:
 194:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1089              		.loc 1 194 12 view .LVU325
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 44


 1090 0046 4CF25030 		movw	r0, #50000
 1091              	.LVL78:
 194:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1092              		.loc 1 194 12 view .LVU326
 1093 004a FFF7FEFF 		bl	FLASH_WaitForLastOperation
 1094              	.LVL79:
 196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 1095              		.loc 1 196 3 is_stmt 1 view .LVU327
 196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 1096              		.loc 1 196 5 is_stmt 0 view .LVU328
 1097 004e 68BB     		cbnz	r0, .L95
 199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 1098              		.loc 1 199 5 is_stmt 1 view .LVU329
 199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 1099              		.loc 1 199 7 is_stmt 0 view .LVU330
 1100 0050 B9F1010F 		cmp	r9, #1
 1101 0054 32D0     		beq	.L108
 217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 1102              		.loc 1 217 7 is_stmt 1 view .LVU331
 1103 0056 2C4A     		ldr	r2, .L113+8
 1104 0058 D2F80C31 		ldr	r3, [r2, #268]
 1105 005c 43F00203 		orr	r3, r3, #2
 1106 0060 C2F80C31 		str	r3, [r2, #268]
 1107              	.L98:
 234:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     __DSB();
 1108              		.loc 1 234 5 view .LVU332
 1109              	.LBB18:
 1110              	.LBI18:
 1111              		.file 2 "Drivers/CMSIS/Include/cmsis_gcc.h"
   1:Drivers/CMSIS/Include/cmsis_gcc.h **** /**************************************************************************//**
   2:Drivers/CMSIS/Include/cmsis_gcc.h ****  * @file     cmsis_gcc.h
   3:Drivers/CMSIS/Include/cmsis_gcc.h ****  * @brief    CMSIS compiler GCC header file
   4:Drivers/CMSIS/Include/cmsis_gcc.h ****  * @version  V5.2.0
   5:Drivers/CMSIS/Include/cmsis_gcc.h ****  * @date     08. May 2019
   6:Drivers/CMSIS/Include/cmsis_gcc.h ****  ******************************************************************************/
   7:Drivers/CMSIS/Include/cmsis_gcc.h **** /*
   8:Drivers/CMSIS/Include/cmsis_gcc.h ****  * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
   9:Drivers/CMSIS/Include/cmsis_gcc.h ****  *
  10:Drivers/CMSIS/Include/cmsis_gcc.h ****  * SPDX-License-Identifier: Apache-2.0
  11:Drivers/CMSIS/Include/cmsis_gcc.h ****  *
  12:Drivers/CMSIS/Include/cmsis_gcc.h ****  * Licensed under the Apache License, Version 2.0 (the License); you may
  13:Drivers/CMSIS/Include/cmsis_gcc.h ****  * not use this file except in compliance with the License.
  14:Drivers/CMSIS/Include/cmsis_gcc.h ****  * You may obtain a copy of the License at
  15:Drivers/CMSIS/Include/cmsis_gcc.h ****  *
  16:Drivers/CMSIS/Include/cmsis_gcc.h ****  * www.apache.org/licenses/LICENSE-2.0
  17:Drivers/CMSIS/Include/cmsis_gcc.h ****  *
  18:Drivers/CMSIS/Include/cmsis_gcc.h ****  * Unless required by applicable law or agreed to in writing, software
  19:Drivers/CMSIS/Include/cmsis_gcc.h ****  * distributed under the License is distributed on an AS IS BASIS, WITHOUT
  20:Drivers/CMSIS/Include/cmsis_gcc.h ****  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  21:Drivers/CMSIS/Include/cmsis_gcc.h ****  * See the License for the specific language governing permissions and
  22:Drivers/CMSIS/Include/cmsis_gcc.h ****  * limitations under the License.
  23:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
  24:Drivers/CMSIS/Include/cmsis_gcc.h **** 
  25:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __CMSIS_GCC_H
  26:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_H
  27:Drivers/CMSIS/Include/cmsis_gcc.h **** 
  28:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ignore some GCC warnings */
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 45


  29:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  30:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wsign-conversion"
  31:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wconversion"
  32:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wunused-parameter"
  33:Drivers/CMSIS/Include/cmsis_gcc.h **** 
  34:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Fallback for __has_builtin */
  35:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __has_builtin
  36:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __has_builtin(x) (0)
  37:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  38:Drivers/CMSIS/Include/cmsis_gcc.h **** 
  39:Drivers/CMSIS/Include/cmsis_gcc.h **** /* CMSIS compiler specific defines */
  40:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __ASM
  41:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __ASM                                  __asm
  42:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  43:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __INLINE
  44:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __INLINE                               inline
  45:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  46:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __STATIC_INLINE
  47:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __STATIC_INLINE                        static inline
  48:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  49:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __STATIC_FORCEINLINE                 
  50:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __STATIC_FORCEINLINE                   __attribute__((always_inline)) static inline
  51:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif                                           
  52:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __NO_RETURN
  53:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __NO_RETURN                            __attribute__((__noreturn__))
  54:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  55:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __USED
  56:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __USED                                 __attribute__((used))
  57:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  58:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __WEAK
  59:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __WEAK                                 __attribute__((weak))
  60:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  61:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __PACKED
  62:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __PACKED                               __attribute__((packed, aligned(1)))
  63:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  64:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __PACKED_STRUCT
  65:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __PACKED_STRUCT                        struct __attribute__((packed, aligned(1)))
  66:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  67:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __PACKED_UNION
  68:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __PACKED_UNION                         union __attribute__((packed, aligned(1)))
  69:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  70:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __UNALIGNED_UINT32        /* deprecated */
  71:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic push
  72:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wpacked"
  73:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wattributes"
  74:Drivers/CMSIS/Include/cmsis_gcc.h ****   struct __attribute__((packed)) T_UINT32 { uint32_t v; };
  75:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic pop
  76:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __UNALIGNED_UINT32(x)                  (((struct T_UINT32 *)(x))->v)
  77:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  78:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __UNALIGNED_UINT16_WRITE
  79:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic push
  80:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wpacked"
  81:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wattributes"
  82:Drivers/CMSIS/Include/cmsis_gcc.h ****   __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
  83:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic pop
  84:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __UNALIGNED_UINT16_WRITE(addr, val)    (void)((((struct T_UINT16_WRITE *)(void *)(addr))-
  85:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 46


  86:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __UNALIGNED_UINT16_READ
  87:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic push
  88:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wpacked"
  89:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wattributes"
  90:Drivers/CMSIS/Include/cmsis_gcc.h ****   __PACKED_STRUCT T_UINT16_READ { uint16_t v; };
  91:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic pop
  92:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __UNALIGNED_UINT16_READ(addr)          (((const struct T_UINT16_READ *)(const void *)(add
  93:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  94:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __UNALIGNED_UINT32_WRITE
  95:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic push
  96:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wpacked"
  97:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wattributes"
  98:Drivers/CMSIS/Include/cmsis_gcc.h ****   __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
  99:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic pop
 100:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __UNALIGNED_UINT32_WRITE(addr, val)    (void)((((struct T_UINT32_WRITE *)(void *)(addr))-
 101:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 102:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __UNALIGNED_UINT32_READ
 103:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic push
 104:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wpacked"
 105:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wattributes"
 106:Drivers/CMSIS/Include/cmsis_gcc.h ****   __PACKED_STRUCT T_UINT32_READ { uint32_t v; };
 107:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic pop
 108:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __UNALIGNED_UINT32_READ(addr)          (((const struct T_UINT32_READ *)(const void *)(add
 109:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 110:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __ALIGNED
 111:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __ALIGNED(x)                           __attribute__((aligned(x)))
 112:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 113:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __RESTRICT
 114:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __RESTRICT                             __restrict
 115:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 116:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __COMPILER_BARRIER
 117:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __COMPILER_BARRIER()                   __ASM volatile("":::"memory")
 118:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 119:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 120:Drivers/CMSIS/Include/cmsis_gcc.h **** /* #########################  Startup and Lowlevel Init  ######################## */
 121:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 122:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PROGRAM_START
 123:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 124:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 125:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Initializes data and bss sections
 126:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details This default implementations initialized all data and additional bss
 127:Drivers/CMSIS/Include/cmsis_gcc.h ****            sections relying on .copy.table and .zero.table specified properly
 128:Drivers/CMSIS/Include/cmsis_gcc.h ****            in the used linker script.
 129:Drivers/CMSIS/Include/cmsis_gcc.h ****   
 130:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 131:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE __NO_RETURN void __cmsis_start(void)
 132:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 133:Drivers/CMSIS/Include/cmsis_gcc.h ****   extern void _start(void) __NO_RETURN;
 134:Drivers/CMSIS/Include/cmsis_gcc.h ****   
 135:Drivers/CMSIS/Include/cmsis_gcc.h ****   typedef struct {
 136:Drivers/CMSIS/Include/cmsis_gcc.h ****     uint32_t const* src;
 137:Drivers/CMSIS/Include/cmsis_gcc.h ****     uint32_t* dest;
 138:Drivers/CMSIS/Include/cmsis_gcc.h ****     uint32_t  wlen;
 139:Drivers/CMSIS/Include/cmsis_gcc.h ****   } __copy_table_t;
 140:Drivers/CMSIS/Include/cmsis_gcc.h ****   
 141:Drivers/CMSIS/Include/cmsis_gcc.h ****   typedef struct {
 142:Drivers/CMSIS/Include/cmsis_gcc.h ****     uint32_t* dest;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 47


 143:Drivers/CMSIS/Include/cmsis_gcc.h ****     uint32_t  wlen;
 144:Drivers/CMSIS/Include/cmsis_gcc.h ****   } __zero_table_t;
 145:Drivers/CMSIS/Include/cmsis_gcc.h ****   
 146:Drivers/CMSIS/Include/cmsis_gcc.h ****   extern const __copy_table_t __copy_table_start__;
 147:Drivers/CMSIS/Include/cmsis_gcc.h ****   extern const __copy_table_t __copy_table_end__;
 148:Drivers/CMSIS/Include/cmsis_gcc.h ****   extern const __zero_table_t __zero_table_start__;
 149:Drivers/CMSIS/Include/cmsis_gcc.h ****   extern const __zero_table_t __zero_table_end__;
 150:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 151:Drivers/CMSIS/Include/cmsis_gcc.h ****   for (__copy_table_t const* pTable = &__copy_table_start__; pTable < &__copy_table_end__; ++pTable
 152:Drivers/CMSIS/Include/cmsis_gcc.h ****     for(uint32_t i=0u; i<pTable->wlen; ++i) {
 153:Drivers/CMSIS/Include/cmsis_gcc.h ****       pTable->dest[i] = pTable->src[i];
 154:Drivers/CMSIS/Include/cmsis_gcc.h ****     }
 155:Drivers/CMSIS/Include/cmsis_gcc.h ****   }
 156:Drivers/CMSIS/Include/cmsis_gcc.h ****  
 157:Drivers/CMSIS/Include/cmsis_gcc.h ****   for (__zero_table_t const* pTable = &__zero_table_start__; pTable < &__zero_table_end__; ++pTable
 158:Drivers/CMSIS/Include/cmsis_gcc.h ****     for(uint32_t i=0u; i<pTable->wlen; ++i) {
 159:Drivers/CMSIS/Include/cmsis_gcc.h ****       pTable->dest[i] = 0u;
 160:Drivers/CMSIS/Include/cmsis_gcc.h ****     }
 161:Drivers/CMSIS/Include/cmsis_gcc.h ****   }
 162:Drivers/CMSIS/Include/cmsis_gcc.h ****  
 163:Drivers/CMSIS/Include/cmsis_gcc.h ****   _start();
 164:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 165:Drivers/CMSIS/Include/cmsis_gcc.h ****   
 166:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PROGRAM_START           __cmsis_start
 167:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 168:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 169:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __INITIAL_SP
 170:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __INITIAL_SP              __StackTop
 171:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 172:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 173:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STACK_LIMIT
 174:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STACK_LIMIT             __StackLimit
 175:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 176:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 177:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __VECTOR_TABLE
 178:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __VECTOR_TABLE            __Vectors
 179:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 180:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 181:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __VECTOR_TABLE_ATTRIBUTE
 182:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __VECTOR_TABLE_ATTRIBUTE  __attribute((used, section(".vectors")))
 183:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 184:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 185:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ###########################  Core Function Access  ########################### */
 186:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \ingroup  CMSIS_Core_FunctionInterface
 187:Drivers/CMSIS/Include/cmsis_gcc.h ****     \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions
 188:Drivers/CMSIS/Include/cmsis_gcc.h ****   @{
 189:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 190:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 191:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 192:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Enable IRQ Interrupts
 193:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Enables IRQ interrupts by clearing the I-bit in the CPSR.
 194:Drivers/CMSIS/Include/cmsis_gcc.h ****            Can only be executed in Privileged modes.
 195:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 196:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_irq(void)
 197:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 198:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("cpsie i" : : : "memory");
 199:Drivers/CMSIS/Include/cmsis_gcc.h **** }
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 48


 200:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 201:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 202:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 203:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Disable IRQ Interrupts
 204:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Disables IRQ interrupts by setting the I-bit in the CPSR.
 205:Drivers/CMSIS/Include/cmsis_gcc.h ****            Can only be executed in Privileged modes.
 206:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 207:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_irq(void)
 208:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 209:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("cpsid i" : : : "memory");
 210:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 211:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 212:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 213:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 214:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get Control Register
 215:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the content of the Control Register.
 216:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               Control Register value
 217:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 218:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_CONTROL(void)
 219:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 220:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 221:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 222:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, control" : "=r" (result) );
 223:Drivers/CMSIS/Include/cmsis_gcc.h ****   return(result);
 224:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 225:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 226:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 227:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
 228:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 229:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get Control Register (non-secure)
 230:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the content of the non-secure Control Register when in secure mode.
 231:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               non-secure Control Register value
 232:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 233:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void)
 234:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 235:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 236:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 237:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, control_ns" : "=r" (result) );
 238:Drivers/CMSIS/Include/cmsis_gcc.h ****   return(result);
 239:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 240:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 241:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 242:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 243:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 244:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set Control Register
 245:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Writes the given value to the Control Register.
 246:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    control  Control Register value to set
 247:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 248:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_CONTROL(uint32_t control)
 249:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 250:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MSR control, %0" : : "r" (control) : "memory");
 251:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 252:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 253:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 254:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
 255:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 256:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set Control Register (non-secure)
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 49


 257:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Writes the given value to the non-secure Control Register when in secure state.
 258:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    control  Control Register value to set
 259:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 260:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control)
 261:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 262:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MSR control_ns, %0" : : "r" (control) : "memory");
 263:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 264:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 265:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 266:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 267:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 268:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get IPSR Register
 269:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the content of the IPSR Register.
 270:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               IPSR Register value
 271:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 272:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_IPSR(void)
 273:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 274:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 275:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 276:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, ipsr" : "=r" (result) );
 277:Drivers/CMSIS/Include/cmsis_gcc.h ****   return(result);
 278:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 279:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 280:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 281:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 282:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get APSR Register
 283:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the content of the APSR Register.
 284:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               APSR Register value
 285:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 286:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_APSR(void)
 287:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 288:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 289:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 290:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, apsr" : "=r" (result) );
 291:Drivers/CMSIS/Include/cmsis_gcc.h ****   return(result);
 292:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 293:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 294:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 295:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 296:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get xPSR Register
 297:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the content of the xPSR Register.
 298:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               xPSR Register value
 299:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 300:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_xPSR(void)
 301:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 302:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 303:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 304:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, xpsr" : "=r" (result) );
 305:Drivers/CMSIS/Include/cmsis_gcc.h ****   return(result);
 306:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 307:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 308:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 309:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 310:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get Process Stack Pointer
 311:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the current value of the Process Stack Pointer (PSP).
 312:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               PSP Register value
 313:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 50


 314:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSP(void)
 315:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 316:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 317:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 318:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, psp"  : "=r" (result) );
 319:Drivers/CMSIS/Include/cmsis_gcc.h ****   return(result);
 320:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 321:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 322:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 323:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
 324:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 325:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get Process Stack Pointer (non-secure)
 326:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the current value of the non-secure Process Stack Pointer (PSP) when in secure s
 327:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               PSP Register value
 328:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 329:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void)
 330:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 331:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 332:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 333:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, psp_ns"  : "=r" (result) );
 334:Drivers/CMSIS/Include/cmsis_gcc.h ****   return(result);
 335:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 336:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 337:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 338:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 339:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 340:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set Process Stack Pointer
 341:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Assigns the given value to the Process Stack Pointer (PSP).
 342:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    topOfProcStack  Process Stack Pointer value to set
 343:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 344:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack)
 345:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 346:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MSR psp, %0" : : "r" (topOfProcStack) : );
 347:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 348:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 349:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 350:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
 351:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 352:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set Process Stack Pointer (non-secure)
 353:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Assigns the given value to the non-secure Process Stack Pointer (PSP) when in secure sta
 354:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    topOfProcStack  Process Stack Pointer value to set
 355:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 356:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack)
 357:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 358:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MSR psp_ns, %0" : : "r" (topOfProcStack) : );
 359:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 360:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 361:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 362:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 363:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 364:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get Main Stack Pointer
 365:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the current value of the Main Stack Pointer (MSP).
 366:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               MSP Register value
 367:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 368:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSP(void)
 369:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 370:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 51


 371:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 372:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, msp" : "=r" (result) );
 373:Drivers/CMSIS/Include/cmsis_gcc.h ****   return(result);
 374:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 375:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 376:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 377:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
 378:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 379:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get Main Stack Pointer (non-secure)
 380:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the current value of the non-secure Main Stack Pointer (MSP) when in secure stat
 381:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               MSP Register value
 382:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 383:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void)
 384:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 385:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 386:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 387:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, msp_ns" : "=r" (result) );
 388:Drivers/CMSIS/Include/cmsis_gcc.h ****   return(result);
 389:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 390:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 391:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 392:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 393:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 394:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set Main Stack Pointer
 395:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Assigns the given value to the Main Stack Pointer (MSP).
 396:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    topOfMainStack  Main Stack Pointer value to set
 397:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 398:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack)
 399:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 400:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MSR msp, %0" : : "r" (topOfMainStack) : );
 401:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 402:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 403:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 404:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
 405:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 406:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set Main Stack Pointer (non-secure)
 407:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Assigns the given value to the non-secure Main Stack Pointer (MSP) when in secure state.
 408:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    topOfMainStack  Main Stack Pointer value to set
 409:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 410:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSP_NS(uint32_t topOfMainStack)
 411:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 412:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MSR msp_ns, %0" : : "r" (topOfMainStack) : );
 413:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 414:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 415:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 416:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 417:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
 418:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 419:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get Stack Pointer (non-secure)
 420:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the current value of the non-secure Stack Pointer (SP) when in secure state.
 421:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               SP Register value
 422:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 423:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void)
 424:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 425:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 426:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 427:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, sp_ns" : "=r" (result) );
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 52


 428:Drivers/CMSIS/Include/cmsis_gcc.h ****   return(result);
 429:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 430:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 431:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 432:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 433:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set Stack Pointer (non-secure)
 434:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Assigns the given value to the non-secure Stack Pointer (SP) when in secure state.
 435:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    topOfStack  Stack Pointer value to set
 436:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 437:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack)
 438:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 439:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MSR sp_ns, %0" : : "r" (topOfStack) : );
 440:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 441:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 442:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 443:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 444:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 445:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get Priority Mask
 446:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the current state of the priority mask bit from the Priority Mask Register.
 447:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               Priority Mask value
 448:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 449:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PRIMASK(void)
 450:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 451:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 452:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 453:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory");
 454:Drivers/CMSIS/Include/cmsis_gcc.h ****   return(result);
 455:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 456:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 457:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 458:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
 459:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 460:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get Priority Mask (non-secure)
 461:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the current state of the non-secure priority mask bit from the Priority Mask Reg
 462:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               Priority Mask value
 463:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 464:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PRIMASK_NS(void)
 465:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 466:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 467:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 468:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, primask_ns" : "=r" (result) :: "memory");
 469:Drivers/CMSIS/Include/cmsis_gcc.h ****   return(result);
 470:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 471:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 472:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 473:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 474:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 475:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set Priority Mask
 476:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Assigns the given value to the Priority Mask Register.
 477:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    priMask  Priority Mask
 478:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 479:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask)
 480:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 481:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory");
 482:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 483:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 484:Drivers/CMSIS/Include/cmsis_gcc.h **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 53


 485:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
 486:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 487:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set Priority Mask (non-secure)
 488:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Assigns the given value to the non-secure Priority Mask Register when in secure state.
 489:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    priMask  Priority Mask
 490:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 491:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PRIMASK_NS(uint32_t priMask)
 492:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 493:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MSR primask_ns, %0" : : "r" (priMask) : "memory");
 494:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 495:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 496:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 497:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 498:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__      ) && (__ARM_ARCH_7M__      == 1)) || \
 499:Drivers/CMSIS/Include/cmsis_gcc.h ****      (defined (__ARM_ARCH_7EM__     ) && (__ARM_ARCH_7EM__     == 1)) || \
 500:Drivers/CMSIS/Include/cmsis_gcc.h ****      (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))    )
 501:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 502:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Enable FIQ
 503:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Enables FIQ interrupts by clearing the F-bit in the CPSR.
 504:Drivers/CMSIS/Include/cmsis_gcc.h ****            Can only be executed in Privileged modes.
 505:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 506:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_fault_irq(void)
 507:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 508:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("cpsie f" : : : "memory");
 509:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 510:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 511:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 512:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 513:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Disable FIQ
 514:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Disables FIQ interrupts by setting the F-bit in the CPSR.
 515:Drivers/CMSIS/Include/cmsis_gcc.h ****            Can only be executed in Privileged modes.
 516:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 517:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_fault_irq(void)
 518:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 519:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("cpsid f" : : : "memory");
 520:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 521:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 522:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 523:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 524:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get Base Priority
 525:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the current value of the Base Priority register.
 526:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               Base Priority register value
 527:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 528:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_BASEPRI(void)
 529:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 530:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 531:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 532:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, basepri" : "=r" (result) );
 533:Drivers/CMSIS/Include/cmsis_gcc.h ****   return(result);
 534:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 535:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 536:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 537:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
 538:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 539:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get Base Priority (non-secure)
 540:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the current value of the non-secure Base Priority register when in secure state.
 541:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               Base Priority register value
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 54


 542:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 543:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_BASEPRI_NS(void)
 544:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 545:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 546:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 547:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, basepri_ns" : "=r" (result) );
 548:Drivers/CMSIS/Include/cmsis_gcc.h ****   return(result);
 549:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 550:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 551:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 552:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 553:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 554:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set Base Priority
 555:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Assigns the given value to the Base Priority register.
 556:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    basePri  Base Priority value to set
 557:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 558:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_BASEPRI(uint32_t basePri)
 559:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 560:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MSR basepri, %0" : : "r" (basePri) : "memory");
 561:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 562:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 563:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 564:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
 565:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 566:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set Base Priority (non-secure)
 567:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Assigns the given value to the non-secure Base Priority register when in secure state.
 568:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    basePri  Base Priority value to set
 569:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 570:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_BASEPRI_NS(uint32_t basePri)
 571:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 572:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MSR basepri_ns, %0" : : "r" (basePri) : "memory");
 573:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 574:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 575:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 576:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 577:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 578:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set Base Priority with condition
 579:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Assigns the given value to the Base Priority register only if BASEPRI masking is disable
 580:Drivers/CMSIS/Include/cmsis_gcc.h ****            or the new value increases the BASEPRI priority level.
 581:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    basePri  Base Priority value to set
 582:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 583:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_BASEPRI_MAX(uint32_t basePri)
 584:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 585:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MSR basepri_max, %0" : : "r" (basePri) : "memory");
 586:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 587:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 588:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 589:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 590:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get Fault Mask
 591:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the current value of the Fault Mask register.
 592:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               Fault Mask register value
 593:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 594:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_FAULTMASK(void)
 595:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 596:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 597:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 598:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, faultmask" : "=r" (result) );
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 55


 599:Drivers/CMSIS/Include/cmsis_gcc.h ****   return(result);
 600:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 601:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 602:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 603:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
 604:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 605:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get Fault Mask (non-secure)
 606:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the current value of the non-secure Fault Mask register when in secure state.
 607:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               Fault Mask register value
 608:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 609:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_FAULTMASK_NS(void)
 610:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 611:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 612:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 613:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, faultmask_ns" : "=r" (result) );
 614:Drivers/CMSIS/Include/cmsis_gcc.h ****   return(result);
 615:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 616:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 617:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 618:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 619:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 620:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set Fault Mask
 621:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Assigns the given value to the Fault Mask register.
 622:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    faultMask  Fault Mask value to set
 623:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 624:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_FAULTMASK(uint32_t faultMask)
 625:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 626:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MSR faultmask, %0" : : "r" (faultMask) : "memory");
 627:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 628:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 629:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 630:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
 631:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 632:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set Fault Mask (non-secure)
 633:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Assigns the given value to the non-secure Fault Mask register when in secure state.
 634:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    faultMask  Fault Mask value to set
 635:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 636:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_FAULTMASK_NS(uint32_t faultMask)
 637:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 638:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MSR faultmask_ns, %0" : : "r" (faultMask) : "memory");
 639:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 640:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 641:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 642:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_7M__      ) && (__ARM_ARCH_7M__      == 1)) || \
 643:Drivers/CMSIS/Include/cmsis_gcc.h ****            (defined (__ARM_ARCH_7EM__     ) && (__ARM_ARCH_7EM__     == 1)) || \
 644:Drivers/CMSIS/Include/cmsis_gcc.h ****            (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))    ) */
 645:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 646:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 647:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
 648:Drivers/CMSIS/Include/cmsis_gcc.h ****      (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1))    )
 649:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 650:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 651:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get Process Stack Pointer Limit
 652:Drivers/CMSIS/Include/cmsis_gcc.h ****   Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
 653:Drivers/CMSIS/Include/cmsis_gcc.h ****   Stack Pointer Limit register hence zero is returned always in non-secure
 654:Drivers/CMSIS/Include/cmsis_gcc.h ****   mode.
 655:Drivers/CMSIS/Include/cmsis_gcc.h ****   
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 56


 656:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the current value of the Process Stack Pointer Limit (PSPLIM).
 657:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               PSPLIM Register value
 658:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 659:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSPLIM(void)
 660:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 661:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
 662:Drivers/CMSIS/Include/cmsis_gcc.h ****     (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
 663:Drivers/CMSIS/Include/cmsis_gcc.h ****     // without main extensions, the non-secure PSPLIM is RAZ/WI
 664:Drivers/CMSIS/Include/cmsis_gcc.h ****   return 0U;
 665:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
 666:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 667:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, psplim"  : "=r" (result) );
 668:Drivers/CMSIS/Include/cmsis_gcc.h ****   return result;
 669:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 670:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 671:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 672:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3))
 673:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 674:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get Process Stack Pointer Limit (non-secure)
 675:Drivers/CMSIS/Include/cmsis_gcc.h ****   Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
 676:Drivers/CMSIS/Include/cmsis_gcc.h ****   Stack Pointer Limit register hence zero is returned always.
 677:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 678:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the current value of the non-secure Process Stack Pointer Limit (PSPLIM) when in
 679:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               PSPLIM Register value
 680:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 681:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSPLIM_NS(void)
 682:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 683:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
 684:Drivers/CMSIS/Include/cmsis_gcc.h ****   // without main extensions, the non-secure PSPLIM is RAZ/WI
 685:Drivers/CMSIS/Include/cmsis_gcc.h ****   return 0U;
 686:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
 687:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 688:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, psplim_ns"  : "=r" (result) );
 689:Drivers/CMSIS/Include/cmsis_gcc.h ****   return result;
 690:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 691:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 692:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 693:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 694:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 695:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 696:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set Process Stack Pointer Limit
 697:Drivers/CMSIS/Include/cmsis_gcc.h ****   Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
 698:Drivers/CMSIS/Include/cmsis_gcc.h ****   Stack Pointer Limit register hence the write is silently ignored in non-secure
 699:Drivers/CMSIS/Include/cmsis_gcc.h ****   mode.
 700:Drivers/CMSIS/Include/cmsis_gcc.h ****   
 701:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Assigns the given value to the Process Stack Pointer Limit (PSPLIM).
 702:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    ProcStackPtrLimit  Process Stack Pointer Limit value to set
 703:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 704:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSPLIM(uint32_t ProcStackPtrLimit)
 705:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 706:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
 707:Drivers/CMSIS/Include/cmsis_gcc.h ****     (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
 708:Drivers/CMSIS/Include/cmsis_gcc.h ****   // without main extensions, the non-secure PSPLIM is RAZ/WI
 709:Drivers/CMSIS/Include/cmsis_gcc.h ****   (void)ProcStackPtrLimit;
 710:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
 711:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MSR psplim, %0" : : "r" (ProcStackPtrLimit));
 712:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 57


 713:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 714:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 715:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 716:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE  ) && (__ARM_FEATURE_CMSE   == 3))
 717:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 718:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set Process Stack Pointer (non-secure)
 719:Drivers/CMSIS/Include/cmsis_gcc.h ****   Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
 720:Drivers/CMSIS/Include/cmsis_gcc.h ****   Stack Pointer Limit register hence the write is silently ignored.
 721:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 722:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Assigns the given value to the non-secure Process Stack Pointer Limit (PSPLIM) when in s
 723:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    ProcStackPtrLimit  Process Stack Pointer Limit value to set
 724:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 725:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSPLIM_NS(uint32_t ProcStackPtrLimit)
 726:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 727:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
 728:Drivers/CMSIS/Include/cmsis_gcc.h ****   // without main extensions, the non-secure PSPLIM is RAZ/WI
 729:Drivers/CMSIS/Include/cmsis_gcc.h ****   (void)ProcStackPtrLimit;
 730:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
 731:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MSR psplim_ns, %0\n" : : "r" (ProcStackPtrLimit));
 732:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 733:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 734:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 735:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 736:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 737:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 738:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get Main Stack Pointer Limit
 739:Drivers/CMSIS/Include/cmsis_gcc.h ****   Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
 740:Drivers/CMSIS/Include/cmsis_gcc.h ****   Stack Pointer Limit register hence zero is returned always in non-secure
 741:Drivers/CMSIS/Include/cmsis_gcc.h ****   mode.
 742:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 743:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the current value of the Main Stack Pointer Limit (MSPLIM).
 744:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               MSPLIM Register value
 745:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 746:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSPLIM(void)
 747:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 748:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
 749:Drivers/CMSIS/Include/cmsis_gcc.h ****     (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
 750:Drivers/CMSIS/Include/cmsis_gcc.h ****   // without main extensions, the non-secure MSPLIM is RAZ/WI
 751:Drivers/CMSIS/Include/cmsis_gcc.h ****   return 0U;
 752:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
 753:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 754:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, msplim" : "=r" (result) );
 755:Drivers/CMSIS/Include/cmsis_gcc.h ****   return result;
 756:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 757:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 758:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 759:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 760:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE  ) && (__ARM_FEATURE_CMSE   == 3))
 761:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 762:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get Main Stack Pointer Limit (non-secure)
 763:Drivers/CMSIS/Include/cmsis_gcc.h ****   Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
 764:Drivers/CMSIS/Include/cmsis_gcc.h ****   Stack Pointer Limit register hence zero is returned always.
 765:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 766:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the current value of the non-secure Main Stack Pointer Limit(MSPLIM) when in sec
 767:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               MSPLIM Register value
 768:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 769:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSPLIM_NS(void)
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 58


 770:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 771:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
 772:Drivers/CMSIS/Include/cmsis_gcc.h ****   // without main extensions, the non-secure MSPLIM is RAZ/WI
 773:Drivers/CMSIS/Include/cmsis_gcc.h ****   return 0U;
 774:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
 775:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 776:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, msplim_ns" : "=r" (result) );
 777:Drivers/CMSIS/Include/cmsis_gcc.h ****   return result;
 778:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 779:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 780:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 781:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 782:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 783:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 784:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set Main Stack Pointer Limit
 785:Drivers/CMSIS/Include/cmsis_gcc.h ****   Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
 786:Drivers/CMSIS/Include/cmsis_gcc.h ****   Stack Pointer Limit register hence the write is silently ignored in non-secure
 787:Drivers/CMSIS/Include/cmsis_gcc.h ****   mode.
 788:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 789:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Assigns the given value to the Main Stack Pointer Limit (MSPLIM).
 790:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    MainStackPtrLimit  Main Stack Pointer Limit value to set
 791:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 792:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSPLIM(uint32_t MainStackPtrLimit)
 793:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 794:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
 795:Drivers/CMSIS/Include/cmsis_gcc.h ****     (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
 796:Drivers/CMSIS/Include/cmsis_gcc.h ****   // without main extensions, the non-secure MSPLIM is RAZ/WI
 797:Drivers/CMSIS/Include/cmsis_gcc.h ****   (void)MainStackPtrLimit;
 798:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
 799:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MSR msplim, %0" : : "r" (MainStackPtrLimit));
 800:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 801:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 802:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 803:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 804:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE  ) && (__ARM_FEATURE_CMSE   == 3))
 805:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 806:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set Main Stack Pointer Limit (non-secure)
 807:Drivers/CMSIS/Include/cmsis_gcc.h ****   Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
 808:Drivers/CMSIS/Include/cmsis_gcc.h ****   Stack Pointer Limit register hence the write is silently ignored.
 809:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 810:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Assigns the given value to the non-secure Main Stack Pointer Limit (MSPLIM) when in secu
 811:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    MainStackPtrLimit  Main Stack Pointer value to set
 812:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 813:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSPLIM_NS(uint32_t MainStackPtrLimit)
 814:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 815:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
 816:Drivers/CMSIS/Include/cmsis_gcc.h ****   // without main extensions, the non-secure MSPLIM is RAZ/WI
 817:Drivers/CMSIS/Include/cmsis_gcc.h ****   (void)MainStackPtrLimit;
 818:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
 819:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MSR msplim_ns, %0" : : "r" (MainStackPtrLimit));
 820:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 821:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 822:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 823:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 824:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
 825:Drivers/CMSIS/Include/cmsis_gcc.h ****            (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1))    ) */
 826:Drivers/CMSIS/Include/cmsis_gcc.h **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 59


 827:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 828:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 829:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get FPSCR
 830:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the current value of the Floating Point Status/Control register.
 831:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               Floating Point Status/Control register value
 832:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 833:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_FPSCR(void)
 834:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 835:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \
 836:Drivers/CMSIS/Include/cmsis_gcc.h ****      (defined (__FPU_USED   ) && (__FPU_USED    == 1U))     )
 837:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_get_fpscr) 
 838:Drivers/CMSIS/Include/cmsis_gcc.h **** // Re-enable using built-in when GCC has been fixed
 839:Drivers/CMSIS/Include/cmsis_gcc.h **** // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2)
 840:Drivers/CMSIS/Include/cmsis_gcc.h ****   /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */
 841:Drivers/CMSIS/Include/cmsis_gcc.h ****   return __builtin_arm_get_fpscr();
 842:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
 843:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 844:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 845:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("VMRS %0, fpscr" : "=r" (result) );
 846:Drivers/CMSIS/Include/cmsis_gcc.h ****   return(result);
 847:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 848:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
 849:Drivers/CMSIS/Include/cmsis_gcc.h ****   return(0U);
 850:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 851:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 852:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 853:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 854:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 855:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set FPSCR
 856:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Assigns the given value to the Floating Point Status/Control register.
 857:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    fpscr  Floating Point Status/Control value to set
 858:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 859:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_FPSCR(uint32_t fpscr)
 860:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 861:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \
 862:Drivers/CMSIS/Include/cmsis_gcc.h ****      (defined (__FPU_USED   ) && (__FPU_USED    == 1U))     )
 863:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_set_fpscr)
 864:Drivers/CMSIS/Include/cmsis_gcc.h **** // Re-enable using built-in when GCC has been fixed
 865:Drivers/CMSIS/Include/cmsis_gcc.h **** // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2)
 866:Drivers/CMSIS/Include/cmsis_gcc.h ****   /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */
 867:Drivers/CMSIS/Include/cmsis_gcc.h ****   __builtin_arm_set_fpscr(fpscr);
 868:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
 869:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("VMSR fpscr, %0" : : "r" (fpscr) : "vfpcc", "memory");
 870:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 871:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
 872:Drivers/CMSIS/Include/cmsis_gcc.h ****   (void)fpscr;
 873:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 874:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 875:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 876:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 877:Drivers/CMSIS/Include/cmsis_gcc.h **** /*@} end of CMSIS_Core_RegAccFunctions */
 878:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 879:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 880:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ##########################  Core Instruction Access  ######################### */
 881:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface
 882:Drivers/CMSIS/Include/cmsis_gcc.h ****   Access to dedicated instructions
 883:Drivers/CMSIS/Include/cmsis_gcc.h ****   @{
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 60


 884:Drivers/CMSIS/Include/cmsis_gcc.h **** */
 885:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 886:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Define macros for porting to both thumb1 and thumb2.
 887:Drivers/CMSIS/Include/cmsis_gcc.h ****  * For thumb1, use low register (r0-r7), specified by constraint "l"
 888:Drivers/CMSIS/Include/cmsis_gcc.h ****  * Otherwise, use general registers, specified by constraint "r" */
 889:Drivers/CMSIS/Include/cmsis_gcc.h **** #if defined (__thumb__) && !defined (__thumb2__)
 890:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=l" (r)
 891:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+l" (r)
 892:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "l" (r)
 893:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
 894:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=r" (r)
 895:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+r" (r)
 896:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "r" (r)
 897:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 898:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 899:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 900:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   No Operation
 901:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details No Operation does nothing. This instruction can be used for code alignment purposes.
 902:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 903:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NOP()                             __ASM volatile ("nop")
 904:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 905:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 906:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Wait For Interrupt
 907:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Wait For Interrupt is a hint instruction that suspends execution until one of a number o
 908:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 909:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFI()                             __ASM volatile ("wfi")
 910:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 911:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 912:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 913:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Wait For Event
 914:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Wait For Event is a hint instruction that permits the processor to enter
 915:Drivers/CMSIS/Include/cmsis_gcc.h ****            a low-power state until one of a number of events occurs.
 916:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 917:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFE()                             __ASM volatile ("wfe")
 918:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 919:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 920:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 921:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Send Event
 922:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Send Event is a hint instruction. It causes an event to be signaled to the CPU.
 923:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 924:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __SEV()                             __ASM volatile ("sev")
 925:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 926:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 927:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 928:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Instruction Synchronization Barrier
 929:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Instruction Synchronization Barrier flushes the pipeline in the processor,
 930:Drivers/CMSIS/Include/cmsis_gcc.h ****            so that all instructions following the ISB are fetched from cache or memory,
 931:Drivers/CMSIS/Include/cmsis_gcc.h ****            after the instruction has been completed.
 932:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 933:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __ISB(void)
 1112              		.loc 2 933 27 view .LVU333
 1113              	.LBB19:
 934:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 935:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("isb 0xF":::"memory");
 1114              		.loc 2 935 3 view .LVU334
 1115              		.syntax unified
 1116              	@ 935 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 61


 1117 0064 BFF36F8F 		isb 0xF
 1118              	@ 0 "" 2
 1119              		.thumb
 1120              		.syntax unified
 1121              	.LBE19:
 1122              	.LBE18:
 235:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1123              		.loc 1 235 5 view .LVU335
 1124              	.LBB20:
 1125              	.LBI20:
 936:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 937:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 938:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 939:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 940:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Data Synchronization Barrier
 941:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Acts as a special kind of Data Memory Barrier.
 942:Drivers/CMSIS/Include/cmsis_gcc.h ****            It completes when all explicit memory accesses before this instruction complete.
 943:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 944:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DSB(void)
 1126              		.loc 2 944 27 view .LVU336
 1127              	.LBB21:
 945:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 946:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("dsb 0xF":::"memory");
 1128              		.loc 2 946 3 view .LVU337
 1129              		.syntax unified
 1130              	@ 946 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
 1131 0068 BFF34F8F 		dsb 0xF
 1132              	@ 0 "" 2
 1133              		.thumb
 1134              		.syntax unified
 1135              	.LBE21:
 1136              	.LBE20:
 238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 1137              		.loc 1 238 5 view .LVU338
 238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 1138              		.loc 1 238 8 is_stmt 0 view .LVU339
 1139 006c 022E     		cmp	r6, #2
 1140 006e 33D0     		beq	.L109
 160:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1141              		.loc 1 160 11 view .LVU340
 1142 0070 0423     		movs	r3, #4
 1143              	.LVL80:
 1144              	.L99:
 247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 1145              		.loc 1 247 7 is_stmt 1 view .LVU341
 249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         dest_addr++;
 1146              		.loc 1 249 9 view .LVU342
 249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         dest_addr++;
 1147              		.loc 1 249 22 is_stmt 0 view .LVU343
 1148 0072 58F8042B 		ldr	r2, [r8], #4
 1149              	.LVL81:
 249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         dest_addr++;
 1150              		.loc 1 249 20 view .LVU344
 1151 0076 47F8042B 		str	r2, [r7], #4
 1152              	.LVL82:
 250:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         src_addr++;
 1153              		.loc 1 250 9 is_stmt 1 view .LVU345
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 62


 251:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         row_index--;
 1154              		.loc 1 251 9 view .LVU346
 252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****      } while (row_index != 0U);
 1155              		.loc 1 252 9 view .LVU347
 252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****      } while (row_index != 0U);
 1156              		.loc 1 252 18 is_stmt 0 view .LVU348
 1157 007a 013B     		subs	r3, r3, #1
 1158              	.LVL83:
 253:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 1159              		.loc 1 253 25 is_stmt 1 discriminator 1 view .LVU349
 1160 007c 13F0FF03 		ands	r3, r3, #255
 1161              	.LVL84:
 253:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 1162              		.loc 1 253 25 is_stmt 0 discriminator 1 view .LVU350
 1163 0080 F7D1     		bne	.L99
 1164              	.LVL85:
 1165              	.L100:
 256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     __DSB();
 1166              		.loc 1 256 5 is_stmt 1 view .LVU351
 1167              	.LBB22:
 1168              	.LBI22:
 933:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 1169              		.loc 2 933 27 view .LVU352
 1170              	.LBB23:
 935:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 1171              		.loc 2 935 3 view .LVU353
 1172              		.syntax unified
 1173              	@ 935 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
 1174 0082 BFF36F8F 		isb 0xF
 1175              	@ 0 "" 2
 1176              		.thumb
 1177              		.syntax unified
 1178              	.LBE23:
 1179              	.LBE22:
 257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1180              		.loc 1 257 5 view .LVU354
 1181              	.LBB24:
 1182              	.LBI24:
 944:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 1183              		.loc 2 944 27 view .LVU355
 1184              	.LBB25:
 1185              		.loc 2 946 3 view .LVU356
 1186              		.syntax unified
 1187              	@ 946 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
 1188 0086 BFF34F8F 		dsb 0xF
 1189              	@ 0 "" 2
 1190              		.thumb
 1191              		.syntax unified
 1192              	.LBE25:
 1193              	.LBE24:
 260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1194              		.loc 1 260 5 view .LVU357
 260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1195              		.loc 1 260 14 is_stmt 0 view .LVU358
 1196 008a 4946     		mov	r1, r9
 1197 008c 4CF25030 		movw	r0, #50000
 1198              	.LVL86:
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 63


 260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1199              		.loc 1 260 14 view .LVU359
 1200 0090 FFF7FEFF 		bl	FLASH_WaitForLastOperation
 1201              	.LVL87:
 264:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 1202              		.loc 1 264 5 is_stmt 1 view .LVU360
 264:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 1203              		.loc 1 264 8 is_stmt 0 view .LVU361
 1204 0094 022E     		cmp	r6, #2
 1205 0096 23D0     		beq	.L110
 272:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 1206              		.loc 1 272 7 is_stmt 1 view .LVU362
 272:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 1207              		.loc 1 272 9 is_stmt 0 view .LVU363
 1208 0098 B9F1010F 		cmp	r9, #1
 1209 009c 26D0     		beq	.L111
 280:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 1210              		.loc 1 280 9 is_stmt 1 view .LVU364
 1211 009e 1A4A     		ldr	r2, .L113+8
 1212 00a0 D2F80C31 		ldr	r3, [r2, #268]
 1213 00a4 23F00203 		bic	r3, r3, #2
 1214 00a8 C2F80C31 		str	r3, [r2, #268]
 1215              	.L95:
 300:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1216              		.loc 1 300 3 view .LVU365
 300:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1217              		.loc 1 300 3 view .LVU366
 1218 00ac 144B     		ldr	r3, .L113
 1219 00ae 0022     		movs	r2, #0
 1220 00b0 1A75     		strb	r2, [r3, #20]
 300:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1221              		.loc 1 300 3 view .LVU367
 302:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** }
 1222              		.loc 1 302 3 view .LVU368
 1223              	.LVL88:
 1224              	.L93:
 303:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1225              		.loc 1 303 1 is_stmt 0 view .LVU369
 1226 00b2 BDE8F883 		pop	{r3, r4, r5, r6, r7, r8, r9, pc}
 1227              	.LVL89:
 1228              	.L104:
 175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Prevent unused argument(s) compilation warning */
 1229              		.loc 1 175 10 view .LVU370
 1230 00b6 4FF00109 		mov	r9, #1
 1231 00ba C0E7     		b	.L94
 1232              	.LVL90:
 1233              	.L108:
 202:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 1234              		.loc 1 202 7 is_stmt 1 view .LVU371
 202:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 1235              		.loc 1 202 10 is_stmt 0 view .LVU372
 1236 00bc 022E     		cmp	r6, #2
 1237 00be 05D0     		beq	.L112
 211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 1238              		.loc 1 211 9 is_stmt 1 view .LVU373
 1239 00c0 114A     		ldr	r2, .L113+8
 1240 00c2 D368     		ldr	r3, [r2, #12]
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 64


 1241 00c4 43F00203 		orr	r3, r3, #2
 1242 00c8 D360     		str	r3, [r2, #12]
 1243 00ca CBE7     		b	.L98
 1244              	.L112:
 205:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 1245              		.loc 1 205 9 view .LVU374
 1246 00cc 0E4A     		ldr	r2, .L113+8
 1247 00ce 9369     		ldr	r3, [r2, #24]
 1248 00d0 43F02003 		orr	r3, r3, #32
 1249 00d4 9361     		str	r3, [r2, #24]
 1250 00d6 C5E7     		b	.L98
 1251              	.L109:
 241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 1252              		.loc 1 241 7 view .LVU375
 241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 1253              		.loc 1 241 40 is_stmt 0 view .LVU376
 1254 00d8 2B88     		ldrh	r3, [r5]
 1255 00da 9BB2     		uxth	r3, r3
 241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 1256              		.loc 1 241 38 view .LVU377
 1257 00dc 2380     		strh	r3, [r4]	@ movhi
 1258 00de D0E7     		b	.L100
 1259              	.LVL91:
 1260              	.L110:
 267:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 1261              		.loc 1 267 7 is_stmt 1 view .LVU378
 1262 00e0 094A     		ldr	r2, .L113+8
 1263 00e2 9369     		ldr	r3, [r2, #24]
 1264 00e4 23F02003 		bic	r3, r3, #32
 1265 00e8 9361     		str	r3, [r2, #24]
 1266 00ea DFE7     		b	.L95
 1267              	.L111:
 275:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 1268              		.loc 1 275 9 view .LVU379
 1269 00ec 064A     		ldr	r2, .L113+8
 1270 00ee D368     		ldr	r3, [r2, #12]
 1271 00f0 23F00203 		bic	r3, r3, #2
 1272 00f4 D360     		str	r3, [r2, #12]
 1273 00f6 D9E7     		b	.L95
 1274              	.LVL92:
 1275              	.L103:
 167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1276              		.loc 1 167 3 is_stmt 0 discriminator 1 view .LVU380
 1277 00f8 0220     		movs	r0, #2
 1278              	.LVL93:
 167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1279              		.loc 1 167 3 discriminator 1 view .LVU381
 1280 00fa DAE7     		b	.L93
 1281              	.LVL94:
 1282              	.L105:
 187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 1283              		.loc 1 187 12 view .LVU382
 1284 00fc 0120     		movs	r0, #1
 1285              	.LVL95:
 187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 1286              		.loc 1 187 12 view .LVU383
 1287 00fe D8E7     		b	.L93
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 65


 1288              	.L114:
 1289              		.align	2
 1290              	.L113:
 1291 0100 00000000 		.word	pFlash
 1292 0104 001000F7 		.word	-150990848
 1293 0108 00200052 		.word	1375739904
 1294              		.cfi_endproc
 1295              	.LFE335:
 1297              		.section	.text.HAL_FLASH_Program_IT,"ax",%progbits
 1298              		.align	1
 1299              		.global	HAL_FLASH_Program_IT
 1300              		.syntax unified
 1301              		.thumb
 1302              		.thumb_func
 1304              	HAL_FLASH_Program_IT:
 1305              	.LVL96:
 1306              	.LFB336:
 320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   HAL_StatusTypeDef status;
 1307              		.loc 1 320 1 is_stmt 1 view -0
 1308              		.cfi_startproc
 1309              		@ args = 0, pretend = 0, frame = 0
 1310              		@ frame_needed = 0, uses_anonymous_args = 0
 320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   HAL_StatusTypeDef status;
 1311              		.loc 1 320 1 is_stmt 0 view .LVU385
 1312 0000 2DE9F843 		push	{r3, r4, r5, r6, r7, r8, r9, lr}
 1313              		.cfi_def_cfa_offset 32
 1314              		.cfi_offset 3, -32
 1315              		.cfi_offset 4, -28
 1316              		.cfi_offset 5, -24
 1317              		.cfi_offset 6, -20
 1318              		.cfi_offset 7, -16
 1319              		.cfi_offset 8, -12
 1320              		.cfi_offset 9, -8
 1321              		.cfi_offset 14, -4
 321:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   __IO uint32_t *dest_addr = (__IO uint32_t*)FlashAddress;
 1322              		.loc 1 321 3 is_stmt 1 view .LVU386
 322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   __IO uint32_t *src_addr = (__IO uint32_t*)DataAddress;
 1323              		.loc 1 322 3 view .LVU387
 1324              	.LVL97:
 323:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   uint32_t bank;
 1325              		.loc 1 323 3 view .LVU388
 324:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   uint8_t row_index = FLASH_NB_32BITWORD_IN_FLASHWORD;
 1326              		.loc 1 324 3 view .LVU389
 325:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1327              		.loc 1 325 3 view .LVU390
 328:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   assert_param(IS_FLASH_PROGRAM_ADDRESS(FlashAddress));
 1328              		.loc 1 328 3 view .LVU391
 329:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1329              		.loc 1 329 3 view .LVU392
 332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1330              		.loc 1 332 3 view .LVU393
 332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1331              		.loc 1 332 3 view .LVU394
 1332 0004 3A4B     		ldr	r3, .L133
 1333 0006 1B7D     		ldrb	r3, [r3, #20]	@ zero_extendqisi2
 1334 0008 012B     		cmp	r3, #1
 1335 000a 6CD0     		beq	.L125
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 66


 1336 000c 8046     		mov	r8, r0
 1337 000e 0C46     		mov	r4, r1
 1338 0010 1546     		mov	r5, r2
 1339 0012 0E46     		mov	r6, r1
 1340 0014 1746     		mov	r7, r2
 332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1341              		.loc 1 332 3 discriminator 2 view .LVU395
 1342 0016 364B     		ldr	r3, .L133
 1343 0018 0122     		movs	r2, #1
 1344              	.LVL98:
 332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1345              		.loc 1 332 3 is_stmt 0 discriminator 2 view .LVU396
 1346 001a 1A75     		strb	r2, [r3, #20]
 332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1347              		.loc 1 332 3 is_stmt 1 view .LVU397
 335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1348              		.loc 1 335 3 view .LVU398
 335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1349              		.loc 1 335 20 is_stmt 0 view .LVU399
 1350 001c 0022     		movs	r2, #0
 1351 001e 9A61     		str	r2, [r3, #24]
 338:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #else
 1352              		.loc 1 338 3 is_stmt 1 view .LVU400
 338:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #else
 1353              		.loc 1 338 7 is_stmt 0 view .LVU401
 1354 0020 01F17842 		add	r2, r1, #-134217728
 338:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #else
 1355              		.loc 1 338 57 view .LVU402
 1356 0024 334B     		ldr	r3, .L133+4
 1357 0026 0B44     		add	r3, r3, r1
 338:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #else
 1358              		.loc 1 338 5 view .LVU403
 1359 0028 B3F5806F 		cmp	r3, #1024
 1360 002c 28BF     		it	cs
 1361 002e B2F5801F 		cmpcs	r2, #1048576
 1362 0032 11D3     		bcc	.L126
 348:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 1363              		.loc 1 348 8 is_stmt 1 view .LVU404
 348:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 1364              		.loc 1 348 11 is_stmt 0 view .LVU405
 1365 0034 A1F10163 		sub	r3, r1, #135266304
 348:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 1366              		.loc 1 348 10 view .LVU406
 1367 0038 B3F5801F 		cmp	r3, #1048576
 1368 003c 55D2     		bcs	.L127
 350:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 1369              		.loc 1 350 10 view .LVU407
 1370 003e 4FF00209 		mov	r9, #2
 1371              	.L117:
 1372              	.LVL99:
 359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1373              		.loc 1 359 3 is_stmt 1 view .LVU408
 359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1374              		.loc 1 359 12 is_stmt 0 view .LVU409
 1375 0042 4946     		mov	r1, r9
 1376              	.LVL100:
 359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 67


 1377              		.loc 1 359 12 view .LVU410
 1378 0044 4CF25030 		movw	r0, #50000
 1379              	.LVL101:
 359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1380              		.loc 1 359 12 view .LVU411
 1381 0048 FFF7FEFF 		bl	FLASH_WaitForLastOperation
 1382              	.LVL102:
 361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 1383              		.loc 1 361 3 is_stmt 1 view .LVU412
 361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 1384              		.loc 1 361 6 is_stmt 0 view .LVU413
 1385 004c 38B1     		cbz	r0, .L118
 364:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 1386              		.loc 1 364 5 is_stmt 1 view .LVU414
 364:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 1387              		.loc 1 364 5 view .LVU415
 1388 004e 284B     		ldr	r3, .L133
 1389 0050 0022     		movs	r2, #0
 1390 0052 1A75     		strb	r2, [r3, #20]
 364:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 1391              		.loc 1 364 5 view .LVU416
 1392              	.LVL103:
 1393              	.L116:
 469:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1394              		.loc 1 469 1 is_stmt 0 view .LVU417
 1395 0054 BDE8F883 		pop	{r3, r4, r5, r6, r7, r8, r9, pc}
 1396              	.LVL104:
 1397              	.L126:
 343:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Prevent unused argument(s) compilation warning */
 1398              		.loc 1 343 10 view .LVU418
 1399 0058 4FF00109 		mov	r9, #1
 1400 005c F1E7     		b	.L117
 1401              	.LVL105:
 1402              	.L118:
 368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1403              		.loc 1 368 5 is_stmt 1 view .LVU419
 368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1404              		.loc 1 368 20 is_stmt 0 view .LVU420
 1405 005e 244B     		ldr	r3, .L133
 1406 0060 1C61     		str	r4, [r3, #16]
 371:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 1407              		.loc 1 371 5 is_stmt 1 view .LVU421
 371:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 1408              		.loc 1 371 7 is_stmt 0 view .LVU422
 1409 0062 B9F1010F 		cmp	r9, #1
 1410 0066 24D0     		beq	.L130
 401:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1411              		.loc 1 401 7 is_stmt 1 view .LVU423
 401:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1412              		.loc 1 401 31 is_stmt 0 view .LVU424
 1413 0068 214B     		ldr	r3, .L133
 1414 006a 0622     		movs	r2, #6
 1415 006c 1A70     		strb	r2, [r3]
 404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1416              		.loc 1 404 7 is_stmt 1 view .LVU425
 1417 006e 224B     		ldr	r3, .L133+8
 1418 0070 D3F80C21 		ldr	r2, [r3, #268]
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 68


 1419 0074 42F00202 		orr	r2, r2, #2
 1420 0078 C3F80C21 		str	r2, [r3, #268]
 411:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****                                   FLASH_IT_STRBERR_BANK2 | FLASH_IT_INCERR_BANK2);
 1421              		.loc 1 411 7 view .LVU426
 1422 007c D3F80C21 		ldr	r2, [r3, #268]
 1423 0080 42F43C12 		orr	r2, r2, #3080192
 1424 0084 C3F80C21 		str	r2, [r3, #268]
 1425              	.L122:
 442:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     __DSB();
 1426              		.loc 1 442 5 view .LVU427
 1427              	.LBB26:
 1428              	.LBI26:
 933:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 1429              		.loc 2 933 27 view .LVU428
 1430              	.LBB27:
 935:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 1431              		.loc 2 935 3 view .LVU429
 1432              		.syntax unified
 1433              	@ 935 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
 1434 0088 BFF36F8F 		isb 0xF
 1435              	@ 0 "" 2
 1436              		.thumb
 1437              		.syntax unified
 1438              	.LBE27:
 1439              	.LBE26:
 443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1440              		.loc 1 443 5 view .LVU430
 1441              	.LBB28:
 1442              	.LBI28:
 944:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 1443              		.loc 2 944 27 view .LVU431
 1444              	.LBB29:
 1445              		.loc 2 946 3 view .LVU432
 1446              		.syntax unified
 1447              	@ 946 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
 1448 008c BFF34F8F 		dsb 0xF
 1449              	@ 0 "" 2
 1450              		.thumb
 1451              		.syntax unified
 1452              	.LBE29:
 1453              	.LBE28:
 446:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 1454              		.loc 1 446 5 view .LVU433
 446:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 1455              		.loc 1 446 8 is_stmt 0 view .LVU434
 1456 0090 B8F1020F 		cmp	r8, #2
 1457 0094 23D0     		beq	.L131
 325:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1458              		.loc 1 325 11 view .LVU435
 1459 0096 0423     		movs	r3, #4
 1460              	.LVL106:
 1461              	.L123:
 455:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 1462              		.loc 1 455 7 is_stmt 1 view .LVU436
 457:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         dest_addr++;
 1463              		.loc 1 457 9 view .LVU437
 457:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         dest_addr++;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 69


 1464              		.loc 1 457 22 is_stmt 0 view .LVU438
 1465 0098 57F8042B 		ldr	r2, [r7], #4
 1466              	.LVL107:
 457:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         dest_addr++;
 1467              		.loc 1 457 20 view .LVU439
 1468 009c 46F8042B 		str	r2, [r6], #4
 1469              	.LVL108:
 458:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         src_addr++;
 1470              		.loc 1 458 9 is_stmt 1 view .LVU440
 459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         row_index--;
 1471              		.loc 1 459 9 view .LVU441
 460:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       } while (row_index != 0U);
 1472              		.loc 1 460 9 view .LVU442
 460:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       } while (row_index != 0U);
 1473              		.loc 1 460 18 is_stmt 0 view .LVU443
 1474 00a0 013B     		subs	r3, r3, #1
 1475              	.LVL109:
 461:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 1476              		.loc 1 461 26 is_stmt 1 discriminator 1 view .LVU444
 1477 00a2 13F0FF03 		ands	r3, r3, #255
 1478              	.LVL110:
 461:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 1479              		.loc 1 461 26 is_stmt 0 discriminator 1 view .LVU445
 1480 00a6 F7D1     		bne	.L123
 1481              	.LVL111:
 1482              	.L124:
 464:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     __DSB();
 1483              		.loc 1 464 5 is_stmt 1 view .LVU446
 1484              	.LBB30:
 1485              	.LBI30:
 933:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 1486              		.loc 2 933 27 view .LVU447
 1487              	.LBB31:
 935:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 1488              		.loc 2 935 3 view .LVU448
 1489              		.syntax unified
 1490              	@ 935 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
 1491 00a8 BFF36F8F 		isb 0xF
 1492              	@ 0 "" 2
 1493              		.thumb
 1494              		.syntax unified
 1495              	.LBE31:
 1496              	.LBE30:
 465:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 1497              		.loc 1 465 5 view .LVU449
 1498              	.LBB32:
 1499              	.LBI32:
 944:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 1500              		.loc 2 944 27 view .LVU450
 1501              	.LBB33:
 1502              		.loc 2 946 3 view .LVU451
 1503              		.syntax unified
 1504              	@ 946 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
 1505 00ac BFF34F8F 		dsb 0xF
 1506              	@ 0 "" 2
 947:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 1507              		.loc 2 947 1 is_stmt 0 view .LVU452
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 70


 1508              		.thumb
 1509              		.syntax unified
 1510 00b0 D0E7     		b	.L116
 1511              	.LVL112:
 1512              	.L130:
 1513              		.loc 2 947 1 view .LVU453
 1514              	.LBE33:
 1515              	.LBE32:
 374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1516              		.loc 1 374 7 is_stmt 1 view .LVU454
 374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1517              		.loc 1 374 31 is_stmt 0 view .LVU455
 1518 00b2 0322     		movs	r2, #3
 1519 00b4 1A70     		strb	r2, [r3]
 377:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 1520              		.loc 1 377 7 is_stmt 1 view .LVU456
 377:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
 1521              		.loc 1 377 10 is_stmt 0 view .LVU457
 1522 00b6 B8F1020F 		cmp	r8, #2
 1523 00ba 0AD0     		beq	.L132
 386:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 1524              		.loc 1 386 9 is_stmt 1 view .LVU458
 1525 00bc 0E4A     		ldr	r2, .L133+8
 1526 00be D368     		ldr	r3, [r2, #12]
 1527 00c0 43F00203 		orr	r3, r3, #2
 1528 00c4 D360     		str	r3, [r2, #12]
 1529              	.L121:
 394:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****                                   FLASH_IT_STRBERR_BANK1 | FLASH_IT_INCERR_BANK1);
 1530              		.loc 1 394 7 view .LVU459
 1531 00c6 0C4A     		ldr	r2, .L133+8
 1532 00c8 D368     		ldr	r3, [r2, #12]
 1533 00ca 43F43C13 		orr	r3, r3, #3080192
 1534 00ce D360     		str	r3, [r2, #12]
 1535 00d0 DAE7     		b	.L122
 1536              	.L132:
 380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 1537              		.loc 1 380 9 view .LVU460
 1538 00d2 094A     		ldr	r2, .L133+8
 1539 00d4 9369     		ldr	r3, [r2, #24]
 1540 00d6 43F02003 		orr	r3, r3, #32
 1541 00da 9361     		str	r3, [r2, #24]
 1542 00dc F3E7     		b	.L121
 1543              	.L131:
 449:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 1544              		.loc 1 449 7 view .LVU461
 449:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 1545              		.loc 1 449 40 is_stmt 0 view .LVU462
 1546 00de 2B88     		ldrh	r3, [r5]
 1547 00e0 9BB2     		uxth	r3, r3
 449:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 1548              		.loc 1 449 38 view .LVU463
 1549 00e2 2380     		strh	r3, [r4]	@ movhi
 1550 00e4 E0E7     		b	.L124
 1551              	.LVL113:
 1552              	.L125:
 332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1553              		.loc 1 332 3 discriminator 1 view .LVU464
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 71


 1554 00e6 0220     		movs	r0, #2
 1555              	.LVL114:
 332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1556              		.loc 1 332 3 discriminator 1 view .LVU465
 1557 00e8 B4E7     		b	.L116
 1558              	.LVL115:
 1559              	.L127:
 355:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 1560              		.loc 1 355 12 view .LVU466
 1561 00ea 0120     		movs	r0, #1
 1562              	.LVL116:
 355:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 1563              		.loc 1 355 12 view .LVU467
 1564 00ec B2E7     		b	.L116
 1565              	.L134:
 1566 00ee 00BF     		.align	2
 1567              	.L133:
 1568 00f0 00000000 		.word	pFlash
 1569 00f4 001000F7 		.word	-150990848
 1570 00f8 00200052 		.word	1375739904
 1571              		.cfi_endproc
 1572              	.LFE336:
 1574              		.section	.text.FLASH_OB_WaitForLastOperation,"ax",%progbits
 1575              		.align	1
 1576              		.global	FLASH_OB_WaitForLastOperation
 1577              		.syntax unified
 1578              		.thumb
 1579              		.thumb_func
 1581              	FLASH_OB_WaitForLastOperation:
 1582              	.LVL117:
 1583              	.LFB347:
1148:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
1149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /**
1150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @brief  Wait for a FLASH Option Bytes change operation to complete.
1151:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @param  Timeout maximum flash operation timeout
1152:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @retval HAL_StatusTypeDef HAL Status
1153:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   */
1154:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** HAL_StatusTypeDef FLASH_OB_WaitForLastOperation(uint32_t Timeout)
1155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** {
 1584              		.loc 1 1155 1 is_stmt 1 view -0
 1585              		.cfi_startproc
 1586              		@ args = 0, pretend = 0, frame = 0
 1587              		@ frame_needed = 0, uses_anonymous_args = 0
 1588              		.loc 1 1155 1 is_stmt 0 view .LVU469
 1589 0000 38B5     		push	{r3, r4, r5, lr}
 1590              		.cfi_def_cfa_offset 16
 1591              		.cfi_offset 3, -16
 1592              		.cfi_offset 4, -12
 1593              		.cfi_offset 5, -8
 1594              		.cfi_offset 14, -4
 1595 0002 0446     		mov	r4, r0
1156:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* Get timeout */
1157:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   uint32_t tickstart = HAL_GetTick();
 1596              		.loc 1 1157 3 is_stmt 1 view .LVU470
 1597              		.loc 1 1157 24 is_stmt 0 view .LVU471
 1598 0004 FFF7FEFF 		bl	HAL_GetTick
 1599              	.LVL118:
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 72


 1600              		.loc 1 1157 24 view .LVU472
 1601 0008 0546     		mov	r5, r0
 1602              	.LVL119:
1158:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
1159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* Wait for the FLASH Option Bytes change operation to complete by polling on OPT_BUSY flag to be
1160:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   while(READ_BIT(FLASH->OPTSR_CUR, FLASH_OPTSR_OPT_BUSY) != 0U)
 1603              		.loc 1 1160 3 is_stmt 1 view .LVU473
 1604              	.L137:
 1605              		.loc 1 1160 58 view .LVU474
 1606              		.loc 1 1160 9 is_stmt 0 view .LVU475
 1607 000a 134B     		ldr	r3, .L146
 1608 000c DB69     		ldr	r3, [r3, #28]
 1609              		.loc 1 1160 58 view .LVU476
 1610 000e 13F0010F 		tst	r3, #1
 1611 0012 0BD0     		beq	.L144
1161:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
1162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     if(Timeout != HAL_MAX_DELAY)
 1612              		.loc 1 1162 5 is_stmt 1 view .LVU477
 1613              		.loc 1 1162 7 is_stmt 0 view .LVU478
 1614 0014 B4F1FF3F 		cmp	r4, #-1
 1615 0018 F7D0     		beq	.L137
1163:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
1164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       if(((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U))
 1616              		.loc 1 1164 7 is_stmt 1 view .LVU479
 1617              		.loc 1 1164 12 is_stmt 0 view .LVU480
 1618 001a FFF7FEFF 		bl	HAL_GetTick
 1619              	.LVL120:
 1620              		.loc 1 1164 26 discriminator 1 view .LVU481
 1621 001e 401B     		subs	r0, r0, r5
 1622              		.loc 1 1164 9 discriminator 1 view .LVU482
 1623 0020 A042     		cmp	r0, r4
 1624 0022 16D8     		bhi	.L140
 1625              		.loc 1 1164 50 discriminator 1 view .LVU483
 1626 0024 002C     		cmp	r4, #0
 1627 0026 F0D1     		bne	.L137
1165:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
1166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         return HAL_TIMEOUT;
 1628              		.loc 1 1166 16 view .LVU484
 1629 0028 0320     		movs	r0, #3
 1630 002a 05E0     		b	.L138
 1631              	.L144:
1167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
1168:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
1169:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
1170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
1171:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* Check option byte change error */
1172:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   if(READ_BIT(FLASH->OPTSR_CUR, FLASH_OPTSR_OPTCHANGEERR) != 0U)
 1632              		.loc 1 1172 3 is_stmt 1 view .LVU485
 1633              		.loc 1 1172 6 is_stmt 0 view .LVU486
 1634 002c 0A4B     		ldr	r3, .L146
 1635 002e DB69     		ldr	r3, [r3, #28]
 1636              		.loc 1 1172 5 view .LVU487
 1637 0030 13F0804F 		tst	r3, #1073741824
 1638 0034 01D1     		bne	.L145
1173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
1174:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Save the error code */
1175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     pFlash.ErrorCode |= HAL_FLASH_ERROR_OB_CHANGE;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 73


1176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
1177:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     /* Clear the OB error flag */
1178:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     FLASH->OPTCCR |= FLASH_OPTCCR_CLR_OPTCHANGEERR;
1179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
1180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     return HAL_ERROR;
1181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
1182:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
1183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* If there is no error flag set */
1184:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   return HAL_OK;
 1639              		.loc 1 1184 10 view .LVU488
 1640 0036 0020     		movs	r0, #0
 1641              	.L138:
1185:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** }
 1642              		.loc 1 1185 1 view .LVU489
 1643 0038 38BD     		pop	{r3, r4, r5, pc}
 1644              	.LVL121:
 1645              	.L145:
1175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1646              		.loc 1 1175 5 is_stmt 1 view .LVU490
1175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1647              		.loc 1 1175 11 is_stmt 0 view .LVU491
 1648 003a 084A     		ldr	r2, .L146+4
 1649 003c 9369     		ldr	r3, [r2, #24]
1175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1650              		.loc 1 1175 22 view .LVU492
 1651 003e 43F08043 		orr	r3, r3, #1073741824
 1652 0042 9361     		str	r3, [r2, #24]
1178:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1653              		.loc 1 1178 5 is_stmt 1 view .LVU493
1178:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1654              		.loc 1 1178 10 is_stmt 0 view .LVU494
 1655 0044 044A     		ldr	r2, .L146
 1656 0046 536A     		ldr	r3, [r2, #36]
1178:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1657              		.loc 1 1178 19 view .LVU495
 1658 0048 43F08043 		orr	r3, r3, #1073741824
 1659 004c 5362     		str	r3, [r2, #36]
1180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 1660              		.loc 1 1180 5 is_stmt 1 view .LVU496
1180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 1661              		.loc 1 1180 12 is_stmt 0 view .LVU497
 1662 004e 0120     		movs	r0, #1
 1663 0050 F2E7     		b	.L138
 1664              	.L140:
1166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 1665              		.loc 1 1166 16 view .LVU498
 1666 0052 0320     		movs	r0, #3
 1667 0054 F0E7     		b	.L138
 1668              	.L147:
 1669 0056 00BF     		.align	2
 1670              	.L146:
 1671 0058 00200052 		.word	1375739904
 1672 005c 00000000 		.word	pFlash
 1673              		.cfi_endproc
 1674              	.LFE347:
 1676              		.section	.text.FLASH_CRC_WaitForLastOperation,"ax",%progbits
 1677              		.align	1
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 74


 1678              		.global	FLASH_CRC_WaitForLastOperation
 1679              		.syntax unified
 1680              		.thumb
 1681              		.thumb_func
 1683              	FLASH_CRC_WaitForLastOperation:
 1684              	.LVL122:
 1685              	.LFB348:
1186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
1187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** /**
1188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @brief  Wait for a FLASH CRC computation to complete.
1189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @param  Timeout maximum flash operation timeout
1190:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @param  Bank flash FLASH_BANK_1 or FLASH_BANK_2
1191:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   * @retval HAL_StatusTypeDef HAL Status
1192:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   */
1193:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** HAL_StatusTypeDef FLASH_CRC_WaitForLastOperation(uint32_t Timeout, uint32_t Bank)
1194:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** {
 1686              		.loc 1 1194 1 is_stmt 1 view -0
 1687              		.cfi_startproc
 1688              		@ args = 0, pretend = 0, frame = 0
 1689              		@ frame_needed = 0, uses_anonymous_args = 0
 1690              		.loc 1 1194 1 is_stmt 0 view .LVU500
 1691 0000 F8B5     		push	{r3, r4, r5, r6, r7, lr}
 1692              		.cfi_def_cfa_offset 24
 1693              		.cfi_offset 3, -24
 1694              		.cfi_offset 4, -20
 1695              		.cfi_offset 5, -16
 1696              		.cfi_offset 6, -12
 1697              		.cfi_offset 7, -8
 1698              		.cfi_offset 14, -4
 1699 0002 0546     		mov	r5, r0
 1700 0004 0E46     		mov	r6, r1
1195:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   uint32_t bsyflag;
 1701              		.loc 1 1195 3 is_stmt 1 view .LVU501
1196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   uint32_t tickstart = HAL_GetTick();
 1702              		.loc 1 1196 3 view .LVU502
 1703              		.loc 1 1196 24 is_stmt 0 view .LVU503
 1704 0006 FFF7FEFF 		bl	HAL_GetTick
 1705              	.LVL123:
 1706              		.loc 1 1196 24 view .LVU504
 1707 000a 0746     		mov	r7, r0
 1708              	.LVL124:
1197:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
1198:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   assert_param(IS_FLASH_BANK_EXCLUSIVE(Bank));
 1709              		.loc 1 1198 3 is_stmt 1 view .LVU505
1199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
1200:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* Select bsyflag depending on Bank */
1201:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   if(Bank == FLASH_BANK_1)
 1710              		.loc 1 1201 3 view .LVU506
 1711              		.loc 1 1201 5 is_stmt 0 view .LVU507
 1712 000c 012E     		cmp	r6, #1
 1713 000e 09D0     		beq	.L149
1202:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
1203:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     bsyflag = FLASH_FLAG_CRC_BUSY_BANK1;
1204:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
1205:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   else
1206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
1207:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     bsyflag = FLASH_FLAG_CRC_BUSY_BANK2;
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 75


 1714              		.loc 1 1207 13 view .LVU508
 1715 0010 264C     		ldr	r4, .L168
 1716 0012 17E0     		b	.L151
 1717              	.LVL125:
 1718              	.L164:
1208:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
1209:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
1210:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* Wait for the FLASH CRC computation to complete by polling on CRC_BUSY flag to be reset */
1211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   while(__HAL_FLASH_GET_FLAG(bsyflag))
1212:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
1213:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     if(Timeout != HAL_MAX_DELAY)
1214:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
1215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       if(((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U))
 1719              		.loc 1 1215 7 is_stmt 1 view .LVU509
 1720              		.loc 1 1215 12 is_stmt 0 view .LVU510
 1721 0014 FFF7FEFF 		bl	HAL_GetTick
 1722              	.LVL126:
 1723              		.loc 1 1215 26 discriminator 1 view .LVU511
 1724 0018 C01B     		subs	r0, r0, r7
 1725              		.loc 1 1215 9 discriminator 1 view .LVU512
 1726 001a A842     		cmp	r0, r5
 1727 001c 44D8     		bhi	.L158
 1728              		.loc 1 1215 50 discriminator 1 view .LVU513
 1729 001e 8DB9     		cbnz	r5, .L151
1216:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       {
1217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****         return HAL_TIMEOUT;
 1730              		.loc 1 1217 16 view .LVU514
 1731 0020 0320     		movs	r0, #3
 1732 0022 22E0     		b	.L152
 1733              	.LVL127:
 1734              	.L149:
1203:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 1735              		.loc 1 1203 13 view .LVU515
 1736 0024 0824     		movs	r4, #8
 1737 0026 0DE0     		b	.L151
 1738              	.LVL128:
 1739              	.L154:
1211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 1740              		.loc 1 1211 9 discriminator 2 view .LVU516
 1741 0028 214B     		ldr	r3, .L168+4
 1742 002a D3F81031 		ldr	r3, [r3, #272]
 1743 002e 24EA0303 		bic	r3, r4, r3
 1744 0032 23F00043 		bic	r3, r3, #-2147483648
 1745 0036 B3FA83F3 		clz	r3, r3
 1746 003a 5B09     		lsrs	r3, r3, #5
 1747              	.L155:
1211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 1748              		.loc 1 1211 9 discriminator 4 view .LVU517
 1749 003c 63B1     		cbz	r3, .L163
1213:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 1750              		.loc 1 1213 5 is_stmt 1 view .LVU518
1213:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 1751              		.loc 1 1213 7 is_stmt 0 view .LVU519
 1752 003e B5F1FF3F 		cmp	r5, #-1
 1753 0042 E7D1     		bne	.L164
 1754              	.LVL129:
 1755              	.L151:
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 76


1211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 1756              		.loc 1 1211 9 is_stmt 1 view .LVU520
 1757 0044 002C     		cmp	r4, #0
 1758 0046 EFDB     		blt	.L154
1211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 1759              		.loc 1 1211 9 is_stmt 0 discriminator 1 view .LVU521
 1760 0048 194B     		ldr	r3, .L168+4
 1761 004a 1B69     		ldr	r3, [r3, #16]
 1762 004c 34EA0303 		bics	r3, r4, r3
 1763 0050 0CBF     		ite	eq
 1764 0052 0123     		moveq	r3, #1
 1765 0054 0023     		movne	r3, #0
 1766 0056 F1E7     		b	.L155
 1767              	.L163:
1218:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
1219:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
1220:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
1221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
1222:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* Check FLASH CRC read error flag  */
1223:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   if(Bank == FLASH_BANK_1)
 1768              		.loc 1 1223 3 is_stmt 1 view .LVU522
 1769              		.loc 1 1223 5 is_stmt 0 view .LVU523
 1770 0058 012E     		cmp	r6, #1
 1771 005a 07D0     		beq	.L165
1224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
1225:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     if (__HAL_FLASH_GET_FLAG_BANK1(FLASH_FLAG_CRCRDERR_BANK1))
1226:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
1227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       /* Save the error code */
1228:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       pFlash.ErrorCode |= HAL_FLASH_ERROR_CRCRD_BANK1;
1229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
1230:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       /* Clear FLASH CRC read error pending bit */
1231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       __HAL_FLASH_CLEAR_FLAG_BANK1(FLASH_FLAG_CRCRDERR_BANK1);
1232:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
1233:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       return HAL_ERROR;
1234:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
1235:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
1236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #if defined (DUAL_BANK)
1237:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   else
1238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
1239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     if (__HAL_FLASH_GET_FLAG_BANK2(FLASH_FLAG_CRCRDERR_BANK2))
 1772              		.loc 1 1239 5 is_stmt 1 view .LVU524
 1773              		.loc 1 1239 9 is_stmt 0 view .LVU525
 1774 005c 144B     		ldr	r3, .L168+4
 1775 005e D3F81031 		ldr	r3, [r3, #272]
 1776              		.loc 1 1239 8 view .LVU526
 1777 0062 13F0805F 		tst	r3, #268435456
 1778 0066 13D1     		bne	.L166
1240:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
1241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       /* Save the error code */
1242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       pFlash.ErrorCode |= HAL_FLASH_ERROR_CRCRD_BANK2;
1243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
1244:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       /* Clear FLASH CRC read error pending bit */
1245:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       __HAL_FLASH_CLEAR_FLAG_BANK2(FLASH_FLAG_CRCRDERR_BANK2);
1246:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
1247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       return HAL_ERROR;
1248:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
1249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 77


1250:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** #endif /* DUAL_BANK */
1251:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
1252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   /* If there is no error flag set */
1253:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   return HAL_OK;
 1779              		.loc 1 1253 10 view .LVU527
 1780 0068 0020     		movs	r0, #0
 1781              	.L152:
1254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** }
 1782              		.loc 1 1254 1 view .LVU528
 1783 006a F8BD     		pop	{r3, r4, r5, r6, r7, pc}
 1784              	.LVL130:
 1785              	.L165:
1225:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 1786              		.loc 1 1225 5 is_stmt 1 view .LVU529
1225:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 1787              		.loc 1 1225 9 is_stmt 0 view .LVU530
 1788 006c 104B     		ldr	r3, .L168+4
 1789 006e 1B69     		ldr	r3, [r3, #16]
1225:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     {
 1790              		.loc 1 1225 8 view .LVU531
 1791 0070 13F0805F 		tst	r3, #268435456
 1792 0074 01D1     		bne	.L167
1253:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** }
 1793              		.loc 1 1253 10 view .LVU532
 1794 0076 0020     		movs	r0, #0
 1795 0078 F7E7     		b	.L152
 1796              	.L167:
1228:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1797              		.loc 1 1228 7 is_stmt 1 view .LVU533
1228:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1798              		.loc 1 1228 13 is_stmt 0 view .LVU534
 1799 007a 0E4A     		ldr	r2, .L168+8
 1800 007c 9369     		ldr	r3, [r2, #24]
1228:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1801              		.loc 1 1228 24 view .LVU535
 1802 007e 43F08053 		orr	r3, r3, #268435456
 1803 0082 9361     		str	r3, [r2, #24]
1231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1804              		.loc 1 1231 7 is_stmt 1 view .LVU536
 1805 0084 0A4B     		ldr	r3, .L168+4
 1806 0086 4FF08052 		mov	r2, #268435456
 1807 008a 5A61     		str	r2, [r3, #20]
1233:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 1808              		.loc 1 1233 7 view .LVU537
1233:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 1809              		.loc 1 1233 14 is_stmt 0 view .LVU538
 1810 008c 0120     		movs	r0, #1
 1811 008e ECE7     		b	.L152
 1812              	.L166:
1242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1813              		.loc 1 1242 7 is_stmt 1 view .LVU539
1242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1814              		.loc 1 1242 13 is_stmt 0 view .LVU540
 1815 0090 084A     		ldr	r2, .L168+8
 1816 0092 9369     		ldr	r3, [r2, #24]
1242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1817              		.loc 1 1242 24 view .LVU541
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 78


 1818 0094 43F01043 		orr	r3, r3, #-1879048192
 1819 0098 9361     		str	r3, [r2, #24]
1245:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1820              		.loc 1 1245 7 is_stmt 1 view .LVU542
 1821 009a 054B     		ldr	r3, .L168+4
 1822 009c 4FF08052 		mov	r2, #268435456
 1823 00a0 C3F81421 		str	r2, [r3, #276]
1247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 1824              		.loc 1 1247 7 view .LVU543
1247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****     }
 1825              		.loc 1 1247 14 is_stmt 0 view .LVU544
 1826 00a4 0120     		movs	r0, #1
 1827 00a6 E0E7     		b	.L152
 1828              	.L158:
1217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****       }
 1829              		.loc 1 1217 16 view .LVU545
 1830 00a8 0320     		movs	r0, #3
 1831 00aa DEE7     		b	.L152
 1832              	.L169:
 1833              		.align	2
 1834              	.L168:
 1835 00ac 08000080 		.word	-2147483640
 1836 00b0 00200052 		.word	1375739904
 1837 00b4 00000000 		.word	pFlash
 1838              		.cfi_endproc
 1839              	.LFE348:
 1841              		.section	.text.HAL_FLASH_OB_Launch,"ax",%progbits
 1842              		.align	1
 1843              		.global	HAL_FLASH_OB_Launch
 1844              		.syntax unified
 1845              		.thumb
 1846              		.thumb_func
 1848              	HAL_FLASH_OB_Launch:
 1849              	.LFB344:
 968:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   HAL_StatusTypeDef status;
 1850              		.loc 1 968 1 is_stmt 1 view -0
 1851              		.cfi_startproc
 1852              		@ args = 0, pretend = 0, frame = 0
 1853              		@ frame_needed = 0, uses_anonymous_args = 0
 1854 0000 08B5     		push	{r3, lr}
 1855              		.cfi_def_cfa_offset 8
 1856              		.cfi_offset 3, -8
 1857              		.cfi_offset 14, -4
 969:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1858              		.loc 1 969 3 view .LVU547
 972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 1859              		.loc 1 972 3 view .LVU548
 972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 1860              		.loc 1 972 7 is_stmt 0 view .LVU549
 1861 0002 0121     		movs	r1, #1
 1862 0004 4CF25030 		movw	r0, #50000
 1863 0008 FFF7FEFF 		bl	FLASH_CRC_WaitForLastOperation
 1864              	.LVL131:
 972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 1865              		.loc 1 972 6 discriminator 1 view .LVU550
 1866 000c 08B1     		cbz	r0, .L175
 974:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 79


 1867              		.loc 1 974 12 view .LVU551
 1868 000e 0120     		movs	r0, #1
 1869              	.L171:
 1870              	.LVL132:
 996:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** }
 1871              		.loc 1 996 3 is_stmt 1 view .LVU552
 997:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1872              		.loc 1 997 1 is_stmt 0 view .LVU553
 1873 0010 08BD     		pop	{r3, pc}
 1874              	.LVL133:
 1875              	.L175:
 977:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 1876              		.loc 1 977 8 is_stmt 1 view .LVU554
 977:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 1877              		.loc 1 977 12 is_stmt 0 view .LVU555
 1878 0012 0221     		movs	r1, #2
 1879 0014 4CF25030 		movw	r0, #50000
 1880 0018 FFF7FEFF 		bl	FLASH_CRC_WaitForLastOperation
 1881              	.LVL134:
 977:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 1882              		.loc 1 977 11 discriminator 1 view .LVU556
 1883 001c 08B1     		cbz	r0, .L176
 979:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 1884              		.loc 1 979 12 view .LVU557
 1885 001e 0120     		movs	r0, #1
 1886 0020 F6E7     		b	.L171
 1887              	.L176:
 984:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 1888              		.loc 1 984 5 is_stmt 1 view .LVU558
 1889              	.LVL135:
 987:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   {
 1890              		.loc 1 987 3 view .LVU559
 990:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c **** 
 1891              		.loc 1 990 5 view .LVU560
 1892 0022 054A     		ldr	r2, .L177
 1893 0024 9369     		ldr	r3, [r2, #24]
 1894 0026 43F00203 		orr	r3, r3, #2
 1895 002a 9361     		str	r3, [r2, #24]
 993:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 1896              		.loc 1 993 5 view .LVU561
 993:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 1897              		.loc 1 993 14 is_stmt 0 view .LVU562
 1898 002c 4CF25030 		movw	r0, #50000
 1899 0030 FFF7FEFF 		bl	FLASH_OB_WaitForLastOperation
 1900              	.LVL136:
 993:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c ****   }
 1901              		.loc 1 993 14 view .LVU563
 1902 0034 ECE7     		b	.L171
 1903              	.L178:
 1904 0036 00BF     		.align	2
 1905              	.L177:
 1906 0038 00200052 		.word	1375739904
 1907              		.cfi_endproc
 1908              	.LFE344:
 1910              		.global	pFlash
 1911              		.section	.bss.pFlash,"aw",%nobits
 1912              		.align	2
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 80


 1915              	pFlash:
 1916 0000 00000000 		.space	28
 1916      00000000 
 1916      00000000 
 1916      00000000 
 1916      00000000 
 1917              		.text
 1918              	.Letext0:
 1919              		.file 3 "C:/Users/lenex/AppData/Roaming/Code/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-to
 1920              		.file 4 "C:/Users/lenex/AppData/Roaming/Code/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-to
 1921              		.file 5 "Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7a3xx.h"
 1922              		.file 6 "Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7xx.h"
 1923              		.file 7 "Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_def.h"
 1924              		.file 8 "Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash.h"
 1925              		.file 9 "Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal.h"
 1926              		.file 10 "Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash_ex.h"
ARM GAS  C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s 			page 81


DEFINED SYMBOLS
                            *ABS*:00000000 stm32h7xx_hal_flash.c
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:20     .text.HAL_FLASH_EndOfOperationCallback:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:26     .text.HAL_FLASH_EndOfOperationCallback:00000000 HAL_FLASH_EndOfOperationCallback
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:41     .text.HAL_FLASH_OperationErrorCallback:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:47     .text.HAL_FLASH_OperationErrorCallback:00000000 HAL_FLASH_OperationErrorCallback
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:62     .text.HAL_FLASH_IRQHandler:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:68     .text.HAL_FLASH_IRQHandler:00000000 HAL_FLASH_IRQHandler
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:529    .text.HAL_FLASH_IRQHandler:000001ec $d
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:1915   .bss.pFlash:00000000 pFlash
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:535    .text.HAL_FLASH_Unlock:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:541    .text.HAL_FLASH_Unlock:00000000 HAL_FLASH_Unlock
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:608    .text.HAL_FLASH_Unlock:00000054 $d
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:614    .text.HAL_FLASH_Lock:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:620    .text.HAL_FLASH_Lock:00000000 HAL_FLASH_Lock
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:664    .text.HAL_FLASH_Lock:00000038 $d
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:669    .text.HAL_FLASH_OB_Unlock:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:675    .text.HAL_FLASH_OB_Unlock:00000000 HAL_FLASH_OB_Unlock
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:716    .text.HAL_FLASH_OB_Unlock:0000002c $d
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:722    .text.HAL_FLASH_OB_Lock:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:728    .text.HAL_FLASH_OB_Lock:00000000 HAL_FLASH_OB_Lock
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:757    .text.HAL_FLASH_OB_Lock:0000001c $d
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:762    .text.HAL_FLASH_GetError:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:768    .text.HAL_FLASH_GetError:00000000 HAL_FLASH_GetError
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:784    .text.HAL_FLASH_GetError:00000008 $d
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:789    .text.FLASH_WaitForLastOperation:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:795    .text.FLASH_WaitForLastOperation:00000000 FLASH_WaitForLastOperation
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:1002   .text.FLASH_WaitForLastOperation:000000e8 $d
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:1009   .text.HAL_FLASH_Program:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:1015   .text.HAL_FLASH_Program:00000000 HAL_FLASH_Program
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:1291   .text.HAL_FLASH_Program:00000100 $d
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:1298   .text.HAL_FLASH_Program_IT:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:1304   .text.HAL_FLASH_Program_IT:00000000 HAL_FLASH_Program_IT
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:1568   .text.HAL_FLASH_Program_IT:000000f0 $d
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:1575   .text.FLASH_OB_WaitForLastOperation:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:1581   .text.FLASH_OB_WaitForLastOperation:00000000 FLASH_OB_WaitForLastOperation
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:1671   .text.FLASH_OB_WaitForLastOperation:00000058 $d
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:1677   .text.FLASH_CRC_WaitForLastOperation:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:1683   .text.FLASH_CRC_WaitForLastOperation:00000000 FLASH_CRC_WaitForLastOperation
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:1835   .text.FLASH_CRC_WaitForLastOperation:000000ac $d
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:1842   .text.HAL_FLASH_OB_Launch:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:1848   .text.HAL_FLASH_OB_Launch:00000000 HAL_FLASH_OB_Launch
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:1906   .text.HAL_FLASH_OB_Launch:00000038 $d
C:\Users\lenex\AppData\Local\Temp\cc7Zf4wj.s:1912   .bss.pFlash:00000000 $d

UNDEFINED SYMBOLS
FLASH_Erase_Sector
HAL_GetTick