ARM GAS  /tmp/cc6KszU6.s 			page 1


   1              		.cpu cortex-m4
   2              		.eabi_attribute 27, 1
   3              		.eabi_attribute 28, 1
   4              		.eabi_attribute 23, 1
   5              		.eabi_attribute 24, 1
   6              		.eabi_attribute 25, 1
   7              		.eabi_attribute 26, 1
   8              		.eabi_attribute 30, 2
   9              		.eabi_attribute 34, 1
  10              		.eabi_attribute 18, 4
  11              		.file	"stm32g4xx_hal_flash_ex.c"
  12              		.text
  13              	.Ltext0:
  14              		.cfi_sections	.debug_frame
  15              		.section	.text.HAL_FLASHEx_Erase,"ax",%progbits
  16              		.align	1
  17              		.p2align 2,,3
  18              		.global	HAL_FLASHEx_Erase
  19              		.syntax unified
  20              		.thumb
  21              		.thumb_func
  22              		.fpu fpv4-sp-d16
  24              	HAL_FLASHEx_Erase:
  25              	.LFB329:
  26              		.file 1 "Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c"
   1:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
   2:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   ******************************************************************************
   3:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @file    stm32g4xx_hal_flash_ex.c
   4:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @author  MCD Application Team
   5:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @brief   Extended FLASH HAL module driver.
   6:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *          This file provides firmware functions to manage the following
   7:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *          functionalities of the FLASH extended peripheral:
   8:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *           + Extended programming operations functions
   9:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *
  10:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   @verbatim
  11:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   ==============================================================================
  12:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****                    ##### Flash Extended features #####
  13:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   ==============================================================================
  14:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
  15:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   [..] Comparing to other previous devices, the FLASH interface for STM32G4xx
  16:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****        devices contains the following additional features
  17:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
  18:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****        (+) Capacity up to 512 Kbytes with dual bank architecture supporting read-while-write
  19:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****            capability (RWW)
  20:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****        (+) Dual bank 64-bits memory organization with possibility of single bank 128-bits
  21:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****        (+) Protected areas including WRP, PCROP and Securable memory
  22:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
  23:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****                         ##### How to use this driver #####
  24:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   ==============================================================================
  25:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   [..] This driver provides functions to configure and program the FLASH memory
  26:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****        of all STM32G4xx devices. It includes
  27:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       (#) Flash Memory Erase functions:
  28:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****            (++) Lock and Unlock the FLASH interface using HAL_FLASH_Unlock() and
  29:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****                 HAL_FLASH_Lock() functions
  30:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****            (++) Erase function: Erase pages, or mass erase banks
  31:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****            (++) There are two modes of erase :
  32:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****              (+++) Polling Mode using HAL_FLASHEx_Erase()
ARM GAS  /tmp/cc6KszU6.s 			page 2


  33:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****              (+++) Interrupt Mode using HAL_FLASHEx_Erase_IT()
  34:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
  35:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       (#) Option Bytes Programming function: Use HAL_FLASHEx_OBProgram() to:
  36:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         (++) Configure the write protection areas (WRP)
  37:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         (++) Set the Read protection Level (RDP)
  38:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         (++) Program the user Option Bytes
  39:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         (++) Configure the Proprietary Code ReadOut protection areas (PCROP)
  40:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         (++) Configure the Securable memory areas
  41:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         (++) Configure the Boot Lock
  42:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
  43:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       (#) Get Option Bytes Configuration function: Use HAL_FLASHEx_OBGetConfig() to:
  44:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         (++) Get the configuration of write protection areas (WRP)
  45:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         (++) Get the level of read protection (RDP)
  46:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         (++) Get the value of the user Option Bytes
  47:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         (++) Get the configuration of Proprietary Code ReadOut Protection areas (PCROP)
  48:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         (++) Get the configuration of Securable memory areas
  49:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         (++) Get the status of Boot Lock
  50:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
  51:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       (#) Activation of Securable memory area: Use HAL_FLASHEx_EnableSecMemProtection()
  52:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         (++) Deny the access to securable memory area
  53:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
  54:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       (#) Enable or disable debugger: Use HAL_FLASHEx_EnableDebugger() or
  55:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****           HAL_FLASHEx_DisableDebugger()
  56:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
  57:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   @endverbatim
  58:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   ******************************************************************************
  59:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @attention
  60:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *
  61:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * <h2><center>&copy; COPYRIGHT(c) 2019 STMicroelectronics</center></h2>
  62:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *
  63:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * This software component is licensed by ST under BSD 3-Clause license,
  64:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * the "License"; You may not use this file except in compliance with the
  65:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * License. You may obtain a copy of the License at:
  66:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *                       opensource.org/licenses/BSD-3-Clause
  67:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *
  68:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   ******************************************************************************
  69:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   */
  70:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
  71:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Includes ------------------------------------------------------------------*/
  72:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #include "stm32g4xx_hal.h"
  73:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
  74:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /** @addtogroup STM32G4xx_HAL_Driver
  75:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @{
  76:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   */
  77:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
  78:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /** @defgroup FLASHEx FLASHEx
  79:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @brief FLASH Extended HAL module driver
  80:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @{
  81:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   */
  82:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
  83:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #ifdef HAL_FLASH_MODULE_ENABLED
  84:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
  85:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Private typedef -----------------------------------------------------------*/
  86:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Private define ------------------------------------------------------------*/
  87:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Private macro -------------------------------------------------------------*/
  88:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Private variables ---------------------------------------------------------*/
  89:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Private function prototypes -----------------------------------------------*/
ARM GAS  /tmp/cc6KszU6.s 			page 3


  90:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Private_Functions FLASHEx Private Functions
  91:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @{
  92:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   */
  93:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static void              FLASH_MassErase(uint32_t Banks);
  94:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_WRPConfig(uint32_t WRPArea, uint32_t WRPStartOffset, uint32_t WRD
  95:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_RDPConfig(uint32_t RDPLevel);
  96:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_UserConfig(uint32_t UserType, uint32_t UserConfig);
  97:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_PCROPConfig(uint32_t PCROPConfig, uint32_t PCROPStartAddr, uint32
  98:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static void              FLASH_OB_GetWRP(uint32_t WRPArea, uint32_t *WRPStartOffset, uint32_t *WRDP
  99:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static uint32_t          FLASH_OB_GetRDP(void);
 100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static uint32_t          FLASH_OB_GetUser(void);
 101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static void              FLASH_OB_GetPCROP(uint32_t *PCROPConfig, uint32_t *PCROPStartAddr, uint32_
 102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_SecMemConfig(uint32_t SecMemBank, uint32_t SecMemSize);
 103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static void              FLASH_OB_GetSecMem(uint32_t SecMemBank, uint32_t *SecMemSize);
 104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_BootLockConfig(uint32_t BootLockConfig);
 105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static uint32_t          FLASH_OB_GetBootLock(void);
 106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
 108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @}
 109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   */
 110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Exported functions -------------------------------------------------------*/
 112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Exported_Functions FLASHEx Exported Functions
 113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @{
 114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   */
 115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Exported_Functions_Group1 Extended IO operation functions
 117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @brief   Extended IO operation functions
 118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *
 119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** @verbatim
 120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****  ===============================================================================
 121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****                 ##### Extended programming operation functions #####
 122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****  ===============================================================================
 123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     [..]
 124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     This subsection provides a set of functions allowing to manage the Extended FLASH
 125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     programming operations Operations.
 126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** @endverbatim
 128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @{
 129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   */
 130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
 131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @brief  Perform a mass erase or erase the specified FLASH memory pages.
 132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @param[in]  pEraseInit pointer to an FLASH_EraseInitTypeDef structure that
 133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         contains the configuration information for the erasing.
 134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @param[out]  PageError pointer to variable that contains the configuration
 135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         information on faulty page in case of error (0xFFFFFFFF means that all
 136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         the pages have been correctly erased).
 137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @retval HAL_Status
 138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   */
 139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_StatusTypeDef HAL_FLASHEx_Erase(FLASH_EraseInitTypeDef *pEraseInit, uint32_t *PageError)
 140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
  27              		.loc 1 140 0
  28              		.cfi_startproc
  29              		@ args = 0, pretend = 0, frame = 0
  30              		@ frame_needed = 0, uses_anonymous_args = 0
  31              	.LVL0:
  32 0000 2DE9F047 		push	{r4, r5, r6, r7, r8, r9, r10, lr}
ARM GAS  /tmp/cc6KszU6.s 			page 4


  33              	.LCFI0:
  34              		.cfi_def_cfa_offset 32
  35              		.cfi_offset 4, -32
  36              		.cfi_offset 5, -28
  37              		.cfi_offset 6, -24
  38              		.cfi_offset 7, -20
  39              		.cfi_offset 8, -16
  40              		.cfi_offset 9, -12
  41              		.cfi_offset 10, -8
  42              		.cfi_offset 14, -4
 141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   HAL_StatusTypeDef status;
 142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   uint32_t page_index;
 143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Check the parameters */
 145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   assert_param(IS_FLASH_TYPEERASE(pEraseInit->TypeErase));
 146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Process Locked */
 148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   __HAL_LOCK(&pFlash);
  43              		.loc 1 148 0
  44 0004 544F     		ldr	r7, .L26
  45 0006 3B78     		ldrb	r3, [r7]	@ zero_extendqisi2
  46 0008 012B     		cmp	r3, #1
  47 000a 78D0     		beq	.L16
  48 000c 0546     		mov	r5, r0
  49              		.loc 1 148 0 is_stmt 0 discriminator 2
  50 000e 0124     		movs	r4, #1
 149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Wait for last operation to be completed */
 151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
  51              		.loc 1 151 0 is_stmt 1 discriminator 2
  52 0010 4FF47A70 		mov	r0, #1000
  53              	.LVL1:
  54 0014 8846     		mov	r8, r1
 148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
  55              		.loc 1 148 0 discriminator 2
  56 0016 3C70     		strb	r4, [r7]
  57              		.loc 1 151 0 discriminator 2
  58 0018 FFF7FEFF 		bl	FLASH_WaitForLastOperation
  59              	.LVL2:
 152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   if (status == HAL_OK)
  60              		.loc 1 153 0 discriminator 2
  61 001c 8246     		mov	r10, r0
  62 001e 20B1     		cbz	r0, .L23
  63              	.LVL3:
  64              	.L3:
 154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
 156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Deactivate the cache if they are activated to avoid data misbehavior */
 158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     if (READ_BIT(FLASH->ACR, FLASH_ACR_ICEN) != 0U)
 159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* Disable instruction cache  */
 161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       __HAL_FLASH_INSTRUCTION_CACHE_DISABLE();
 162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       if (READ_BIT(FLASH->ACR, FLASH_ACR_DCEN) != 0U)
 164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       {
ARM GAS  /tmp/cc6KszU6.s 			page 5


 165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         /* Disable data cache  */
 166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         __HAL_FLASH_DATA_CACHE_DISABLE();
 167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         pFlash.CacheToReactivate = FLASH_CACHE_ICACHE_DCACHE_ENABLED;
 168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       }
 169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       else
 170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       {
 171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         pFlash.CacheToReactivate = FLASH_CACHE_ICACHE_ENABLED;
 172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       }
 173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     else if (READ_BIT(FLASH->ACR, FLASH_ACR_DCEN) != 0U)
 175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* Disable data cache  */
 177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       __HAL_FLASH_DATA_CACHE_DISABLE();
 178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       pFlash.CacheToReactivate = FLASH_CACHE_DCACHE_ENABLED;
 179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     else
 181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       pFlash.CacheToReactivate = FLASH_CACHE_DISABLED;
 183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     if (pEraseInit->TypeErase == FLASH_TYPEERASE_MASSERASE)
 186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* Mass erase to be done */
 188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       FLASH_MassErase(pEraseInit->Banks);
 189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* Wait for last operation to be completed */
 191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
 192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
 194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* If the erase operation is completed, disable the MER1 and MER2 Bits */
 195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       CLEAR_BIT(FLASH->CR, (FLASH_CR_MER1 | FLASH_CR_MER2));
 196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #else
 197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* If the erase operation is completed, disable the MER1 Bit */
 198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       CLEAR_BIT(FLASH->CR, (FLASH_CR_MER1));
 199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
 200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     else
 202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /*Initialization of PageError variable*/
 204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       *PageError = 0xFFFFFFFFU;
 205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       for (page_index = pEraseInit->Page; page_index < (pEraseInit->Page + pEraseInit->NbPages); pa
 207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       {
 208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         FLASH_PageErase(page_index, pEraseInit->Banks);
 209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         /* Wait for last operation to be completed */
 211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
 212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         /* If the erase operation is completed, disable the PER Bit */
 214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         CLEAR_BIT(FLASH->CR, (FLASH_CR_PER | FLASH_CR_PNB));
 215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         if (status != HAL_OK)
 217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         {
 218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****           /* In case of error, stop erase procedure and return the faulty page */
 219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****           *PageError = page_index;
 220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****           break;
 221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         }
ARM GAS  /tmp/cc6KszU6.s 			page 6


 222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       }
 223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Flush the caches to be sure of the data consistency */
 226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     FLASH_FlushCaches();
 227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Process Unlocked */
 230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   __HAL_UNLOCK(&pFlash);
  65              		.loc 1 230 0
  66 0020 0023     		movs	r3, #0
  67 0022 3B70     		strb	r3, [r7]
 231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   return status;
 233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
  68              		.loc 1 233 0
  69 0024 5046     		mov	r0, r10
  70 0026 BDE8F087 		pop	{r4, r5, r6, r7, r8, r9, r10, pc}
  71              	.LVL4:
  72              	.L23:
 158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
  73              		.loc 1 158 0
  74 002a 4C4B     		ldr	r3, .L26+4
 155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
  75              		.loc 1 155 0
  76 002c 7860     		str	r0, [r7, #4]
 158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
  77              		.loc 1 158 0
  78 002e 1A68     		ldr	r2, [r3]
  79 0030 12F4007F 		tst	r2, #512
 161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
  80              		.loc 1 161 0
  81 0034 1A68     		ldr	r2, [r3]
 158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
  82              		.loc 1 158 0
  83 0036 67D1     		bne	.L24
 174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
  84              		.loc 1 174 0
  85 0038 5205     		lsls	r2, r2, #21
  86 003a 40F18B80 		bpl	.L7
 177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       pFlash.CacheToReactivate = FLASH_CACHE_DCACHE_ENABLED;
  87              		.loc 1 177 0
  88 003e 1A68     		ldr	r2, [r3]
 178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
  89              		.loc 1 178 0
  90 0040 0221     		movs	r1, #2
 177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       pFlash.CacheToReactivate = FLASH_CACHE_DCACHE_ENABLED;
  91              		.loc 1 177 0
  92 0042 22F48062 		bic	r2, r2, #1024
  93 0046 1A60     		str	r2, [r3]
 178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
  94              		.loc 1 178 0
  95 0048 3977     		strb	r1, [r7, #28]
  96              	.L6:
 185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
  97              		.loc 1 185 0
  98 004a 2B68     		ldr	r3, [r5]
ARM GAS  /tmp/cc6KszU6.s 			page 7


  99 004c 012B     		cmp	r3, #1
 100 004e 68D0     		beq	.L25
 204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 101              		.loc 1 204 0
 102 0050 4FF0FF33 		mov	r3, #-1
 103 0054 C8F80030 		str	r3, [r8]
 206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       {
 104              		.loc 1 206 0
 105 0058 D5E90263 		ldrd	r6, r3, [r5, #8]
 106 005c 3344     		add	r3, r3, r6
 107 005e 9E42     		cmp	r6, r3
 108 0060 27D2     		bcs	.L10
 109              	.LBB28:
 110              	.LBB29:
 234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
 236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @brief  Perform a mass erase or erase the specified FLASH memory pages with interrupt enabled.
 237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @param  pEraseInit pointer to an FLASH_EraseInitTypeDef structure that
 238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         contains the configuration information for the erasing.
 239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @retval HAL_Status
 240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   */
 241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_StatusTypeDef HAL_FLASHEx_Erase_IT(FLASH_EraseInitTypeDef *pEraseInit)
 242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
 243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   HAL_StatusTypeDef status = HAL_OK;
 244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Process Locked */
 246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   __HAL_LOCK(&pFlash);
 247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Check the parameters */
 249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   assert_param(IS_FLASH_TYPEERASE(pEraseInit->TypeErase));
 250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
 252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Deactivate the cache if they are activated to avoid data misbehavior */
 254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   if (READ_BIT(FLASH->ACR, FLASH_ACR_ICEN) != 0U)
 255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Disable instruction cache  */
 257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     __HAL_FLASH_INSTRUCTION_CACHE_DISABLE();
 258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     if (READ_BIT(FLASH->ACR, FLASH_ACR_DCEN) != 0U)
 260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* Disable data cache  */
 262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       __HAL_FLASH_DATA_CACHE_DISABLE();
 263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       pFlash.CacheToReactivate = FLASH_CACHE_ICACHE_DCACHE_ENABLED;
 264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     else
 266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       pFlash.CacheToReactivate = FLASH_CACHE_ICACHE_ENABLED;
 268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   else if (READ_BIT(FLASH->ACR, FLASH_ACR_DCEN) != 0U)
 271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Disable data cache  */
 273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     __HAL_FLASH_DATA_CACHE_DISABLE();
 274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     pFlash.CacheToReactivate = FLASH_CACHE_DCACHE_ENABLED;
 275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   else
ARM GAS  /tmp/cc6KszU6.s 			page 8


 277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     pFlash.CacheToReactivate = FLASH_CACHE_DISABLED;
 279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Enable End of Operation and Error interrupts */
 282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   __HAL_FLASH_ENABLE_IT(FLASH_IT_EOP | FLASH_IT_OPERR);
 283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   pFlash.Bank = pEraseInit->Banks;
 285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   if (pEraseInit->TypeErase == FLASH_TYPEERASE_MASSERASE)
 287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Mass erase to be done */
 289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     pFlash.ProcedureOnGoing = FLASH_PROC_MASS_ERASE;
 290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     FLASH_MassErase(pEraseInit->Banks);
 291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   else
 293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Erase by page to be done */
 295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     pFlash.ProcedureOnGoing = FLASH_PROC_PAGE_ERASE;
 296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     pFlash.NbPagesToErase = pEraseInit->NbPages;
 297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     pFlash.Page = pEraseInit->Page;
 298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /*Erase 1st page and wait for IT */
 300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     FLASH_PageErase(pEraseInit->Page, pEraseInit->Banks);
 301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   return status;
 304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
 305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
 307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @brief  Program Option bytes.
 308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @param  pOBInit pointer to an FLASH_OBInitStruct structure that
 309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         contains the configuration information for the programming.
 310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @note   To configure any option bytes, the option lock bit OPTLOCK must be
 311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         cleared with the call of HAL_FLASH_OB_Unlock() function.
 312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @note   New option bytes configuration will be taken into account in two cases:
 313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         - after an option bytes launch through the call of HAL_FLASH_OB_Launch()
 314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         - after a power reset (BOR reset or exit from Standby/Shutdown modes)
 315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @retval HAL_Status
 316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   */
 317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_StatusTypeDef HAL_FLASHEx_OBProgram(FLASH_OBProgramInitTypeDef *pOBInit)
 318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
 319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   HAL_StatusTypeDef status = HAL_OK;
 320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Check the parameters */
 322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   assert_param(IS_OPTIONBYTE(pOBInit->OptionType));
 323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Process Locked */
 325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   __HAL_LOCK(&pFlash);
 326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
 328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Write protection configuration */
 330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   if ((pOBInit->OptionType & OPTIONBYTE_WRP) != 0U)
 331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Configure of Write protection on the selected area */
 333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     if (FLASH_OB_WRPConfig(pOBInit->WRPArea, pOBInit->WRPStartOffset, pOBInit->WRPEndOffset) != HAL
ARM GAS  /tmp/cc6KszU6.s 			page 9


 334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       status = HAL_ERROR;
 336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Read protection configuration */
 340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   if ((pOBInit->OptionType & OPTIONBYTE_RDP) != 0U)
 341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Configure the Read protection level */
 343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     if (FLASH_OB_RDPConfig(pOBInit->RDPLevel) != HAL_OK)
 344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       status = HAL_ERROR;
 346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* User Configuration */
 350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   if ((pOBInit->OptionType & OPTIONBYTE_USER) != 0U)
 351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Configure the user option bytes */
 353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     if (FLASH_OB_UserConfig(pOBInit->USERType, pOBInit->USERConfig) != HAL_OK)
 354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       status = HAL_ERROR;
 356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* PCROP Configuration */
 360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   if ((pOBInit->OptionType & OPTIONBYTE_PCROP) != 0U)
 361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     if (pOBInit->PCROPStartAddr != pOBInit->PCROPEndAddr)
 363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* Configure the Proprietary code readout protection */
 365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       if (FLASH_OB_PCROPConfig(pOBInit->PCROPConfig, pOBInit->PCROPStartAddr, pOBInit->PCROPEndAddr
 366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       {
 367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         status = HAL_ERROR;
 368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       }
 369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Securable memory Configuration */
 373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   if ((pOBInit->OptionType & OPTIONBYTE_SEC) != 0U)
 374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Configure the securable memory area */
 376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     if (FLASH_OB_SecMemConfig(pOBInit->SecBank, pOBInit->SecSize) != HAL_OK)
 377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       status = HAL_ERROR;
 379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Boot Entry Point Configuration */
 383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   if ((pOBInit->OptionType & OPTIONBYTE_BOOT_LOCK) != 0U)
 384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Configure the boot unique entry point option */
 386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     if (FLASH_OB_BootLockConfig(pOBInit->BootEntryPoint) != HAL_OK)
 387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       status = HAL_ERROR;
 389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
ARM GAS  /tmp/cc6KszU6.s 			page 10


 391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Process Unlocked */
 393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   __HAL_UNLOCK(&pFlash);
 394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   return status;
 396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
 397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
 399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @brief  Get the Option bytes configuration.
 400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @param  pOBInit pointer to an FLASH_OBInitStruct structure that contains the
 401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         configuration information.
 402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @note   The fields pOBInit->WRPArea and pOBInit->PCROPConfig should indicate
 403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         which area is requested for the WRP and PCROP, else no information will be returned.
 404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @retval None
 405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   */
 406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** void HAL_FLASHEx_OBGetConfig(FLASH_OBProgramInitTypeDef *pOBInit)
 407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
 408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   pOBInit->OptionType = (OPTIONBYTE_RDP | OPTIONBYTE_USER);
 409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
 411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   if ((pOBInit->WRPArea == OB_WRPAREA_BANK1_AREAA) || (pOBInit->WRPArea == OB_WRPAREA_BANK1_AREAB) 
 412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       (pOBInit->WRPArea == OB_WRPAREA_BANK2_AREAA) || (pOBInit->WRPArea == OB_WRPAREA_BANK2_AREAB))
 413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #else
 414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   if ((pOBInit->WRPArea == OB_WRPAREA_BANK1_AREAA) || (pOBInit->WRPArea == OB_WRPAREA_BANK1_AREAB))
 415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
 416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     pOBInit->OptionType |= OPTIONBYTE_WRP;
 418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Get write protection on the selected area */
 419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     FLASH_OB_GetWRP(pOBInit->WRPArea, &(pOBInit->WRPStartOffset), &(pOBInit->WRPEndOffset));
 420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Get Read protection level */
 423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   pOBInit->RDPLevel = FLASH_OB_GetRDP();
 424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Get the user option bytes */
 426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   pOBInit->USERConfig = FLASH_OB_GetUser();
 427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
 429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   if ((pOBInit->PCROPConfig == FLASH_BANK_1) || (pOBInit->PCROPConfig == FLASH_BANK_2))
 430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #else
 431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   if (pOBInit->PCROPConfig == FLASH_BANK_1)
 432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
 433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     pOBInit->OptionType |= OPTIONBYTE_PCROP;
 435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Get the Proprietary code readout protection */
 436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     FLASH_OB_GetPCROP(&(pOBInit->PCROPConfig), &(pOBInit->PCROPStartAddr), &(pOBInit->PCROPEndAddr)
 437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   pOBInit->OptionType |= OPTIONBYTE_BOOT_LOCK;
 440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Get the boot entry point */
 442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   pOBInit->BootEntryPoint = FLASH_OB_GetBootLock();
 443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Get the securable memory area configuration */
 445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
 446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   if ((pOBInit->SecBank == FLASH_BANK_1) || (pOBInit->SecBank == FLASH_BANK_2))
 447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #else
ARM GAS  /tmp/cc6KszU6.s 			page 11


 448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   if (pOBInit->SecBank == FLASH_BANK_1)
 449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
 450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     pOBInit->OptionType |= OPTIONBYTE_SEC;
 452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     FLASH_OB_GetSecMem(pOBInit->SecBank, &(pOBInit->SecSize));
 453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
 455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
 457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @brief  Enable the FLASH Securable Memory protection.
 458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @param  Bank: Bank to be protected
 459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *          This parameter can be one of the following values:
 460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *            @arg FLASH_BANK_1: Bank1 to be protected
 461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *            @arg FLASH_BANK_2: Bank2 to be protected (*)
 462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *            @arg FLASH_BANK_BOTH: Bank1 and Bank2 to be protected (*)
 463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @note   (*) availability depends on devices
 464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @retval HAL Status
 465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   */
 466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_StatusTypeDef HAL_FLASHEx_EnableSecMemProtection(uint32_t Bank)
 467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
 468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
 469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   if (READ_BIT(FLASH->OPTR, FLASH_OPTR_DBANK) != 0U)
 470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Check the parameters */
 472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     assert_param(IS_FLASH_BANK(Bank));
 473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Enable the Securable Memory Protection Bit for the bank 1 if requested */
 475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     if ((Bank & FLASH_BANK_1) != 0U)
 476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       SET_BIT(FLASH->CR, FLASH_CR_SEC_PROT1);
 478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Enable the Securable Memory Protection Bit for the bank 2 if requested */
 481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     if ((Bank & FLASH_BANK_2) != 0U)
 482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       SET_BIT(FLASH->CR, FLASH_CR_SEC_PROT2);
 484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   else
 487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
 488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     SET_BIT(FLASH->CR, FLASH_CR_SEC_PROT1);
 490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   return HAL_OK;
 493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
 494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
 496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @brief  Enable Debugger.
 497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @note   After calling this API, flash interface allow debugger intrusion.
 498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @retval None
 499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   */
 500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** void HAL_FLASHEx_EnableDebugger(void)
 501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
 502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   FLASH->ACR |= FLASH_ACR_DBG_SWEN;
 503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
 504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
ARM GAS  /tmp/cc6KszU6.s 			page 12


 505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
 507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @brief  Disable Debugger.
 508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @note   After calling this API, Debugger is disabled: it's no more possible to
 509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         break, see CPU register, etc...
 510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @retval None
 511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   */
 512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** void HAL_FLASHEx_DisableDebugger(void)
 513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
 514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   FLASH->ACR &= ~FLASH_ACR_DBG_SWEN;
 515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
 516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
 518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @}
 519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   */
 520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
 522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @}
 523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   */
 524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Private functions ---------------------------------------------------------*/
 526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /** @addtogroup FLASHEx_Private_Functions
 528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @{
 529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   */
 530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
 531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @brief  Mass erase of FLASH memory.
 532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @param  Banks Banks to be erased.
 533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         This parameter can be one of the following values:
 534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *            @arg FLASH_BANK_1: Bank1 to be erased
 535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *            @arg FLASH_BANK_2: Bank2 to be erased (*)
 536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *            @arg FLASH_BANK_BOTH: Bank1 and Bank2 to be erased (*)
 537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @note   (*) availability depends on devices
 538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @retval None
 539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   */
 540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static void FLASH_MassErase(uint32_t Banks)
 541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
 542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
 543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   if (READ_BIT(FLASH->OPTR, FLASH_OPTR_DBANK) != 0U)
 544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
 545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Check the parameters */
 547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     assert_param(IS_FLASH_BANK(Banks));
 548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Set the Mass Erase Bit for the bank 1 if requested */
 550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     if ((Banks & FLASH_BANK_1) != 0U)
 551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       SET_BIT(FLASH->CR, FLASH_CR_MER1);
 553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
 556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Set the Mass Erase Bit for the bank 2 if requested */
 557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     if ((Banks & FLASH_BANK_2) != 0U)
 558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       SET_BIT(FLASH->CR, FLASH_CR_MER2);
 560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
ARM GAS  /tmp/cc6KszU6.s 			page 13


 562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
 564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   else
 565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     SET_BIT(FLASH->CR, (FLASH_CR_MER1 | FLASH_CR_MER2));
 567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
 569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Proceed to erase all sectors */
 571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   SET_BIT(FLASH->CR, FLASH_CR_STRT);
 572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
 573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
 575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @brief  Erase the specified FLASH memory page.
 576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @param  Page FLASH page to erase.
 577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         This parameter must be a value between 0 and (max number of pages in the bank - 1).
 578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @param  Banks Bank where the page will be erased.
 579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         This parameter can be one of the following values:
 580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *            @arg FLASH_BANK_1: Page in bank 1 to be erased
 581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *            @arg FLASH_BANK_2: Page in bank 2 to be erased (*)
 582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @note   (*) availability depends on devices
 583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @retval None
 584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   */
 585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** void FLASH_PageErase(uint32_t Page, uint32_t Banks)
 586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
 587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Check the parameters */
 588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   assert_param(IS_FLASH_PAGE(Page));
 589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
 591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   if (READ_BIT(FLASH->OPTR, FLASH_OPTR_DBANK) == 0U)
 592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     CLEAR_BIT(FLASH->CR, FLASH_CR_BKER);
 594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   else
 596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     assert_param(IS_FLASH_BANK_EXCLUSIVE(Banks));
 598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     if ((Banks & FLASH_BANK_1) != 0U)
 600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       CLEAR_BIT(FLASH->CR, FLASH_CR_BKER);
 602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     else
 604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       SET_BIT(FLASH->CR, FLASH_CR_BKER);
 606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
 609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Proceed to erase the page */
 611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   MODIFY_REG(FLASH->CR, FLASH_CR_PNB, ((Page & 0xFFU) << FLASH_CR_PNB_Pos));
 111              		.loc 1 611 0
 112 0062 3E4C     		ldr	r4, .L26+4
 113 0064 4FEAC609 		lsl	r9, r6, #3
 114 0068 05E0     		b	.L13
 115              	.LVL5:
 116              	.L12:
 117              	.LBE29:
ARM GAS  /tmp/cc6KszU6.s 			page 14


 118              	.LBE28:
 206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       {
 119              		.loc 1 206 0 discriminator 2
 120 006a D5E90232 		ldrd	r3, r2, [r5, #8]
 121 006e 0136     		adds	r6, r6, #1
 122              	.LVL6:
 123 0070 1344     		add	r3, r3, r2
 124 0072 B342     		cmp	r3, r6
 125 0074 1DD9     		bls	.L10
 126              	.LVL7:
 127              	.L13:
 128              	.LBB31:
 129              	.LBB30:
 130              		.loc 1 611 0
 131 0076 6369     		ldr	r3, [r4, #20]
 132 0078 09F4FF62 		and	r2, r9, #2040
 133 007c 23F4FC73 		bic	r3, r3, #504
 134 0080 1343     		orrs	r3, r3, r2
 135 0082 6361     		str	r3, [r4, #20]
 612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   SET_BIT(FLASH->CR, FLASH_CR_PER);
 136              		.loc 1 612 0
 137 0084 6369     		ldr	r3, [r4, #20]
 138 0086 43F00203 		orr	r3, r3, #2
 139 008a 6361     		str	r3, [r4, #20]
 613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   SET_BIT(FLASH->CR, FLASH_CR_STRT);
 140              		.loc 1 613 0
 141 008c 6369     		ldr	r3, [r4, #20]
 142 008e 43F48033 		orr	r3, r3, #65536
 143 0092 6361     		str	r3, [r4, #20]
 144              	.LVL8:
 145              	.LBE30:
 146              	.LBE31:
 211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 147              		.loc 1 211 0
 148 0094 4FF47A70 		mov	r0, #1000
 149 0098 FFF7FEFF 		bl	FLASH_WaitForLastOperation
 150              	.LVL9:
 214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 151              		.loc 1 214 0
 152 009c 6369     		ldr	r3, [r4, #20]
 153 009e 23F4FD73 		bic	r3, r3, #506
 154 00a2 09F10809 		add	r9, r9, #8
 155 00a6 6361     		str	r3, [r4, #20]
 216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         {
 156              		.loc 1 216 0
 157 00a8 0028     		cmp	r0, #0
 158 00aa DED0     		beq	.L12
 219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****           break;
 159              		.loc 1 219 0
 160 00ac C8F80060 		str	r6, [r8]
 211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 161              		.loc 1 211 0
 162 00b0 8246     		mov	r10, r0
 163              	.LVL10:
 164              	.L10:
 165              	.LBB32:
 166              	.LBB33:
ARM GAS  /tmp/cc6KszU6.s 			page 15


 614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
 615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
 617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @brief  Flush the instruction and data caches.
 618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @retval None
 619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   */
 620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** void FLASH_FlushCaches(void)
 621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
 622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   FLASH_CacheTypeDef cache = pFlash.CacheToReactivate;
 167              		.loc 1 622 0
 168 00b2 3B7F     		ldrb	r3, [r7, #28]	@ zero_extendqisi2
 169 00b4 DBB2     		uxtb	r3, r3
 170              	.LVL11:
 623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Flush instruction cache  */
 625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   if ((cache == FLASH_CACHE_ICACHE_ENABLED) ||
 171              		.loc 1 625 0
 172 00b6 03F0FD02 		and	r2, r3, #253
 173 00ba 012A     		cmp	r2, #1
 174 00bc 0CD1     		bne	.L14
 626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       (cache == FLASH_CACHE_ICACHE_DCACHE_ENABLED))
 627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Reset instruction cache */
 629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     __HAL_FLASH_INSTRUCTION_CACHE_RESET();
 175              		.loc 1 629 0
 176 00be 274A     		ldr	r2, .L26+4
 177 00c0 1168     		ldr	r1, [r2]
 178 00c2 41F40061 		orr	r1, r1, #2048
 179 00c6 1160     		str	r1, [r2]
 180 00c8 1168     		ldr	r1, [r2]
 181 00ca 21F40061 		bic	r1, r1, #2048
 182 00ce 1160     		str	r1, [r2]
 630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Enable instruction cache */
 631:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     __HAL_FLASH_INSTRUCTION_CACHE_ENABLE();
 183              		.loc 1 631 0
 184 00d0 1168     		ldr	r1, [r2]
 185 00d2 41F40071 		orr	r1, r1, #512
 186 00d6 1160     		str	r1, [r2]
 187              	.L14:
 632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Flush data cache */
 635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   if ((cache == FLASH_CACHE_DCACHE_ENABLED) ||
 188              		.loc 1 635 0
 189 00d8 023B     		subs	r3, r3, #2
 190              	.LVL12:
 191 00da 012B     		cmp	r3, #1
 192 00dc 0CD8     		bhi	.L15
 636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       (cache == FLASH_CACHE_ICACHE_DCACHE_ENABLED))
 637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Reset data cache */
 639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     __HAL_FLASH_DATA_CACHE_RESET();
 193              		.loc 1 639 0
 194 00de 1F4B     		ldr	r3, .L26+4
 195              	.LVL13:
 196 00e0 1A68     		ldr	r2, [r3]
 197 00e2 42F48052 		orr	r2, r2, #4096
ARM GAS  /tmp/cc6KszU6.s 			page 16


 198 00e6 1A60     		str	r2, [r3]
 199 00e8 1A68     		ldr	r2, [r3]
 200 00ea 22F48052 		bic	r2, r2, #4096
 201 00ee 1A60     		str	r2, [r3]
 640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Enable data cache */
 641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     __HAL_FLASH_DATA_CACHE_ENABLE();
 202              		.loc 1 641 0
 203 00f0 1A68     		ldr	r2, [r3]
 204 00f2 42F48062 		orr	r2, r2, #1024
 205 00f6 1A60     		str	r2, [r3]
 206              	.L15:
 642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Reset internal variable */
 645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   pFlash.CacheToReactivate = FLASH_CACHE_DISABLED;
 207              		.loc 1 645 0
 208 00f8 0023     		movs	r3, #0
 209 00fa 3B77     		strb	r3, [r7, #28]
 210 00fc 90E7     		b	.L3
 211              	.LVL14:
 212              	.L16:
 213              	.LBE33:
 214              	.LBE32:
 148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 215              		.loc 1 148 0
 216 00fe 4FF0020A 		mov	r10, #2
 233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 217              		.loc 1 233 0
 218 0102 5046     		mov	r0, r10
 219              	.LVL15:
 220 0104 BDE8F087 		pop	{r4, r5, r6, r7, r8, r9, r10, pc}
 221              	.LVL16:
 222              	.L24:
 161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 223              		.loc 1 161 0
 224 0108 22F40072 		bic	r2, r2, #512
 225 010c 1A60     		str	r2, [r3]
 163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       {
 226              		.loc 1 163 0
 227 010e 1A68     		ldr	r2, [r3]
 228 0110 5105     		lsls	r1, r2, #21
 229 0112 1DD5     		bpl	.L5
 166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         pFlash.CacheToReactivate = FLASH_CACHE_ICACHE_DCACHE_ENABLED;
 230              		.loc 1 166 0
 231 0114 1A68     		ldr	r2, [r3]
 167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       }
 232              		.loc 1 167 0
 233 0116 0321     		movs	r1, #3
 166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         pFlash.CacheToReactivate = FLASH_CACHE_ICACHE_DCACHE_ENABLED;
 234              		.loc 1 166 0
 235 0118 22F48062 		bic	r2, r2, #1024
 236 011c 1A60     		str	r2, [r3]
 167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       }
 237              		.loc 1 167 0
 238 011e 3977     		strb	r1, [r7, #28]
 239 0120 93E7     		b	.L6
 240              	.L25:
ARM GAS  /tmp/cc6KszU6.s 			page 17


 241              	.LVL17:
 242              	.LBB34:
 243              	.LBB35:
 550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 244              		.loc 1 550 0
 245 0122 6B68     		ldr	r3, [r5, #4]
 246 0124 DB07     		lsls	r3, r3, #31
 247 0126 04D5     		bpl	.L9
 552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 248              		.loc 1 552 0
 249 0128 0C4A     		ldr	r2, .L26+4
 250 012a 5369     		ldr	r3, [r2, #20]
 251 012c 43F00403 		orr	r3, r3, #4
 252 0130 5361     		str	r3, [r2, #20]
 253              	.LVL18:
 254              	.L9:
 571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
 255              		.loc 1 571 0
 256 0132 0A4C     		ldr	r4, .L26+4
 257 0134 6369     		ldr	r3, [r4, #20]
 258 0136 43F48033 		orr	r3, r3, #65536
 259 013a 6361     		str	r3, [r4, #20]
 260              	.LBE35:
 261              	.LBE34:
 191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 262              		.loc 1 191 0
 263 013c 4FF47A70 		mov	r0, #1000
 264              	.LVL19:
 265 0140 FFF7FEFF 		bl	FLASH_WaitForLastOperation
 266              	.LVL20:
 198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
 267              		.loc 1 198 0
 268 0144 6369     		ldr	r3, [r4, #20]
 269 0146 23F00403 		bic	r3, r3, #4
 191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 270              		.loc 1 191 0
 271 014a 8246     		mov	r10, r0
 272              	.LVL21:
 198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
 273              		.loc 1 198 0
 274 014c 6361     		str	r3, [r4, #20]
 275 014e B0E7     		b	.L10
 276              	.LVL22:
 277              	.L5:
 171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       }
 278              		.loc 1 171 0
 279 0150 3C77     		strb	r4, [r7, #28]
 280 0152 7AE7     		b	.L6
 281              	.L7:
 182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 282              		.loc 1 182 0
 283 0154 3877     		strb	r0, [r7, #28]
 284 0156 78E7     		b	.L6
 285              	.L27:
 286              		.align	2
 287              	.L26:
 288 0158 00000000 		.word	pFlash
ARM GAS  /tmp/cc6KszU6.s 			page 18


 289 015c 00200240 		.word	1073881088
 290              		.cfi_endproc
 291              	.LFE329:
 293              		.section	.text.HAL_FLASHEx_Erase_IT,"ax",%progbits
 294              		.align	1
 295              		.p2align 2,,3
 296              		.global	HAL_FLASHEx_Erase_IT
 297              		.syntax unified
 298              		.thumb
 299              		.thumb_func
 300              		.fpu fpv4-sp-d16
 302              	HAL_FLASHEx_Erase_IT:
 303              	.LFB330:
 242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   HAL_StatusTypeDef status = HAL_OK;
 304              		.loc 1 242 0
 305              		.cfi_startproc
 306              		@ args = 0, pretend = 0, frame = 0
 307              		@ frame_needed = 0, uses_anonymous_args = 0
 308              		@ link register save eliminated.
 309              	.LVL23:
 246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 310              		.loc 1 246 0
 311 0000 2D4B     		ldr	r3, .L46
 312 0002 1A78     		ldrb	r2, [r3]	@ zero_extendqisi2
 313 0004 012A     		cmp	r2, #1
 314 0006 55D0     		beq	.L36
 242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   HAL_StatusTypeDef status = HAL_OK;
 315              		.loc 1 242 0 discriminator 2
 316 0008 30B4     		push	{r4, r5}
 317              	.LCFI1:
 318              		.cfi_def_cfa_offset 8
 319              		.cfi_offset 4, -8
 320              		.cfi_offset 5, -4
 254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 321              		.loc 1 254 0 discriminator 2
 322 000a 2C4A     		ldr	r2, .L46+4
 251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 323              		.loc 1 251 0 discriminator 2
 324 000c 0024     		movs	r4, #0
 325 000e 5C60     		str	r4, [r3, #4]
 254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 326              		.loc 1 254 0 discriminator 2
 327 0010 1468     		ldr	r4, [r2]
 246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 328              		.loc 1 246 0 discriminator 2
 329 0012 0121     		movs	r1, #1
 254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 330              		.loc 1 254 0 discriminator 2
 331 0014 A505     		lsls	r5, r4, #22
 246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 332              		.loc 1 246 0 discriminator 2
 333 0016 1970     		strb	r1, [r3]
 254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 334              		.loc 1 254 0 discriminator 2
 335 0018 2CD4     		bmi	.L44
 270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 336              		.loc 1 270 0
ARM GAS  /tmp/cc6KszU6.s 			page 19


 337 001a 1168     		ldr	r1, [r2]
 338 001c 11F48061 		ands	r1, r1, #1024
 339 0020 36D0     		beq	.L33
 273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     pFlash.CacheToReactivate = FLASH_CACHE_DCACHE_ENABLED;
 340              		.loc 1 273 0
 341 0022 1168     		ldr	r1, [r2]
 274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 342              		.loc 1 274 0
 343 0024 0224     		movs	r4, #2
 273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     pFlash.CacheToReactivate = FLASH_CACHE_DCACHE_ENABLED;
 344              		.loc 1 273 0
 345 0026 21F48061 		bic	r1, r1, #1024
 346 002a 1160     		str	r1, [r2]
 274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 347              		.loc 1 274 0
 348 002c 1C77     		strb	r4, [r3, #28]
 349              	.L32:
 282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 350              		.loc 1 282 0 discriminator 4
 351 002e 234A     		ldr	r2, .L46+4
 352 0030 5169     		ldr	r1, [r2, #20]
 353 0032 41F04071 		orr	r1, r1, #50331648
 354 0036 5161     		str	r1, [r2, #20]
 284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 355              		.loc 1 284 0 discriminator 4
 356 0038 D0E90041 		ldrd	r4, r1, [r0]
 286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 357              		.loc 1 286 0 discriminator 4
 358 003c 012C     		cmp	r4, #1
 284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 359              		.loc 1 284 0 discriminator 4
 360 003e 1961     		str	r1, [r3, #16]
 286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 361              		.loc 1 286 0 discriminator 4
 362 0040 28D0     		beq	.L45
 297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 363              		.loc 1 297 0
 364 0042 D0E90214 		ldrd	r1, r4, [r0, #8]
 295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     pFlash.NbPagesToErase = pEraseInit->NbPages;
 365              		.loc 1 295 0
 366 0046 0125     		movs	r5, #1
 367 0048 1D72     		strb	r5, [r3, #8]
 296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     pFlash.Page = pEraseInit->Page;
 368              		.loc 1 296 0
 369 004a 9C61     		str	r4, [r3, #24]
 297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 370              		.loc 1 297 0
 371 004c 5961     		str	r1, [r3, #20]
 372              	.LVL24:
 373              	.LBB36:
 374              	.LBB37:
 611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   SET_BIT(FLASH->CR, FLASH_CR_PER);
 375              		.loc 1 611 0
 376 004e 5369     		ldr	r3, [r2, #20]
 377 0050 C900     		lsls	r1, r1, #3
 378              	.LVL25:
 379 0052 23F4FC73 		bic	r3, r3, #504
ARM GAS  /tmp/cc6KszU6.s 			page 20


 380 0056 01F4FF61 		and	r1, r1, #2040
 381 005a 1943     		orrs	r1, r1, r3
 382 005c 5161     		str	r1, [r2, #20]
 383              	.LVL26:
 612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   SET_BIT(FLASH->CR, FLASH_CR_STRT);
 384              		.loc 1 612 0
 385 005e 5369     		ldr	r3, [r2, #20]
 386 0060 43F00203 		orr	r3, r3, #2
 387 0064 5361     		str	r3, [r2, #20]
 613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
 388              		.loc 1 613 0
 389 0066 5369     		ldr	r3, [r2, #20]
 390 0068 43F48033 		orr	r3, r3, #65536
 391              	.LBE37:
 392              	.LBE36:
 303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
 393              		.loc 1 303 0
 394 006c 0020     		movs	r0, #0
 395              	.LVL27:
 396              	.LBB39:
 397              	.LBB38:
 613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
 398              		.loc 1 613 0
 399 006e 5361     		str	r3, [r2, #20]
 400              	.LBE38:
 401              	.LBE39:
 304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 402              		.loc 1 304 0
 403 0070 30BC     		pop	{r4, r5}
 404              	.LCFI2:
 405              		.cfi_remember_state
 406              		.cfi_restore 5
 407              		.cfi_restore 4
 408              		.cfi_def_cfa_offset 0
 409 0072 7047     		bx	lr
 410              	.LVL28:
 411              	.L44:
 412              	.LCFI3:
 413              		.cfi_restore_state
 257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 414              		.loc 1 257 0
 415 0074 1468     		ldr	r4, [r2]
 416 0076 24F40074 		bic	r4, r4, #512
 417 007a 1460     		str	r4, [r2]
 259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 418              		.loc 1 259 0
 419 007c 1468     		ldr	r4, [r2]
 420 007e 6405     		lsls	r4, r4, #21
 421 0080 06D5     		bpl	.L33
 262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       pFlash.CacheToReactivate = FLASH_CACHE_ICACHE_DCACHE_ENABLED;
 422              		.loc 1 262 0
 423 0082 1168     		ldr	r1, [r2]
 263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 424              		.loc 1 263 0
 425 0084 0324     		movs	r4, #3
 262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       pFlash.CacheToReactivate = FLASH_CACHE_ICACHE_DCACHE_ENABLED;
 426              		.loc 1 262 0
ARM GAS  /tmp/cc6KszU6.s 			page 21


 427 0086 21F48061 		bic	r1, r1, #1024
 428 008a 1160     		str	r1, [r2]
 263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 429              		.loc 1 263 0
 430 008c 1C77     		strb	r4, [r3, #28]
 431 008e CEE7     		b	.L32
 432              	.L33:
 278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 433              		.loc 1 278 0
 434 0090 1977     		strb	r1, [r3, #28]
 435 0092 CCE7     		b	.L32
 436              	.L45:
 289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     FLASH_MassErase(pEraseInit->Banks);
 437              		.loc 1 289 0
 438 0094 0220     		movs	r0, #2
 439              	.LVL29:
 440 0096 1872     		strb	r0, [r3, #8]
 441              	.LVL30:
 442              	.LBB40:
 443              	.LBB41:
 550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 444              		.loc 1 550 0
 445 0098 CB07     		lsls	r3, r1, #31
 446 009a 03D5     		bpl	.L35
 552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 447              		.loc 1 552 0
 448 009c 5369     		ldr	r3, [r2, #20]
 449 009e 43F00403 		orr	r3, r3, #4
 450 00a2 5361     		str	r3, [r2, #20]
 451              	.L35:
 571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
 452              		.loc 1 571 0
 453 00a4 054A     		ldr	r2, .L46+4
 454 00a6 5369     		ldr	r3, [r2, #20]
 455 00a8 43F48033 		orr	r3, r3, #65536
 456              	.LBE41:
 457              	.LBE40:
 303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
 458              		.loc 1 303 0
 459 00ac 0020     		movs	r0, #0
 460              	.LBB43:
 461              	.LBB42:
 571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
 462              		.loc 1 571 0
 463 00ae 5361     		str	r3, [r2, #20]
 464              	.LBE42:
 465              	.LBE43:
 304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 466              		.loc 1 304 0
 467 00b0 30BC     		pop	{r4, r5}
 468              	.LCFI4:
 469              		.cfi_restore 5
 470              		.cfi_restore 4
 471              		.cfi_def_cfa_offset 0
 472 00b2 7047     		bx	lr
 473              	.LVL31:
 474              	.L36:
ARM GAS  /tmp/cc6KszU6.s 			page 22


 246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 475              		.loc 1 246 0
 476 00b4 0220     		movs	r0, #2
 477              	.LVL32:
 304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 478              		.loc 1 304 0
 479 00b6 7047     		bx	lr
 480              	.L47:
 481              		.align	2
 482              	.L46:
 483 00b8 00000000 		.word	pFlash
 484 00bc 00200240 		.word	1073881088
 485              		.cfi_endproc
 486              	.LFE330:
 488              		.section	.text.HAL_FLASHEx_OBProgram,"ax",%progbits
 489              		.align	1
 490              		.p2align 2,,3
 491              		.global	HAL_FLASHEx_OBProgram
 492              		.syntax unified
 493              		.thumb
 494              		.thumb_func
 495              		.fpu fpv4-sp-d16
 497              	HAL_FLASHEx_OBProgram:
 498              	.LFB331:
 318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   HAL_StatusTypeDef status = HAL_OK;
 499              		.loc 1 318 0
 500              		.cfi_startproc
 501              		@ args = 0, pretend = 0, frame = 0
 502              		@ frame_needed = 0, uses_anonymous_args = 0
 503              	.LVL33:
 504 0000 2DE9F843 		push	{r3, r4, r5, r6, r7, r8, r9, lr}
 505              	.LCFI5:
 506              		.cfi_def_cfa_offset 32
 507              		.cfi_offset 3, -32
 508              		.cfi_offset 4, -28
 509              		.cfi_offset 5, -24
 510              		.cfi_offset 6, -20
 511              		.cfi_offset 7, -16
 512              		.cfi_offset 8, -12
 513              		.cfi_offset 9, -8
 514              		.cfi_offset 14, -4
 325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 515              		.loc 1 325 0
 516 0004 B84E     		ldr	r6, .L163
 517 0006 3378     		ldrb	r3, [r6]	@ zero_extendqisi2
 518 0008 012B     		cmp	r3, #1
 519 000a 00F05A81 		beq	.L85
 330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 520              		.loc 1 330 0 discriminator 2
 521 000e 0368     		ldr	r3, [r0]
 325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 522              		.loc 1 325 0 discriminator 2
 523 0010 0125     		movs	r5, #1
 327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 524              		.loc 1 327 0 discriminator 2
 525 0012 0022     		movs	r2, #0
 330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
ARM GAS  /tmp/cc6KszU6.s 			page 23


 526              		.loc 1 330 0 discriminator 2
 527 0014 13EA0507 		ands	r7, r3, r5
 528 0018 0446     		mov	r4, r0
 325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 529              		.loc 1 325 0 discriminator 2
 530 001a 3570     		strb	r5, [r6]
 327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 531              		.loc 1 327 0 discriminator 2
 532 001c 7260     		str	r2, [r6, #4]
 330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 533              		.loc 1 330 0 discriminator 2
 534 001e 40F0DB80 		bne	.L152
 535              	.LVL34:
 536              	.L50:
 340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 537              		.loc 1 340 0
 538 0022 9D07     		lsls	r5, r3, #30
 539 0024 00F1CE80 		bmi	.L153
 540              	.LVL35:
 541              	.L54:
 350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 542              		.loc 1 350 0
 543 0028 5807     		lsls	r0, r3, #29
 544 002a 42D4     		bmi	.L154
 545              	.LVL36:
 546              	.L57:
 360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 547              		.loc 1 360 0
 548 002c 1907     		lsls	r1, r3, #28
 549 002e 0AD4     		bmi	.L155
 550              	.LVL37:
 551              	.L75:
 373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 552              		.loc 1 373 0
 553 0030 9A06     		lsls	r2, r3, #26
 554 0032 00F1F880 		bmi	.L156
 555              	.LVL38:
 556              	.L79:
 383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 557              		.loc 1 383 0
 558 0036 DB06     		lsls	r3, r3, #27
 559 0038 00F1ED80 		bmi	.L157
 560              	.LVL39:
 561              	.L83:
 393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 562              		.loc 1 393 0
 563 003c 0023     		movs	r3, #0
 564 003e 3370     		strb	r3, [r6]
 396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 565              		.loc 1 396 0
 566 0040 3846     		mov	r0, r7
 567 0042 BDE8F883 		pop	{r3, r4, r5, r6, r7, r8, r9, pc}
 568              	.LVL40:
 569              	.L155:
 362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 570              		.loc 1 362 0
 571 0046 D4E90885 		ldrd	r8, r5, [r4, #32]
ARM GAS  /tmp/cc6KszU6.s 			page 24


 572 004a A845     		cmp	r8, r5
 573 004c F0D0     		beq	.L75
 574              	.LBB56:
 575              	.LBB57:
 646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
 647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
 649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @brief  Configure the write protection area into Option Bytes.
 650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @note   When the memory read protection level is selected (RDP level = 1),
 651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         it is not possible to program or erase Flash memory if the CPU debug
 652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         features are connected (JTAG or single wire) or boot code is being
 653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         executed from RAM or System flash, even if WRP is not activated.
 654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @note   To configure any option bytes, the option lock bit OPTLOCK must be
 655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         cleared with the call of HAL_FLASH_OB_Unlock() function.
 656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @note   New option bytes configuration will be taken into account in two cases:
 657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         - after an option bytes launch through the call of HAL_FLASH_OB_Launch()
 658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         - after a power reset (BOR reset or exit from Standby/Shutdown modes)
 659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @param  WRPArea specifies the area to be configured.
 660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         This parameter can be one of the following values:
 661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *            @arg OB_WRPAREA_BANK1_AREAA: Flash Bank 1 Area A
 662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *            @arg OB_WRPAREA_BANK1_AREAB: Flash Bank 1 Area B
 663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *            @arg OB_WRPAREA_BANK2_AREAA: Flash Bank 2 Area A (*)
 664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *            @arg OB_WRPAREA_BANK2_AREAB: Flash Bank 2 Area B (*)
 665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @note   (*) availability depends on devices
 666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @param  WRPStartOffset specifies the start page of the write protected area.
 667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         This parameter can be page number between 0 and (max number of pages in the bank - 1).
 668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @param  WRDPEndOffset specifies the end page of the write protected area.
 669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         This parameter can be page number between WRPStartOffset and (max number of pages in th
 670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @retval HAL_Status
 671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   */
 672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_WRPConfig(uint32_t WRPArea, uint32_t WRPStartOffset, uint32_t WRD
 673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
 674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   HAL_StatusTypeDef status;
 675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Check the parameters */
 677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   assert_param(IS_OB_WRPAREA(WRPArea));
 678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   assert_param(IS_FLASH_PAGE(WRPStartOffset));
 679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   assert_param(IS_FLASH_PAGE(WRDPEndOffset));
 680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Wait for last operation to be completed */
 682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
 683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   if (status == HAL_OK)
 685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Configure the write protected area */
 687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     if (WRPArea == OB_WRPAREA_BANK1_AREAA)
 688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       FLASH->WRP1AR = ((WRDPEndOffset << FLASH_WRP1AR_WRP1A_END_Pos) | WRPStartOffset);
 690:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     else if (WRPArea == OB_WRPAREA_BANK1_AREAB)
 692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       FLASH->WRP1BR = ((WRDPEndOffset << FLASH_WRP1BR_WRP1B_END_Pos) | WRPStartOffset);
 694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
 696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     else if (WRPArea == OB_WRPAREA_BANK2_AREAA)
 697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       FLASH->WRP2AR = ((WRDPEndOffset << FLASH_WRP2AR_WRP2A_END_Pos) | WRPStartOffset);
ARM GAS  /tmp/cc6KszU6.s 			page 25


 699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     else if (WRPArea == OB_WRPAREA_BANK2_AREAB)
 701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       FLASH->WRP2BR = ((WRDPEndOffset << FLASH_WRP2BR_WRP2B_END_Pos) | WRPStartOffset);
 703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
 705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     else
 706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* Nothing to do */
 708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Set OPTSTRT Bit */
 711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     SET_BIT(FLASH->CR, FLASH_CR_OPTSTRT);
 712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Wait for last operation to be completed */
 714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
 715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   return status;
 718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
 719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
 721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @brief  Set the read protection level into Option Bytes.
 722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @note   To configure any option bytes, the option lock bit OPTLOCK must be
 723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         cleared with the call of HAL_FLASH_OB_Unlock() function.
 724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @note   New option bytes configuration will be taken into account in two cases:
 725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         - after an option bytes launch through the call of HAL_FLASH_OB_Launch()
 726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         - after a power reset (BOR reset or exit from Standby/Shutdown modes)
 727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @note   !!! Warning : When enabling OB_RDP level 2 it's no more possible
 728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         to go back to level 1 or 0 !!!
 729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @param  RDPLevel specifies the read protection level.
 730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         This parameter can be one of the following values:
 731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *            @arg OB_RDP_LEVEL_0: No protection
 732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *            @arg OB_RDP_LEVEL_1: Memory Read protection
 733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *            @arg OB_RDP_LEVEL_2: Full chip protection
 734:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *
 735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @retval HAL_Status
 736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   */
 737:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_RDPConfig(uint32_t RDPLevel)
 738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
 739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   HAL_StatusTypeDef status;
 740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Check the parameters */
 742:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   assert_param(IS_OB_RDP_LEVEL(RDPLevel));
 743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Wait for last operation to be completed */
 745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
 746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   if (status == HAL_OK)
 748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Configure the RDP level in the option bytes register */
 750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     MODIFY_REG(FLASH->OPTR, FLASH_OPTR_RDP, RDPLevel);
 751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Set OPTSTRT Bit */
 753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     SET_BIT(FLASH->CR, FLASH_CR_OPTSTRT);
 754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Wait for last operation to be completed */
ARM GAS  /tmp/cc6KszU6.s 			page 26


 756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
 757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   return status;
 760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
 761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
 763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @brief  Program the FLASH User Option Bytes.
 764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @note   To configure any option bytes, the option lock bit OPTLOCK must be
 765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         cleared with the call of HAL_FLASH_OB_Unlock() function.
 766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @note   New option bytes configuration will be taken into account in two cases:
 767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         - after an option bytes launch through the call of HAL_FLASH_OB_Launch()
 768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         - after a power reset (BOR reset or exit from Standby/Shutdown modes)
 769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @param  UserType The FLASH User Option Bytes to be modified.
 770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         This parameter can be a combination of @ref FLASH_OB_USER_Type.
 771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @param  UserConfig The selected User Option Bytes values:
 772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         This parameter can be a combination of @ref FLASH_OB_USER_BOR_LEVEL,
 773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         @ref FLASH_OB_USER_nRST_STOP, @ref FLASH_OB_USER_nRST_STANDBY ,
 774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         @ref FLASH_OB_USER_nRST_SHUTDOWN, @ref FLASH_OB_USER_IWDG_SW,
 775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         @ref FLASH_OB_USER_IWDG_STOP, @ref FLASH_OB_USER_IWDG_STANDBY,
 776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         @ref FLASH_OB_USER_WWDG_SW, @ref FLASH_OB_USER_WWDG_SW,
 777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         @ref FLASH_OB_USER_BFB2 (*), @ref FLASH_OB_USER_nBOOT1,
 778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         @ref FLASH_OB_USER_SRAM_PE, @ref FLASH_OB_USER_CCMSRAM_RST,
 779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         @ref FLASH_OB_USER_nSWBOOT0, @ref FLASH_OB_USER_nBOOT0,
 780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         @ref FLASH_OB_USER_NRST_MODE, @ref FLASH_OB_USER_INTERNAL_RESET_HOLDER
 781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @note   (*) availability depends on devices
 782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @retval HAL_Status
 783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   */
 784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_UserConfig(uint32_t UserType, uint32_t UserConfig)
 785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
 786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   uint32_t optr_reg_val = 0;
 787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   uint32_t optr_reg_mask = 0;
 788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   HAL_StatusTypeDef status;
 789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Check the parameters */
 791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   assert_param(IS_OB_USER_TYPE(UserType));
 792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Wait for last operation to be completed */
 794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
 795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   if (status == HAL_OK)
 797:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     if ((UserType & OB_USER_BOR_LEV) != 0U)
 799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* BOR level option byte should be modified */
 801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       assert_param(IS_OB_USER_BOR_LEVEL(UserConfig & FLASH_OPTR_BOR_LEV));
 802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* Set value and mask for BOR level option byte */
 804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_val |= (UserConfig & FLASH_OPTR_BOR_LEV);
 805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_BOR_LEV;
 806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     if ((UserType & OB_USER_nRST_STOP) != 0U)
 809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* nRST_STOP option byte should be modified */
 811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       assert_param(IS_OB_USER_STOP(UserConfig & FLASH_OPTR_nRST_STOP));
 812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
ARM GAS  /tmp/cc6KszU6.s 			page 27


 813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* Set value and mask for nRST_STOP option byte */
 814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_val |= (UserConfig & FLASH_OPTR_nRST_STOP);
 815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_nRST_STOP;
 816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     if ((UserType & OB_USER_nRST_STDBY) != 0U)
 819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* nRST_STDBY option byte should be modified */
 821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       assert_param(IS_OB_USER_STANDBY(UserConfig & FLASH_OPTR_nRST_STDBY));
 822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* Set value and mask for nRST_STDBY option byte */
 824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_val |= (UserConfig & FLASH_OPTR_nRST_STDBY);
 825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_nRST_STDBY;
 826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 827:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     if ((UserType & OB_USER_nRST_SHDW) != 0U)
 829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* nRST_SHDW option byte should be modified */
 831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       assert_param(IS_OB_USER_SHUTDOWN(UserConfig & FLASH_OPTR_nRST_SHDW));
 832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* Set value and mask for nRST_SHDW option byte */
 834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_val |= (UserConfig & FLASH_OPTR_nRST_SHDW);
 835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_nRST_SHDW;
 836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 838:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     if ((UserType & OB_USER_IWDG_SW) != 0U)
 839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* IWDG_SW option byte should be modified */
 841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       assert_param(IS_OB_USER_IWDG(UserConfig & FLASH_OPTR_IWDG_SW));
 842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* Set value and mask for IWDG_SW option byte */
 844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_val |= (UserConfig & FLASH_OPTR_IWDG_SW);
 845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_IWDG_SW;
 846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     if ((UserType & OB_USER_IWDG_STOP) != 0U)
 849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* IWDG_STOP option byte should be modified */
 851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       assert_param(IS_OB_USER_IWDG_STOP(UserConfig & FLASH_OPTR_IWDG_STOP));
 852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* Set value and mask for IWDG_STOP option byte */
 854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_val |= (UserConfig & FLASH_OPTR_IWDG_STOP);
 855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_IWDG_STOP;
 856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     if ((UserType & OB_USER_IWDG_STDBY) != 0U)
 859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* IWDG_STDBY option byte should be modified */
 861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       assert_param(IS_OB_USER_IWDG_STDBY(UserConfig & FLASH_OPTR_IWDG_STDBY));
 862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* Set value and mask for IWDG_STDBY option byte */
 864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_val |= (UserConfig & FLASH_OPTR_IWDG_STDBY);
 865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_IWDG_STDBY;
 866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     if ((UserType & OB_USER_WWDG_SW) != 0U)
 869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
ARM GAS  /tmp/cc6KszU6.s 			page 28


 870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* WWDG_SW option byte should be modified */
 871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       assert_param(IS_OB_USER_WWDG(UserConfig & FLASH_OPTR_WWDG_SW));
 872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* Set value and mask for WWDG_SW option byte */
 874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_val |= (UserConfig & FLASH_OPTR_WWDG_SW);
 875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_WWDG_SW;
 876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_BFB2)
 879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     if ((UserType & OB_USER_BFB2) != 0U)
 880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* BFB2 option byte should be modified */
 882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       assert_param(IS_OB_USER_BFB2(UserConfig & FLASH_OPTR_BFB2));
 883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* Set value and mask for BFB2 option byte */
 885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_val |= (UserConfig & FLASH_OPTR_BFB2);
 886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_BFB2;
 887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
 889:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     if ((UserType & OB_USER_nBOOT1) != 0U)
 891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* nBOOT1 option byte should be modified */
 893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       assert_param(IS_OB_USER_BOOT1(UserConfig & FLASH_OPTR_nBOOT1));
 894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* Set value and mask for nBOOT1 option byte */
 896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_val |= (UserConfig & FLASH_OPTR_nBOOT1);
 897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_nBOOT1;
 898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     if ((UserType & OB_USER_SRAM_PE) != 0U)
 901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* SRAM_PE option byte should be modified */
 903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       assert_param(IS_OB_USER_SRAM_PARITY(UserConfig & FLASH_OPTR_SRAM_PE));
 904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* Set value and mask for SRAM_PE option byte */
 906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_val |= (UserConfig & FLASH_OPTR_SRAM_PE);
 907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_SRAM_PE;
 908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 909:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     if ((UserType & OB_USER_CCMSRAM_RST) != 0U)
 911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* CCMSRAM_RST option byte should be modified */
 913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       assert_param(IS_OB_USER_CCMSRAM_RST(UserConfig & FLASH_OPTR_CCMSRAM_RST));
 914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* Set value and mask for CCMSRAM_RST option byte */
 916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_val |= (UserConfig & FLASH_OPTR_CCMSRAM_RST);
 917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_CCMSRAM_RST;
 918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 920:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     if ((UserType & OB_USER_nSWBOOT0) != 0U)
 921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* nSWBOOT0 option byte should be modified */
 923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       assert_param(IS_OB_USER_SWBOOT0(UserConfig & FLASH_OPTR_nSWBOOT0));
 924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* Set value and mask for nSWBOOT0 option byte */
 926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_val |= (UserConfig & FLASH_OPTR_nSWBOOT0);
ARM GAS  /tmp/cc6KszU6.s 			page 29


 927:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_nSWBOOT0;
 928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     if ((UserType & OB_USER_nBOOT0) != 0U)
 931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* nBOOT0 option byte should be modified */
 933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       assert_param(IS_OB_USER_BOOT0(UserConfig & FLASH_OPTR_nBOOT0));
 934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* Set value and mask for nBOOT0 option byte */
 936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_val |= (UserConfig & FLASH_OPTR_nBOOT0);
 937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_nBOOT0;
 938:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 939:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     if ((UserType & OB_USER_NRST_MODE) != 0U)
 941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 942:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* Reset Configuration option byte should be modified */
 943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       assert_param(IS_OB_USER_NRST_MODE(UserConfig & FLASH_OPTR_NRST_MODE));
 944:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 945:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* Set value and mask for Reset Configuration option byte */
 946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_val |= (UserConfig & FLASH_OPTR_NRST_MODE);
 947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_NRST_MODE;
 948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     if ((UserType & OB_USER_IRHEN) != 0U)
 951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* IRH option byte should be modified */
 953:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       assert_param(IS_OB_USER_IRHEN(UserConfig & FLASH_OPTR_IRHEN));
 954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* Set value and mask for IRH option byte */
 956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_val |= (UserConfig & FLASH_OPTR_IRHEN);
 957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_IRHEN;
 958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 960:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Configure the option bytes register */
 961:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     MODIFY_REG(FLASH->OPTR, optr_reg_mask, optr_reg_val);
 962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 963:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Set OPTSTRT Bit */
 964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     SET_BIT(FLASH->CR, FLASH_CR_OPTSTRT);
 965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Wait for last operation to be completed */
 967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
 968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   return status;
 971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
 972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 973:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
 974:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @brief  Configure the Proprietary code readout protection area into Option Bytes.
 975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @note   To configure any option bytes, the option lock bit OPTLOCK must be
 976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         cleared with the call of HAL_FLASH_OB_Unlock() function.
 977:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @note   New option bytes configuration will be taken into account in two cases:
 978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         - after an option bytes launch through the call of HAL_FLASH_OB_Launch()
 979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         - after a power reset (BOR reset or exit from Standby/Shutdown modes)
 980:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @param  PCROPConfig specifies the configuration (Bank to be configured and PCROP_RDP option).
 981:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         This parameter must be a combination of FLASH_BANK_1 or FLASH_BANK_2 (*)
 982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         with OB_PCROP_RDP_NOT_ERASE or OB_PCROP_RDP_ERASE.
 983:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @note   (*) availability depends on devices
ARM GAS  /tmp/cc6KszU6.s 			page 30


 984:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @param  PCROPStartAddr specifies the start address of the Proprietary code readout protection.
 985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         This parameter can be an address between begin and end of the bank.
 986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @param  PCROPEndAddr specifies the end address of the Proprietary code readout protection.
 987:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         This parameter can be an address between PCROPStartAddr and end of the bank.
 988:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @retval HAL_Status
 989:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   */
 990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_PCROPConfig(uint32_t PCROPConfig, uint32_t PCROPStartAddr, uint32
 991:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
 992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   HAL_StatusTypeDef status;
 993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   uint32_t reg_value;
 994:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   uint32_t bank1_addr;
 995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
 996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   uint32_t bank2_addr;
 997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
 998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 999:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Check the parameters */
1000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   assert_param(IS_FLASH_BANK_EXCLUSIVE(PCROPConfig & FLASH_BANK_BOTH));
1001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   assert_param(IS_OB_PCROP_RDP(PCROPConfig & FLASH_PCROP1ER_PCROP_RDP));
1002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   assert_param(IS_FLASH_MAIN_MEM_ADDRESS(PCROPStartAddr));
1003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   assert_param(IS_FLASH_MAIN_MEM_ADDRESS(PCROPEndAddr));
1004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Wait for last operation to be completed */
1006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
 576              		.loc 1 1006 0
 577 004e 4FF47A70 		mov	r0, #1000
 578              	.LBE57:
 579              	.LBE56:
 365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       {
 580              		.loc 1 365 0
 581 0052 D4F81C90 		ldr	r9, [r4, #28]
 582              	.LVL41:
 583              	.LBB59:
 584              	.LBB58:
 585              		.loc 1 1006 0
 586 0056 FFF7FEFF 		bl	FLASH_WaitForLastOperation
 587              	.LVL42:
1007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   if (status == HAL_OK)
 588              		.loc 1 1008 0
 589 005a 0028     		cmp	r0, #0
 590 005c 40F03581 		bne	.L158
 591              	.LVL43:
1009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
1010:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
1011:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Get the information about the bank swapping */
1012:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     if (READ_BIT(SYSCFG->MEMRMP, SYSCFG_MEMRMP_FB_MODE) == 0U)
1013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
1014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       bank1_addr = FLASH_BASE;
1015:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       bank2_addr = FLASH_BASE + FLASH_BANK_SIZE;
1016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
1017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     else
1018:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
1019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       bank1_addr = FLASH_BASE + FLASH_BANK_SIZE;
1020:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       bank2_addr = FLASH_BASE;
1021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
1022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #else
1023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     bank1_addr = FLASH_BASE;
ARM GAS  /tmp/cc6KszU6.s 			page 31


1024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
1025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
1027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     if (READ_BIT(FLASH->OPTR, FLASH_OPTR_DBANK) == 0U)
1028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
1029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* Configure the Proprietary code readout protection */
1030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       if ((PCROPConfig & FLASH_BANK_BOTH) == FLASH_BANK_1)
1031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       {
1032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         reg_value = ((PCROPStartAddr - FLASH_BASE) >> 4);
1033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         MODIFY_REG(FLASH->PCROP1SR, FLASH_PCROP1SR_PCROP1_STRT, reg_value);
1034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         reg_value = ((PCROPEndAddr - FLASH_BASE) >> 4);
1036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         MODIFY_REG(FLASH->PCROP1ER, FLASH_PCROP1ER_PCROP1_END, reg_value);
1037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       }
1038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       else if ((PCROPConfig & FLASH_BANK_BOTH) == FLASH_BANK_2)
1039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       {
1040:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         reg_value = ((PCROPStartAddr - FLASH_BASE) >> 4);
1041:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         MODIFY_REG(FLASH->PCROP2SR, FLASH_PCROP2SR_PCROP2_STRT, reg_value);
1042:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1043:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         reg_value = ((PCROPEndAddr - FLASH_BASE) >> 4);
1044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         MODIFY_REG(FLASH->PCROP2ER, FLASH_PCROP2ER_PCROP2_END, reg_value);
1045:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       }
1046:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       else
1047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       {
1048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         /* Nothing to do */
1049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       }
1050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
1051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     else
1052:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
1053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
1054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* Configure the Proprietary code readout protection */
1055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       if ((PCROPConfig & FLASH_BANK_BOTH) == FLASH_BANK_1)
 592              		.loc 1 1055 0
 593 0060 19F0010F 		tst	r9, #1
 594 0064 0FD0     		beq	.L77
 595              	.LVL44:
1056:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       {
1057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         reg_value = ((PCROPStartAddr - bank1_addr) >> 3);
1058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         MODIFY_REG(FLASH->PCROP1SR, FLASH_PCROP1SR_PCROP1_STRT, reg_value);
 596              		.loc 1 1058 0
 597 0066 A149     		ldr	r1, .L163+4
 598 0068 A148     		ldr	r0, .L163+8
 599              	.LVL45:
 600 006a 4A6A     		ldr	r2, [r1, #36]
1057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         MODIFY_REG(FLASH->PCROP1SR, FLASH_PCROP1SR_PCROP1_STRT, reg_value);
 601              		.loc 1 1057 0
 602 006c 08F17848 		add	r8, r8, #-134217728
 603              	.LVL46:
 604              		.loc 1 1058 0
 605 0070 0240     		ands	r2, r2, r0
 606 0072 42EAD802 		orr	r2, r2, r8, lsr #3
 607 0076 4A62     		str	r2, [r1, #36]
 608              	.LVL47:
1059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         reg_value = ((PCROPEndAddr - bank1_addr) >> 3);
1061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         MODIFY_REG(FLASH->PCROP1ER, FLASH_PCROP1ER_PCROP1_END, reg_value);
 609              		.loc 1 1061 0
ARM GAS  /tmp/cc6KszU6.s 			page 32


 610 0078 8B6A     		ldr	r3, [r1, #40]
1060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         MODIFY_REG(FLASH->PCROP1ER, FLASH_PCROP1ER_PCROP1_END, reg_value);
 611              		.loc 1 1060 0
 612 007a 05F17845 		add	r5, r5, #-134217728
 613              	.LVL48:
 614              		.loc 1 1061 0
 615 007e 0340     		ands	r3, r3, r0
 616 0080 43EAD505 		orr	r5, r3, r5, lsr #3
 617              	.LVL49:
 618 0084 8D62     		str	r5, [r1, #40]
 619              	.LVL50:
 620              	.L77:
1062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       }
1063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
1064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       else if ((PCROPConfig & FLASH_BANK_BOTH) == FLASH_BANK_2)
1065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       {
1066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         reg_value = ((PCROPStartAddr - bank2_addr) >> 3);
1067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         MODIFY_REG(FLASH->PCROP2SR, FLASH_PCROP2SR_PCROP2_STRT, reg_value);
1068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         reg_value = ((PCROPEndAddr - bank2_addr) >> 3);
1070:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         MODIFY_REG(FLASH->PCROP2ER, FLASH_PCROP2ER_PCROP2_END, reg_value);
1071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       }
1072:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
1073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       else
1074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       {
1075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****         /* Nothing to do */
1076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       }
1077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
1078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     MODIFY_REG(FLASH->PCROP1ER, FLASH_PCROP1ER_PCROP_RDP, (PCROPConfig & FLASH_PCROP1ER_PCROP_RDP))
 621              		.loc 1 1079 0
 622 0086 994A     		ldr	r2, .L163+4
 623 0088 936A     		ldr	r3, [r2, #40]
 624 008a 09F00049 		and	r9, r9, #-2147483648
 625              	.LVL51:
 626 008e 23F00043 		bic	r3, r3, #-2147483648
 627 0092 43EA0903 		orr	r3, r3, r9
 628 0096 9362     		str	r3, [r2, #40]
1080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Set OPTSTRT Bit */
1082:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     SET_BIT(FLASH->CR, FLASH_CR_OPTSTRT);
 629              		.loc 1 1082 0
 630 0098 5369     		ldr	r3, [r2, #20]
 631 009a 43F40033 		orr	r3, r3, #131072
 632 009e 5361     		str	r3, [r2, #20]
1083:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Wait for last operation to be completed */
1085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
 633              		.loc 1 1085 0
 634 00a0 4FF47A70 		mov	r0, #1000
 635 00a4 FFF7FEFF 		bl	FLASH_WaitForLastOperation
 636              	.LVL52:
 637 00a8 2368     		ldr	r3, [r4]
 638              	.LBE58:
 639              	.LBE59:
 365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       {
 640              		.loc 1 365 0
ARM GAS  /tmp/cc6KszU6.s 			page 33


 641 00aa 0028     		cmp	r0, #0
 642 00ac C0D0     		beq	.L75
 643              	.LVL53:
 367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       }
 644              		.loc 1 367 0
 645 00ae 0127     		movs	r7, #1
 646 00b0 BEE7     		b	.L75
 647              	.LVL54:
 648              	.L154:
 649              	.LBB60:
 650              	.LBB61:
 794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 651              		.loc 1 794 0
 652 00b2 4FF47A70 		mov	r0, #1000
 653              	.LBE61:
 654              	.LBE60:
 353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 655              		.loc 1 353 0
 656 00b6 D4E90558 		ldrd	r5, r8, [r4, #20]
 657              	.LVL55:
 658              	.LBB64:
 659              	.LBB62:
 794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 660              		.loc 1 794 0
 661 00ba FFF7FEFF 		bl	FLASH_WaitForLastOperation
 662              	.LVL56:
 796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 663              		.loc 1 796 0
 664 00be 0028     		cmp	r0, #0
 665 00c0 40F0D680 		bne	.L159
 798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 666              		.loc 1 798 0
 667 00c4 15F00103 		ands	r3, r5, #1
 668 00c8 00F00A81 		beq	.L87
 804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_BOR_LEV;
 669              		.loc 1 804 0
 670 00cc 08F4E062 		and	r2, r8, #1792
 671              	.LVL57:
 672 00d0 4FF4B850 		mov	r0, #5888
 673              	.LVL58:
 805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 674              		.loc 1 805 0
 675 00d4 4FF4E063 		mov	r3, #1792
 676              	.LVL59:
 677              	.L59:
 808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 678              		.loc 1 808 0
 679 00d8 A907     		lsls	r1, r5, #30
 680 00da 03D5     		bpl	.L60
 814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_nRST_STOP;
 681              		.loc 1 814 0
 682 00dc 08F48051 		and	r1, r8, #4096
 815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 683              		.loc 1 815 0
 684 00e0 0346     		mov	r3, r0
 814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_nRST_STOP;
 685              		.loc 1 814 0
ARM GAS  /tmp/cc6KszU6.s 			page 34


 686 00e2 0A43     		orrs	r2, r2, r1
 687              	.LVL60:
 688              	.L60:
 818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 689              		.loc 1 818 0
 690 00e4 6807     		lsls	r0, r5, #29
 691 00e6 04D5     		bpl	.L61
 824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_nRST_STDBY;
 692              		.loc 1 824 0
 693 00e8 08F40051 		and	r1, r8, #8192
 825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 694              		.loc 1 825 0
 695 00ec 43F40053 		orr	r3, r3, #8192
 824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_nRST_STDBY;
 696              		.loc 1 824 0
 697 00f0 0A43     		orrs	r2, r2, r1
 698              	.LVL61:
 699              	.L61:
 828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 700              		.loc 1 828 0
 701 00f2 E904     		lsls	r1, r5, #19
 702 00f4 04D5     		bpl	.L62
 834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_nRST_SHDW;
 703              		.loc 1 834 0
 704 00f6 08F48041 		and	r1, r8, #16384
 835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 705              		.loc 1 835 0
 706 00fa 43F48043 		orr	r3, r3, #16384
 834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_nRST_SHDW;
 707              		.loc 1 834 0
 708 00fe 0A43     		orrs	r2, r2, r1
 709              	.LVL62:
 710              	.L62:
 838:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 711              		.loc 1 838 0
 712 0100 2807     		lsls	r0, r5, #28
 713 0102 04D5     		bpl	.L63
 844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_IWDG_SW;
 714              		.loc 1 844 0
 715 0104 08F48031 		and	r1, r8, #65536
 845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 716              		.loc 1 845 0
 717 0108 43F48033 		orr	r3, r3, #65536
 844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_IWDG_SW;
 718              		.loc 1 844 0
 719 010c 0A43     		orrs	r2, r2, r1
 720              	.LVL63:
 721              	.L63:
 848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 722              		.loc 1 848 0
 723 010e E906     		lsls	r1, r5, #27
 724 0110 04D5     		bpl	.L64
 854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_IWDG_STOP;
 725              		.loc 1 854 0
 726 0112 08F40031 		and	r1, r8, #131072
 855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 727              		.loc 1 855 0
ARM GAS  /tmp/cc6KszU6.s 			page 35


 728 0116 43F40033 		orr	r3, r3, #131072
 854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_IWDG_STOP;
 729              		.loc 1 854 0
 730 011a 0A43     		orrs	r2, r2, r1
 731              	.LVL64:
 732              	.L64:
 858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 733              		.loc 1 858 0
 734 011c A806     		lsls	r0, r5, #26
 735 011e 04D5     		bpl	.L65
 864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_IWDG_STDBY;
 736              		.loc 1 864 0
 737 0120 08F48021 		and	r1, r8, #262144
 865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 738              		.loc 1 865 0
 739 0124 43F48023 		orr	r3, r3, #262144
 864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_IWDG_STDBY;
 740              		.loc 1 864 0
 741 0128 0A43     		orrs	r2, r2, r1
 742              	.LVL65:
 743              	.L65:
 868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 744              		.loc 1 868 0
 745 012a 6906     		lsls	r1, r5, #25
 746 012c 04D5     		bpl	.L66
 874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_WWDG_SW;
 747              		.loc 1 874 0
 748 012e 08F40021 		and	r1, r8, #524288
 875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 749              		.loc 1 875 0
 750 0132 43F40023 		orr	r3, r3, #524288
 874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_WWDG_SW;
 751              		.loc 1 874 0
 752 0136 0A43     		orrs	r2, r2, r1
 753              	.LVL66:
 754              	.L66:
 890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 755              		.loc 1 890 0
 756 0138 A805     		lsls	r0, r5, #22
 757 013a 04D5     		bpl	.L67
 896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_nBOOT1;
 758              		.loc 1 896 0
 759 013c 08F40001 		and	r1, r8, #8388608
 897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 760              		.loc 1 897 0
 761 0140 43F40003 		orr	r3, r3, #8388608
 896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_nBOOT1;
 762              		.loc 1 896 0
 763 0144 0A43     		orrs	r2, r2, r1
 764              	.LVL67:
 765              	.L67:
 900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 766              		.loc 1 900 0
 767 0146 6905     		lsls	r1, r5, #21
 768 0148 04D5     		bpl	.L68
 906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_SRAM_PE;
 769              		.loc 1 906 0
ARM GAS  /tmp/cc6KszU6.s 			page 36


 770 014a 08F08071 		and	r1, r8, #16777216
 907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 771              		.loc 1 907 0
 772 014e 43F08073 		orr	r3, r3, #16777216
 906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_SRAM_PE;
 773              		.loc 1 906 0
 774 0152 0A43     		orrs	r2, r2, r1
 775              	.LVL68:
 776              	.L68:
 910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 777              		.loc 1 910 0
 778 0154 2805     		lsls	r0, r5, #20
 779 0156 04D5     		bpl	.L69
 916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_CCMSRAM_RST;
 780              		.loc 1 916 0
 781 0158 08F00071 		and	r1, r8, #33554432
 917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 782              		.loc 1 917 0
 783 015c 43F00073 		orr	r3, r3, #33554432
 916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_CCMSRAM_RST;
 784              		.loc 1 916 0
 785 0160 0A43     		orrs	r2, r2, r1
 786              	.LVL69:
 787              	.L69:
 920:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 788              		.loc 1 920 0
 789 0162 A904     		lsls	r1, r5, #18
 790 0164 04D5     		bpl	.L70
 926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_nSWBOOT0;
 791              		.loc 1 926 0
 792 0166 08F08061 		and	r1, r8, #67108864
 927:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 793              		.loc 1 927 0
 794 016a 43F08063 		orr	r3, r3, #67108864
 926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_nSWBOOT0;
 795              		.loc 1 926 0
 796 016e 0A43     		orrs	r2, r2, r1
 797              	.LVL70:
 798              	.L70:
 930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 799              		.loc 1 930 0
 800 0170 6804     		lsls	r0, r5, #17
 801 0172 04D5     		bpl	.L71
 936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_nBOOT0;
 802              		.loc 1 936 0
 803 0174 08F00061 		and	r1, r8, #134217728
 937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 804              		.loc 1 937 0
 805 0178 43F00063 		orr	r3, r3, #134217728
 936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_nBOOT0;
 806              		.loc 1 936 0
 807 017c 0A43     		orrs	r2, r2, r1
 808              	.LVL71:
 809              	.L71:
 940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 810              		.loc 1 940 0
 811 017e 2904     		lsls	r1, r5, #16
ARM GAS  /tmp/cc6KszU6.s 			page 37


 812 0180 04D5     		bpl	.L72
 946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_NRST_MODE;
 813              		.loc 1 946 0
 814 0182 08F04051 		and	r1, r8, #805306368
 947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 815              		.loc 1 947 0
 816 0186 43F04053 		orr	r3, r3, #805306368
 946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_NRST_MODE;
 817              		.loc 1 946 0
 818 018a 0A43     		orrs	r2, r2, r1
 819              	.LVL72:
 820              	.L72:
 950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 821              		.loc 1 950 0
 822 018c E803     		lsls	r0, r5, #15
 823 018e 05D5     		bpl	.L73
 956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       optr_reg_mask |= FLASH_OPTR_IRHEN;
 824              		.loc 1 956 0
 825 0190 08F08048 		and	r8, r8, #1073741824
 826              	.LVL73:
 827 0194 42EA0802 		orr	r2, r2, r8
 828              	.LVL74:
 957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 829              		.loc 1 957 0
 830 0198 43F08043 		orr	r3, r3, #1073741824
 831              	.LVL75:
 832              	.L73:
 961:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 833              		.loc 1 961 0
 834 019c 5348     		ldr	r0, .L163+4
 835 019e 016A     		ldr	r1, [r0, #32]
 836 01a0 21EA0303 		bic	r3, r1, r3
 837 01a4 1A43     		orrs	r2, r2, r3
 838              	.LVL76:
 839 01a6 0262     		str	r2, [r0, #32]
 964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 840              		.loc 1 964 0
 841 01a8 4369     		ldr	r3, [r0, #20]
 842 01aa 43F40033 		orr	r3, r3, #131072
 843 01ae 4361     		str	r3, [r0, #20]
 967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 844              		.loc 1 967 0
 845 01b0 4FF47A70 		mov	r0, #1000
 846 01b4 FFF7FEFF 		bl	FLASH_WaitForLastOperation
 847              	.LVL77:
 848 01b8 2368     		ldr	r3, [r4]
 849              	.LBE62:
 850              	.LBE64:
 353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 851              		.loc 1 353 0
 852 01ba 0028     		cmp	r0, #0
 853 01bc 3FF436AF 		beq	.L57
 854              	.LVL78:
 355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 855              		.loc 1 355 0
 856 01c0 0127     		movs	r7, #1
 857 01c2 33E7     		b	.L57
ARM GAS  /tmp/cc6KszU6.s 			page 38


 858              	.LVL79:
 859              	.L153:
 860              	.LBB65:
 861              	.LBB66:
 745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 862              		.loc 1 745 0
 863 01c4 4FF47A70 		mov	r0, #1000
 864              	.LBE66:
 865              	.LBE65:
 343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 866              		.loc 1 343 0
 867 01c8 2569     		ldr	r5, [r4, #16]
 868              	.LVL80:
 869              	.LBB69:
 870              	.LBB67:
 745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 871              		.loc 1 745 0
 872 01ca FFF7FEFF 		bl	FLASH_WaitForLastOperation
 873              	.LVL81:
 747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 874              		.loc 1 747 0
 875 01ce 0028     		cmp	r0, #0
 876 01d0 63D0     		beq	.L55
 877 01d2 2368     		ldr	r3, [r4]
 878              	.LBE67:
 879              	.LBE69:
 345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 880              		.loc 1 345 0
 881 01d4 0127     		movs	r7, #1
 882              	.LVL82:
 883 01d6 27E7     		b	.L54
 884              	.LVL83:
 885              	.L152:
 886              	.LBB70:
 887              	.LBB71:
 682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 888              		.loc 1 682 0
 889 01d8 4FF47A70 		mov	r0, #1000
 890              	.LVL84:
 891              	.LBE71:
 892              	.LBE70:
 333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 893              		.loc 1 333 0
 894 01dc D4E90187 		ldrd	r8, r7, [r4, #4]
 895 01e0 D4F80C90 		ldr	r9, [r4, #12]
 896              	.LVL85:
 897              	.LBB74:
 898              	.LBB72:
 682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 899              		.loc 1 682 0
 900 01e4 FFF7FEFF 		bl	FLASH_WaitForLastOperation
 901              	.LVL86:
 684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 902              		.loc 1 684 0
 903 01e8 0028     		cmp	r0, #0
 904 01ea 3ED1     		bne	.L160
 687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
ARM GAS  /tmp/cc6KszU6.s 			page 39


 905              		.loc 1 687 0
 906 01ec B8F1000F 		cmp	r8, #0
 907 01f0 6ED1     		bne	.L52
 689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 908              		.loc 1 689 0
 909 01f2 3E4B     		ldr	r3, .L163+4
 910 01f4 47EA0947 		orr	r7, r7, r9, lsl #16
 911              	.LVL87:
 912 01f8 DF62     		str	r7, [r3, #44]
 913              	.L53:
 711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 914              		.loc 1 711 0
 915 01fa 3C4A     		ldr	r2, .L163+4
 916 01fc 5369     		ldr	r3, [r2, #20]
 917 01fe 43F40033 		orr	r3, r3, #131072
 918 0202 5361     		str	r3, [r2, #20]
 714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 919              		.loc 1 714 0
 920 0204 4FF47A70 		mov	r0, #1000
 921              	.LVL88:
 922 0208 FFF7FEFF 		bl	FLASH_WaitForLastOperation
 923              	.LVL89:
 924              	.LBE72:
 925              	.LBE74:
 319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 926              		.loc 1 319 0
 927 020c 071C     		adds	r7, r0, #0
 928 020e 2368     		ldr	r3, [r4]
 929 0210 18BF     		it	ne
 930 0212 0127     		movne	r7, #1
 931 0214 05E7     		b	.L50
 932              	.LVL90:
 933              	.L157:
 934              	.LBB75:
 935              	.LBB76:
1086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
1087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   return status;
1089:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
1092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @brief  Configure the Securable memory area into Option Bytes.
1093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @note   To configure any option bytes, the option lock bit OPTLOCK must be
1094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         cleared with the call of HAL_FLASH_OB_Unlock() function.
1095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @note   New option bytes configuration will be taken into account in two cases:
1096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         - after an option bytes launch through the call of HAL_FLASH_OB_Launch()
1097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         - after a power reset (BOR reset or exit from Standby/Shutdown modes)
1098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @param  SecBank specifies bank of securable memory area to be configured.
1099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *          This parameter can be one of the following values:
1100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *            @arg FLASH_BANK_1: Securable memory in Bank1 to be configured
1101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *            @arg FLASH_BANK_2: Securable memory in Bank2 to be configured (*)
1102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @note   (*) availability depends on devices
1103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @param  SecSize specifies the number of pages of the Securable memory area,
1104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         starting from first page of the bank.
1105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         This parameter can be page number between 0 and (max number of pages in the bank - 1)
1106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @retval HAL Status
1107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   */
ARM GAS  /tmp/cc6KszU6.s 			page 40


1108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_SecMemConfig(uint32_t SecBank, uint32_t SecSize)
1109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   HAL_StatusTypeDef status;
1111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Check the parameters */
1113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   assert_param(IS_FLASH_BANK_EXCLUSIVE(SecBank));
1114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   assert_param(IS_OB_SECMEM_SIZE(SecSize));
1115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Wait for last operation to be completed */
1117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
1118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   if (status == HAL_OK)
1120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
1121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Configure the write protected area */
1122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     if (SecBank == FLASH_BANK_1)
1123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
1124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       MODIFY_REG(FLASH->SEC1R, FLASH_SEC1R_SEC_SIZE1, SecSize);
1125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
1126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
1127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     else if (SecBank == FLASH_BANK_2)
1128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
1129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       MODIFY_REG(FLASH->SEC2R, FLASH_SEC2R_SEC_SIZE2, SecSize);
1130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
1131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     else
1132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
1133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* Nothing to do */
1134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
1135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
1136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Set OPTSTRT Bit */
1138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     SET_BIT(FLASH->CR, FLASH_CR_OPTSTRT);
1139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Wait for last operation to be completed */
1141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
1142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
1143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   return status;
1145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
1148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @brief  Configure the Boot Lock into Option Bytes.
1149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @note   To configure any option bytes, the option lock bit OPTLOCK must be
1150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         cleared with the call of HAL_FLASH_OB_Unlock() function.
1151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @note   New option bytes configuration will be taken into account in two cases:
1152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         - after an option bytes launch through the call of HAL_FLASH_OB_Launch()
1153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         - after a power reset (BOR reset or exit from Standby/Shutdown modes)
1154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @param  BootLockConfig specifies the boot lock configuration.
1155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *          This parameter can be one of the following values:
1156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *            @arg OB_BOOT_LOCK_ENABLE: Enable Boot Lock
1157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *            @arg OB_BOOT_LOCK_DISABLE: Disable Boot Lock
1158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *
1159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @retval HAL_Status
1160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   */
1161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_BootLockConfig(uint32_t BootLockConfig)
1162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   HAL_StatusTypeDef status;
1164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
ARM GAS  /tmp/cc6KszU6.s 			page 41


1165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Check the parameters */
1166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   assert_param(IS_OB_BOOT_LOCK(BootLockConfig));
1167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Wait for last operation to be completed */
1169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
 936              		.loc 1 1169 0
 937 0216 4FF47A70 		mov	r0, #1000
 938              	.LBE76:
 939              	.LBE75:
 386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 940              		.loc 1 386 0
 941 021a A46A     		ldr	r4, [r4, #40]
 942              	.LVL91:
 943              	.LBB79:
 944              	.LBB77:
 945              		.loc 1 1169 0
 946 021c FFF7FEFF 		bl	FLASH_WaitForLastOperation
 947              	.LVL92:
1170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   if (status == HAL_OK)
 948              		.loc 1 1171 0
 949 0220 48B3     		cbz	r0, .L161
 950              	.LVL93:
 951              	.L84:
 952              	.LBE77:
 953              	.LBE79:
 388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 954              		.loc 1 388 0
 955 0222 0127     		movs	r7, #1
 956 0224 0AE7     		b	.L83
 957              	.LVL94:
 958              	.L156:
 959              	.LBB80:
 960              	.LBB81:
1117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 961              		.loc 1 1117 0
 962 0226 4FF47A70 		mov	r0, #1000
 963              	.LBE81:
 964              	.LBE80:
 376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 965              		.loc 1 376 0
 966 022a D4E90B58 		ldrd	r5, r8, [r4, #44]
 967              	.LVL95:
 968              	.LBB83:
 969              	.LBB82:
1117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 970              		.loc 1 1117 0
 971 022e FFF7FEFF 		bl	FLASH_WaitForLastOperation
 972              	.LVL96:
1119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 973              		.loc 1 1119 0
 974 0232 B8B9     		cbnz	r0, .L162
1122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 975              		.loc 1 1122 0
 976 0234 012D     		cmp	r5, #1
 977 0236 06D1     		bne	.L81
1124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
ARM GAS  /tmp/cc6KszU6.s 			page 42


 978              		.loc 1 1124 0
 979 0238 2C4A     		ldr	r2, .L163+4
 980 023a 136F     		ldr	r3, [r2, #112]
 981 023c 23F07F03 		bic	r3, r3, #127
 982 0240 43EA0803 		orr	r3, r3, r8
 983 0244 1367     		str	r3, [r2, #112]
 984              	.L81:
1138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 985              		.loc 1 1138 0
 986 0246 294A     		ldr	r2, .L163+4
 987 0248 5369     		ldr	r3, [r2, #20]
 988 024a 43F40033 		orr	r3, r3, #131072
 989 024e 5361     		str	r3, [r2, #20]
1141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 990              		.loc 1 1141 0
 991 0250 4FF47A70 		mov	r0, #1000
 992              	.LVL97:
 993 0254 FFF7FEFF 		bl	FLASH_WaitForLastOperation
 994              	.LVL98:
 995 0258 2368     		ldr	r3, [r4]
 996              	.LBE82:
 997              	.LBE83:
 376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 998              		.loc 1 376 0
 999 025a 0028     		cmp	r0, #0
 1000 025c 3FF4EBAE 		beq	.L79
 1001              	.LVL99:
 378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 1002              		.loc 1 378 0
 1003 0260 0127     		movs	r7, #1
 1004 0262 E8E6     		b	.L79
 1005              	.LVL100:
 1006              	.L162:
 1007 0264 2368     		ldr	r3, [r4]
 1008 0266 0127     		movs	r7, #1
 1009              	.LVL101:
 1010 0268 E5E6     		b	.L79
 1011              	.LVL102:
 1012              	.L160:
 335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 1013              		.loc 1 335 0
 1014 026a 2F46     		mov	r7, r5
 1015              	.LVL103:
 1016 026c 2368     		ldr	r3, [r4]
 1017 026e D8E6     		b	.L50
 1018              	.LVL104:
 1019              	.L159:
 1020 0270 2368     		ldr	r3, [r4]
 355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 1021              		.loc 1 355 0
 1022 0272 0127     		movs	r7, #1
 1023              	.LVL105:
 1024 0274 DAE6     		b	.L57
 1025              	.LVL106:
 1026              	.L161:
 1027              	.LBB84:
 1028              	.LBB78:
ARM GAS  /tmp/cc6KszU6.s 			page 43


1172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
1173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     MODIFY_REG(FLASH->SEC1R, FLASH_SEC1R_BOOT_LOCK, BootLockConfig);
 1029              		.loc 1 1173 0
 1030 0276 1D4A     		ldr	r2, .L163+4
 1031 0278 136F     		ldr	r3, [r2, #112]
 1032 027a 23F48033 		bic	r3, r3, #65536
 1033 027e 2343     		orrs	r3, r3, r4
 1034 0280 1367     		str	r3, [r2, #112]
1174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Set OPTSTRT Bit */
1176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     SET_BIT(FLASH->CR, FLASH_CR_OPTSTRT);
 1035              		.loc 1 1176 0
 1036 0282 5369     		ldr	r3, [r2, #20]
 1037 0284 43F40033 		orr	r3, r3, #131072
 1038 0288 5361     		str	r3, [r2, #20]
1177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Wait for last operation to be completed */
1179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
 1039              		.loc 1 1179 0
 1040 028a 4FF47A70 		mov	r0, #1000
 1041              	.LVL107:
 1042 028e FFF7FEFF 		bl	FLASH_WaitForLastOperation
 1043              	.LVL108:
 1044              	.LBE78:
 1045              	.LBE84:
 386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 1046              		.loc 1 386 0
 1047 0292 0028     		cmp	r0, #0
 1048 0294 3FF4D2AE 		beq	.L83
 1049 0298 C3E7     		b	.L84
 1050              	.LVL109:
 1051              	.L55:
 1052              	.LBB85:
 1053              	.LBB68:
 750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 1054              		.loc 1 750 0
 1055 029a 144A     		ldr	r2, .L163+4
 1056 029c 136A     		ldr	r3, [r2, #32]
 1057 029e 23F0FF03 		bic	r3, r3, #255
 1058 02a2 2B43     		orrs	r3, r3, r5
 1059 02a4 1362     		str	r3, [r2, #32]
 753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 1060              		.loc 1 753 0
 1061 02a6 5369     		ldr	r3, [r2, #20]
 1062 02a8 43F40033 		orr	r3, r3, #131072
 1063 02ac 5361     		str	r3, [r2, #20]
 756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 1064              		.loc 1 756 0
 1065 02ae 4FF47A70 		mov	r0, #1000
 1066              	.LVL110:
 1067 02b2 FFF7FEFF 		bl	FLASH_WaitForLastOperation
 1068              	.LVL111:
 1069 02b6 2368     		ldr	r3, [r4]
 1070              	.LBE68:
 1071              	.LBE85:
 343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 1072              		.loc 1 343 0
ARM GAS  /tmp/cc6KszU6.s 			page 44


 1073 02b8 0028     		cmp	r0, #0
 1074 02ba 3FF4B5AE 		beq	.L54
 1075              	.LVL112:
 345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 1076              		.loc 1 345 0
 1077 02be 0127     		movs	r7, #1
 1078 02c0 B2E6     		b	.L54
 1079              	.LVL113:
 1080              	.L85:
 325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 1081              		.loc 1 325 0
 1082 02c2 0227     		movs	r7, #2
 396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 1083              		.loc 1 396 0
 1084 02c4 3846     		mov	r0, r7
 1085              	.LVL114:
 1086 02c6 BDE8F883 		pop	{r3, r4, r5, r6, r7, r8, r9, pc}
 1087              	.LVL115:
 1088              	.L158:
 1089 02ca 2368     		ldr	r3, [r4]
 367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       }
 1090              		.loc 1 367 0
 1091 02cc 0127     		movs	r7, #1
 1092              	.LVL116:
 1093 02ce AFE6     		b	.L75
 1094              	.LVL117:
 1095              	.L52:
 1096              	.LBB86:
 1097              	.LBB73:
 691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 1098              		.loc 1 691 0
 1099 02d0 B8F1010F 		cmp	r8, #1
 1100 02d4 91D1     		bne	.L53
 693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
 1101              		.loc 1 693 0
 1102 02d6 054B     		ldr	r3, .L163+4
 1103 02d8 47EA0947 		orr	r7, r7, r9, lsl #16
 1104              	.LVL118:
 1105 02dc 1F63     		str	r7, [r3, #48]
 1106 02de 8CE7     		b	.L53
 1107              	.LVL119:
 1108              	.L87:
 1109              	.LBE73:
 1110              	.LBE86:
 1111              	.LBB87:
 1112              	.LBB63:
 786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   uint32_t optr_reg_mask = 0;
 1113              		.loc 1 786 0
 1114 02e0 1A46     		mov	r2, r3
 798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
 1115              		.loc 1 798 0
 1116 02e2 4FF48050 		mov	r0, #4096
 1117              	.LVL120:
 1118 02e6 F7E6     		b	.L59
 1119              	.L164:
 1120              		.align	2
 1121              	.L163:
ARM GAS  /tmp/cc6KszU6.s 			page 45


 1122 02e8 00000000 		.word	pFlash
 1123 02ec 00200240 		.word	1073881088
 1124 02f0 00C0FFFF 		.word	-16384
 1125              	.LBE63:
 1126              	.LBE87:
 1127              		.cfi_endproc
 1128              	.LFE331:
 1130              		.section	.text.HAL_FLASHEx_OBGetConfig,"ax",%progbits
 1131              		.align	1
 1132              		.p2align 2,,3
 1133              		.global	HAL_FLASHEx_OBGetConfig
 1134              		.syntax unified
 1135              		.thumb
 1136              		.thumb_func
 1137              		.fpu fpv4-sp-d16
 1139              	HAL_FLASHEx_OBGetConfig:
 1140              	.LFB332:
 407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   pOBInit->OptionType = (OPTIONBYTE_RDP | OPTIONBYTE_USER);
 1141              		.loc 1 407 0
 1142              		.cfi_startproc
 1143              		@ args = 0, pretend = 0, frame = 0
 1144              		@ frame_needed = 0, uses_anonymous_args = 0
 1145              		@ link register save eliminated.
 1146              	.LVL121:
 414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
 1147              		.loc 1 414 0
 1148 0000 4268     		ldr	r2, [r0, #4]
 408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 1149              		.loc 1 408 0
 1150 0002 0623     		movs	r3, #6
 414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
 1151              		.loc 1 414 0
 1152 0004 012A     		cmp	r2, #1
 407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   pOBInit->OptionType = (OPTIONBYTE_RDP | OPTIONBYTE_USER);
 1153              		.loc 1 407 0
 1154 0006 10B4     		push	{r4}
 1155              	.LCFI6:
 1156              		.cfi_def_cfa_offset 4
 1157              		.cfi_offset 4, -4
 408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 1158              		.loc 1 408 0
 1159 0008 0360     		str	r3, [r0]
 414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
 1160              		.loc 1 414 0
 1161 000a 3AD9     		bls	.L178
 1162              	.L166:
 1163              	.LBB88:
 1164              	.LBB89:
1180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
1181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   return status;
1183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
1186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @brief  Return the Securable memory area configuration into Option Bytes.
1187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @param[in]  SecBank specifies the bank where securable memory area is located.
1188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *          This parameter can be one of the following values:
ARM GAS  /tmp/cc6KszU6.s 			page 46


1189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *            @arg FLASH_BANK_1: Securable memory in Bank1
1190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *            @arg FLASH_BANK_2: Securable memory in Bank2 (*)
1191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @note   (*) availability depends on devices
1192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @param[out]  SecSize specifies the number of pages used in the securable
1193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****                  memory area of the bank.
1194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @retval None
1195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   */
1196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static void FLASH_OB_GetSecMem(uint32_t SecBank, uint32_t *SecSize)
1197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Get the configuration of the securable memory area */
1199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   if (SecBank == FLASH_BANK_1)
1200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
1201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     *SecSize = READ_BIT(FLASH->SEC1R, FLASH_SEC1R_SEC_SIZE1);
1202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
1203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
1204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   else if (SecBank == FLASH_BANK_2)
1205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
1206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     *SecSize = READ_BIT(FLASH->SEC2R, FLASH_SEC2R_SEC_SIZE2);
1207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
1208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   else
1209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
1210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Nothing to do */
1211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
1212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
1213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
1216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @brief  Return the Boot Lock configuration into Option Byte.
1217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @retval BootLockConfig.
1218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         This return value can be one of the following values:
1219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *            @arg OB_BOOT_LOCK_ENABLE: Boot lock enabled
1220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *            @arg OB_BOOT_LOCK_DISABLE: Boot lock disabled
1221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   */
1222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static uint32_t FLASH_OB_GetBootLock(void)
1223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   return (READ_REG(FLASH->SEC1R) & FLASH_SEC1R_BOOT_LOCK);
1225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
1228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @brief  Return the Write Protection configuration into Option Bytes.
1229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @param[in]  WRPArea specifies the area to be returned.
1230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *          This parameter can be one of the following values:
1231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *            @arg OB_WRPAREA_BANK1_AREAA: Flash Bank 1 Area A
1232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *            @arg OB_WRPAREA_BANK1_AREAB: Flash Bank 1 Area B
1233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *            @arg OB_WRPAREA_BANK2_AREAA: Flash Bank 2 Area A (don't apply to STM32G43x/STM32G44x
1234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *            @arg OB_WRPAREA_BANK2_AREAB: Flash Bank 2 Area B (don't apply to STM32G43x/STM32G44x
1235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @param[out]  WRPStartOffset specifies the address where to copied the start page
1236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *              of the write protected area.
1237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @param[out]  WRDPEndOffset specifies the address where to copied the end page of
1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *              the write protected area.
1239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @retval None
1240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   */
1241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static void FLASH_OB_GetWRP(uint32_t WRPArea, uint32_t *WRPStartOffset, uint32_t *WRDPEndOffset)
1242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Get the configuration of the write protected area */
1244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   if (WRPArea == OB_WRPAREA_BANK1_AREAA)
1245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
ARM GAS  /tmp/cc6KszU6.s 			page 47


1246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     *WRPStartOffset = READ_BIT(FLASH->WRP1AR, FLASH_WRP1AR_WRP1A_STRT);
1247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     *WRDPEndOffset = (READ_BIT(FLASH->WRP1AR, FLASH_WRP1AR_WRP1A_END) >> FLASH_WRP1AR_WRP1A_END_Pos
1248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
1249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   else if (WRPArea == OB_WRPAREA_BANK1_AREAB)
1250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
1251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     *WRPStartOffset = READ_BIT(FLASH->WRP1BR, FLASH_WRP1BR_WRP1B_STRT);
1252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     *WRDPEndOffset = (READ_BIT(FLASH->WRP1BR, FLASH_WRP1BR_WRP1B_END) >> FLASH_WRP1BR_WRP1B_END_Pos
1253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
1254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
1255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   else if (WRPArea == OB_WRPAREA_BANK2_AREAA)
1256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
1257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     *WRPStartOffset = READ_BIT(FLASH->WRP2AR, FLASH_WRP2AR_WRP2A_STRT);
1258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     *WRDPEndOffset = (READ_BIT(FLASH->WRP2AR, FLASH_WRP2AR_WRP2A_END) >> FLASH_WRP2AR_WRP2A_END_Pos
1259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
1260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   else if (WRPArea == OB_WRPAREA_BANK2_AREAB)
1261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
1262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     *WRPStartOffset = READ_BIT(FLASH->WRP2BR, FLASH_WRP2BR_WRP2B_STRT);
1263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     *WRDPEndOffset = (READ_BIT(FLASH->WRP2BR, FLASH_WRP2BR_WRP2B_END) >> FLASH_WRP2BR_WRP2B_END_Pos
1264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
1265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
1266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   else
1267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
1268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Nothing to do */
1269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
1270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
1273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @brief  Return the FLASH Read Protection level into Option Bytes.
1274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @retval RDP_Level
1275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         This return value can be one of the following values:
1276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *            @arg OB_RDP_LEVEL_0: No protection
1277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *            @arg OB_RDP_LEVEL_1: Read protection of the memory
1278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *            @arg OB_RDP_LEVEL_2: Full chip protection
1279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   */
1280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static uint32_t FLASH_OB_GetRDP(void)
1281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   uint32_t rdp_level = READ_BIT(FLASH->OPTR, FLASH_OPTR_RDP);
 1165              		.loc 1 1282 0
 1166 000c 284A     		ldr	r2, .L179
 1167 000e 126A     		ldr	r2, [r2, #32]
 1168 0010 D2B2     		uxtb	r2, r2
 1169              	.LVL122:
1283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   if ((rdp_level != OB_RDP_LEVEL_0) && (rdp_level != OB_RDP_LEVEL_2))
 1170              		.loc 1 1284 0
 1171 0012 AA2A     		cmp	r2, #170
 1172 0014 02D0     		beq	.L168
1285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
1286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     return (OB_RDP_LEVEL_1);
 1173              		.loc 1 1286 0
 1174 0016 CC2A     		cmp	r2, #204
 1175 0018 18BF     		it	ne
 1176 001a BB22     		movne	r2, #187
 1177              	.LVL123:
 1178              	.L168:
 1179              	.LBE89:
 1180              	.LBE88:
ARM GAS  /tmp/cc6KszU6.s 			page 48


 1181              	.LBB90:
 1182              	.LBB91:
1287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
1288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   else
1289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
1290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     return rdp_level;
1291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
1292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
1295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @brief  Return the FLASH User Option Byte value.
1296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @retval OB_user_config
1297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         This return value is a combination of @ref FLASH_OB_USER_BOR_LEVEL,
1298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         @ref FLASH_OB_USER_nRST_STOP, @ref FLASH_OB_USER_nRST_STANDBY,
1299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         @ref FLASH_OB_USER_nRST_SHUTDOWN, @ref FLASH_OB_USER_IWDG_SW,
1300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         @ref FLASH_OB_USER_IWDG_STOP, @ref FLASH_OB_USER_IWDG_STANDBY,
1301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         @ref FLASH_OB_USER_WWDG_SW, @ref FLASH_OB_USER_WWDG_SW,
1302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         @ref FLASH_OB_USER_BFB2 (*), @ref FLASH_OB_USER_DBANK (*),
1303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         @ref FLASH_OB_USER_nBOOT1, @ref FLASH_OB_USER_SRAM_PE,
1304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         @ref FLASH_OB_USER_CCMSRAM_RST, @ref OB_USER_nSWBOOT0,@ref FLASH_OB_USER_nBOOT0,
1305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *         @ref FLASH_OB_USER_NRST_MODE, @ref FLASH_OB_USER_INTERNAL_RESET_HOLDER
1306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @note  (*) availability depends on devices
1307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   */
1308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static uint32_t FLASH_OB_GetUser(void)
1309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   uint32_t user_config = READ_REG(FLASH->OPTR);
 1183              		.loc 1 1310 0
 1184 001c 2449     		ldr	r1, .L179
 1185              	.LBE91:
 1186              	.LBE90:
 423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 1187              		.loc 1 423 0
 1188 001e 0261     		str	r2, [r0, #16]
 1189              	.LBB94:
 1190              	.LBB92:
 1191              		.loc 1 1310 0
 1192 0020 0A6A     		ldr	r2, [r1, #32]
 1193              	.LBE92:
 1194              	.LBE94:
 431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
 1195              		.loc 1 431 0
 1196 0022 C469     		ldr	r4, [r0, #28]
 1197              	.LBB95:
 1198              	.LBB93:
1311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   CLEAR_BIT(user_config, FLASH_OPTR_RDP);
 1199              		.loc 1 1311 0
 1200 0024 22F0FF02 		bic	r2, r2, #255
 1201              	.LBE93:
 1202              	.LBE95:
 431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
 1203              		.loc 1 431 0
 1204 0028 012C     		cmp	r4, #1
 426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 1205              		.loc 1 426 0
 1206 002a 8261     		str	r2, [r0, #24]
 431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
 1207              		.loc 1 431 0
ARM GAS  /tmp/cc6KszU6.s 			page 49


 1208 002c 14D1     		bne	.L169
 1209              	.LBB96:
 1210              	.LBB97:
1312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   return user_config;
1314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
1317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @brief  Return the FLASH PCROP configuration into Option Bytes.
1318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @param[in,out] PCROPConfig specifies the configuration (Bank to be configured and PCROP_RDP opt
1319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *        This parameter must be a combination of FLASH_BANK_1 or FLASH_BANK_2
1320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *        with OB_PCROP_RDP_NOT_ERASE or OB_PCROP_RDP_ERASE.
1321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @param[out] PCROPStartAddr specifies the address where to copied the start address
1322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *        of the Proprietary code readout protection.
1323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @param[out] PCROPEndAddr specifies the address where to copied the end address of
1324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *        the Proprietary code readout protection.
1325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   * @retval None
1326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   */
1327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static void FLASH_OB_GetPCROP(uint32_t *PCROPConfig, uint32_t *PCROPStartAddr, uint32_t *PCROPEndAd
1328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   uint32_t reg_value;
1330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   uint32_t bank1_addr;
1331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
1332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   uint32_t bank2_addr;
1333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Get the information about the bank swapping */
1335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   if (READ_BIT(SYSCFG->MEMRMP, SYSCFG_MEMRMP_FB_MODE) == 0U)
1336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
1337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     bank1_addr = FLASH_BASE;
1338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     bank2_addr = FLASH_BASE + FLASH_BANK_SIZE;
1339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
1340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   else
1341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
1342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     bank1_addr = FLASH_BASE + FLASH_BANK_SIZE;
1343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     bank2_addr = FLASH_BASE;
1344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
1345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #else
1346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   bank1_addr = FLASH_BASE;
1347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
1348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
1350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   if (READ_BIT(FLASH->OPTR, FLASH_OPTR_DBANK) == 0U)
1351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
1352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     if (((*PCROPConfig) & FLASH_BANK_BOTH) == FLASH_BANK_1)
1353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
1354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       reg_value       = (READ_REG(FLASH->PCROP1SR) & FLASH_PCROP1SR_PCROP1_STRT);
1355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       *PCROPStartAddr = (reg_value << 4) + FLASH_BASE;
1356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       reg_value     = (READ_REG(FLASH->PCROP1ER) & FLASH_PCROP1ER_PCROP1_END);
1358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       *PCROPEndAddr = (reg_value << 4) + FLASH_BASE;
1359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
1360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     else if (((*PCROPConfig) & FLASH_BANK_BOTH) == FLASH_BANK_2)
1361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
1362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       reg_value       = (READ_REG(FLASH->PCROP2SR) & FLASH_PCROP2SR_PCROP2_STRT);
1363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       *PCROPStartAddr = (reg_value << 4) + FLASH_BASE;
1364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       reg_value     = (READ_REG(FLASH->PCROP2ER) & FLASH_PCROP2ER_PCROP2_END);
ARM GAS  /tmp/cc6KszU6.s 			page 50


1366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       *PCROPEndAddr = (reg_value << 4) + FLASH_BASE;
1367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
1368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     else
1369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
1370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* Nothing to do */
1371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
1372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
1373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   else
1374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
1375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
1376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     if (((*PCROPConfig) & FLASH_BANK_BOTH) == FLASH_BANK_1)
1377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
1378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       reg_value       = (READ_REG(FLASH->PCROP1SR) & FLASH_PCROP1SR_PCROP1_STRT);
 1211              		.loc 1 1378 0
 1212 002e 4C6A     		ldr	r4, [r1, #36]
1379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       *PCROPStartAddr = (reg_value << 3) + bank1_addr;
 1213              		.loc 1 1379 0
 1214 0030 204A     		ldr	r2, .L179+4
 1215 0032 02EAC404 		and	r4, r2, r4, lsl #3
 1216 0036 04F10064 		add	r4, r4, #134217728
 1217 003a 0462     		str	r4, [r0, #32]
1380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       reg_value     = (READ_REG(FLASH->PCROP1ER) & FLASH_PCROP1ER_PCROP1_END);
 1218              		.loc 1 1381 0
 1219 003c 8C6A     		ldr	r4, [r1, #40]
1382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       *PCROPEndAddr = (reg_value << 3) + bank1_addr;
 1220              		.loc 1 1382 0
 1221 003e 02EAC402 		and	r2, r2, r4, lsl #3
 1222 0042 02F10062 		add	r2, r2, #134217728
 1223 0046 4262     		str	r2, [r0, #36]
1383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
1384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
1385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     else if (((*PCROPConfig) & FLASH_BANK_BOTH) == FLASH_BANK_2)
1386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
1387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       reg_value       = (READ_REG(FLASH->PCROP2SR) & FLASH_PCROP2SR_PCROP2_STRT);
1388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       *PCROPStartAddr = (reg_value << 3) + bank2_addr;
1389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       reg_value     = (READ_REG(FLASH->PCROP2ER) & FLASH_PCROP2ER_PCROP2_END);
1391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       *PCROPEndAddr = (reg_value << 3) + bank2_addr;
1392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
1393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
1394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     else
1395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     {
1396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       /* Nothing to do */
1397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     }
1398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
1399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
1400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   *PCROPConfig |= (READ_REG(FLASH->PCROP1ER) & FLASH_PCROP1ER_PCROP_RDP);
 1224              		.loc 1 1400 0
 1225 0048 8A6A     		ldr	r2, [r1, #40]
 1226 004a 02F00042 		and	r2, r2, #-2147483648
 1227 004e 42F00102 		orr	r2, r2, #1
 1228              	.LBE97:
 1229              	.LBE96:
 434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Get the Proprietary code readout protection */
 1230              		.loc 1 434 0
 1231 0052 43F00803 		orr	r3, r3, #8
ARM GAS  /tmp/cc6KszU6.s 			page 51


 1232              	.LVL124:
 1233              	.LBB99:
 1234              	.LBB98:
 1235              		.loc 1 1400 0
 1236 0056 C261     		str	r2, [r0, #28]
 1237              	.LVL125:
 1238              	.L169:
 1239              	.LBE98:
 1240              	.LBE99:
 439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 1241              		.loc 1 439 0
 1242 0058 43F01002 		orr	r2, r3, #16
 1243              	.LBB100:
 1244              	.LBB101:
1224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
 1245              		.loc 1 1224 0
 1246 005c 1449     		ldr	r1, .L179
 1247              	.LBE101:
 1248              	.LBE100:
 439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 1249              		.loc 1 439 0
 1250 005e 0260     		str	r2, [r0]
 1251              	.LBB104:
 1252              	.LBB102:
1224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
 1253              		.loc 1 1224 0
 1254 0060 0A6F     		ldr	r2, [r1, #112]
 1255              	.LBE102:
 1256              	.LBE104:
 448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
 1257              		.loc 1 448 0
 1258 0062 C46A     		ldr	r4, [r0, #44]
 1259              	.LBB105:
 1260              	.LBB103:
1224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
 1261              		.loc 1 1224 0
 1262 0064 02F48032 		and	r2, r2, #65536
 1263              	.LBE103:
 1264              	.LBE105:
 448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
 1265              		.loc 1 448 0
 1266 0068 012C     		cmp	r4, #1
 442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 1267              		.loc 1 442 0
 1268 006a 8262     		str	r2, [r0, #40]
 448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
 1269              		.loc 1 448 0
 1270 006c 06D1     		bne	.L165
 451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     FLASH_OB_GetSecMem(pOBInit->SecBank, &(pOBInit->SecSize));
 1271              		.loc 1 451 0
 1272 006e 43F03003 		orr	r3, r3, #48
 1273 0072 0360     		str	r3, [r0]
 1274              	.LVL126:
 1275              	.LBB106:
 1276              	.LBB107:
1201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 1277              		.loc 1 1201 0
ARM GAS  /tmp/cc6KszU6.s 			page 52


 1278 0074 0B6F     		ldr	r3, [r1, #112]
 1279 0076 03F07F03 		and	r3, r3, #127
 1280 007a 0363     		str	r3, [r0, #48]
 1281              	.LVL127:
 1282              	.L165:
 1283              	.LBE107:
 1284              	.LBE106:
 454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 1285              		.loc 1 454 0
 1286 007c 5DF8044B 		ldr	r4, [sp], #4
 1287              	.LCFI7:
 1288              		.cfi_remember_state
 1289              		.cfi_restore 4
 1290              		.cfi_def_cfa_offset 0
 1291 0080 7047     		bx	lr
 1292              	.L178:
 1293              	.LCFI8:
 1294              		.cfi_restore_state
 417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Get write protection on the selected area */
 1295              		.loc 1 417 0
 1296 0082 0723     		movs	r3, #7
 1297 0084 0360     		str	r3, [r0]
 1298              	.LVL128:
 1299              	.LBB108:
 1300              	.LBB109:
1246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     *WRDPEndOffset = (READ_BIT(FLASH->WRP1AR, FLASH_WRP1AR_WRP1A_END) >> FLASH_WRP1AR_WRP1A_END_Pos
 1301              		.loc 1 1246 0
 1302 0086 0A49     		ldr	r1, .L179
1244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   {
 1303              		.loc 1 1244 0
 1304 0088 42B9     		cbnz	r2, .L167
1246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     *WRDPEndOffset = (READ_BIT(FLASH->WRP1AR, FLASH_WRP1AR_WRP1A_END) >> FLASH_WRP1AR_WRP1A_END_Pos
 1305              		.loc 1 1246 0
 1306 008a CA6A     		ldr	r2, [r1, #44]
 1307              	.LVL129:
 1308 008c 02F03F02 		and	r2, r2, #63
 1309 0090 8260     		str	r2, [r0, #8]
1247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 1310              		.loc 1 1247 0
 1311 0092 CA6A     		ldr	r2, [r1, #44]
 1312 0094 C2F30542 		ubfx	r2, r2, #16, #6
 1313 0098 C260     		str	r2, [r0, #12]
 1314 009a B7E7     		b	.L166
 1315              	.LVL130:
 1316              	.L167:
1251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     *WRDPEndOffset = (READ_BIT(FLASH->WRP1BR, FLASH_WRP1BR_WRP1B_END) >> FLASH_WRP1BR_WRP1B_END_Pos
 1317              		.loc 1 1251 0
 1318 009c 0A6B     		ldr	r2, [r1, #48]
 1319              	.LVL131:
 1320 009e 02F03F02 		and	r2, r2, #63
 1321 00a2 8260     		str	r2, [r0, #8]
1252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 1322              		.loc 1 1252 0
 1323 00a4 0A6B     		ldr	r2, [r1, #48]
 1324 00a6 C2F30542 		ubfx	r2, r2, #16, #6
 1325 00aa C260     		str	r2, [r0, #12]
 1326 00ac AEE7     		b	.L166
ARM GAS  /tmp/cc6KszU6.s 			page 53


 1327              	.L180:
 1328 00ae 00BF     		.align	2
 1329              	.L179:
 1330 00b0 00200240 		.word	1073881088
 1331 00b4 F8FF0100 		.word	131064
 1332              	.LBE109:
 1333              	.LBE108:
 1334              		.cfi_endproc
 1335              	.LFE332:
 1337              		.section	.text.HAL_FLASHEx_EnableSecMemProtection,"ax",%progbits
 1338              		.align	1
 1339              		.p2align 2,,3
 1340              		.global	HAL_FLASHEx_EnableSecMemProtection
 1341              		.syntax unified
 1342              		.thumb
 1343              		.thumb_func
 1344              		.fpu fpv4-sp-d16
 1346              	HAL_FLASHEx_EnableSecMemProtection:
 1347              	.LFB333:
 467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
 1348              		.loc 1 467 0
 1349              		.cfi_startproc
 1350              		@ args = 0, pretend = 0, frame = 0
 1351              		@ frame_needed = 0, uses_anonymous_args = 0
 1352              		@ link register save eliminated.
 1353              	.LVL132:
 489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 1354              		.loc 1 489 0
 1355 0000 034A     		ldr	r2, .L182
 1356 0002 5369     		ldr	r3, [r2, #20]
 1357 0004 43F08053 		orr	r3, r3, #268435456
 1358 0008 5361     		str	r3, [r2, #20]
 493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 1359              		.loc 1 493 0
 1360 000a 0020     		movs	r0, #0
 1361              	.LVL133:
 1362 000c 7047     		bx	lr
 1363              	.L183:
 1364 000e 00BF     		.align	2
 1365              	.L182:
 1366 0010 00200240 		.word	1073881088
 1367              		.cfi_endproc
 1368              	.LFE333:
 1370              		.section	.text.HAL_FLASHEx_EnableDebugger,"ax",%progbits
 1371              		.align	1
 1372              		.p2align 2,,3
 1373              		.global	HAL_FLASHEx_EnableDebugger
 1374              		.syntax unified
 1375              		.thumb
 1376              		.thumb_func
 1377              		.fpu fpv4-sp-d16
 1379              	HAL_FLASHEx_EnableDebugger:
 1380              	.LFB334:
 501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   FLASH->ACR |= FLASH_ACR_DBG_SWEN;
 1381              		.loc 1 501 0
 1382              		.cfi_startproc
 1383              		@ args = 0, pretend = 0, frame = 0
ARM GAS  /tmp/cc6KszU6.s 			page 54


 1384              		@ frame_needed = 0, uses_anonymous_args = 0
 1385              		@ link register save eliminated.
 502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
 1386              		.loc 1 502 0
 1387 0000 024A     		ldr	r2, .L185
 1388 0002 1368     		ldr	r3, [r2]
 1389 0004 43F48023 		orr	r3, r3, #262144
 1390 0008 1360     		str	r3, [r2]
 503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 1391              		.loc 1 503 0
 1392 000a 7047     		bx	lr
 1393              	.L186:
 1394              		.align	2
 1395              	.L185:
 1396 000c 00200240 		.word	1073881088
 1397              		.cfi_endproc
 1398              	.LFE334:
 1400              		.section	.text.HAL_FLASHEx_DisableDebugger,"ax",%progbits
 1401              		.align	1
 1402              		.p2align 2,,3
 1403              		.global	HAL_FLASHEx_DisableDebugger
 1404              		.syntax unified
 1405              		.thumb
 1406              		.thumb_func
 1407              		.fpu fpv4-sp-d16
 1409              	HAL_FLASHEx_DisableDebugger:
 1410              	.LFB335:
 513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   FLASH->ACR &= ~FLASH_ACR_DBG_SWEN;
 1411              		.loc 1 513 0
 1412              		.cfi_startproc
 1413              		@ args = 0, pretend = 0, frame = 0
 1414              		@ frame_needed = 0, uses_anonymous_args = 0
 1415              		@ link register save eliminated.
 514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
 1416              		.loc 1 514 0
 1417 0000 024A     		ldr	r2, .L188
 1418 0002 1368     		ldr	r3, [r2]
 1419 0004 23F48023 		bic	r3, r3, #262144
 1420 0008 1360     		str	r3, [r2]
 515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 1421              		.loc 1 515 0
 1422 000a 7047     		bx	lr
 1423              	.L189:
 1424              		.align	2
 1425              	.L188:
 1426 000c 00200240 		.word	1073881088
 1427              		.cfi_endproc
 1428              	.LFE335:
 1430              		.section	.text.FLASH_PageErase,"ax",%progbits
 1431              		.align	1
 1432              		.p2align 2,,3
 1433              		.global	FLASH_PageErase
 1434              		.syntax unified
 1435              		.thumb
 1436              		.thumb_func
 1437              		.fpu fpv4-sp-d16
 1439              	FLASH_PageErase:
ARM GAS  /tmp/cc6KszU6.s 			page 55


 1440              	.LFB337:
 586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   /* Check the parameters */
 1441              		.loc 1 586 0
 1442              		.cfi_startproc
 1443              		@ args = 0, pretend = 0, frame = 0
 1444              		@ frame_needed = 0, uses_anonymous_args = 0
 1445              		@ link register save eliminated.
 1446              	.LVL134:
 611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   SET_BIT(FLASH->CR, FLASH_CR_PER);
 1447              		.loc 1 611 0
 1448 0000 084B     		ldr	r3, .L191
 1449 0002 5A69     		ldr	r2, [r3, #20]
 1450 0004 C000     		lsls	r0, r0, #3
 1451              	.LVL135:
 1452 0006 22F4FC72 		bic	r2, r2, #504
 1453 000a 00F4FF60 		and	r0, r0, #2040
 1454 000e 1043     		orrs	r0, r0, r2
 1455 0010 5861     		str	r0, [r3, #20]
 612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   SET_BIT(FLASH->CR, FLASH_CR_STRT);
 1456              		.loc 1 612 0
 1457 0012 5A69     		ldr	r2, [r3, #20]
 1458 0014 42F00202 		orr	r2, r2, #2
 1459 0018 5A61     		str	r2, [r3, #20]
 613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
 1460              		.loc 1 613 0
 1461 001a 5A69     		ldr	r2, [r3, #20]
 1462 001c 42F48032 		orr	r2, r2, #65536
 1463 0020 5A61     		str	r2, [r3, #20]
 614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 1464              		.loc 1 614 0
 1465 0022 7047     		bx	lr
 1466              	.L192:
 1467              		.align	2
 1468              	.L191:
 1469 0024 00200240 		.word	1073881088
 1470              		.cfi_endproc
 1471              	.LFE337:
 1473              		.section	.text.FLASH_FlushCaches,"ax",%progbits
 1474              		.align	1
 1475              		.p2align 2,,3
 1476              		.global	FLASH_FlushCaches
 1477              		.syntax unified
 1478              		.thumb
 1479              		.thumb_func
 1480              		.fpu fpv4-sp-d16
 1482              	FLASH_FlushCaches:
 1483              	.LFB338:
 621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   FLASH_CacheTypeDef cache = pFlash.CacheToReactivate;
 1484              		.loc 1 621 0
 1485              		.cfi_startproc
 1486              		@ args = 0, pretend = 0, frame = 0
 1487              		@ frame_needed = 0, uses_anonymous_args = 0
 1488              		@ link register save eliminated.
 622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 1489              		.loc 1 622 0
 1490 0000 1349     		ldr	r1, .L196
 1491 0002 0B7F     		ldrb	r3, [r1, #28]	@ zero_extendqisi2
ARM GAS  /tmp/cc6KszU6.s 			page 56


 1492 0004 DBB2     		uxtb	r3, r3
 1493              	.LVL136:
 625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       (cache == FLASH_CACHE_ICACHE_DCACHE_ENABLED))
 1494              		.loc 1 625 0
 1495 0006 03F0FD02 		and	r2, r3, #253
 1496 000a 012A     		cmp	r2, #1
 1497 000c 0CD1     		bne	.L194
 629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Enable instruction cache */
 1498              		.loc 1 629 0
 1499 000e 114A     		ldr	r2, .L196+4
 1500 0010 1068     		ldr	r0, [r2]
 1501 0012 40F40060 		orr	r0, r0, #2048
 1502 0016 1060     		str	r0, [r2]
 1503 0018 1068     		ldr	r0, [r2]
 1504 001a 20F40060 		bic	r0, r0, #2048
 1505 001e 1060     		str	r0, [r2]
 631:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 1506              		.loc 1 631 0
 1507 0020 1068     		ldr	r0, [r2]
 1508 0022 40F40070 		orr	r0, r0, #512
 1509 0026 1060     		str	r0, [r2]
 1510              	.L194:
 635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****       (cache == FLASH_CACHE_ICACHE_DCACHE_ENABLED))
 1511              		.loc 1 635 0
 1512 0028 023B     		subs	r3, r3, #2
 1513              	.LVL137:
 1514 002a 012B     		cmp	r3, #1
 1515 002c 0CD8     		bhi	.L195
 639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****     /* Enable data cache */
 1516              		.loc 1 639 0
 1517 002e 094B     		ldr	r3, .L196+4
 1518              	.LVL138:
 1519 0030 1A68     		ldr	r2, [r3]
 1520 0032 42F48052 		orr	r2, r2, #4096
 1521 0036 1A60     		str	r2, [r3]
 1522 0038 1A68     		ldr	r2, [r3]
 1523 003a 22F48052 		bic	r2, r2, #4096
 1524 003e 1A60     		str	r2, [r3]
 641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****   }
 1525              		.loc 1 641 0
 1526 0040 1A68     		ldr	r2, [r3]
 1527 0042 42F48062 		orr	r2, r2, #1024
 1528 0046 1A60     		str	r2, [r3]
 1529              	.L195:
 645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
 1530              		.loc 1 645 0
 1531 0048 0023     		movs	r3, #0
 1532 004a 0B77     		strb	r3, [r1, #28]
 646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** 
 1533              		.loc 1 646 0
 1534 004c 7047     		bx	lr
 1535              	.L197:
 1536 004e 00BF     		.align	2
 1537              	.L196:
 1538 0050 00000000 		.word	pFlash
 1539 0054 00200240 		.word	1073881088
 1540              		.cfi_endproc
ARM GAS  /tmp/cc6KszU6.s 			page 57


 1541              	.LFE338:
 1543              		.text
 1544              	.Letext0:
 1545              		.file 2 "/usr/include/newlib/machine/_default_types.h"
 1546              		.file 3 "/usr/include/newlib/sys/_stdint.h"
 1547              		.file 4 "Drivers/CMSIS/Include/core_cm4.h"
 1548              		.file 5 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/system_stm32g4xx.h"
 1549              		.file 6 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h"
 1550              		.file 7 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h"
 1551              		.file 8 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h"
 1552              		.file 9 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart.h"
 1553              		.file 10 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h"
ARM GAS  /tmp/cc6KszU6.s 			page 58


DEFINED SYMBOLS
                            *ABS*:0000000000000000 stm32g4xx_hal_flash_ex.c
     /tmp/cc6KszU6.s:16     .text.HAL_FLASHEx_Erase:0000000000000000 $t
     /tmp/cc6KszU6.s:24     .text.HAL_FLASHEx_Erase:0000000000000000 HAL_FLASHEx_Erase
     /tmp/cc6KszU6.s:288    .text.HAL_FLASHEx_Erase:0000000000000158 $d
     /tmp/cc6KszU6.s:294    .text.HAL_FLASHEx_Erase_IT:0000000000000000 $t
     /tmp/cc6KszU6.s:302    .text.HAL_FLASHEx_Erase_IT:0000000000000000 HAL_FLASHEx_Erase_IT
     /tmp/cc6KszU6.s:483    .text.HAL_FLASHEx_Erase_IT:00000000000000b8 $d
     /tmp/cc6KszU6.s:489    .text.HAL_FLASHEx_OBProgram:0000000000000000 $t
     /tmp/cc6KszU6.s:497    .text.HAL_FLASHEx_OBProgram:0000000000000000 HAL_FLASHEx_OBProgram
     /tmp/cc6KszU6.s:1122   .text.HAL_FLASHEx_OBProgram:00000000000002e8 $d
     /tmp/cc6KszU6.s:1131   .text.HAL_FLASHEx_OBGetConfig:0000000000000000 $t
     /tmp/cc6KszU6.s:1139   .text.HAL_FLASHEx_OBGetConfig:0000000000000000 HAL_FLASHEx_OBGetConfig
     /tmp/cc6KszU6.s:1330   .text.HAL_FLASHEx_OBGetConfig:00000000000000b0 $d
     /tmp/cc6KszU6.s:1338   .text.HAL_FLASHEx_EnableSecMemProtection:0000000000000000 $t
     /tmp/cc6KszU6.s:1346   .text.HAL_FLASHEx_EnableSecMemProtection:0000000000000000 HAL_FLASHEx_EnableSecMemProtection
     /tmp/cc6KszU6.s:1366   .text.HAL_FLASHEx_EnableSecMemProtection:0000000000000010 $d
     /tmp/cc6KszU6.s:1371   .text.HAL_FLASHEx_EnableDebugger:0000000000000000 $t
     /tmp/cc6KszU6.s:1379   .text.HAL_FLASHEx_EnableDebugger:0000000000000000 HAL_FLASHEx_EnableDebugger
     /tmp/cc6KszU6.s:1396   .text.HAL_FLASHEx_EnableDebugger:000000000000000c $d
     /tmp/cc6KszU6.s:1401   .text.HAL_FLASHEx_DisableDebugger:0000000000000000 $t
     /tmp/cc6KszU6.s:1409   .text.HAL_FLASHEx_DisableDebugger:0000000000000000 HAL_FLASHEx_DisableDebugger
     /tmp/cc6KszU6.s:1426   .text.HAL_FLASHEx_DisableDebugger:000000000000000c $d
     /tmp/cc6KszU6.s:1431   .text.FLASH_PageErase:0000000000000000 $t
     /tmp/cc6KszU6.s:1439   .text.FLASH_PageErase:0000000000000000 FLASH_PageErase
     /tmp/cc6KszU6.s:1469   .text.FLASH_PageErase:0000000000000024 $d
     /tmp/cc6KszU6.s:1474   .text.FLASH_FlushCaches:0000000000000000 $t
     /tmp/cc6KszU6.s:1482   .text.FLASH_FlushCaches:0000000000000000 FLASH_FlushCaches
     /tmp/cc6KszU6.s:1538   .text.FLASH_FlushCaches:0000000000000050 $d

UNDEFINED SYMBOLS
FLASH_WaitForLastOperation
pFlash
