ARM GAS  /tmp/ccHUARcC.s 			page 1


   1              		.cpu cortex-m0plus
   2              		.eabi_attribute 20, 1
   3              		.eabi_attribute 21, 1
   4              		.eabi_attribute 23, 3
   5              		.eabi_attribute 24, 1
   6              		.eabi_attribute 25, 1
   7              		.eabi_attribute 26, 1
   8              		.eabi_attribute 30, 1
   9              		.eabi_attribute 34, 0
  10              		.eabi_attribute 18, 4
  11              		.file	"stm32g0xx_hal_flash_ex.c"
  12              		.text
  13              	.Ltext0:
  14              		.cfi_sections	.debug_frame
  15              		.section	.text.FLASH_MassErase,"ax",%progbits
  16              		.align	1
  17              		.arch armv6s-m
  18              		.syntax unified
  19              		.code	16
  20              		.thumb_func
  21              		.fpu softvfp
  23              	FLASH_MassErase:
  24              	.LVL0:
  25              	.LFB306:
  26              		.file 1 "Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c"
   1:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /**
   2:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   ******************************************************************************
   3:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @file    stm32g0xx_hal_flash_ex.c
   4:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @author  MCD Application Team
   5:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @brief   Extended FLASH HAL module driver.
   6:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *          This file provides firmware functions to manage the following
   7:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *          functionalities of the FLASH extended peripheral:
   8:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           + Extended programming operations functions
   9:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *
  10:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****  @verbatim
  11:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****  ==============================================================================
  12:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****                    ##### Flash Extended features #####
  13:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   ==============================================================================
  14:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
  15:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   [..] Comparing to other previous devices, the FLASH interface for STM32G0xx
  16:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****        devices contains the following additional features
  17:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
  18:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****        (+) Capacity up to 128 Kbytes with single bank architecture supporting read-while-write
  19:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****            capability (RWW)
  20:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****        (+) Single bank memory organization
  21:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****        (+) PCROP protection
  22:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
  23:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****                         ##### How to use this driver #####
  24:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****  ==============================================================================
  25:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   [..] This driver provides functions to configure and program the FLASH memory
  26:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****        of all STM32G0xx devices. It includes
  27:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       (#) Flash Memory Erase functions:
  28:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****            (++) Lock and Unlock the FLASH interface using HAL_FLASH_Unlock() and
  29:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****                 HAL_FLASH_Lock() functions
  30:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****            (++) Erase function: Erase page, erase all sectors
  31:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****            (++) There are two modes of erase :
  32:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****              (+++) Polling Mode using HAL_FLASHEx_Erase()
ARM GAS  /tmp/ccHUARcC.s 			page 2


  33:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****              (+++) Interrupt Mode using HAL_FLASHEx_Erase_IT()
  34:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
  35:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       (#) Option Bytes Programming function: Use HAL_FLASHEx_OBProgram() to :
  36:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****         (++) Set/Reset the write protection
  37:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****         (++) Set the Read protection Level
  38:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****         (++) Program the user Option Bytes
  39:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****         (++) Configure the PCROP protection
  40:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****         (++) Set Securable memory area and boot entry point
  41:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
  42:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       (#) Get Option Bytes Configuration function: Use HAL_FLASHEx_OBGetConfig() to :
  43:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****         (++) Get the value of a write protection area
  44:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****         (++) Know if the read protection is activated
  45:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****         (++) Get the value of the user Option Bytes
  46:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****         (++) Get Securable memory area and boot entry point information
  47:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
  48:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       (#) Enable or disable debugger usage using HAL_FLASHEx_EnableDebugger and
  49:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****           HAL_FLASHEx_DisableDebugger.
  50:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
  51:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       (#) Check is flash content is empty or not using HAL_FLASHEx_FlashEmptyCheck.
  52:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****           and modify this setting (for flash loader purpose e.g.) using
  53:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****           HAL_FLASHEx_ForceFlashEmpty.
  54:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
  55:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       (#) Enable securable memory area protectionusing HAL_FLASHEx_EnableSecMemProtection
  56:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
  57:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****  @endverbatim
  58:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   ******************************************************************************
  59:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @attention
  60:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *
  61:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * <h2><center>&copy; Copyright (c) 2018 STMicroelectronics.
  62:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * All rights reserved.</center></h2>
  63:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *
  64:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * This software component is licensed by ST under BSD 3-Clause license,
  65:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * the "License"; You may not use this file except in compliance with the
  66:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * License. You may obtain a copy of the License at:
  67:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *                        opensource.org/licenses/BSD-3-Clause
  68:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *
  69:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   ******************************************************************************
  70:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
  71:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
  72:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /* Includes ------------------------------------------------------------------*/
  73:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #include "stm32g0xx_hal.h"
  74:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
  75:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /** @addtogroup STM32G0xx_HAL_Driver
  76:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @{
  77:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
  78:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
  79:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /** @defgroup FLASHEx FLASHEx
  80:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @brief FLASH Extended HAL module driver
  81:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @{
  82:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
  83:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
  84:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #ifdef HAL_FLASH_MODULE_ENABLED
  85:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
  86:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /* Private typedef -----------------------------------------------------------*/
  87:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /* Private define ------------------------------------------------------------*/
  88:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /* Private macro -------------------------------------------------------------*/
  89:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /* Private variables ---------------------------------------------------------*/
ARM GAS  /tmp/ccHUARcC.s 			page 3


  90:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /* Private function prototypes -----------------------------------------------*/
  91:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Private_Functions FLASHEx Private Functions
  92:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @{
  93:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
  94:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** static void               FLASH_MassErase(uint32_t Banks);
  95:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** void                      FLASH_FlushCaches(void);
  96:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** static void               FLASH_OB_WRPConfig(uint32_t WRPArea, uint32_t WRPStartOffset, uint32_t WR
  97:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** static void               FLASH_OB_GetWRP(uint32_t WRPArea, uint32_t *WRPStartOffset, uint32_t *WRD
  98:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** static void               FLASH_OB_OptrConfig(uint32_t UserType, uint32_t UserConfig, uint32_t RDPL
  99:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** static uint32_t           FLASH_OB_GetRDP(void);
 100:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** static uint32_t           FLASH_OB_GetUser(void);
 101:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #if defined(FLASH_PCROP_SUPPORT)
 102:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** static void               FLASH_OB_PCROP1AConfig(uint32_t PCROPConfig, uint32_t PCROP1AStartAddr,
 103:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****                                                  uint32_t PCROP1AEndAddr);
 104:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** static void               FLASH_OB_PCROP1BConfig(uint32_t PCROP1BStartAddr, uint32_t PCROP1BEndAddr
 105:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** static void               FLASH_OB_GetPCROP1A(uint32_t *PCROPConfig, uint32_t *PCROP1AStartAddr,
 106:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****                                               uint32_t *PCROP1AEndAddr);
 107:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** static void               FLASH_OB_GetPCROP1B(uint32_t *PCROP1BStartAddr, uint32_t *PCROP1BEndAddr)
 108:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #if defined(FLASH_DBANK_SUPPORT)
 109:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** static void               FLASH_OB_PCROP2AConfig(uint32_t PCROP2AStartAddr, uint32_t PCROP2AEndAddr
 110:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** static void               FLASH_OB_PCROP2BConfig(uint32_t PCROP2BStartAddr, uint32_t PCROP2BEndAddr
 111:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** static void               FLASH_OB_GetPCROP2A(uint32_t *PCROP2AStartAddr, uint32_t *PCROP2AEndAddr)
 112:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** static void               FLASH_OB_GetPCROP2B(uint32_t *PCROP2BStartAddr, uint32_t *PCROP2BEndAddr)
 113:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #endif /* FLASH_DBANK_SUPPORT */
 114:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #endif /* FLASH_PCROP_SUPPORT */
 115:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #if defined(FLASH_SECURABLE_MEMORY_SUPPORT)
 116:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #if defined(FLASH_DBANK_SUPPORT)
 117:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** static void               FLASH_OB_SecMemConfig(uint32_t BootEntry, uint32_t SecSize, uint32_t SecS
 118:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** static void               FLASH_OB_GetSecMem(uint32_t *BootEntry, uint32_t *SecSize, uint32_t *SecS
 119:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #else
 120:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** static void               FLASH_OB_SecMemConfig(uint32_t BootEntry, uint32_t SecSize);
 121:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** static void               FLASH_OB_GetSecMem(uint32_t *BootEntry, uint32_t *SecSize);
 122:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #endif /* FLASH_DBANK_SUPPORT */
 123:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #endif /* FLASH_SECURABLE_MEMORY_SUPPORT */
 124:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /**
 125:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @}
 126:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
 127:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 128:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /* Exported functions -------------------------------------------------------*/
 129:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Exported_Functions FLASH Extended Exported Functions
 130:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @{
 131:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
 132:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 133:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Exported_Functions_Group1 Extended IO operation functions
 134:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *  @brief   Extended IO operation functions
 135:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *
 136:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** @verbatim
 137:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****  ===============================================================================
 138:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****                 ##### Extended programming operation functions #####
 139:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****  ===============================================================================
 140:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     [..]
 141:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     This subsection provides a set of functions allowing to manage the Extended FLASH
 142:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     programming operations Operations.
 143:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 144:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** @endverbatim
 145:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @{
 146:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
ARM GAS  /tmp/ccHUARcC.s 			page 4


 147:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /**
 148:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @brief  Perform a mass erase or erase the specified FLASH memory pages.
 149:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param[in]  pEraseInit Pointer to an @ref FLASH_EraseInitTypeDef structure that
 150:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         contains the configuration information for the erasing.
 151:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param[out]  PageError Pointer to variable that contains the configuration
 152:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         information on faulty page in case of error (0xFFFFFFFF means that all
 153:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         the pages have been correctly erased)
 154:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @retval HAL Status
 155:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
 156:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** HAL_StatusTypeDef HAL_FLASHEx_Erase(FLASH_EraseInitTypeDef *pEraseInit, uint32_t *PageError)
 157:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** {
 158:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   HAL_StatusTypeDef status;
 159:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t index;
 160:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 161:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Check the parameters */
 162:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   assert_param(IS_FLASH_TYPEERASE(pEraseInit->TypeErase));
 163:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 164:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Process Locked */
 165:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   __HAL_LOCK(&pFlash);
 166:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 167:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Reset error code */
 168:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
 169:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 170:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Wait for last operation to be completed */
 171:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   status = FLASH_WaitForLastOperation(FLASH_TIMEOUT_VALUE);
 172:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 173:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   if (status == HAL_OK)
 174:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 175:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #if !defined(FLASH_DBANK_SUPPORT)
 176:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* For single bank product force Banks to Bank 1 */
 177:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     pEraseInit->Banks = FLASH_BANK_1;
 178:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #endif /* FLASH_DBANK_SUPPORT */
 179:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 180:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     if (pEraseInit->TypeErase == FLASH_TYPEERASE_MASS)
 181:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     {
 182:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       /* Proceed to Mass Erase */
 183:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       FLASH_MassErase(pEraseInit->Banks);
 184:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 185:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       /* Wait for last operation to be completed */
 186:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       status = FLASH_WaitForLastOperation(FLASH_TIMEOUT_VALUE);
 187:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     }
 188:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     else
 189:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     {
 190:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       /*Initialization of PageError variable*/
 191:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       *PageError = 0xFFFFFFFFU;
 192:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 193:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       for (index = pEraseInit->Page; index < (pEraseInit->Page + pEraseInit->NbPages); index++)
 194:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       {
 195:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****         /* Start erase page */
 196:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****         FLASH_PageErase(pEraseInit->Banks, index);
 197:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 198:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****         /* Wait for last operation to be completed */
 199:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****         status = FLASH_WaitForLastOperation(FLASH_TIMEOUT_VALUE);
 200:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 201:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****         if (status != HAL_OK)
 202:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****         {
 203:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****           /* In case of error, stop erase procedure and return the faulty address */
ARM GAS  /tmp/ccHUARcC.s 			page 5


 204:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****           *PageError = index;
 205:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****           break;
 206:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****         }
 207:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       }
 208:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 209:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       /* If operation is completed or interrupted, disable the Page Erase Bit */
 210:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       CLEAR_BIT(FLASH->CR, FLASH_CR_PER);
 211:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     }
 212:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 213:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 214:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Process Unlocked */
 215:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   __HAL_UNLOCK(&pFlash);
 216:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 217:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* return status */
 218:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   return status;
 219:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 220:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 221:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 222:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /**
 223:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @brief  Perform a mass erase or erase the specified FLASH memory pages with interrupt enabled.
 224:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  pEraseInit Pointer to an @ref FLASH_EraseInitTypeDef structure that
 225:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         contains the configuration information for the erasing.
 226:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @retval HAL Status
 227:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
 228:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** HAL_StatusTypeDef HAL_FLASHEx_Erase_IT(FLASH_EraseInitTypeDef *pEraseInit)
 229:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** {
 230:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   HAL_StatusTypeDef status;
 231:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 232:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Check the parameters */
 233:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   assert_param(IS_FLASH_TYPEERASE(pEraseInit->TypeErase));
 234:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 235:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Process Locked */
 236:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   __HAL_LOCK(&pFlash);
 237:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 238:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Reset error code */
 239:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
 240:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 241:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* save procedure for interrupt treatment */
 242:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   pFlash.ProcedureOnGoing = pEraseInit->TypeErase;
 243:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 244:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Wait for last operation to be completed */
 245:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   status = FLASH_WaitForLastOperation(FLASH_TIMEOUT_VALUE);
 246:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 247:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   if (status != HAL_OK)
 248:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 249:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Process Unlocked */
 250:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     __HAL_UNLOCK(&pFlash);
 251:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 252:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   else
 253:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 254:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #if !defined(FLASH_DBANK_SUPPORT)
 255:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* For single bank product force Banks to Bank 1 */
 256:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     pEraseInit->Banks = FLASH_BANK_1;
 257:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #endif /* FLASH_DBANK_SUPPORT */
 258:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Store Bank number */
 259:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     pFlash.Banks = pEraseInit->Banks;
 260:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
ARM GAS  /tmp/ccHUARcC.s 			page 6


 261:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Enable End of Operation and Error interrupts */
 262:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     FLASH->CR |= FLASH_CR_EOPIE | FLASH_CR_ERRIE;
 263:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 264:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     if (pEraseInit->TypeErase == FLASH_TYPEERASE_MASS)
 265:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     {
 266:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       /* Set Page to 0 for Interrupt callback management */
 267:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       pFlash.Page = 0;
 268:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 269:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       /* Proceed to Mass Erase */
 270:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       FLASH_MassErase(pEraseInit->Banks);
 271:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     }
 272:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     else
 273:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     {
 274:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       /* Erase by page to be done */
 275:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       pFlash.NbPagesToErase = pEraseInit->NbPages;
 276:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       pFlash.Page = pEraseInit->Page;
 277:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 278:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       /*Erase 1st page and wait for IT */
 279:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       FLASH_PageErase(pEraseInit->Banks, pEraseInit->Page);
 280:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     }
 281:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 282:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 283:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* return status */
 284:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   return status;
 285:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 286:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 287:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /**
 288:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @brief  Program Option bytes.
 289:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  pOBInit Pointer to an @ref FLASH_OBProgramInitTypeDef structure that
 290:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         contains the configuration information for the programming.
 291:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @note   To configure any option bytes, the option lock bit OPTLOCK must be
 292:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         cleared with the call of @ref HAL_FLASH_OB_Unlock() function.
 293:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @note   New option bytes configuration will be taken into account only
 294:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         - after an option bytes launch through the call of @ref HAL_FLASH_OB_Launch()
 295:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         - a Power On Reset
 296:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         - an exit from Standby or Shutdown mode.
 297:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @retval HAL Status
 298:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
 299:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** HAL_StatusTypeDef HAL_FLASHEx_OBProgram(FLASH_OBProgramInitTypeDef *pOBInit)
 300:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** {
 301:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t optr;
 302:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   HAL_StatusTypeDef status;
 303:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 304:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Check the parameters */
 305:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   assert_param(IS_OPTIONBYTE(pOBInit->OptionType));
 306:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 307:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Process Locked */
 308:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   __HAL_LOCK(&pFlash);
 309:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 310:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
 311:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 312:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Write protection configuration */
 313:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   if ((pOBInit->OptionType & OPTIONBYTE_WRP) != 0x00U)
 314:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 315:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Configure of Write protection on the selected area */
 316:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     FLASH_OB_WRPConfig(pOBInit->WRPArea, pOBInit->WRPStartOffset, pOBInit->WRPEndOffset);
 317:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
ARM GAS  /tmp/ccHUARcC.s 			page 7


 318:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 319:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Option register */
 320:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   if ((pOBInit->OptionType & (OPTIONBYTE_RDP | OPTIONBYTE_USER)) == (OPTIONBYTE_RDP | OPTIONBYTE_US
 321:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 322:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Fully modify OPTR register with RDP & user data */
 323:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     FLASH_OB_OptrConfig(pOBInit->USERType, pOBInit->USERConfig, pOBInit->RDPLevel);
 324:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 325:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   else if ((pOBInit->OptionType & OPTIONBYTE_RDP) != 0x00U)
 326:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 327:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Only modify RDP so get current user data */
 328:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     optr = FLASH_OB_GetUser();
 329:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     FLASH_OB_OptrConfig(optr, optr, pOBInit->RDPLevel);
 330:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 331:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   else if ((pOBInit->OptionType & OPTIONBYTE_USER) != 0x00U)
 332:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 333:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Only modify user so get current RDP level */
 334:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     optr = FLASH_OB_GetRDP();
 335:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     FLASH_OB_OptrConfig(pOBInit->USERType, pOBInit->USERConfig, optr);
 336:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 337:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   else
 338:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 339:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* nothing to do */
 340:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 341:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 342:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #if defined(FLASH_PCROP_SUPPORT)
 343:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* PCROP Configuration */
 344:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   if ((pOBInit->OptionType & OPTIONBYTE_PCROP) != 0x00U)
 345:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 346:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Check the parameters */
 347:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     assert_param(IS_OB_PCROP_CONFIG(pOBInit->PCROPConfig));
 348:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 349:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     if ((pOBInit->PCROPConfig & (OB_PCROP_ZONE_A | OB_PCROP_RDP_ERASE)) != 0x00U)
 350:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     {
 351:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       /* Configure the 1A Proprietary code readout protection */
 352:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       FLASH_OB_PCROP1AConfig(pOBInit->PCROPConfig, pOBInit->PCROP1AStartAddr, pOBInit->PCROP1AEndAd
 353:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     }
 354:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 355:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     if ((pOBInit->PCROPConfig & OB_PCROP_ZONE_B) != 0x00U)
 356:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     {
 357:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       /* Configure the 1B Proprietary code readout protection */
 358:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       FLASH_OB_PCROP1BConfig(pOBInit->PCROP1BStartAddr, pOBInit->PCROP1BEndAddr);
 359:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     }
 360:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 361:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #if defined(FLASH_DBANK_SUPPORT)
 362:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     if ((pOBInit->PCROPConfig & OB_PCROP_ZONE2_A) != 0x00U)
 363:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     {
 364:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       /* Configure the 2A Proprietary code readout protection */
 365:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       FLASH_OB_PCROP2AConfig(pOBInit->PCROP2AStartAddr, pOBInit->PCROP2AEndAddr);
 366:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     }
 367:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 368:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     if ((pOBInit->PCROPConfig & OB_PCROP_ZONE2_B) != 0x00U)
 369:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     {
 370:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       /* Configure the 2B Proprietary code readout protection */
 371:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       FLASH_OB_PCROP2BConfig(pOBInit->PCROP2BStartAddr, pOBInit->PCROP2BEndAddr);
 372:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     }
 373:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #endif /* FLASH_DBANK_SUPPORT */
 374:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
ARM GAS  /tmp/ccHUARcC.s 			page 8


 375:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #endif /* FLASH_PCROP_SUPPORT */
 376:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 377:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #if defined(FLASH_SECURABLE_MEMORY_SUPPORT)
 378:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Securable Memory Area Configuration */
 379:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   if ((pOBInit->OptionType & OPTIONBYTE_SEC) != 0x00U)
 380:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 381:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #if defined(FLASH_DBANK_SUPPORT)
 382:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Configure the securable memory area protection */
 383:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     FLASH_OB_SecMemConfig(pOBInit->BootEntryPoint, pOBInit->SecSize, pOBInit->SecSize2);
 384:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #else
 385:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Configure the securable memory area protection */
 386:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     FLASH_OB_SecMemConfig(pOBInit->BootEntryPoint, pOBInit->SecSize);
 387:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #endif /* FLASH_DBANK_SUPPORT */
 388:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 389:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #endif /* FLASH_SECURABLE_MEMORY_SUPPORT */
 390:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 391:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Wait for last operation to be completed */
 392:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   status = FLASH_WaitForLastOperation(FLASH_TIMEOUT_VALUE);
 393:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 394:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   if (status == HAL_OK)
 395:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 396:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Set OPTSTRT Bit */
 397:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     SET_BIT(FLASH->CR, FLASH_CR_OPTSTRT);
 398:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 399:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Wait for last operation to be completed */
 400:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     status = FLASH_WaitForLastOperation(FLASH_TIMEOUT_VALUE);
 401:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 402:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* If the option byte program operation is completed, disable the OPTSTRT Bit */
 403:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     CLEAR_BIT(FLASH->CR, FLASH_CR_OPTSTRT);
 404:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 405:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 406:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Process Unlocked */
 407:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   __HAL_UNLOCK(&pFlash);
 408:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 409:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* return status */
 410:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   return status;
 411:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 412:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 413:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /**
 414:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @brief  Get the Option bytes configuration.
 415:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @note   warning: this API only read flash register, it does not reflect any
 416:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         change that would have been programmed between previous Option byte
 417:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         loading and current call.
 418:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  pOBInit Pointer to an @ref FLASH_OBProgramInitTypeDef structure that contains the
 419:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *                  configuration information. The fields pOBInit->WRPArea should
 420:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *                  indicate which area is requested for the WRP.
 421:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @retval None
 422:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
 423:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** void HAL_FLASHEx_OBGetConfig(FLASH_OBProgramInitTypeDef *pOBInit)
 424:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** {
 425:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   pOBInit->OptionType = OPTIONBYTE_ALL;
 426:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 427:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Get write protection on the selected area */
 428:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   FLASH_OB_GetWRP(pOBInit->WRPArea, &(pOBInit->WRPStartOffset), &(pOBInit->WRPEndOffset));
 429:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 430:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Get Read protection level */
 431:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   pOBInit->RDPLevel = FLASH_OB_GetRDP();
ARM GAS  /tmp/ccHUARcC.s 			page 9


 432:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 433:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Get the user option bytes */
 434:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   pOBInit->USERConfig = FLASH_OB_GetUser();
 435:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   pOBInit->USERType = OB_USER_ALL;
 436:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 437:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #if defined(FLASH_PCROP_SUPPORT)
 438:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Get the Proprietary code readout protection */
 439:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   FLASH_OB_GetPCROP1A(&(pOBInit->PCROPConfig), &(pOBInit->PCROP1AStartAddr), &(pOBInit->PCROP1AEndA
 440:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   FLASH_OB_GetPCROP1B(&(pOBInit->PCROP1BStartAddr), &(pOBInit->PCROP1BEndAddr));
 441:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   pOBInit->PCROPConfig |= (OB_PCROP_ZONE_A | OB_PCROP_ZONE_B);
 442:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #if defined(FLASH_DBANK_SUPPORT)
 443:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   FLASH_OB_GetPCROP2A(&(pOBInit->PCROP2AStartAddr), &(pOBInit->PCROP2AEndAddr));
 444:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   FLASH_OB_GetPCROP2B(&(pOBInit->PCROP2BStartAddr), &(pOBInit->PCROP2BEndAddr));
 445:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   pOBInit->PCROPConfig |= (OB_PCROP_ZONE2_A | OB_PCROP_ZONE2_B);
 446:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #endif /* FLASH_DBANK_SUPPORT */
 447:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #endif /* FLASH_PCROP_SUPPORT */
 448:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 449:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #if defined(FLASH_SECURABLE_MEMORY_SUPPORT)
 450:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #if defined(FLASH_DBANK_SUPPORT)
 451:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Get the Securable Memory Area protection */
 452:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   FLASH_OB_GetSecMem(&(pOBInit->BootEntryPoint), &(pOBInit->SecSize), &(pOBInit->SecSize2));
 453:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #else
 454:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Get the Securable Memory Area protection */
 455:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   FLASH_OB_GetSecMem(&(pOBInit->BootEntryPoint), &(pOBInit->SecSize));
 456:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #endif /* FLASH_DBANK_SUPPORT */
 457:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #endif /* FLASH_SECURABLE_MEMORY_SUPPORT */
 458:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 459:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 460:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #if defined(FLASH_ACR_DBG_SWEN)
 461:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /**
 462:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @brief  Enable Debugger.
 463:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @note   After calling this API, flash interface allow debugger intrusion.
 464:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @retval None
 465:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
 466:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** void HAL_FLASHEx_EnableDebugger(void)
 467:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** {
 468:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   FLASH->ACR |= FLASH_ACR_DBG_SWEN;
 469:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 470:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 471:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 472:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /**
 473:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @brief  Disable Debugger.
 474:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @note   After calling this API, Debugger is disabled: it is no more possible to
 475:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         break, see CPU register, etc...
 476:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @retval None
 477:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
 478:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** void HAL_FLASHEx_DisableDebugger(void)
 479:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** {
 480:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   FLASH->ACR &= ~FLASH_ACR_DBG_SWEN;
 481:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 482:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #endif /* FLASH_ACR_DBG_SWEN */
 483:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 484:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /**
 485:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @brief  Flash Empty check
 486:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @note   This API checks if first location in Flash is programmed or not.
 487:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         This check is done once by Option Byte Loader.
 488:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @retval 0 if 1st location is not programmed else
ARM GAS  /tmp/ccHUARcC.s 			page 10


 489:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
 490:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** uint32_t HAL_FLASHEx_FlashEmptyCheck(void)
 491:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** {
 492:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   return ((FLASH->ACR & FLASH_ACR_PROGEMPTY));
 493:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 494:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 495:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 496:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /**
 497:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @brief  Force Empty check value.
 498:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @note   Allows to modify program empty check value in order to force this
 499:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         infrmation in Flash Interface, for all next reset that do not launch
 500:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         Option Byte Loader.
 501:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  FlashEmpty this parameter can be a value of @ref FLASHEx_Empty_Check
 502:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @retval None
 503:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
 504:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** void HAL_FLASHEx_ForceFlashEmpty(uint32_t FlashEmpty)
 505:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** {
 506:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t acr;
 507:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   assert_param(IS_FLASH_EMPTY_CHECK(FlashEmpty));
 508:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 509:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   acr = (FLASH->ACR & ~FLASH_ACR_PROGEMPTY);
 510:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   FLASH->ACR = (acr | FlashEmpty);
 511:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 512:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 513:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 514:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #if defined(FLASH_SECURABLE_MEMORY_SUPPORT)
 515:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /**
 516:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @brief  Securable memory area protection enable
 517:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  Banks Select Bank to be secured.
 518:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         This parameter can be a value of @ref FLASH_Banks
 519:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @note   On some devices, there is only 1 bank so parameter has to be set FLASH_BANK_1.
 520:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @note   This API locks Securable memory area which is defined in SEC_SIZE option byte
 521:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         (that can be retrieved calling HAL_FLASHEx_OBGetConfig API and checking
 522:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         Secsize).
 523:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @note   SEC_PROT bit can only be set, it will be reset by system reset.
 524:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @retval None
 525:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
 526:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** void HAL_FLASHEx_EnableSecMemProtection(uint32_t Banks)
 527:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** {
 528:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #if defined(FLASH_DBANK_SUPPORT)
 529:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   assert_param(IS_FLASH_BANK(Banks));
 530:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 531:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   if (Banks == (FLASH_BANK_2  | FLASH_BANK_1))
 532:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 533:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     FLASH->CR |= (FLASH_CR_SEC_PROT2 | FLASH_CR_SEC_PROT);
 534:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 535:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   else if (Banks == FLASH_BANK_2)
 536:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 537:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     FLASH->CR |= FLASH_CR_SEC_PROT2;
 538:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 539:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   else
 540:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #else
 541:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   UNUSED(Banks);
 542:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #endif /* FLASH_DBANK_SUPPORT */
 543:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 544:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     FLASH->CR |= FLASH_CR_SEC_PROT;
 545:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
ARM GAS  /tmp/ccHUARcC.s 			page 11


 546:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 547:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #endif /* FLASH_SECURABLE_MEMORY_SUPPORT */
 548:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /**
 549:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @}
 550:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
 551:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 552:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /**
 553:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @}
 554:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
 555:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 556:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /* Private functions ---------------------------------------------------------*/
 557:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /** @addtogroup FLASHEx_Private_Functions
 558:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @{
 559:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
 560:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 561:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /**
 562:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @brief  Mass erase of FLASH memory.
 563:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  Banks: Banks to be erased
 564:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         This parameter can be a combination of the following values:
 565:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *            @arg FLASH_BANK_1: Bank1 to be erased
 566:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *            @arg FLASH_BANK_2: Bank2 to be erased*
 567:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @note (*) availability depends on devices
 568:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @retval None
 569:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
 570:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** static void FLASH_MassErase(uint32_t Banks)
 571:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** {
  27              		.loc 1 571 1 view -0
  28              		.cfi_startproc
  29              		@ args = 0, pretend = 0, frame = 0
  30              		@ frame_needed = 0, uses_anonymous_args = 0
  31              		@ link register save eliminated.
 572:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Check the parameters */
 573:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   assert_param(IS_FLASH_BANK(Banks));
  32              		.loc 1 573 3 view .LVU1
 574:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 575:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Set the Mass Erase Bit and start bit */
 576:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   FLASH->CR |= (FLASH_CR_STRT | Banks);
  33              		.loc 1 576 3 view .LVU2
  34              		.loc 1 576 13 is_stmt 0 view .LVU3
  35 0000 034A     		ldr	r2, .L2
  36 0002 5369     		ldr	r3, [r2, #20]
  37 0004 0343     		orrs	r3, r0
  38 0006 8020     		movs	r0, #128
  39              	.LVL1:
  40              		.loc 1 576 13 view .LVU4
  41 0008 4002     		lsls	r0, r0, #9
  42 000a 1843     		orrs	r0, r3
  43 000c 5061     		str	r0, [r2, #20]
 577:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
  44              		.loc 1 577 1 view .LVU5
  45              		@ sp needed
  46 000e 7047     		bx	lr
  47              	.L3:
  48              		.align	2
  49              	.L2:
  50 0010 00200240 		.word	1073881088
  51              		.cfi_endproc
ARM GAS  /tmp/ccHUARcC.s 			page 12


  52              	.LFE306:
  54              		.section	.text.FLASH_OB_WRPConfig,"ax",%progbits
  55              		.align	1
  56              		.syntax unified
  57              		.code	16
  58              		.thumb_func
  59              		.fpu softvfp
  61              	FLASH_OB_WRPConfig:
  62              	.LVL2:
  63              	.LFB309:
 578:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 579:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /**
 580:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @brief  Erase the specified FLASH memory page.
 581:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  Banks: Banks to be erased
 582:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         This parameter can one of the following values:
 583:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *            @arg FLASH_BANK_1: Bank1 to be erased
 584:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *            @arg FLASH_BANK_2: Bank2 to be erased*
 585:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  Page FLASH page to erase
 586:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         This parameter must be a value between 0 and (max number of pages in Flash - 1)
 587:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @note (*) availability depends on devices
 588:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @retval None
 589:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
 590:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** void FLASH_PageErase(uint32_t Banks, uint32_t Page)
 591:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** {
 592:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t tmp;
 593:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 594:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Check the parameters */
 595:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   assert_param(IS_FLASH_BANK(Banks));
 596:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   assert_param(IS_FLASH_PAGE(Page));
 597:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 598:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Get configuration register, then clear page number */
 599:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   tmp = (FLASH->CR & ~FLASH_CR_PNB);
 600:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 601:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #if defined(FLASH_DBANK_SUPPORT)
 602:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Check if page has to be erased in bank 1 or 2 */
 603:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   if (Banks != FLASH_BANK_1)
 604:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 605:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     tmp |= FLASH_CR_BKER;
 606:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 607:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   else
 608:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 609:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     tmp &= ~FLASH_CR_BKER;
 610:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 611:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #endif /* FLASH_DBANK_SUPPORT */
 612:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 613:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Set page number, Page Erase bit & Start bit */
 614:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   FLASH->CR = (tmp | (FLASH_CR_STRT | (Page <<  FLASH_CR_PNB_Pos) | FLASH_CR_PER));
 615:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 616:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 617:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /**
 618:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @brief  Flush the instruction cache.
 619:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @retval None
 620:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
 621:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** void FLASH_FlushCaches(void)
 622:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** {
 623:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Flush instruction cache  */
 624:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   if (READ_BIT(FLASH->ACR, FLASH_ACR_ICEN) != 0U)
ARM GAS  /tmp/ccHUARcC.s 			page 13


 625:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 626:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Disable instruction cache  */
 627:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     __HAL_FLASH_INSTRUCTION_CACHE_DISABLE();
 628:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Reset instruction cache */
 629:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     __HAL_FLASH_INSTRUCTION_CACHE_RESET();
 630:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Enable instruction cache */
 631:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     __HAL_FLASH_INSTRUCTION_CACHE_ENABLE();
 632:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 633:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 634:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 635:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 636:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /**
 637:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @brief  Configure the write protection of the desired pages.
 638:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @note   When WRP is active in a zone, it cannot be erased or programmed.
 639:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         Consequently, a software mass erase cannot be performed if one zone
 640:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         is write-protected.
 641:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @note   When the memory read protection level is selected (RDP level = 1),
 642:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         it is not possible to program or erase Flash memory if the CPU debug
 643:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         features are connected (JTAG or single wire) or boot code is being
 644:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         executed from RAM or System flash, even if WRP is not activated.
 645:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  WRPArea  Specifies the area to be configured.
 646:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         This parameter can be one of the following values:
 647:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref OB_WRPAREA_ZONE_A Flash Zone A
 648:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref OB_WRPAREA_ZONE_B Flash Zone B
 649:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref OB_WRPAREA_ZONE2_A Flash Bank 2 Zone A (*)
 650:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref OB_WRPAREA_ZONE2_B Flash Bank 2 Zone B (*)
 651:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @note  (*) availability depends on devices
 652:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  WRPStartOffset  Specifies the start page of the write protected area
 653:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         This parameter can be page number between 0 and (max number of pages in the Flash Bank 
 654:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  WRDPEndOffset  Specifies the end page of the write protected area
 655:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         This parameter can be page number between WRPStartOffset and (max number of pages in th
 656:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @retval None
 657:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
 658:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** static void FLASH_OB_WRPConfig(uint32_t WRPArea, uint32_t WRPStartOffset, uint32_t WRDPEndOffset)
 659:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** {
  64              		.loc 1 659 1 is_stmt 1 view -0
  65              		.cfi_startproc
  66              		@ args = 0, pretend = 0, frame = 0
  67              		@ frame_needed = 0, uses_anonymous_args = 0
  68              		@ link register save eliminated.
 660:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Check the parameters */
 661:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   assert_param(IS_OB_WRPAREA(WRPArea));
  69              		.loc 1 661 3 view .LVU7
 662:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   assert_param(IS_FLASH_PAGE(WRPStartOffset));
  70              		.loc 1 662 3 view .LVU8
 663:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   assert_param(IS_FLASH_PAGE(WRDPEndOffset));
  71              		.loc 1 663 3 view .LVU9
 664:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 665:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Configure the write protected area */
 666:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   if (WRPArea == OB_WRPAREA_ZONE_A)
  72              		.loc 1 666 3 view .LVU10
  73              		.loc 1 666 6 is_stmt 0 view .LVU11
  74 0000 0128     		cmp	r0, #1
  75 0002 04D0     		beq	.L7
 667:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 668:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     FLASH->WRP1AR = ((WRDPEndOffset << FLASH_WRP1AR_WRP1A_END_Pos) | WRPStartOffset);
 669:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
ARM GAS  /tmp/ccHUARcC.s 			page 14


 670:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #if defined(FLASH_DBANK_SUPPORT)
 671:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   else if (WRPArea == OB_WRPAREA_ZONE2_A)
 672:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 673:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     FLASH->WRP2AR = ((WRDPEndOffset << FLASH_WRP2AR_WRP2A_END_Pos) | WRPStartOffset);
 674:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 675:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   else if (WRPArea == OB_WRPAREA_ZONE2_B)
 676:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 677:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     FLASH->WRP2BR = ((WRDPEndOffset << FLASH_WRP2BR_WRP2B_END_Pos) | WRPStartOffset);
 678:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 679:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #endif /* FLASH_DBANK_SUPPORT */
 680:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   else
 681:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 682:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     FLASH->WRP1BR = ((WRDPEndOffset << FLASH_WRP1BR_WRP1B_END_Pos) | WRPStartOffset);
  76              		.loc 1 682 5 is_stmt 1 view .LVU12
  77              		.loc 1 682 37 is_stmt 0 view .LVU13
  78 0004 1204     		lsls	r2, r2, #16
  79              	.LVL3:
  80              		.loc 1 682 68 view .LVU14
  81 0006 0A43     		orrs	r2, r1
  82              		.loc 1 682 19 view .LVU15
  83 0008 034B     		ldr	r3, .L8
  84 000a 1A63     		str	r2, [r3, #48]
  85              	.L4:
 683:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 684:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
  86              		.loc 1 684 1 view .LVU16
  87              		@ sp needed
  88 000c 7047     		bx	lr
  89              	.LVL4:
  90              	.L7:
 668:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
  91              		.loc 1 668 5 is_stmt 1 view .LVU17
 668:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
  92              		.loc 1 668 37 is_stmt 0 view .LVU18
  93 000e 1204     		lsls	r2, r2, #16
  94              	.LVL5:
 668:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
  95              		.loc 1 668 68 view .LVU19
  96 0010 0A43     		orrs	r2, r1
 668:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
  97              		.loc 1 668 19 view .LVU20
  98 0012 014B     		ldr	r3, .L8
  99 0014 DA62     		str	r2, [r3, #44]
 100 0016 F9E7     		b	.L4
 101              	.L9:
 102              		.align	2
 103              	.L8:
 104 0018 00200240 		.word	1073881088
 105              		.cfi_endproc
 106              	.LFE309:
 108              		.section	.text.FLASH_OB_GetWRP,"ax",%progbits
 109              		.align	1
 110              		.syntax unified
 111              		.code	16
 112              		.thumb_func
 113              		.fpu softvfp
 115              	FLASH_OB_GetWRP:
ARM GAS  /tmp/ccHUARcC.s 			page 15


 116              	.LVL6:
 117              	.LFB310:
 685:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 686:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /**
 687:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @brief  Return the FLASH Write Protection Option Bytes value.
 688:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param[in]  WRPArea Specifies the area to be returned.
 689:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *             This parameter can be one of the following values:
 690:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *               @arg @ref OB_WRPAREA_ZONE_A Flash Zone A
 691:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *               @arg @ref OB_WRPAREA_ZONE_B Flash Zone B
 692:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *               @arg @ref OB_WRPAREA_ZONE2_A Flash Bank 2 Zone A (*)
 693:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *               @arg @ref OB_WRPAREA_ZONE2_B Flash Bank 2 Zone B (*)
 694:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @note  (*) availability depends on devices
 695:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param[out]  WRPStartOffset  Specifies the address where to copied the start page
 696:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *                         of the write protected area
 697:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param[out]  WRDPEndOffset  Dpecifies the address where to copied the end page of
 698:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *                        the write protected area
 699:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @retval None
 700:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
 701:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** static void FLASH_OB_GetWRP(uint32_t WRPArea, uint32_t *WRPStartOffset, uint32_t *WRDPEndOffset)
 702:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** {
 118              		.loc 1 702 1 is_stmt 1 view -0
 119              		.cfi_startproc
 120              		@ args = 0, pretend = 0, frame = 0
 121              		@ frame_needed = 0, uses_anonymous_args = 0
 122              		.loc 1 702 1 is_stmt 0 view .LVU22
 123 0000 10B5     		push	{r4, lr}
 124              	.LCFI0:
 125              		.cfi_def_cfa_offset 8
 126              		.cfi_offset 4, -8
 127              		.cfi_offset 14, -4
 703:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Check the parameters */
 704:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   assert_param(IS_OB_WRPAREA(WRPArea));
 128              		.loc 1 704 3 is_stmt 1 view .LVU23
 705:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 706:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Get the configuration of the write protected area */
 707:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   if (WRPArea == OB_WRPAREA_ZONE_A)
 129              		.loc 1 707 3 view .LVU24
 130              		.loc 1 707 6 is_stmt 0 view .LVU25
 131 0002 0128     		cmp	r0, #1
 132 0004 09D0     		beq	.L13
 708:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 709:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     *WRPStartOffset = READ_BIT(FLASH->WRP1AR, FLASH_WRP1AR_WRP1A_STRT);
 710:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     *WRDPEndOffset = (READ_BIT(FLASH->WRP1AR, FLASH_WRP1AR_WRP1A_END) >> FLASH_WRP1AR_WRP1A_END_Pos
 711:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 712:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #if defined(FLASH_DBANK_SUPPORT)
 713:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   else if (WRPArea == OB_WRPAREA_ZONE2_A)
 714:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 715:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     *WRPStartOffset = READ_BIT(FLASH->WRP2AR, FLASH_WRP2AR_WRP2A_STRT);
 716:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     *WRDPEndOffset = (READ_BIT(FLASH->WRP2AR, FLASH_WRP2AR_WRP2A_END) >> FLASH_WRP2AR_WRP2A_END_Pos
 717:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 718:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   else if (WRPArea == OB_WRPAREA_ZONE2_B)
 719:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 720:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     *WRPStartOffset = READ_BIT(FLASH->WRP2BR, FLASH_WRP2BR_WRP2B_STRT);
 721:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     *WRDPEndOffset = (READ_BIT(FLASH->WRP2BR, FLASH_WRP2BR_WRP2B_END) >> FLASH_WRP2BR_WRP2B_END_Pos
 722:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 723:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #endif /* FLASH_DBANK_SUPPORT */
 724:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   else
ARM GAS  /tmp/ccHUARcC.s 			page 16


 725:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 726:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     *WRPStartOffset = READ_BIT(FLASH->WRP1BR, FLASH_WRP1BR_WRP1B_STRT);
 133              		.loc 1 726 5 is_stmt 1 view .LVU26
 134              		.loc 1 726 23 is_stmt 0 view .LVU27
 135 0006 0A4C     		ldr	r4, .L14
 136 0008 206B     		ldr	r0, [r4, #48]
 137              	.LVL7:
 138              		.loc 1 726 23 view .LVU28
 139 000a 1F23     		movs	r3, #31
 140 000c 1840     		ands	r0, r3
 141              		.loc 1 726 21 view .LVU29
 142 000e 0860     		str	r0, [r1]
 727:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     *WRDPEndOffset = (READ_BIT(FLASH->WRP1BR, FLASH_WRP1BR_WRP1B_END) >> FLASH_WRP1BR_WRP1B_END_Pos
 143              		.loc 1 727 5 is_stmt 1 view .LVU30
 144              		.loc 1 727 23 is_stmt 0 view .LVU31
 145 0010 216B     		ldr	r1, [r4, #48]
 146              	.LVL8:
 147              		.loc 1 727 71 view .LVU32
 148 0012 090C     		lsrs	r1, r1, #16
 149 0014 0B40     		ands	r3, r1
 150              		.loc 1 727 20 view .LVU33
 151 0016 1360     		str	r3, [r2]
 152              	.L10:
 728:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 729:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 153              		.loc 1 729 1 view .LVU34
 154              		@ sp needed
 155 0018 10BD     		pop	{r4, pc}
 156              	.LVL9:
 157              	.L13:
 709:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     *WRDPEndOffset = (READ_BIT(FLASH->WRP1AR, FLASH_WRP1AR_WRP1A_END) >> FLASH_WRP1AR_WRP1A_END_Pos
 158              		.loc 1 709 5 is_stmt 1 view .LVU35
 709:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     *WRDPEndOffset = (READ_BIT(FLASH->WRP1AR, FLASH_WRP1AR_WRP1A_END) >> FLASH_WRP1AR_WRP1A_END_Pos
 159              		.loc 1 709 23 is_stmt 0 view .LVU36
 160 001a 054C     		ldr	r4, .L14
 161 001c E06A     		ldr	r0, [r4, #44]
 162              	.LVL10:
 709:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     *WRDPEndOffset = (READ_BIT(FLASH->WRP1AR, FLASH_WRP1AR_WRP1A_END) >> FLASH_WRP1AR_WRP1A_END_Pos
 163              		.loc 1 709 23 view .LVU37
 164 001e 1F23     		movs	r3, #31
 165 0020 1840     		ands	r0, r3
 709:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     *WRDPEndOffset = (READ_BIT(FLASH->WRP1AR, FLASH_WRP1AR_WRP1A_END) >> FLASH_WRP1AR_WRP1A_END_Pos
 166              		.loc 1 709 21 view .LVU38
 167 0022 0860     		str	r0, [r1]
 710:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 168              		.loc 1 710 5 is_stmt 1 view .LVU39
 710:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 169              		.loc 1 710 23 is_stmt 0 view .LVU40
 170 0024 E16A     		ldr	r1, [r4, #44]
 171              	.LVL11:
 710:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 172              		.loc 1 710 71 view .LVU41
 173 0026 090C     		lsrs	r1, r1, #16
 174 0028 0B40     		ands	r3, r1
 710:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 175              		.loc 1 710 20 view .LVU42
 176 002a 1360     		str	r3, [r2]
ARM GAS  /tmp/ccHUARcC.s 			page 17


 177 002c F4E7     		b	.L10
 178              	.L15:
 179 002e C046     		.align	2
 180              	.L14:
 181 0030 00200240 		.word	1073881088
 182              		.cfi_endproc
 183              	.LFE310:
 185              		.section	.text.FLASH_OB_OptrConfig,"ax",%progbits
 186              		.align	1
 187              		.syntax unified
 188              		.code	16
 189              		.thumb_func
 190              		.fpu softvfp
 192              	FLASH_OB_OptrConfig:
 193              	.LVL12:
 194              	.LFB311:
 730:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 731:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /**
 732:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @brief  Set user & RDP configuration
 733:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @note   !!! Warning : When enabling OB_RDP level 2 it is no more possible
 734:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         to go back to level 1 or 0 !!!
 735:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  UserType  The FLASH User Option Bytes to be modified.
 736:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         This parameter can be a combination of @ref FLASH_OB_USER_Type
 737:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  UserConfig  The FLASH User Option Bytes values.
 738:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         This parameter can be a combination of:
 739:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref FLASH_OB_USER_BOR_ENABLE(*)
 740:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref FLASH_OB_USER_BOR_LEVEL(*)
 741:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref FLASH_OB_USER_RESET_CONFIG(*)
 742:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref FLASH_OB_USER_nRST_STOP
 743:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref FLASH_OB_USER_nRST_STANDBY
 744:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref FLASH_OB_USER_nRST_SHUTDOWN(*)
 745:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref FLASH_OB_USER_IWDG_SW
 746:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref FLASH_OB_USER_IWDG_STOP
 747:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref FLASH_OB_USER_IWDG_STANDBY
 748:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref FLASH_OB_USER_WWDG_SW
 749:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref FLASH_OB_USER_SRAM_PARITY
 750:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref FLASH_OB_USER_BANK_SWAP(*)
 751:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref FLASH_OB_USER_DUAL_BANK(*)
 752:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref FLASH_OB_USER_nBOOT_SEL
 753:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref FLASH_OB_USER_nBOOT1
 754:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref FLASH_OB_USER_nBOOT0
 755:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref FLASH_OB_USER_INPUT_RESET_HOLDER(*)
 756:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  RDPLevel  specifies the read protection level.
 757:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         This parameter can be one of the following values:
 758:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref OB_RDP_LEVEL_0 No protection
 759:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref OB_RDP_LEVEL_1 Memory Read protection
 760:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref OB_RDP_LEVEL_2 Full chip protection
 761:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @note  (*) availability depends on devices
 762:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @retval None
 763:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
 764:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** static void FLASH_OB_OptrConfig(uint32_t UserType, uint32_t UserConfig, uint32_t RDPLevel)
 765:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** {
 195              		.loc 1 765 1 is_stmt 1 view -0
 196              		.cfi_startproc
 197              		@ args = 0, pretend = 0, frame = 0
 198              		@ frame_needed = 0, uses_anonymous_args = 0
 199              		.loc 1 765 1 is_stmt 0 view .LVU44
ARM GAS  /tmp/ccHUARcC.s 			page 18


 200 0000 30B5     		push	{r4, r5, lr}
 201              	.LCFI1:
 202              		.cfi_def_cfa_offset 12
 203              		.cfi_offset 4, -12
 204              		.cfi_offset 5, -8
 205              		.cfi_offset 14, -4
 766:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t optr;
 206              		.loc 1 766 3 is_stmt 1 view .LVU45
 767:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 768:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Check the parameters */
 769:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   assert_param(IS_OB_USER_TYPE(UserType));
 207              		.loc 1 769 3 view .LVU46
 770:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   assert_param(IS_OB_USER_CONFIG(UserType, UserConfig));
 208              		.loc 1 770 3 view .LVU47
 771:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   assert_param(IS_OB_RDP_LEVEL(RDPLevel));
 209              		.loc 1 771 3 view .LVU48
 772:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 773:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Configure the RDP level in the option bytes register */
 774:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   optr = FLASH->OPTR;
 210              		.loc 1 774 3 view .LVU49
 211              		.loc 1 774 8 is_stmt 0 view .LVU50
 212 0002 044C     		ldr	r4, .L17
 213 0004 236A     		ldr	r3, [r4, #32]
 214              	.LVL13:
 775:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   optr &= ~(UserType | FLASH_OPTR_RDP);
 215              		.loc 1 775 3 is_stmt 1 view .LVU51
 216              		.loc 1 775 22 is_stmt 0 view .LVU52
 217 0006 FF25     		movs	r5, #255
 218 0008 2843     		orrs	r0, r5
 219              	.LVL14:
 220              		.loc 1 775 8 view .LVU53
 221 000a 8343     		bics	r3, r0
 222              	.LVL15:
 776:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   FLASH->OPTR = (optr | UserConfig | RDPLevel);
 223              		.loc 1 776 3 is_stmt 1 view .LVU54
 224              		.loc 1 776 23 is_stmt 0 view .LVU55
 225 000c 0B43     		orrs	r3, r1
 226              	.LVL16:
 227              		.loc 1 776 36 view .LVU56
 228 000e 1343     		orrs	r3, r2
 229              		.loc 1 776 15 view .LVU57
 230 0010 2362     		str	r3, [r4, #32]
 777:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 231              		.loc 1 777 1 view .LVU58
 232              		@ sp needed
 233 0012 30BD     		pop	{r4, r5, pc}
 234              	.L18:
 235              		.align	2
 236              	.L17:
 237 0014 00200240 		.word	1073881088
 238              		.cfi_endproc
 239              	.LFE311:
 241              		.section	.text.FLASH_OB_GetRDP,"ax",%progbits
 242              		.align	1
 243              		.syntax unified
 244              		.code	16
 245              		.thumb_func
ARM GAS  /tmp/ccHUARcC.s 			page 19


 246              		.fpu softvfp
 248              	FLASH_OB_GetRDP:
 249              	.LFB312:
 778:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 779:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /**
 780:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @brief  Return the FLASH Read Protection level.
 781:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @retval FLASH ReadOut Protection Status:
 782:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         This return value can be one of the following values:
 783:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref OB_RDP_LEVEL_0 No protection
 784:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref OB_RDP_LEVEL_1 Read protection of the memory
 785:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref OB_RDP_LEVEL_2 Full chip protection
 786:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
 787:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** static uint32_t FLASH_OB_GetRDP(void)
 788:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** {
 250              		.loc 1 788 1 is_stmt 1 view -0
 251              		.cfi_startproc
 252              		@ args = 0, pretend = 0, frame = 0
 253              		@ frame_needed = 0, uses_anonymous_args = 0
 254              		@ link register save eliminated.
 789:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t rdplvl = READ_BIT(FLASH->OPTR, FLASH_OPTR_RDP);
 255              		.loc 1 789 3 view .LVU60
 256              		.loc 1 789 21 is_stmt 0 view .LVU61
 257 0000 044B     		ldr	r3, .L22
 258 0002 1B6A     		ldr	r3, [r3, #32]
 259              		.loc 1 789 12 view .LVU62
 260 0004 FF20     		movs	r0, #255
 261 0006 1840     		ands	r0, r3
 262              	.LVL17:
 790:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 791:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   if ((rdplvl != OB_RDP_LEVEL_0) && (rdplvl != OB_RDP_LEVEL_2))
 263              		.loc 1 791 3 is_stmt 1 view .LVU63
 264              		.loc 1 791 6 is_stmt 0 view .LVU64
 265 0008 AA28     		cmp	r0, #170
 266 000a 02D0     		beq	.L19
 267              		.loc 1 791 34 discriminator 1 view .LVU65
 268 000c CC28     		cmp	r0, #204
 269 000e 00D0     		beq	.L19
 792:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 793:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     return (OB_RDP_LEVEL_1);
 270              		.loc 1 793 12 view .LVU66
 271 0010 BB20     		movs	r0, #187
 272              	.LVL18:
 273              	.L19:
 794:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 795:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   else
 796:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 797:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     return rdplvl;
 798:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 799:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 274              		.loc 1 799 1 view .LVU67
 275              		@ sp needed
 276 0012 7047     		bx	lr
 277              	.L23:
 278              		.align	2
 279              	.L22:
 280 0014 00200240 		.word	1073881088
 281              		.cfi_endproc
ARM GAS  /tmp/ccHUARcC.s 			page 20


 282              	.LFE312:
 284              		.section	.text.FLASH_OB_GetUser,"ax",%progbits
 285              		.align	1
 286              		.syntax unified
 287              		.code	16
 288              		.thumb_func
 289              		.fpu softvfp
 291              	FLASH_OB_GetUser:
 292              	.LFB313:
 800:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 801:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /**
 802:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @brief  Return the FLASH User Option Byte value.
 803:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @retval The FLASH User Option Bytes values. It will be a combination of all the following value
 804:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref FLASH_OB_USER_BOR_ENABLE(*)
 805:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref FLASH_OB_USER_BOR_LEVEL(*)
 806:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref FLASH_OB_USER_RESET_CONFIG(*)
 807:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref FLASH_OB_USER_nRST_STOP
 808:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref FLASH_OB_USER_nRST_STANDBY
 809:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref FLASH_OB_USER_nRST_SHUTDOWN(*)
 810:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref FLASH_OB_USER_IWDG_SW
 811:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref FLASH_OB_USER_IWDG_STOP
 812:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref FLASH_OB_USER_IWDG_STANDBY
 813:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref FLASH_OB_USER_WWDG_SW
 814:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref FLASH_OB_USER_SRAM_PARITY
 815:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref FLASH_OB_USER_BANK_SWAP(*)
 816:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref FLASH_OB_USER_DUAL_BANK(*)
 817:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref FLASH_OB_USER_nBOOT_SEL
 818:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref FLASH_OB_USER_nBOOT1
 819:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref FLASH_OB_USER_nBOOT0
 820:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref FLASH_OB_USER_INPUT_RESET_HOLDER(*)
 821:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @note  (*) availability depends on devices
 822:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
 823:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** static uint32_t FLASH_OB_GetUser(void)
 824:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** {
 293              		.loc 1 824 1 is_stmt 1 view -0
 294              		.cfi_startproc
 295              		@ args = 0, pretend = 0, frame = 0
 296              		@ frame_needed = 0, uses_anonymous_args = 0
 297              		@ link register save eliminated.
 825:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t user = ((FLASH->OPTR & ~FLASH_OPTR_RDP) & OB_USER_ALL);
 298              		.loc 1 825 3 view .LVU69
 299              		.loc 1 825 26 is_stmt 0 view .LVU70
 300 0000 024B     		ldr	r3, .L25
 301 0002 186A     		ldr	r0, [r3, #32]
 302              		.loc 1 825 12 view .LVU71
 303 0004 024B     		ldr	r3, .L25+4
 304 0006 1840     		ands	r0, r3
 305              	.LVL19:
 826:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   return user;
 306              		.loc 1 826 3 is_stmt 1 view .LVU72
 827:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 307              		.loc 1 827 1 is_stmt 0 view .LVU73
 308              		@ sp needed
 309 0008 7047     		bx	lr
 310              	.L26:
 311 000a C046     		.align	2
 312              	.L25:
ARM GAS  /tmp/ccHUARcC.s 			page 21


 313 000c 00200240 		.word	1073881088
 314 0010 00FF4F3F 		.word	1062207232
 315              		.cfi_endproc
 316              	.LFE313:
 318              		.section	.text.FLASH_OB_PCROP1AConfig,"ax",%progbits
 319              		.align	1
 320              		.syntax unified
 321              		.code	16
 322              		.thumb_func
 323              		.fpu softvfp
 325              	FLASH_OB_PCROP1AConfig:
 326              	.LVL20:
 327              	.LFB314:
 828:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 829:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #if defined(FLASH_PCROP_SUPPORT)
 830:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /**
 831:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @brief  Configure the 1A Proprietary code readout protection & erase configuration on RDP regre
 832:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @note   It is recommended to align PCROP zone with page granularity when using PCROP_RDP or avo
 833:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         having some executable code in a page where PCROP zone starts or ends.
 834:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @note   Minimum PCROP area size is 2 times the chosen granularity: PCROPA_STRT and PCROPA_END.
 835:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         So if the requirement is to be able to read-protect 1KB areas, the ROP granularity
 836:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         has to be set to 512 Bytes
 837:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  PCROPConfig  specifies the erase configuration (OB_PCROP_RDP_NOT_ERASE or OB_PCROP_RDP_
 838:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         on RDP level 1 regression.
 839:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  PCROP1AStartAddr Specifies the Zone 1A Start address of the Proprietary code readout pr
 840:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *          This parameter can be an address between begin and end of the flash
 841:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  PCROP1AEndAddr Specifies the Zone 1A end address of the Proprietary code readout protec
 842:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *          This parameter can be an address between PCROP1AStartAddr and end of the flash
 843:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @retval None
 844:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
 845:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** static void FLASH_OB_PCROP1AConfig(uint32_t PCROPConfig, uint32_t PCROP1AStartAddr, uint32_t PCROP1
 846:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** {
 328              		.loc 1 846 1 is_stmt 1 view -0
 329              		.cfi_startproc
 330              		@ args = 0, pretend = 0, frame = 0
 331              		@ frame_needed = 0, uses_anonymous_args = 0
 332              		.loc 1 846 1 is_stmt 0 view .LVU75
 333 0000 10B5     		push	{r4, lr}
 334              	.LCFI2:
 335              		.cfi_def_cfa_offset 8
 336              		.cfi_offset 4, -8
 337              		.cfi_offset 14, -4
 847:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t startoffset;
 338              		.loc 1 847 3 is_stmt 1 view .LVU76
 848:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t endoffset;
 339              		.loc 1 848 3 view .LVU77
 849:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t pcrop1aend;
 340              		.loc 1 849 3 view .LVU78
 850:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t ropbase;
 341              		.loc 1 850 3 view .LVU79
 851:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 852:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Check the parameters */
 853:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   assert_param(IS_OB_PCROP_CONFIG(PCROPConfig));
 342              		.loc 1 853 3 view .LVU80
 854:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 855:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #if defined(FLASH_DBANK_SUPPORT)
 856:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Check if banks are swapped (valid if only one bank) */
ARM GAS  /tmp/ccHUARcC.s 			page 22


 857:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   if (((FLASH->OPTR & FLASH_OPTR_nSWAP_BANK) != FLASH_OPTR_nSWAP_BANK) && (FLASH_BANK_NB == 2U))
 858:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 859:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Check the parameters */
 860:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     assert_param(IS_FLASH_MAIN_SECONDHALF_MEM_ADDRESS(PCROP1AStartAddr));
 861:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     assert_param(IS_FLASH_MAIN_SECONDHALF_MEM_ADDRESS(PCROP1AEndAddr));
 862:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 863:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Bank swap, bank 1 read only protection is on second half of Flash */
 864:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     ropbase = (FLASH_BASE + FLASH_BANK_SIZE);
 865:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 866:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   else
 867:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #endif /* FLASH_DBANK_SUPPORT */
 868:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 869:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Check the parameters */
 870:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     assert_param(IS_FLASH_MAIN_FIRSTHALF_MEM_ADDRESS(PCROP1AStartAddr));
 343              		.loc 1 870 5 view .LVU81
 871:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     assert_param(IS_FLASH_MAIN_FIRSTHALF_MEM_ADDRESS(PCROP1AEndAddr));
 344              		.loc 1 871 5 view .LVU82
 872:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 873:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* No Bank swap, bank 1 read only protection is on first half of Flash */
 874:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     ropbase = FLASH_BASE;
 345              		.loc 1 874 5 view .LVU83
 346              	.LVL21:
 875:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 876:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 877:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* get pcrop 1A end register */
 878:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   pcrop1aend = FLASH->PCROP1AER;
 347              		.loc 1 878 3 view .LVU84
 348              		.loc 1 878 14 is_stmt 0 view .LVU85
 349 0002 0C4B     		ldr	r3, .L31
 350 0004 9B6A     		ldr	r3, [r3, #40]
 351              	.LVL22:
 879:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 880:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Configure the Proprietary code readout protection offset */
 881:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   if ((PCROPConfig & OB_PCROP_ZONE_A) != 0x00U)
 352              		.loc 1 881 3 is_stmt 1 view .LVU86
 353              		.loc 1 881 6 is_stmt 0 view .LVU87
 354 0006 C407     		lsls	r4, r0, #31
 355 0008 0BD5     		bpl	.L28
 882:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 883:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Compute offset depending on pcrop granularity */
 884:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     startoffset = ((PCROP1AStartAddr - ropbase) >> FLASH_PCROP_GRANULARITY_OFFSET);
 356              		.loc 1 884 5 is_stmt 1 view .LVU88
 357              		.loc 1 884 38 is_stmt 0 view .LVU89
 358 000a F824     		movs	r4, #248
 359 000c 2406     		lsls	r4, r4, #24
 360 000e A446     		mov	ip, r4
 361 0010 6144     		add	r1, r1, ip
 362              	.LVL23:
 363              		.loc 1 884 17 view .LVU90
 364 0012 490A     		lsrs	r1, r1, #9
 365              	.LVL24:
 885:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     endoffset = ((PCROP1AEndAddr - ropbase) >> FLASH_PCROP_GRANULARITY_OFFSET);
 366              		.loc 1 885 5 is_stmt 1 view .LVU91
 367              		.loc 1 885 34 is_stmt 0 view .LVU92
 368 0014 6244     		add	r2, r2, ip
 369              	.LVL25:
 370              		.loc 1 885 15 view .LVU93
ARM GAS  /tmp/ccHUARcC.s 			page 23


 371 0016 520A     		lsrs	r2, r2, #9
 372              	.LVL26:
 886:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 887:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Set Zone A start offset */
 888:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     FLASH->PCROP1ASR = startoffset;
 373              		.loc 1 888 5 is_stmt 1 view .LVU94
 374              		.loc 1 888 22 is_stmt 0 view .LVU95
 375 0018 064C     		ldr	r4, .L31
 376 001a 6162     		str	r1, [r4, #36]
 889:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 890:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Set Zone A end offset */
 891:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     pcrop1aend &= ~FLASH_PCROP1AER_PCROP1A_END;
 377              		.loc 1 891 5 is_stmt 1 view .LVU96
 378              		.loc 1 891 16 is_stmt 0 view .LVU97
 379 001c 7F21     		movs	r1, #127
 380              	.LVL27:
 381              		.loc 1 891 16 view .LVU98
 382 001e 8B43     		bics	r3, r1
 383              	.LVL28:
 892:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     pcrop1aend |= endoffset;
 384              		.loc 1 892 5 is_stmt 1 view .LVU99
 385              		.loc 1 892 16 is_stmt 0 view .LVU100
 386 0020 1343     		orrs	r3, r2
 387              	.LVL29:
 388              	.L28:
 893:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 894:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 895:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Set RDP erase protection if needed. This bit is only set & will be reset by mass erase */
 896:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   if ((PCROPConfig & OB_PCROP_RDP_ERASE) != 0x00U)
 389              		.loc 1 896 3 is_stmt 1 view .LVU101
 390              		.loc 1 896 6 is_stmt 0 view .LVU102
 391 0022 0028     		cmp	r0, #0
 392 0024 02DB     		blt	.L30
 393              	.L29:
 897:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 898:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     pcrop1aend |= FLASH_PCROP1AER_PCROP_RDP;
 899:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 900:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 901:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* set 1A End register */
 902:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   FLASH->PCROP1AER = pcrop1aend;
 394              		.loc 1 902 3 is_stmt 1 view .LVU103
 395              		.loc 1 902 20 is_stmt 0 view .LVU104
 396 0026 034A     		ldr	r2, .L31
 397 0028 9362     		str	r3, [r2, #40]
 903:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 398              		.loc 1 903 1 view .LVU105
 399              		@ sp needed
 400 002a 10BD     		pop	{r4, pc}
 401              	.L30:
 898:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 402              		.loc 1 898 5 is_stmt 1 view .LVU106
 898:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 403              		.loc 1 898 16 is_stmt 0 view .LVU107
 404 002c 8022     		movs	r2, #128
 405 002e 1206     		lsls	r2, r2, #24
 406 0030 1343     		orrs	r3, r2
 407              	.LVL30:
ARM GAS  /tmp/ccHUARcC.s 			page 24


 898:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 408              		.loc 1 898 16 view .LVU108
 409 0032 F8E7     		b	.L29
 410              	.L32:
 411              		.align	2
 412              	.L31:
 413 0034 00200240 		.word	1073881088
 414              		.cfi_endproc
 415              	.LFE314:
 417              		.section	.text.FLASH_OB_PCROP1BConfig,"ax",%progbits
 418              		.align	1
 419              		.syntax unified
 420              		.code	16
 421              		.thumb_func
 422              		.fpu softvfp
 424              	FLASH_OB_PCROP1BConfig:
 425              	.LVL31:
 426              	.LFB315:
 904:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 905:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /**
 906:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @brief  Configure the 1B Proprietary code readout protection.
 907:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @note   It is recommended to align PCROP zone with page granularity when using PCROP_RDP or avo
 908:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         having some executable code in a page where PCROP zone starts or ends.
 909:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @note   Minimum PCROP area size is 2 times the chosen granularity: PCROPB_STRT and PCROPB_END.
 910:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         So if the requirement is to be able to read-protect 1KB areas, the ROP granularity
 911:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         has to be set to 512 Bytes
 912:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  PCROP1BStartAddr  Specifies the Zone 1B Start address of the Proprietary code readout p
 913:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         This parameter can be an address between begin and end of the flash
 914:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  PCROP1BEndAddr  Specifies the Zone 1B end address of the Proprietary code readout prote
 915:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         This parameter can be an address between PCROP1BStartAddr and end of the flash
 916:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @retval None
 917:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
 918:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** static void FLASH_OB_PCROP1BConfig(uint32_t PCROP1BStartAddr, uint32_t PCROP1BEndAddr)
 919:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** {
 427              		.loc 1 919 1 is_stmt 1 view -0
 428              		.cfi_startproc
 429              		@ args = 0, pretend = 0, frame = 0
 430              		@ frame_needed = 0, uses_anonymous_args = 0
 431              		@ link register save eliminated.
 920:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t startoffset;
 432              		.loc 1 920 3 view .LVU110
 921:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t endoffset;
 433              		.loc 1 921 3 view .LVU111
 922:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t ropbase;
 434              		.loc 1 922 3 view .LVU112
 923:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 924:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #if defined(FLASH_DBANK_SUPPORT)
 925:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Check if banks are swapped (valid if only one bank) */
 926:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   if (((FLASH->OPTR & FLASH_OPTR_nSWAP_BANK) != FLASH_OPTR_nSWAP_BANK) && (FLASH_BANK_NB == 2U))
 927:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 928:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Check the parameters */
 929:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     assert_param(IS_FLASH_MAIN_SECONDHALF_MEM_ADDRESS(PCROP1BStartAddr));
 930:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     assert_param(IS_FLASH_MAIN_SECONDHALF_MEM_ADDRESS(PCROP1BEndAddr));
 931:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 932:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Bank swap, bank 1 read only protection is on second half of Flash */
 933:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     ropbase = (FLASH_BASE + FLASH_BANK_SIZE);
 934:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
ARM GAS  /tmp/ccHUARcC.s 			page 25


 935:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   else
 936:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #endif /* FLASH_DBANK_SUPPORT */
 937:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 938:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Check the parameters */
 939:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     assert_param(IS_FLASH_MAIN_FIRSTHALF_MEM_ADDRESS(PCROP1BStartAddr));
 435              		.loc 1 939 5 view .LVU113
 940:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     assert_param(IS_FLASH_MAIN_FIRSTHALF_MEM_ADDRESS(PCROP1BEndAddr));
 436              		.loc 1 940 5 view .LVU114
 941:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 942:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* No Bank swap, bank 1 read only protection is on first half of Flash */
 943:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     ropbase = FLASH_BASE;
 437              		.loc 1 943 5 view .LVU115
 944:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 945:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 946:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Configure the Proprietary code readout protection offset */
 947:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   startoffset = ((PCROP1BStartAddr - ropbase) >> FLASH_PCROP_GRANULARITY_OFFSET);
 438              		.loc 1 947 3 view .LVU116
 439              		.loc 1 947 36 is_stmt 0 view .LVU117
 440 0000 F823     		movs	r3, #248
 441 0002 1B06     		lsls	r3, r3, #24
 442 0004 9C46     		mov	ip, r3
 443 0006 6044     		add	r0, r0, ip
 444              	.LVL32:
 445              		.loc 1 947 15 view .LVU118
 446 0008 400A     		lsrs	r0, r0, #9
 447              	.LVL33:
 948:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   endoffset = ((PCROP1BEndAddr - ropbase) >> FLASH_PCROP_GRANULARITY_OFFSET);
 448              		.loc 1 948 3 is_stmt 1 view .LVU119
 449              		.loc 1 948 32 is_stmt 0 view .LVU120
 450 000a 6144     		add	r1, r1, ip
 451              	.LVL34:
 452              		.loc 1 948 13 view .LVU121
 453 000c 490A     		lsrs	r1, r1, #9
 454              	.LVL35:
 949:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 950:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Set Zone B start offset */
 951:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   FLASH->PCROP1BSR = startoffset;
 455              		.loc 1 951 3 is_stmt 1 view .LVU122
 456              		.loc 1 951 20 is_stmt 0 view .LVU123
 457 000e 024B     		ldr	r3, .L34
 458 0010 5863     		str	r0, [r3, #52]
 952:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Set Zone B end offset */
 953:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   FLASH->PCROP1BER = endoffset;
 459              		.loc 1 953 3 is_stmt 1 view .LVU124
 460              		.loc 1 953 20 is_stmt 0 view .LVU125
 461 0012 9963     		str	r1, [r3, #56]
 954:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 462              		.loc 1 954 1 view .LVU126
 463              		@ sp needed
 464 0014 7047     		bx	lr
 465              	.L35:
 466 0016 C046     		.align	2
 467              	.L34:
 468 0018 00200240 		.word	1073881088
 469              		.cfi_endproc
 470              	.LFE315:
 472              		.section	.text.FLASH_OB_GetPCROP1A,"ax",%progbits
ARM GAS  /tmp/ccHUARcC.s 			page 26


 473              		.align	1
 474              		.syntax unified
 475              		.code	16
 476              		.thumb_func
 477              		.fpu softvfp
 479              	FLASH_OB_GetPCROP1A:
 480              	.LVL36:
 481              	.LFB316:
 955:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 956:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /**
 957:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @brief  Return the FLASH PCROP Protection Option Bytes value.
 958:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  PCROPConfig [out]  specifies the configuration of PCROP_RDP option.
 959:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  PCROP1AStartAddr [out]  Specifies the address where to copied the start address
 960:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         of the 1A Proprietary code readout protection
 961:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  PCROP1AEndAddr [out]  Specifies the address where to copied the end address of
 962:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         the 1A Proprietary code readout protection
 963:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @retval None
 964:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
 965:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** static void FLASH_OB_GetPCROP1A(uint32_t *PCROPConfig, uint32_t *PCROP1AStartAddr, uint32_t *PCROP1
 966:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** {
 482              		.loc 1 966 1 is_stmt 1 view -0
 483              		.cfi_startproc
 484              		@ args = 0, pretend = 0, frame = 0
 485              		@ frame_needed = 0, uses_anonymous_args = 0
 486              		.loc 1 966 1 is_stmt 0 view .LVU128
 487 0000 30B5     		push	{r4, r5, lr}
 488              	.LCFI3:
 489              		.cfi_def_cfa_offset 12
 490              		.cfi_offset 4, -12
 491              		.cfi_offset 5, -8
 492              		.cfi_offset 14, -4
 967:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t pcrop;
 493              		.loc 1 967 3 is_stmt 1 view .LVU129
 968:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t ropbase;
 494              		.loc 1 968 3 view .LVU130
 969:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 970:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #if defined(FLASH_DBANK_SUPPORT)
 971:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Check if banks are swapped (valid if only one bank) */
 972:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   if (((FLASH->OPTR & FLASH_OPTR_nSWAP_BANK) != FLASH_OPTR_nSWAP_BANK) && (FLASH_BANK_NB == 2U))
 973:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 974:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Bank swap, bank 1 read only protection is on second half of Flash */
 975:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     ropbase = (FLASH_BASE + FLASH_BANK_SIZE);
 976:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 977:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   else
 978:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #endif /* FLASH_DBANK_SUPPORT */
 979:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 980:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* No Bank swap, bank 1 read only protection is on first half of Flash */
 981:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     ropbase = FLASH_BASE;
 495              		.loc 1 981 5 view .LVU131
 496              	.LVL37:
 982:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 983:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 984:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   pcrop = (FLASH->PCROP1ASR & FLASH_PCROP1ASR_PCROP1A_STRT);
 497              		.loc 1 984 3 view .LVU132
 498              		.loc 1 984 17 is_stmt 0 view .LVU133
 499 0002 0D4C     		ldr	r4, .L37
 500 0004 636A     		ldr	r3, [r4, #36]
ARM GAS  /tmp/ccHUARcC.s 			page 27


 501              	.LVL38:
 985:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *PCROP1AStartAddr = (pcrop << FLASH_PCROP_GRANULARITY_OFFSET);
 502              		.loc 1 985 3 is_stmt 1 view .LVU134
 503              		.loc 1 985 30 is_stmt 0 view .LVU135
 504 0006 5B06     		lsls	r3, r3, #25
 505              	.LVL39:
 506              		.loc 1 985 30 view .LVU136
 507 0008 1B0C     		lsrs	r3, r3, #16
 508              		.loc 1 985 21 view .LVU137
 509 000a 0B60     		str	r3, [r1]
 986:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *PCROP1AStartAddr += ropbase;
 510              		.loc 1 986 3 is_stmt 1 view .LVU138
 511              		.loc 1 986 21 is_stmt 0 view .LVU139
 512 000c 8025     		movs	r5, #128
 513 000e 2D05     		lsls	r5, r5, #20
 514 0010 AC46     		mov	ip, r5
 515 0012 6344     		add	r3, r3, ip
 516 0014 0B60     		str	r3, [r1]
 987:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 988:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   pcrop = FLASH->PCROP1AER;
 517              		.loc 1 988 3 is_stmt 1 view .LVU140
 518              		.loc 1 988 9 is_stmt 0 view .LVU141
 519 0016 A16A     		ldr	r1, [r4, #40]
 520              	.LVL40:
 989:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *PCROP1AEndAddr = ((pcrop & FLASH_PCROP1AER_PCROP1A_END) << FLASH_PCROP_GRANULARITY_OFFSET);
 521              		.loc 1 989 3 is_stmt 1 view .LVU142
 522              		.loc 1 989 60 is_stmt 0 view .LVU143
 523 0018 4B06     		lsls	r3, r1, #25
 524 001a 1B0C     		lsrs	r3, r3, #16
 525              		.loc 1 989 19 view .LVU144
 526 001c 1360     		str	r3, [r2]
 990:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *PCROP1AEndAddr += (ropbase + FLASH_PCROP_GRANULARITY - 1U);
 527              		.loc 1 990 3 is_stmt 1 view .LVU145
 528              		.loc 1 990 19 is_stmt 0 view .LVU146
 529 001e 074C     		ldr	r4, .L37+4
 530 0020 A446     		mov	ip, r4
 531 0022 6344     		add	r3, r3, ip
 532 0024 1360     		str	r3, [r2]
 991:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 992:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *PCROPConfig &= ~OB_PCROP_RDP_ERASE;
 533              		.loc 1 992 3 is_stmt 1 view .LVU147
 534              		.loc 1 992 16 is_stmt 0 view .LVU148
 535 0026 0368     		ldr	r3, [r0]
 536 0028 5B00     		lsls	r3, r3, #1
 537 002a 5B08     		lsrs	r3, r3, #1
 538 002c 0360     		str	r3, [r0]
 993:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *PCROPConfig |= (pcrop & FLASH_PCROP1AER_PCROP_RDP);
 539              		.loc 1 993 3 is_stmt 1 view .LVU149
 540              		.loc 1 993 26 is_stmt 0 view .LVU150
 541 002e C90F     		lsrs	r1, r1, #31
 542              	.LVL41:
 543              		.loc 1 993 26 view .LVU151
 544 0030 C907     		lsls	r1, r1, #31
 545              		.loc 1 993 16 view .LVU152
 546 0032 0B43     		orrs	r3, r1
 547 0034 0360     		str	r3, [r0]
 994:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
ARM GAS  /tmp/ccHUARcC.s 			page 28


 548              		.loc 1 994 1 view .LVU153
 549              		@ sp needed
 550 0036 30BD     		pop	{r4, r5, pc}
 551              	.L38:
 552              		.align	2
 553              	.L37:
 554 0038 00200240 		.word	1073881088
 555 003c FF010008 		.word	134218239
 556              		.cfi_endproc
 557              	.LFE316:
 559              		.section	.text.FLASH_OB_GetPCROP1B,"ax",%progbits
 560              		.align	1
 561              		.syntax unified
 562              		.code	16
 563              		.thumb_func
 564              		.fpu softvfp
 566              	FLASH_OB_GetPCROP1B:
 567              	.LVL42:
 568              	.LFB317:
 995:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 996:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /**
 997:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @brief  Return the FLASH PCROP Protection Option Bytes value.
 998:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  PCROP1BStartAddr [out]  Specifies the address where to copied the start address
 999:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         of the 1B Proprietary code readout protection
1000:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  PCROP1BEndAddr [out]  Specifies the address where to copied the end address of
1001:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         the 1B Proprietary code readout protection
1002:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @retval None
1003:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
1004:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** static void FLASH_OB_GetPCROP1B(uint32_t *PCROP1BStartAddr, uint32_t *PCROP1BEndAddr)
1005:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** {
 569              		.loc 1 1005 1 is_stmt 1 view -0
 570              		.cfi_startproc
 571              		@ args = 0, pretend = 0, frame = 0
 572              		@ frame_needed = 0, uses_anonymous_args = 0
 573              		.loc 1 1005 1 is_stmt 0 view .LVU155
 574 0000 10B5     		push	{r4, lr}
 575              	.LCFI4:
 576              		.cfi_def_cfa_offset 8
 577              		.cfi_offset 4, -8
 578              		.cfi_offset 14, -4
1006:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t pcrop;
 579              		.loc 1 1006 3 is_stmt 1 view .LVU156
1007:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t ropbase;
 580              		.loc 1 1007 3 view .LVU157
1008:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
1009:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #if defined(FLASH_DBANK_SUPPORT)
1010:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Check if banks are swapped (valid if only one bank) */
1011:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   if (((FLASH->OPTR & FLASH_OPTR_nSWAP_BANK) != FLASH_OPTR_nSWAP_BANK) && (FLASH_BANK_NB == 2U))
1012:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
1013:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Bank swap, bank 1 read only protection is on second half of Flash */
1014:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     ropbase = (FLASH_BASE + FLASH_BANK_SIZE);
1015:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
1016:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   else
1017:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #endif /* FLASH_DBANK_SUPPORT */
1018:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
1019:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* No Bank swap, bank 1 read only protection is on first half of Flash */
1020:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     ropbase = FLASH_BASE;
ARM GAS  /tmp/ccHUARcC.s 			page 29


 581              		.loc 1 1020 5 view .LVU158
 582              	.LVL43:
1021:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
1022:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
1023:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   pcrop = (FLASH->PCROP1BSR & FLASH_PCROP1BSR_PCROP1B_STRT);
 583              		.loc 1 1023 3 view .LVU159
 584              		.loc 1 1023 17 is_stmt 0 view .LVU160
 585 0002 094A     		ldr	r2, .L40
 586 0004 536B     		ldr	r3, [r2, #52]
 587              	.LVL44:
1024:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *PCROP1BStartAddr = (pcrop << FLASH_PCROP_GRANULARITY_OFFSET);
 588              		.loc 1 1024 3 is_stmt 1 view .LVU161
 589              		.loc 1 1024 30 is_stmt 0 view .LVU162
 590 0006 5B06     		lsls	r3, r3, #25
 591              	.LVL45:
 592              		.loc 1 1024 30 view .LVU163
 593 0008 1B0C     		lsrs	r3, r3, #16
 594              		.loc 1 1024 21 view .LVU164
 595 000a 0360     		str	r3, [r0]
1025:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *PCROP1BStartAddr += ropbase;
 596              		.loc 1 1025 3 is_stmt 1 view .LVU165
 597              		.loc 1 1025 21 is_stmt 0 view .LVU166
 598 000c 8024     		movs	r4, #128
 599 000e 2405     		lsls	r4, r4, #20
 600 0010 A446     		mov	ip, r4
 601 0012 6344     		add	r3, r3, ip
 602 0014 0360     		str	r3, [r0]
1026:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
1027:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   pcrop = (FLASH->PCROP1BER & FLASH_PCROP1BER_PCROP1B_END);
 603              		.loc 1 1027 3 is_stmt 1 view .LVU167
 604              		.loc 1 1027 17 is_stmt 0 view .LVU168
 605 0016 936B     		ldr	r3, [r2, #56]
 606              	.LVL46:
1028:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *PCROP1BEndAddr = (pcrop << FLASH_PCROP_GRANULARITY_OFFSET);
 607              		.loc 1 1028 3 is_stmt 1 view .LVU169
 608              		.loc 1 1028 28 is_stmt 0 view .LVU170
 609 0018 5B06     		lsls	r3, r3, #25
 610              	.LVL47:
 611              		.loc 1 1028 28 view .LVU171
 612 001a 1B0C     		lsrs	r3, r3, #16
 613              		.loc 1 1028 19 view .LVU172
 614 001c 0B60     		str	r3, [r1]
1029:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *PCROP1BEndAddr += (ropbase + FLASH_PCROP_GRANULARITY - 1U);
 615              		.loc 1 1029 3 is_stmt 1 view .LVU173
 616              		.loc 1 1029 19 is_stmt 0 view .LVU174
 617 001e 034A     		ldr	r2, .L40+4
 618 0020 9446     		mov	ip, r2
 619 0022 6344     		add	r3, r3, ip
 620 0024 0B60     		str	r3, [r1]
1030:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 621              		.loc 1 1030 1 view .LVU175
 622              		@ sp needed
 623 0026 10BD     		pop	{r4, pc}
 624              	.L41:
 625              		.align	2
 626              	.L40:
 627 0028 00200240 		.word	1073881088
ARM GAS  /tmp/ccHUARcC.s 			page 30


 628 002c FF010008 		.word	134218239
 629              		.cfi_endproc
 630              	.LFE317:
 632              		.section	.text.FLASH_OB_SecMemConfig,"ax",%progbits
 633              		.align	1
 634              		.syntax unified
 635              		.code	16
 636              		.thumb_func
 637              		.fpu softvfp
 639              	FLASH_OB_SecMemConfig:
 640              	.LVL48:
 641              	.LFB318:
1031:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
1032:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #if defined(FLASH_DBANK_SUPPORT)
1033:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /**
1034:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @brief  Configure the 2A Proprietary code readout protection.
1035:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @note   It is recommended to align PCROP zone with page granularity when using PCROP_RDP or avo
1036:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         having some executable code in a page where PCROP zone starts or ends.
1037:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @note   Minimum PCROP area size is 2 times the chosen granularity: PCROPA_STRT and PCROPA_END.
1038:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         So if the requirement is to be able to read-protect 1KB areas, the ROP granularity
1039:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         has to be set to 512 Bytes
1040:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  PCROP2AStartAddr  Specifies the Zone 2A Start address of the Proprietary code readout p
1041:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         This parameter can be an address between begin and end of the flash
1042:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  PCROP2AEndAddr  Specifies the Zone 2A end address of the Proprietary code readout prote
1043:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         This parameter can be an address between PCROP2AStartAddr and end of the flash
1044:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @retval None
1045:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
1046:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** static void FLASH_OB_PCROP2AConfig(uint32_t PCROP2AStartAddr, uint32_t PCROP2AEndAddr)
1047:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** {
1048:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t startoffset;
1049:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t endoffset;
1050:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t ropbase;
1051:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
1052:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Check if banks are swapped */
1053:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   if ((FLASH->OPTR & FLASH_OPTR_nSWAP_BANK) != 0x00u)
1054:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
1055:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Check the parameters */
1056:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     assert_param(IS_FLASH_MAIN_SECONDHALF_MEM_ADDRESS(PCROP2AStartAddr));
1057:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     assert_param(IS_FLASH_MAIN_SECONDHALF_MEM_ADDRESS(PCROP2AEndAddr));
1058:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
1059:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* No Bank swap, bank 2 read only protection is on second half of Flash */
1060:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     ropbase = (FLASH_BASE + FLASH_BANK_SIZE);
1061:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
1062:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   else
1063:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
1064:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Check the parameters */
1065:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     assert_param(IS_FLASH_MAIN_FIRSTHALF_MEM_ADDRESS(PCROP2AStartAddr));
1066:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     assert_param(IS_FLASH_MAIN_FIRSTHALF_MEM_ADDRESS(PCROP2AEndAddr));
1067:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
1068:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Bank swap, bank 2 read only protection is on first half of Flash */
1069:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     ropbase = FLASH_BASE;
1070:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
1071:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
1072:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Configure the Proprietary code readout protection offset */
1073:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   startoffset = ((PCROP2AStartAddr - ropbase) >> FLASH_PCROP_GRANULARITY_OFFSET);
1074:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   endoffset = ((PCROP2AEndAddr - ropbase) >> FLASH_PCROP_GRANULARITY_OFFSET);
1075:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
ARM GAS  /tmp/ccHUARcC.s 			page 31


1076:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Set Zone A start offset */
1077:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   FLASH->PCROP2ASR = startoffset;
1078:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Set Zone A end offset */
1079:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   FLASH->PCROP2AER = endoffset;
1080:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
1081:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
1082:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /**
1083:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @brief  Configure the 2B Proprietary code readout protection.
1084:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @note   It is recommended to align PCROP zone with page granularity when using PCROP_RDP or avo
1085:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         having some executable code in a page where PCROP zone starts or ends.
1086:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @note   Minimum PCROP area size is 2 times the chosen granularity: PCROP_STRT and PCROP_END.
1087:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         So if the requirement is to be able to read-protect 1KB areas, the ROP granularity
1088:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         has to be set to 512 Bytes
1089:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  PCROP2BStartAddr  Specifies the Zone 2B Start address of the Proprietary code readout p
1090:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         This parameter can be an address between begin and end of the flash
1091:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  PCROP2BEndAddr  Specifies the Zone 2B end address of the Proprietary code readout prote
1092:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         This parameter can be an address between PCROP2BStartAddr and end of the flash
1093:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @retval None
1094:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
1095:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** static void FLASH_OB_PCROP2BConfig(uint32_t PCROP2BStartAddr, uint32_t PCROP2BEndAddr)
1096:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** {
1097:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t startoffset;
1098:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t endoffset;
1099:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t ropbase;
1100:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
1101:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Check if banks are swapped */
1102:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   if ((FLASH->OPTR & FLASH_OPTR_nSWAP_BANK) != 0x00u)
1103:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
1104:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Check the parameters */
1105:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     assert_param(IS_FLASH_MAIN_SECONDHALF_MEM_ADDRESS(PCROP2BStartAddr));
1106:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     assert_param(IS_FLASH_MAIN_SECONDHALF_MEM_ADDRESS(PCROP2BEndAddr));
1107:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
1108:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* No Bank swap, bank 2 read only protection is on second half of Flash */
1109:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     ropbase = (FLASH_BASE + FLASH_BANK_SIZE);
1110:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
1111:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   else
1112:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
1113:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Check the parameters */
1114:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     assert_param(IS_FLASH_MAIN_FIRSTHALF_MEM_ADDRESS(PCROP2BStartAddr));
1115:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     assert_param(IS_FLASH_MAIN_FIRSTHALF_MEM_ADDRESS(PCROP2BEndAddr));
1116:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
1117:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Bank swap, bank 2 read only protection is on first half of Flash */
1118:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     ropbase = FLASH_BASE;
1119:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
1120:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
1121:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Configure the Proprietary code readout protection offset */
1122:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   startoffset = ((PCROP2BStartAddr - ropbase) >> FLASH_PCROP_GRANULARITY_OFFSET);
1123:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   endoffset = ((PCROP2BEndAddr - ropbase) >> FLASH_PCROP_GRANULARITY_OFFSET);
1124:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
1125:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Set Zone B start offset */
1126:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   FLASH->PCROP2BSR = startoffset;
1127:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Set Zone B end offset */
1128:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   FLASH->PCROP2BER = endoffset;
1129:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
1130:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
1131:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /**
1132:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @brief  Return the FLASH PCROP Protection Option Bytes value.
ARM GAS  /tmp/ccHUARcC.s 			page 32


1133:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  PCROP2AStartAddr [out]  Specifies the address where to copied the start address
1134:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         of the 2A Proprietary code readout protection
1135:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  PCROP2AEndAddr [out]  Specifies the address where to copied the end address of
1136:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         the 2A Proprietary code readout protection
1137:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @retval None
1138:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
1139:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** static void FLASH_OB_GetPCROP2A(uint32_t *PCROP2AStartAddr, uint32_t *PCROP2AEndAddr)
1140:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** {
1141:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t pcrop;
1142:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t ropbase;
1143:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
1144:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Check if banks are swapped */
1145:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   if ((FLASH->OPTR & FLASH_OPTR_nSWAP_BANK) != 0x00u)
1146:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
1147:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* No Bank swap, bank 2 read only protection is on second half of Flash */
1148:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     ropbase = (FLASH_BASE + FLASH_BANK_SIZE);
1149:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
1150:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   else
1151:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
1152:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Bank swap, bank 2 read only protection is on first half of Flash */
1153:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     ropbase = FLASH_BASE;
1154:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
1155:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
1156:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   pcrop = (FLASH->PCROP2ASR & FLASH_PCROP2ASR_PCROP2A_STRT);
1157:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *PCROP2AStartAddr = (pcrop << FLASH_PCROP_GRANULARITY_OFFSET);
1158:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *PCROP2AStartAddr += ropbase;
1159:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
1160:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   pcrop = (FLASH->PCROP2AER & FLASH_PCROP2AER_PCROP2A_END);
1161:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *PCROP2AEndAddr = (pcrop << FLASH_PCROP_GRANULARITY_OFFSET);
1162:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *PCROP2AEndAddr += (ropbase + FLASH_PCROP_GRANULARITY - 1U);
1163:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
1164:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
1165:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /**
1166:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @brief  Return the FLASH PCROP Protection Option Bytes value.
1167:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  PCROP2BStartAddr [out]  Specifies the address where to copied the start address
1168:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         of the 2B Proprietary code readout protection
1169:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  PCROP2BEndAddr [out]  Specifies the address where to copied the end address of
1170:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         the 2B Proprietary code readout protection
1171:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @retval None
1172:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
1173:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** static void FLASH_OB_GetPCROP2B(uint32_t *PCROP2BStartAddr, uint32_t *PCROP2BEndAddr)
1174:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** {
1175:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t pcrop;
1176:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t ropbase;
1177:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
1178:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Check if banks are swapped */
1179:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   if ((FLASH->OPTR & FLASH_OPTR_nSWAP_BANK) != 0x00u)
1180:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
1181:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* No Bank swap, bank 2 read only protection is on second half of Flash */
1182:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     ropbase = (FLASH_BASE + FLASH_BANK_SIZE);
1183:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
1184:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   else
1185:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
1186:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Bank swap, bank 2 read only protection is on first half of Flash */
1187:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     ropbase = FLASH_BASE;
1188:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
1189:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
ARM GAS  /tmp/ccHUARcC.s 			page 33


1190:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   pcrop = (FLASH->PCROP2BSR & FLASH_PCROP2BSR_PCROP2B_STRT);
1191:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *PCROP2BStartAddr = (pcrop << FLASH_PCROP_GRANULARITY_OFFSET);
1192:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *PCROP2BStartAddr += ropbase;
1193:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
1194:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   pcrop = (FLASH->PCROP2BER & FLASH_PCROP2BER_PCROP2B_END);
1195:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *PCROP2BEndAddr = (pcrop << FLASH_PCROP_GRANULARITY_OFFSET);
1196:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *PCROP2BEndAddr += (ropbase + FLASH_PCROP_GRANULARITY - 1U);
1197:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
1198:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #endif /* FLASH_DBANK_SUPPORT */
1199:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #endif /* FLASH_PCROP_SUPPORT */
1200:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
1201:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #if defined(FLASH_SECURABLE_MEMORY_SUPPORT)
1202:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #if defined(FLASH_DBANK_SUPPORT)
1203:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /**
1204:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @brief  Configure Securable Memory area feature.
1205:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  BootEntry  specifies if boot scheme is forced to Flash (System or user) or not
1206:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         This parameter can be one of the following values:
1207:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref OB_BOOT_ENTRY_FORCED_NONE No boot entry forced
1208:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref OB_BOOT_ENTRY_FORCED_FLASH Flash selected as unique entry boot
1209:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  SecSize specifies number of pages to protect as securable memory area, starting from
1210:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         beginning of Bank1 (page 0).
1211:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  SecSize2 specifies number of pages to protect as securable memory area, starting from
1212:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         beginning of Bank2 (page 0).
1213:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @retval None
1214:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
1215:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** static void FLASH_OB_SecMemConfig(uint32_t BootEntry, uint32_t SecSize, uint32_t SecSize2)
1216:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** {
1217:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t secmem;
1218:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
1219:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Check the parameters */
1220:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   assert_param(IS_OB_SEC_BOOT_LOCK(BootEntry));
1221:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   assert_param(IS_OB_SEC_SIZE(SecSize));
1222:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
1223:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   if ((FLASH_BANK_NB == 2U))
1224:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
1225:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     assert_param(IS_OB_SEC_SIZE(SecSize2));
1226:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
1227:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
1228:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Set securable memory area configuration */
1229:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   secmem = (FLASH->SECR & ~(FLASH_SECR_BOOT_LOCK | FLASH_SECR_SEC_SIZE | FLASH_SECR_SEC_SIZE2));
1230:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   FLASH->SECR = (secmem | BootEntry | SecSize | (SecSize2 << FLASH_SECR_SEC_SIZE2_Pos));
1231:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
1232:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
1233:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /**
1234:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @brief  Return the FLASH Securable memory area protection Option Bytes value.
1235:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  BootEntry  specifies boot scheme configuration
1236:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  SecSize specifies number of pages to protect as secure memory area, starting from
1237:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         beginning of Bank1 (page 0).
1238:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  SecSize2 specifies number of pages to protect as secure memory area, starting from
1239:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         beginning of Bank2 (page 0).
1240:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @retval None
1241:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
1242:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** static void FLASH_OB_GetSecMem(uint32_t *BootEntry, uint32_t *SecSize, uint32_t *SecSize2)
1243:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** {
1244:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t secmem = FLASH->SECR;
1245:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
1246:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *BootEntry = (secmem & FLASH_SECR_BOOT_LOCK);
ARM GAS  /tmp/ccHUARcC.s 			page 34


1247:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *SecSize = (secmem & FLASH_SECR_SEC_SIZE);
1248:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *SecSize2 = (secmem & FLASH_SECR_SEC_SIZE2) >> FLASH_SECR_SEC_SIZE2_Pos;
1249:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
1250:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
1251:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #else
1252:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /**
1253:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @brief  Configure Securable Memory area feature.
1254:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  BootEntry  specifies if boot scheme is forced to Flash (System or user) or not
1255:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         This parameter can be one of the following values:
1256:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref OB_BOOT_ENTRY_FORCED_NONE No boot entry forced
1257:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *           @arg @ref OB_BOOT_ENTRY_FORCED_FLASH FLash selected as unique entry boot
1258:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  SecSize specifies number of pages to protect as securable memory area, starting from
1259:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         beginning of the Flash (page 0).
1260:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @retval None
1261:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
1262:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** static void FLASH_OB_SecMemConfig(uint32_t BootEntry, uint32_t SecSize)
1263:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** {
 642              		.loc 1 1263 1 is_stmt 1 view -0
 643              		.cfi_startproc
 644              		@ args = 0, pretend = 0, frame = 0
 645              		@ frame_needed = 0, uses_anonymous_args = 0
 646              		.loc 1 1263 1 is_stmt 0 view .LVU177
 647 0000 30B5     		push	{r4, r5, lr}
 648              	.LCFI5:
 649              		.cfi_def_cfa_offset 12
 650              		.cfi_offset 4, -12
 651              		.cfi_offset 5, -8
 652              		.cfi_offset 14, -4
1264:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t secmem;
 653              		.loc 1 1264 3 is_stmt 1 view .LVU178
1265:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
1266:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Check the parameters */
1267:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   assert_param(IS_OB_SEC_BOOT_LOCK(BootEntry));
 654              		.loc 1 1267 3 view .LVU179
1268:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   assert_param(IS_OB_SEC_SIZE(SecSize));
 655              		.loc 1 1268 3 view .LVU180
1269:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
1270:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Set securable memory area configuration */
1271:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   secmem = (FLASH->SECR & ~(FLASH_SECR_BOOT_LOCK | FLASH_SECR_SEC_SIZE));
 656              		.loc 1 1271 3 view .LVU181
 657              		.loc 1 1271 18 is_stmt 0 view .LVU182
 658 0002 044C     		ldr	r4, .L43
 659 0004 8022     		movs	r2, #128
 660 0006 A358     		ldr	r3, [r4, r2]
 661              		.loc 1 1271 10 view .LVU183
 662 0008 034D     		ldr	r5, .L43+4
 663 000a 2B40     		ands	r3, r5
 664              	.LVL49:
1272:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   FLASH->SECR = (secmem | BootEntry | SecSize);
 665              		.loc 1 1272 3 is_stmt 1 view .LVU184
 666              		.loc 1 1272 25 is_stmt 0 view .LVU185
 667 000c 0343     		orrs	r3, r0
 668              	.LVL50:
 669              		.loc 1 1272 37 view .LVU186
 670 000e 0B43     		orrs	r3, r1
 671              		.loc 1 1272 15 view .LVU187
 672 0010 A350     		str	r3, [r4, r2]
ARM GAS  /tmp/ccHUARcC.s 			page 35


1273:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 673              		.loc 1 1273 1 view .LVU188
 674              		@ sp needed
 675 0012 30BD     		pop	{r4, r5, pc}
 676              	.L44:
 677              		.align	2
 678              	.L43:
 679 0014 00200240 		.word	1073881088
 680 0018 C0FFFEFF 		.word	-65600
 681              		.cfi_endproc
 682              	.LFE318:
 684              		.section	.text.FLASH_OB_GetSecMem,"ax",%progbits
 685              		.align	1
 686              		.syntax unified
 687              		.code	16
 688              		.thumb_func
 689              		.fpu softvfp
 691              	FLASH_OB_GetSecMem:
 692              	.LVL51:
 693              	.LFB319:
1274:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
1275:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** /**
1276:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @brief  Return the FLASH Securable memory area protection Option Bytes value.
1277:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  BootEntry  specifies boot scheme configuration
1278:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @param  SecSize specifies number of pages to protect as secure memory area, starting from
1279:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *         beginning of the Flash (page 0).
1280:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   * @retval None
1281:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   */
1282:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** static void FLASH_OB_GetSecMem(uint32_t *BootEntry, uint32_t *SecSize)
1283:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** {
 694              		.loc 1 1283 1 is_stmt 1 view -0
 695              		.cfi_startproc
 696              		@ args = 0, pretend = 0, frame = 0
 697              		@ frame_needed = 0, uses_anonymous_args = 0
 698              		.loc 1 1283 1 is_stmt 0 view .LVU190
 699 0000 10B5     		push	{r4, lr}
 700              	.LCFI6:
 701              		.cfi_def_cfa_offset 8
 702              		.cfi_offset 4, -8
 703              		.cfi_offset 14, -4
1284:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t secmem = FLASH->SECR;
 704              		.loc 1 1284 3 is_stmt 1 view .LVU191
 705              		.loc 1 1284 12 is_stmt 0 view .LVU192
 706 0002 054A     		ldr	r2, .L46
 707 0004 8023     		movs	r3, #128
 708 0006 D458     		ldr	r4, [r2, r3]
 709              	.LVL52:
1285:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
1286:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *BootEntry = (secmem & FLASH_SECR_BOOT_LOCK);
 710              		.loc 1 1286 3 is_stmt 1 view .LVU193
 711              		.loc 1 1286 24 is_stmt 0 view .LVU194
 712 0008 8022     		movs	r2, #128
 713 000a 5202     		lsls	r2, r2, #9
 714 000c 2240     		ands	r2, r4
 715              		.loc 1 1286 14 view .LVU195
 716 000e 0260     		str	r2, [r0]
1287:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   *SecSize = (secmem & FLASH_SECR_SEC_SIZE);
ARM GAS  /tmp/ccHUARcC.s 			page 36


 717              		.loc 1 1287 3 is_stmt 1 view .LVU196
 718              		.loc 1 1287 22 is_stmt 0 view .LVU197
 719 0010 413B     		subs	r3, r3, #65
 720 0012 2340     		ands	r3, r4
 721              		.loc 1 1287 12 view .LVU198
 722 0014 0B60     		str	r3, [r1]
1288:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 723              		.loc 1 1288 1 view .LVU199
 724              		@ sp needed
 725              	.LVL53:
 726              		.loc 1 1288 1 view .LVU200
 727 0016 10BD     		pop	{r4, pc}
 728              	.L47:
 729              		.align	2
 730              	.L46:
 731 0018 00200240 		.word	1073881088
 732              		.cfi_endproc
 733              	.LFE319:
 735              		.section	.text.HAL_FLASHEx_OBProgram,"ax",%progbits
 736              		.align	1
 737              		.global	HAL_FLASHEx_OBProgram
 738              		.syntax unified
 739              		.code	16
 740              		.thumb_func
 741              		.fpu softvfp
 743              	HAL_FLASHEx_OBProgram:
 744              	.LVL54:
 745              	.LFB299:
 300:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t optr;
 746              		.loc 1 300 1 is_stmt 1 view -0
 747              		.cfi_startproc
 748              		@ args = 0, pretend = 0, frame = 0
 749              		@ frame_needed = 0, uses_anonymous_args = 0
 300:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t optr;
 750              		.loc 1 300 1 is_stmt 0 view .LVU202
 751 0000 10B5     		push	{r4, lr}
 752              	.LCFI7:
 753              		.cfi_def_cfa_offset 8
 754              		.cfi_offset 4, -8
 755              		.cfi_offset 14, -4
 756 0002 0400     		movs	r4, r0
 301:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   HAL_StatusTypeDef status;
 757              		.loc 1 301 3 is_stmt 1 view .LVU203
 302:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 758              		.loc 1 302 3 view .LVU204
 305:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 759              		.loc 1 305 3 view .LVU205
 308:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 760              		.loc 1 308 3 view .LVU206
 308:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 761              		.loc 1 308 3 view .LVU207
 762 0004 334B     		ldr	r3, .L67
 763 0006 1B78     		ldrb	r3, [r3]
 764 0008 012B     		cmp	r3, #1
 765 000a 60D0     		beq	.L58
 308:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 766              		.loc 1 308 3 discriminator 2 view .LVU208
ARM GAS  /tmp/ccHUARcC.s 			page 37


 767 000c 314A     		ldr	r2, .L67
 768 000e 0123     		movs	r3, #1
 769 0010 1370     		strb	r3, [r2]
 308:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 770              		.loc 1 308 3 discriminator 2 view .LVU209
 310:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 771              		.loc 1 310 3 discriminator 2 view .LVU210
 310:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 772              		.loc 1 310 20 is_stmt 0 discriminator 2 view .LVU211
 773 0012 0021     		movs	r1, #0
 774 0014 5160     		str	r1, [r2, #4]
 313:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 775              		.loc 1 313 3 is_stmt 1 discriminator 2 view .LVU212
 313:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 776              		.loc 1 313 6 is_stmt 0 discriminator 2 view .LVU213
 777 0016 0268     		ldr	r2, [r0]
 778 0018 1342     		tst	r3, r2
 779 001a 1FD1     		bne	.L59
 780              	.LVL55:
 781              	.L50:
 320:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 782              		.loc 1 320 3 is_stmt 1 view .LVU214
 320:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 783              		.loc 1 320 15 is_stmt 0 view .LVU215
 784 001c 2268     		ldr	r2, [r4]
 320:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 785              		.loc 1 320 28 view .LVU216
 786 001e 0623     		movs	r3, #6
 787 0020 1340     		ands	r3, r2
 320:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 788              		.loc 1 320 6 view .LVU217
 789 0022 062B     		cmp	r3, #6
 790 0024 20D0     		beq	.L60
 325:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 791              		.loc 1 325 8 is_stmt 1 view .LVU218
 325:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 792              		.loc 1 325 11 is_stmt 0 view .LVU219
 793 0026 9307     		lsls	r3, r2, #30
 794 0028 24D4     		bmi	.L61
 331:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 795              		.loc 1 331 8 is_stmt 1 view .LVU220
 331:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 796              		.loc 1 331 11 is_stmt 0 view .LVU221
 797 002a 5307     		lsls	r3, r2, #29
 798 002c 29D4     		bmi	.L62
 799              	.L52:
 340:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 800              		.loc 1 340 3 is_stmt 1 view .LVU222
 344:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 801              		.loc 1 344 3 view .LVU223
 344:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 802              		.loc 1 344 6 is_stmt 0 view .LVU224
 803 002e 2368     		ldr	r3, [r4]
 804 0030 1B07     		lsls	r3, r3, #28
 805 0032 06D5     		bpl	.L54
 347:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 806              		.loc 1 347 5 is_stmt 1 view .LVU225
ARM GAS  /tmp/ccHUARcC.s 			page 38


 349:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     {
 807              		.loc 1 349 5 view .LVU226
 349:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     {
 808              		.loc 1 349 17 is_stmt 0 view .LVU227
 809 0034 E069     		ldr	r0, [r4, #28]
 349:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     {
 810              		.loc 1 349 31 view .LVU228
 811 0036 284B     		ldr	r3, .L67+4
 349:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     {
 812              		.loc 1 349 8 view .LVU229
 813 0038 1842     		tst	r0, r3
 814 003a 2AD1     		bne	.L63
 815              	.L55:
 355:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     {
 816              		.loc 1 355 5 is_stmt 1 view .LVU230
 355:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     {
 817              		.loc 1 355 8 is_stmt 0 view .LVU231
 818 003c E369     		ldr	r3, [r4, #28]
 819 003e 9B07     		lsls	r3, r3, #30
 820 0040 2CD4     		bmi	.L64
 821              	.L54:
 379:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 822              		.loc 1 379 3 is_stmt 1 view .LVU232
 379:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 823              		.loc 1 379 6 is_stmt 0 view .LVU233
 824 0042 2368     		ldr	r3, [r4]
 825 0044 DB06     		lsls	r3, r3, #27
 826 0046 2ED4     		bmi	.L65
 827              	.L56:
 392:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 828              		.loc 1 392 3 is_stmt 1 view .LVU234
 392:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 829              		.loc 1 392 12 is_stmt 0 view .LVU235
 830 0048 FA20     		movs	r0, #250
 831 004a 8000     		lsls	r0, r0, #2
 832 004c FFF7FEFF 		bl	FLASH_WaitForLastOperation
 833              	.LVL56:
 394:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 834              		.loc 1 394 3 is_stmt 1 view .LVU236
 394:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 835              		.loc 1 394 6 is_stmt 0 view .LVU237
 836 0050 0028     		cmp	r0, #0
 837 0052 2DD0     		beq	.L66
 838              	.LVL57:
 839              	.L57:
 407:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 840              		.loc 1 407 3 is_stmt 1 view .LVU238
 407:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 841              		.loc 1 407 3 view .LVU239
 842 0054 1F4B     		ldr	r3, .L67
 843 0056 0022     		movs	r2, #0
 844 0058 1A70     		strb	r2, [r3]
 407:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 845              		.loc 1 407 3 view .LVU240
 410:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 846              		.loc 1 410 3 view .LVU241
 847              	.LVL58:
ARM GAS  /tmp/ccHUARcC.s 			page 39


 848              	.L49:
 411:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 849              		.loc 1 411 1 is_stmt 0 view .LVU242
 850              		@ sp needed
 851 005a 10BD     		pop	{r4, pc}
 852              	.LVL59:
 853              	.L59:
 316:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 854              		.loc 1 316 5 is_stmt 1 view .LVU243
 855 005c C268     		ldr	r2, [r0, #12]
 856 005e 8168     		ldr	r1, [r0, #8]
 857 0060 4068     		ldr	r0, [r0, #4]
 858              	.LVL60:
 316:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 859              		.loc 1 316 5 is_stmt 0 view .LVU244
 860 0062 FFF7FEFF 		bl	FLASH_OB_WRPConfig
 861              	.LVL61:
 862 0066 D9E7     		b	.L50
 863              	.L60:
 323:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 864              		.loc 1 323 5 is_stmt 1 view .LVU245
 865 0068 2269     		ldr	r2, [r4, #16]
 866 006a A169     		ldr	r1, [r4, #24]
 867 006c 6069     		ldr	r0, [r4, #20]
 868 006e FFF7FEFF 		bl	FLASH_OB_OptrConfig
 869              	.LVL62:
 870 0072 DCE7     		b	.L52
 871              	.L61:
 328:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     FLASH_OB_OptrConfig(optr, optr, pOBInit->RDPLevel);
 872              		.loc 1 328 5 view .LVU246
 328:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     FLASH_OB_OptrConfig(optr, optr, pOBInit->RDPLevel);
 873              		.loc 1 328 12 is_stmt 0 view .LVU247
 874 0074 FFF7FEFF 		bl	FLASH_OB_GetUser
 875              	.LVL63:
 329:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 876              		.loc 1 329 5 is_stmt 1 view .LVU248
 877 0078 2269     		ldr	r2, [r4, #16]
 878 007a 0100     		movs	r1, r0
 879 007c FFF7FEFF 		bl	FLASH_OB_OptrConfig
 880              	.LVL64:
 329:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 881              		.loc 1 329 5 is_stmt 0 view .LVU249
 882 0080 D5E7     		b	.L52
 883              	.L62:
 334:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     FLASH_OB_OptrConfig(pOBInit->USERType, pOBInit->USERConfig, optr);
 884              		.loc 1 334 5 is_stmt 1 view .LVU250
 334:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     FLASH_OB_OptrConfig(pOBInit->USERType, pOBInit->USERConfig, optr);
 885              		.loc 1 334 12 is_stmt 0 view .LVU251
 886 0082 FFF7FEFF 		bl	FLASH_OB_GetRDP
 887              	.LVL65:
 888 0086 0200     		movs	r2, r0
 889              	.LVL66:
 335:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 890              		.loc 1 335 5 is_stmt 1 view .LVU252
 891 0088 A169     		ldr	r1, [r4, #24]
 892 008a 6069     		ldr	r0, [r4, #20]
 893              	.LVL67:
ARM GAS  /tmp/ccHUARcC.s 			page 40


 335:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 894              		.loc 1 335 5 is_stmt 0 view .LVU253
 895 008c FFF7FEFF 		bl	FLASH_OB_OptrConfig
 896              	.LVL68:
 335:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 897              		.loc 1 335 5 view .LVU254
 898 0090 CDE7     		b	.L52
 899              	.L63:
 352:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     }
 900              		.loc 1 352 7 is_stmt 1 view .LVU255
 901 0092 626A     		ldr	r2, [r4, #36]
 902 0094 216A     		ldr	r1, [r4, #32]
 903 0096 FFF7FEFF 		bl	FLASH_OB_PCROP1AConfig
 904              	.LVL69:
 905 009a CFE7     		b	.L55
 906              	.L64:
 358:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     }
 907              		.loc 1 358 7 view .LVU256
 908 009c E16A     		ldr	r1, [r4, #44]
 909 009e A06A     		ldr	r0, [r4, #40]
 910 00a0 FFF7FEFF 		bl	FLASH_OB_PCROP1BConfig
 911              	.LVL70:
 912 00a4 CDE7     		b	.L54
 913              	.L65:
 386:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #endif /* FLASH_DBANK_SUPPORT */
 914              		.loc 1 386 5 view .LVU257
 915 00a6 616B     		ldr	r1, [r4, #52]
 916 00a8 206B     		ldr	r0, [r4, #48]
 917 00aa FFF7FEFF 		bl	FLASH_OB_SecMemConfig
 918              	.LVL71:
 919 00ae CBE7     		b	.L56
 920              	.LVL72:
 921              	.L66:
 397:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 922              		.loc 1 397 5 view .LVU258
 923 00b0 0A4C     		ldr	r4, .L67+8
 924              	.LVL73:
 397:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 925              		.loc 1 397 5 is_stmt 0 view .LVU259
 926 00b2 6269     		ldr	r2, [r4, #20]
 927 00b4 8023     		movs	r3, #128
 928 00b6 9B02     		lsls	r3, r3, #10
 929 00b8 1343     		orrs	r3, r2
 930 00ba 6361     		str	r3, [r4, #20]
 400:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 931              		.loc 1 400 5 is_stmt 1 view .LVU260
 400:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 932              		.loc 1 400 14 is_stmt 0 view .LVU261
 933 00bc FA30     		adds	r0, r0, #250
 934              	.LVL74:
 400:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 935              		.loc 1 400 14 view .LVU262
 936 00be 8000     		lsls	r0, r0, #2
 937              	.LVL75:
 400:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 938              		.loc 1 400 14 view .LVU263
 939 00c0 FFF7FEFF 		bl	FLASH_WaitForLastOperation
ARM GAS  /tmp/ccHUARcC.s 			page 41


 940              	.LVL76:
 403:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 941              		.loc 1 403 5 is_stmt 1 view .LVU264
 942 00c4 6369     		ldr	r3, [r4, #20]
 943 00c6 064A     		ldr	r2, .L67+12
 944 00c8 1340     		ands	r3, r2
 945 00ca 6361     		str	r3, [r4, #20]
 946 00cc C2E7     		b	.L57
 947              	.LVL77:
 948              	.L58:
 308:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 949              		.loc 1 308 3 is_stmt 0 view .LVU265
 950 00ce 0220     		movs	r0, #2
 951              	.LVL78:
 308:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 952              		.loc 1 308 3 view .LVU266
 953 00d0 C3E7     		b	.L49
 954              	.L68:
 955 00d2 C046     		.align	2
 956              	.L67:
 957 00d4 00000000 		.word	pFlash
 958 00d8 01000080 		.word	-2147483647
 959 00dc 00200240 		.word	1073881088
 960 00e0 FFFFFDFF 		.word	-131073
 961              		.cfi_endproc
 962              	.LFE299:
 964              		.section	.text.HAL_FLASHEx_OBGetConfig,"ax",%progbits
 965              		.align	1
 966              		.global	HAL_FLASHEx_OBGetConfig
 967              		.syntax unified
 968              		.code	16
 969              		.thumb_func
 970              		.fpu softvfp
 972              	HAL_FLASHEx_OBGetConfig:
 973              	.LVL79:
 974              	.LFB300:
 424:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   pOBInit->OptionType = OPTIONBYTE_ALL;
 975              		.loc 1 424 1 is_stmt 1 view -0
 976              		.cfi_startproc
 977              		@ args = 0, pretend = 0, frame = 0
 978              		@ frame_needed = 0, uses_anonymous_args = 0
 424:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   pOBInit->OptionType = OPTIONBYTE_ALL;
 979              		.loc 1 424 1 is_stmt 0 view .LVU268
 980 0000 10B5     		push	{r4, lr}
 981              	.LCFI8:
 982              		.cfi_def_cfa_offset 8
 983              		.cfi_offset 4, -8
 984              		.cfi_offset 14, -4
 985 0002 0400     		movs	r4, r0
 425:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 986              		.loc 1 425 3 is_stmt 1 view .LVU269
 425:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 987              		.loc 1 425 23 is_stmt 0 view .LVU270
 988 0004 1F23     		movs	r3, #31
 989 0006 0360     		str	r3, [r0]
 428:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 990              		.loc 1 428 3 is_stmt 1 view .LVU271
ARM GAS  /tmp/ccHUARcC.s 			page 42


 991 0008 0200     		movs	r2, r0
 992 000a 0C32     		adds	r2, r2, #12
 993 000c 0100     		movs	r1, r0
 994 000e 0831     		adds	r1, r1, #8
 995 0010 4068     		ldr	r0, [r0, #4]
 996              	.LVL80:
 428:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 997              		.loc 1 428 3 is_stmt 0 view .LVU272
 998 0012 FFF7FEFF 		bl	FLASH_OB_GetWRP
 999              	.LVL81:
 431:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1000              		.loc 1 431 3 is_stmt 1 view .LVU273
 431:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1001              		.loc 1 431 23 is_stmt 0 view .LVU274
 1002 0016 FFF7FEFF 		bl	FLASH_OB_GetRDP
 1003              	.LVL82:
 431:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1004              		.loc 1 431 21 view .LVU275
 1005 001a 2061     		str	r0, [r4, #16]
 434:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   pOBInit->USERType = OB_USER_ALL;
 1006              		.loc 1 434 3 is_stmt 1 view .LVU276
 434:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   pOBInit->USERType = OB_USER_ALL;
 1007              		.loc 1 434 25 is_stmt 0 view .LVU277
 1008 001c FFF7FEFF 		bl	FLASH_OB_GetUser
 1009              	.LVL83:
 434:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   pOBInit->USERType = OB_USER_ALL;
 1010              		.loc 1 434 23 view .LVU278
 1011 0020 A061     		str	r0, [r4, #24]
 435:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1012              		.loc 1 435 3 is_stmt 1 view .LVU279
 435:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1013              		.loc 1 435 21 is_stmt 0 view .LVU280
 1014 0022 0D4B     		ldr	r3, .L70
 1015 0024 6361     		str	r3, [r4, #20]
 439:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   FLASH_OB_GetPCROP1B(&(pOBInit->PCROP1BStartAddr), &(pOBInit->PCROP1BEndAddr));
 1016              		.loc 1 439 3 is_stmt 1 view .LVU281
 1017 0026 2200     		movs	r2, r4
 1018 0028 2432     		adds	r2, r2, #36
 1019 002a 2100     		movs	r1, r4
 1020 002c 2031     		adds	r1, r1, #32
 1021 002e 2000     		movs	r0, r4
 1022 0030 1C30     		adds	r0, r0, #28
 1023 0032 FFF7FEFF 		bl	FLASH_OB_GetPCROP1A
 1024              	.LVL84:
 440:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   pOBInit->PCROPConfig |= (OB_PCROP_ZONE_A | OB_PCROP_ZONE_B);
 1025              		.loc 1 440 3 view .LVU282
 1026 0036 2100     		movs	r1, r4
 1027 0038 2C31     		adds	r1, r1, #44
 1028 003a 2000     		movs	r0, r4
 1029 003c 2830     		adds	r0, r0, #40
 1030 003e FFF7FEFF 		bl	FLASH_OB_GetPCROP1B
 1031              	.LVL85:
 441:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #if defined(FLASH_DBANK_SUPPORT)
 1032              		.loc 1 441 3 view .LVU283
 441:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #if defined(FLASH_DBANK_SUPPORT)
 1033              		.loc 1 441 24 is_stmt 0 view .LVU284
 1034 0042 0323     		movs	r3, #3
ARM GAS  /tmp/ccHUARcC.s 			page 43


 1035 0044 E269     		ldr	r2, [r4, #28]
 1036 0046 1343     		orrs	r3, r2
 1037 0048 E361     		str	r3, [r4, #28]
 455:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #endif /* FLASH_DBANK_SUPPORT */
 1038              		.loc 1 455 3 is_stmt 1 view .LVU285
 1039 004a 2100     		movs	r1, r4
 1040 004c 3431     		adds	r1, r1, #52
 1041 004e 2000     		movs	r0, r4
 1042 0050 3030     		adds	r0, r0, #48
 1043 0052 FFF7FEFF 		bl	FLASH_OB_GetSecMem
 1044              	.LVL86:
 458:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1045              		.loc 1 458 1 is_stmt 0 view .LVU286
 1046              		@ sp needed
 1047              	.LVL87:
 458:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1048              		.loc 1 458 1 view .LVU287
 1049 0056 10BD     		pop	{r4, pc}
 1050              	.L71:
 1051              		.align	2
 1052              	.L70:
 1053 0058 00FF4F3F 		.word	1062207232
 1054              		.cfi_endproc
 1055              	.LFE300:
 1057              		.section	.text.HAL_FLASHEx_EnableDebugger,"ax",%progbits
 1058              		.align	1
 1059              		.global	HAL_FLASHEx_EnableDebugger
 1060              		.syntax unified
 1061              		.code	16
 1062              		.thumb_func
 1063              		.fpu softvfp
 1065              	HAL_FLASHEx_EnableDebugger:
 1066              	.LFB301:
 467:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   FLASH->ACR |= FLASH_ACR_DBG_SWEN;
 1067              		.loc 1 467 1 is_stmt 1 view -0
 1068              		.cfi_startproc
 1069              		@ args = 0, pretend = 0, frame = 0
 1070              		@ frame_needed = 0, uses_anonymous_args = 0
 1071              		@ link register save eliminated.
 468:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 1072              		.loc 1 468 3 view .LVU289
 468:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 1073              		.loc 1 468 14 is_stmt 0 view .LVU290
 1074 0000 034A     		ldr	r2, .L73
 1075 0002 1168     		ldr	r1, [r2]
 1076 0004 8023     		movs	r3, #128
 1077 0006 DB02     		lsls	r3, r3, #11
 1078 0008 0B43     		orrs	r3, r1
 1079 000a 1360     		str	r3, [r2]
 469:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1080              		.loc 1 469 1 view .LVU291
 1081              		@ sp needed
 1082 000c 7047     		bx	lr
 1083              	.L74:
 1084 000e C046     		.align	2
 1085              	.L73:
 1086 0010 00200240 		.word	1073881088
ARM GAS  /tmp/ccHUARcC.s 			page 44


 1087              		.cfi_endproc
 1088              	.LFE301:
 1090              		.section	.text.HAL_FLASHEx_DisableDebugger,"ax",%progbits
 1091              		.align	1
 1092              		.global	HAL_FLASHEx_DisableDebugger
 1093              		.syntax unified
 1094              		.code	16
 1095              		.thumb_func
 1096              		.fpu softvfp
 1098              	HAL_FLASHEx_DisableDebugger:
 1099              	.LFB302:
 479:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   FLASH->ACR &= ~FLASH_ACR_DBG_SWEN;
 1100              		.loc 1 479 1 is_stmt 1 view -0
 1101              		.cfi_startproc
 1102              		@ args = 0, pretend = 0, frame = 0
 1103              		@ frame_needed = 0, uses_anonymous_args = 0
 1104              		@ link register save eliminated.
 480:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 1105              		.loc 1 480 3 view .LVU293
 480:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 1106              		.loc 1 480 14 is_stmt 0 view .LVU294
 1107 0000 024A     		ldr	r2, .L76
 1108 0002 1368     		ldr	r3, [r2]
 1109 0004 0249     		ldr	r1, .L76+4
 1110 0006 0B40     		ands	r3, r1
 1111 0008 1360     		str	r3, [r2]
 481:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #endif /* FLASH_ACR_DBG_SWEN */
 1112              		.loc 1 481 1 view .LVU295
 1113              		@ sp needed
 1114 000a 7047     		bx	lr
 1115              	.L77:
 1116              		.align	2
 1117              	.L76:
 1118 000c 00200240 		.word	1073881088
 1119 0010 FFFFFBFF 		.word	-262145
 1120              		.cfi_endproc
 1121              	.LFE302:
 1123              		.section	.text.HAL_FLASHEx_FlashEmptyCheck,"ax",%progbits
 1124              		.align	1
 1125              		.global	HAL_FLASHEx_FlashEmptyCheck
 1126              		.syntax unified
 1127              		.code	16
 1128              		.thumb_func
 1129              		.fpu softvfp
 1131              	HAL_FLASHEx_FlashEmptyCheck:
 1132              	.LFB303:
 491:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   return ((FLASH->ACR & FLASH_ACR_PROGEMPTY));
 1133              		.loc 1 491 1 is_stmt 1 view -0
 1134              		.cfi_startproc
 1135              		@ args = 0, pretend = 0, frame = 0
 1136              		@ frame_needed = 0, uses_anonymous_args = 0
 1137              		@ link register save eliminated.
 492:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 1138              		.loc 1 492 3 view .LVU297
 492:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 1139              		.loc 1 492 17 is_stmt 0 view .LVU298
 1140 0000 024B     		ldr	r3, .L79
ARM GAS  /tmp/ccHUARcC.s 			page 45


 1141 0002 1868     		ldr	r0, [r3]
 492:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 1142              		.loc 1 492 23 view .LVU299
 1143 0004 8023     		movs	r3, #128
 1144 0006 5B02     		lsls	r3, r3, #9
 1145 0008 1840     		ands	r0, r3
 493:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1146              		.loc 1 493 1 view .LVU300
 1147              		@ sp needed
 1148 000a 7047     		bx	lr
 1149              	.L80:
 1150              		.align	2
 1151              	.L79:
 1152 000c 00200240 		.word	1073881088
 1153              		.cfi_endproc
 1154              	.LFE303:
 1156              		.section	.text.HAL_FLASHEx_ForceFlashEmpty,"ax",%progbits
 1157              		.align	1
 1158              		.global	HAL_FLASHEx_ForceFlashEmpty
 1159              		.syntax unified
 1160              		.code	16
 1161              		.thumb_func
 1162              		.fpu softvfp
 1164              	HAL_FLASHEx_ForceFlashEmpty:
 1165              	.LVL88:
 1166              	.LFB304:
 505:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t acr;
 1167              		.loc 1 505 1 is_stmt 1 view -0
 1168              		.cfi_startproc
 1169              		@ args = 0, pretend = 0, frame = 0
 1170              		@ frame_needed = 0, uses_anonymous_args = 0
 1171              		@ link register save eliminated.
 506:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   assert_param(IS_FLASH_EMPTY_CHECK(FlashEmpty));
 1172              		.loc 1 506 3 view .LVU302
 507:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1173              		.loc 1 507 3 view .LVU303
 509:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   FLASH->ACR = (acr | FlashEmpty);
 1174              		.loc 1 509 3 view .LVU304
 509:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   FLASH->ACR = (acr | FlashEmpty);
 1175              		.loc 1 509 15 is_stmt 0 view .LVU305
 1176 0000 034A     		ldr	r2, .L82
 1177 0002 1368     		ldr	r3, [r2]
 509:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   FLASH->ACR = (acr | FlashEmpty);
 1178              		.loc 1 509 7 view .LVU306
 1179 0004 0349     		ldr	r1, .L82+4
 1180 0006 0B40     		ands	r3, r1
 1181              	.LVL89:
 510:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 1182              		.loc 1 510 3 is_stmt 1 view .LVU307
 510:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 1183              		.loc 1 510 21 is_stmt 0 view .LVU308
 1184 0008 0343     		orrs	r3, r0
 1185              	.LVL90:
 510:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 1186              		.loc 1 510 14 view .LVU309
 1187 000a 1360     		str	r3, [r2]
 511:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
ARM GAS  /tmp/ccHUARcC.s 			page 46


 1188              		.loc 1 511 1 view .LVU310
 1189              		@ sp needed
 1190 000c 7047     		bx	lr
 1191              	.L83:
 1192 000e C046     		.align	2
 1193              	.L82:
 1194 0010 00200240 		.word	1073881088
 1195 0014 FFFFFEFF 		.word	-65537
 1196              		.cfi_endproc
 1197              	.LFE304:
 1199              		.section	.text.HAL_FLASHEx_EnableSecMemProtection,"ax",%progbits
 1200              		.align	1
 1201              		.global	HAL_FLASHEx_EnableSecMemProtection
 1202              		.syntax unified
 1203              		.code	16
 1204              		.thumb_func
 1205              		.fpu softvfp
 1207              	HAL_FLASHEx_EnableSecMemProtection:
 1208              	.LVL91:
 1209              	.LFB305:
 527:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #if defined(FLASH_DBANK_SUPPORT)
 1210              		.loc 1 527 1 is_stmt 1 view -0
 1211              		.cfi_startproc
 1212              		@ args = 0, pretend = 0, frame = 0
 1213              		@ frame_needed = 0, uses_anonymous_args = 0
 1214              		@ link register save eliminated.
 541:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #endif /* FLASH_DBANK_SUPPORT */
 1215              		.loc 1 541 3 view .LVU312
 544:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 1216              		.loc 1 544 5 view .LVU313
 544:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 1217              		.loc 1 544 15 is_stmt 0 view .LVU314
 1218 0000 034A     		ldr	r2, .L85
 1219 0002 5169     		ldr	r1, [r2, #20]
 1220 0004 8023     		movs	r3, #128
 1221 0006 5B05     		lsls	r3, r3, #21
 1222 0008 0B43     		orrs	r3, r1
 1223 000a 5361     		str	r3, [r2, #20]
 546:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #endif /* FLASH_SECURABLE_MEMORY_SUPPORT */
 1224              		.loc 1 546 1 view .LVU315
 1225              		@ sp needed
 1226 000c 7047     		bx	lr
 1227              	.L86:
 1228 000e C046     		.align	2
 1229              	.L85:
 1230 0010 00200240 		.word	1073881088
 1231              		.cfi_endproc
 1232              	.LFE305:
 1234              		.section	.text.FLASH_PageErase,"ax",%progbits
 1235              		.align	1
 1236              		.global	FLASH_PageErase
 1237              		.syntax unified
 1238              		.code	16
 1239              		.thumb_func
 1240              		.fpu softvfp
 1242              	FLASH_PageErase:
 1243              	.LVL92:
ARM GAS  /tmp/ccHUARcC.s 			page 47


 1244              	.LFB307:
 591:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t tmp;
 1245              		.loc 1 591 1 is_stmt 1 view -0
 1246              		.cfi_startproc
 1247              		@ args = 0, pretend = 0, frame = 0
 1248              		@ frame_needed = 0, uses_anonymous_args = 0
 1249              		@ link register save eliminated.
 592:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1250              		.loc 1 592 3 view .LVU317
 595:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   assert_param(IS_FLASH_PAGE(Page));
 1251              		.loc 1 595 3 view .LVU318
 596:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1252              		.loc 1 596 3 view .LVU319
 599:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1253              		.loc 1 599 3 view .LVU320
 599:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1254              		.loc 1 599 15 is_stmt 0 view .LVU321
 1255 0000 044A     		ldr	r2, .L88
 1256 0002 5369     		ldr	r3, [r2, #20]
 599:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1257              		.loc 1 599 7 view .LVU322
 1258 0004 F820     		movs	r0, #248
 1259              	.LVL93:
 599:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1260              		.loc 1 599 7 view .LVU323
 1261 0006 8343     		bics	r3, r0
 1262              	.LVL94:
 614:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 1263              		.loc 1 614 3 is_stmt 1 view .LVU324
 614:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 1264              		.loc 1 614 45 is_stmt 0 view .LVU325
 1265 0008 C900     		lsls	r1, r1, #3
 1266              	.LVL95:
 614:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 1267              		.loc 1 614 20 view .LVU326
 1268 000a 1943     		orrs	r1, r3
 1269 000c 024B     		ldr	r3, .L88+4
 1270              	.LVL96:
 614:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 1271              		.loc 1 614 20 view .LVU327
 1272 000e 1943     		orrs	r1, r3
 614:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 1273              		.loc 1 614 13 view .LVU328
 1274 0010 5161     		str	r1, [r2, #20]
 615:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1275              		.loc 1 615 1 view .LVU329
 1276              		@ sp needed
 1277 0012 7047     		bx	lr
 1278              	.L89:
 1279              		.align	2
 1280              	.L88:
 1281 0014 00200240 		.word	1073881088
 1282 0018 02000100 		.word	65538
 1283              		.cfi_endproc
 1284              	.LFE307:
 1286              		.section	.text.HAL_FLASHEx_Erase,"ax",%progbits
 1287              		.align	1
ARM GAS  /tmp/ccHUARcC.s 			page 48


 1288              		.global	HAL_FLASHEx_Erase
 1289              		.syntax unified
 1290              		.code	16
 1291              		.thumb_func
 1292              		.fpu softvfp
 1294              	HAL_FLASHEx_Erase:
 1295              	.LVL97:
 1296              	.LFB297:
 157:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   HAL_StatusTypeDef status;
 1297              		.loc 1 157 1 is_stmt 1 view -0
 1298              		.cfi_startproc
 1299              		@ args = 0, pretend = 0, frame = 0
 1300              		@ frame_needed = 0, uses_anonymous_args = 0
 157:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   HAL_StatusTypeDef status;
 1301              		.loc 1 157 1 is_stmt 0 view .LVU331
 1302 0000 70B5     		push	{r4, r5, r6, lr}
 1303              	.LCFI9:
 1304              		.cfi_def_cfa_offset 16
 1305              		.cfi_offset 4, -16
 1306              		.cfi_offset 5, -12
 1307              		.cfi_offset 6, -8
 1308              		.cfi_offset 14, -4
 1309 0002 0400     		movs	r4, r0
 1310 0004 0E00     		movs	r6, r1
 158:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   uint32_t index;
 1311              		.loc 1 158 3 is_stmt 1 view .LVU332
 159:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1312              		.loc 1 159 3 view .LVU333
 162:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1313              		.loc 1 162 3 view .LVU334
 165:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1314              		.loc 1 165 3 view .LVU335
 165:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1315              		.loc 1 165 3 view .LVU336
 1316 0006 1F4B     		ldr	r3, .L101
 1317 0008 1B78     		ldrb	r3, [r3]
 1318 000a 012B     		cmp	r3, #1
 1319 000c 37D0     		beq	.L98
 165:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1320              		.loc 1 165 3 discriminator 2 view .LVU337
 1321 000e 1D4B     		ldr	r3, .L101
 1322 0010 0122     		movs	r2, #1
 1323 0012 1A70     		strb	r2, [r3]
 165:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1324              		.loc 1 165 3 discriminator 2 view .LVU338
 168:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1325              		.loc 1 168 3 discriminator 2 view .LVU339
 168:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1326              		.loc 1 168 20 is_stmt 0 discriminator 2 view .LVU340
 1327 0014 0022     		movs	r2, #0
 1328 0016 5A60     		str	r2, [r3, #4]
 171:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1329              		.loc 1 171 3 is_stmt 1 discriminator 2 view .LVU341
 171:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1330              		.loc 1 171 12 is_stmt 0 discriminator 2 view .LVU342
 1331 0018 FA20     		movs	r0, #250
 1332              	.LVL98:
ARM GAS  /tmp/ccHUARcC.s 			page 49


 171:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1333              		.loc 1 171 12 discriminator 2 view .LVU343
 1334 001a 8000     		lsls	r0, r0, #2
 1335 001c FFF7FEFF 		bl	FLASH_WaitForLastOperation
 1336              	.LVL99:
 173:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 1337              		.loc 1 173 3 is_stmt 1 discriminator 2 view .LVU344
 173:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 1338              		.loc 1 173 6 is_stmt 0 discriminator 2 view .LVU345
 1339 0020 0028     		cmp	r0, #0
 1340 0022 28D1     		bne	.L92
 177:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #endif /* FLASH_DBANK_SUPPORT */
 1341              		.loc 1 177 5 is_stmt 1 view .LVU346
 177:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #endif /* FLASH_DBANK_SUPPORT */
 1342              		.loc 1 177 23 is_stmt 0 view .LVU347
 1343 0024 0423     		movs	r3, #4
 1344 0026 6360     		str	r3, [r4, #4]
 180:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     {
 1345              		.loc 1 180 5 is_stmt 1 view .LVU348
 180:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     {
 1346              		.loc 1 180 8 is_stmt 0 view .LVU349
 1347 0028 2368     		ldr	r3, [r4]
 1348 002a 042B     		cmp	r3, #4
 1349 002c 15D0     		beq	.L99
 191:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1350              		.loc 1 191 7 is_stmt 1 view .LVU350
 191:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1351              		.loc 1 191 18 is_stmt 0 view .LVU351
 1352 002e 0123     		movs	r3, #1
 1353 0030 5B42     		rsbs	r3, r3, #0
 1354 0032 3360     		str	r3, [r6]
 193:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       {
 1355              		.loc 1 193 7 is_stmt 1 view .LVU352
 193:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       {
 1356              		.loc 1 193 18 is_stmt 0 view .LVU353
 1357 0034 A568     		ldr	r5, [r4, #8]
 1358              	.LVL100:
 1359              	.L94:
 193:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       {
 1360              		.loc 1 193 38 is_stmt 1 discriminator 1 view .LVU354
 193:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       {
 1361              		.loc 1 193 64 is_stmt 0 discriminator 1 view .LVU355
 1362 0036 A368     		ldr	r3, [r4, #8]
 1363 0038 E268     		ldr	r2, [r4, #12]
 1364 003a 9446     		mov	ip, r2
 1365 003c 6344     		add	r3, r3, ip
 193:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       {
 1366              		.loc 1 193 7 discriminator 1 view .LVU356
 1367 003e AB42     		cmp	r3, r5
 1368 0040 14D9     		bls	.L96
 196:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1369              		.loc 1 196 9 is_stmt 1 view .LVU357
 1370 0042 2900     		movs	r1, r5
 1371 0044 6068     		ldr	r0, [r4, #4]
 1372              	.LVL101:
 196:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1373              		.loc 1 196 9 is_stmt 0 view .LVU358
ARM GAS  /tmp/ccHUARcC.s 			page 50


 1374 0046 FFF7FEFF 		bl	FLASH_PageErase
 1375              	.LVL102:
 199:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1376              		.loc 1 199 9 is_stmt 1 view .LVU359
 199:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1377              		.loc 1 199 18 is_stmt 0 view .LVU360
 1378 004a FA20     		movs	r0, #250
 1379 004c 8000     		lsls	r0, r0, #2
 1380 004e FFF7FEFF 		bl	FLASH_WaitForLastOperation
 1381              	.LVL103:
 201:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****         {
 1382              		.loc 1 201 9 is_stmt 1 view .LVU361
 201:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****         {
 1383              		.loc 1 201 12 is_stmt 0 view .LVU362
 1384 0052 0028     		cmp	r0, #0
 1385 0054 09D1     		bne	.L100
 193:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       {
 1386              		.loc 1 193 88 is_stmt 1 discriminator 2 view .LVU363
 193:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       {
 1387              		.loc 1 193 93 is_stmt 0 discriminator 2 view .LVU364
 1388 0056 0135     		adds	r5, r5, #1
 1389              	.LVL104:
 193:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       {
 1390              		.loc 1 193 93 discriminator 2 view .LVU365
 1391 0058 EDE7     		b	.L94
 1392              	.LVL105:
 1393              	.L99:
 183:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1394              		.loc 1 183 7 is_stmt 1 view .LVU366
 1395 005a 0430     		adds	r0, r0, #4
 1396              	.LVL106:
 183:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1397              		.loc 1 183 7 is_stmt 0 view .LVU367
 1398 005c FFF7FEFF 		bl	FLASH_MassErase
 1399              	.LVL107:
 186:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     }
 1400              		.loc 1 186 7 is_stmt 1 view .LVU368
 186:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     }
 1401              		.loc 1 186 16 is_stmt 0 view .LVU369
 1402 0060 FA20     		movs	r0, #250
 1403 0062 8000     		lsls	r0, r0, #2
 1404 0064 FFF7FEFF 		bl	FLASH_WaitForLastOperation
 1405              	.LVL108:
 186:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     }
 1406              		.loc 1 186 16 view .LVU370
 1407 0068 05E0     		b	.L92
 1408              	.LVL109:
 1409              	.L100:
 204:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****           break;
 1410              		.loc 1 204 11 is_stmt 1 view .LVU371
 204:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****           break;
 1411              		.loc 1 204 22 is_stmt 0 view .LVU372
 1412 006a 3560     		str	r5, [r6]
 205:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****         }
 1413              		.loc 1 205 11 is_stmt 1 view .LVU373
 1414              	.LVL110:
 1415              	.L96:
ARM GAS  /tmp/ccHUARcC.s 			page 51


 210:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     }
 1416              		.loc 1 210 7 view .LVU374
 1417 006c 064A     		ldr	r2, .L101+4
 1418 006e 5369     		ldr	r3, [r2, #20]
 1419 0070 0221     		movs	r1, #2
 1420 0072 8B43     		bics	r3, r1
 1421 0074 5361     		str	r3, [r2, #20]
 1422              	.LVL111:
 1423              	.L92:
 215:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1424              		.loc 1 215 3 view .LVU375
 215:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1425              		.loc 1 215 3 view .LVU376
 1426 0076 034B     		ldr	r3, .L101
 1427 0078 0022     		movs	r2, #0
 1428 007a 1A70     		strb	r2, [r3]
 215:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1429              		.loc 1 215 3 view .LVU377
 218:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** }
 1430              		.loc 1 218 3 view .LVU378
 1431              	.LVL112:
 1432              	.L91:
 219:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1433              		.loc 1 219 1 is_stmt 0 view .LVU379
 1434              		@ sp needed
 1435              	.LVL113:
 1436              	.LVL114:
 219:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1437              		.loc 1 219 1 view .LVU380
 1438 007c 70BD     		pop	{r4, r5, r6, pc}
 1439              	.LVL115:
 1440              	.L98:
 165:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1441              		.loc 1 165 3 view .LVU381
 1442 007e 0220     		movs	r0, #2
 1443              	.LVL116:
 165:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1444              		.loc 1 165 3 view .LVU382
 1445 0080 FCE7     		b	.L91
 1446              	.L102:
 1447 0082 C046     		.align	2
 1448              	.L101:
 1449 0084 00000000 		.word	pFlash
 1450 0088 00200240 		.word	1073881088
 1451              		.cfi_endproc
 1452              	.LFE297:
 1454              		.section	.text.HAL_FLASHEx_Erase_IT,"ax",%progbits
 1455              		.align	1
 1456              		.global	HAL_FLASHEx_Erase_IT
 1457              		.syntax unified
 1458              		.code	16
 1459              		.thumb_func
 1460              		.fpu softvfp
 1462              	HAL_FLASHEx_Erase_IT:
 1463              	.LVL117:
 1464              	.LFB298:
 229:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   HAL_StatusTypeDef status;
ARM GAS  /tmp/ccHUARcC.s 			page 52


 1465              		.loc 1 229 1 is_stmt 1 view -0
 1466              		.cfi_startproc
 1467              		@ args = 0, pretend = 0, frame = 0
 1468              		@ frame_needed = 0, uses_anonymous_args = 0
 229:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   HAL_StatusTypeDef status;
 1469              		.loc 1 229 1 is_stmt 0 view .LVU384
 1470 0000 70B5     		push	{r4, r5, r6, lr}
 1471              	.LCFI10:
 1472              		.cfi_def_cfa_offset 16
 1473              		.cfi_offset 4, -16
 1474              		.cfi_offset 5, -12
 1475              		.cfi_offset 6, -8
 1476              		.cfi_offset 14, -4
 1477 0002 0400     		movs	r4, r0
 230:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1478              		.loc 1 230 3 is_stmt 1 view .LVU385
 233:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1479              		.loc 1 233 3 view .LVU386
 236:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1480              		.loc 1 236 3 view .LVU387
 236:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1481              		.loc 1 236 3 view .LVU388
 1482 0004 1A4B     		ldr	r3, .L109
 1483 0006 1B78     		ldrb	r3, [r3]
 1484 0008 012B     		cmp	r3, #1
 1485 000a 2ED0     		beq	.L107
 236:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1486              		.loc 1 236 3 discriminator 2 view .LVU389
 1487 000c 184B     		ldr	r3, .L109
 1488 000e 0122     		movs	r2, #1
 1489 0010 1A70     		strb	r2, [r3]
 236:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1490              		.loc 1 236 3 discriminator 2 view .LVU390
 239:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1491              		.loc 1 239 3 discriminator 2 view .LVU391
 239:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1492              		.loc 1 239 20 is_stmt 0 discriminator 2 view .LVU392
 1493 0012 0022     		movs	r2, #0
 1494 0014 5A60     		str	r2, [r3, #4]
 242:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1495              		.loc 1 242 3 is_stmt 1 discriminator 2 view .LVU393
 242:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1496              		.loc 1 242 27 is_stmt 0 discriminator 2 view .LVU394
 1497 0016 0268     		ldr	r2, [r0]
 1498 0018 9A60     		str	r2, [r3, #8]
 245:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1499              		.loc 1 245 3 is_stmt 1 discriminator 2 view .LVU395
 245:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1500              		.loc 1 245 12 is_stmt 0 discriminator 2 view .LVU396
 1501 001a FA20     		movs	r0, #250
 1502              	.LVL118:
 245:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1503              		.loc 1 245 12 discriminator 2 view .LVU397
 1504 001c 8000     		lsls	r0, r0, #2
 1505 001e FFF7FEFF 		bl	FLASH_WaitForLastOperation
 1506              	.LVL119:
 1507 0022 051E     		subs	r5, r0, #0
ARM GAS  /tmp/ccHUARcC.s 			page 53


 1508              	.LVL120:
 247:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 1509              		.loc 1 247 3 is_stmt 1 discriminator 2 view .LVU398
 247:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 1510              		.loc 1 247 6 is_stmt 0 discriminator 2 view .LVU399
 1511 0024 04D0     		beq	.L105
 250:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 1512              		.loc 1 250 5 is_stmt 1 view .LVU400
 250:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 1513              		.loc 1 250 5 view .LVU401
 1514 0026 124B     		ldr	r3, .L109
 1515 0028 0022     		movs	r2, #0
 1516 002a 1A70     		strb	r2, [r3]
 250:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 1517              		.loc 1 250 5 view .LVU402
 1518              	.LVL121:
 1519              	.L104:
 285:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1520              		.loc 1 285 1 is_stmt 0 view .LVU403
 1521 002c 2800     		movs	r0, r5
 1522              		@ sp needed
 1523              	.LVL122:
 285:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1524              		.loc 1 285 1 view .LVU404
 1525 002e 70BD     		pop	{r4, r5, r6, pc}
 1526              	.LVL123:
 1527              	.L105:
 256:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #endif /* FLASH_DBANK_SUPPORT */
 1528              		.loc 1 256 5 is_stmt 1 view .LVU405
 256:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** #endif /* FLASH_DBANK_SUPPORT */
 1529              		.loc 1 256 23 is_stmt 0 view .LVU406
 1530 0030 0423     		movs	r3, #4
 1531 0032 6360     		str	r3, [r4, #4]
 259:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1532              		.loc 1 259 5 is_stmt 1 view .LVU407
 259:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1533              		.loc 1 259 18 is_stmt 0 view .LVU408
 1534 0034 0E4A     		ldr	r2, .L109
 1535 0036 1361     		str	r3, [r2, #16]
 262:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1536              		.loc 1 262 5 is_stmt 1 view .LVU409
 262:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1537              		.loc 1 262 15 is_stmt 0 view .LVU410
 1538 0038 0E4A     		ldr	r2, .L109+4
 1539 003a 5169     		ldr	r1, [r2, #20]
 1540 003c C023     		movs	r3, #192
 1541 003e 9B04     		lsls	r3, r3, #18
 1542 0040 0B43     		orrs	r3, r1
 1543 0042 5361     		str	r3, [r2, #20]
 264:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     {
 1544              		.loc 1 264 5 is_stmt 1 view .LVU411
 264:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     {
 1545              		.loc 1 264 8 is_stmt 0 view .LVU412
 1546 0044 2368     		ldr	r3, [r4]
 1547 0046 042B     		cmp	r3, #4
 1548 0048 08D0     		beq	.L108
 275:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       pFlash.Page = pEraseInit->Page;
ARM GAS  /tmp/ccHUARcC.s 			page 54


 1549              		.loc 1 275 7 is_stmt 1 view .LVU413
 275:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****       pFlash.Page = pEraseInit->Page;
 1550              		.loc 1 275 29 is_stmt 0 view .LVU414
 1551 004a 094B     		ldr	r3, .L109
 1552 004c E268     		ldr	r2, [r4, #12]
 1553 004e 9A61     		str	r2, [r3, #24]
 276:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1554              		.loc 1 276 7 is_stmt 1 view .LVU415
 276:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1555              		.loc 1 276 31 is_stmt 0 view .LVU416
 1556 0050 A168     		ldr	r1, [r4, #8]
 276:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1557              		.loc 1 276 19 view .LVU417
 1558 0052 5961     		str	r1, [r3, #20]
 279:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     }
 1559              		.loc 1 279 7 is_stmt 1 view .LVU418
 1560 0054 6068     		ldr	r0, [r4, #4]
 1561              	.LVL124:
 279:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     }
 1562              		.loc 1 279 7 is_stmt 0 view .LVU419
 1563 0056 FFF7FEFF 		bl	FLASH_PageErase
 1564              	.LVL125:
 1565 005a E7E7     		b	.L104
 1566              	.LVL126:
 1567              	.L108:
 267:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1568              		.loc 1 267 7 is_stmt 1 view .LVU420
 267:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1569              		.loc 1 267 19 is_stmt 0 view .LVU421
 1570 005c 044B     		ldr	r3, .L109
 1571 005e 0022     		movs	r2, #0
 1572 0060 5A61     		str	r2, [r3, #20]
 270:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     }
 1573              		.loc 1 270 7 is_stmt 1 view .LVU422
 1574 0062 6068     		ldr	r0, [r4, #4]
 1575              	.LVL127:
 270:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     }
 1576              		.loc 1 270 7 is_stmt 0 view .LVU423
 1577 0064 FFF7FEFF 		bl	FLASH_MassErase
 1578              	.LVL128:
 1579 0068 E0E7     		b	.L104
 1580              	.LVL129:
 1581              	.L107:
 236:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1582              		.loc 1 236 3 view .LVU424
 1583 006a 0225     		movs	r5, #2
 1584 006c DEE7     		b	.L104
 1585              	.L110:
 1586 006e C046     		.align	2
 1587              	.L109:
 1588 0070 00000000 		.word	pFlash
 1589 0074 00200240 		.word	1073881088
 1590              		.cfi_endproc
 1591              	.LFE298:
 1593              		.section	.text.FLASH_FlushCaches,"ax",%progbits
 1594              		.align	1
 1595              		.global	FLASH_FlushCaches
ARM GAS  /tmp/ccHUARcC.s 			page 55


 1596              		.syntax unified
 1597              		.code	16
 1598              		.thumb_func
 1599              		.fpu softvfp
 1601              	FLASH_FlushCaches:
 1602              	.LFB308:
 622:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   /* Flush instruction cache  */
 1603              		.loc 1 622 1 is_stmt 1 view -0
 1604              		.cfi_startproc
 1605              		@ args = 0, pretend = 0, frame = 0
 1606              		@ frame_needed = 0, uses_anonymous_args = 0
 1607              		@ link register save eliminated.
 624:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 1608              		.loc 1 624 3 view .LVU426
 624:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 1609              		.loc 1 624 7 is_stmt 0 view .LVU427
 1610 0000 0B4B     		ldr	r3, .L113
 1611 0002 1B68     		ldr	r3, [r3]
 624:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   {
 1612              		.loc 1 624 6 view .LVU428
 1613 0004 9B05     		lsls	r3, r3, #22
 1614 0006 12D5     		bpl	.L111
 627:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Reset instruction cache */
 1615              		.loc 1 627 5 is_stmt 1 view .LVU429
 1616 0008 094B     		ldr	r3, .L113
 1617 000a 1A68     		ldr	r2, [r3]
 1618 000c 0949     		ldr	r1, .L113+4
 1619 000e 0A40     		ands	r2, r1
 1620 0010 1A60     		str	r2, [r3]
 629:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Enable instruction cache */
 1621              		.loc 1 629 5 view .LVU430
 629:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Enable instruction cache */
 1622              		.loc 1 629 5 view .LVU431
 1623 0012 1968     		ldr	r1, [r3]
 1624 0014 8022     		movs	r2, #128
 1625 0016 1201     		lsls	r2, r2, #4
 1626 0018 0A43     		orrs	r2, r1
 1627 001a 1A60     		str	r2, [r3]
 629:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Enable instruction cache */
 1628              		.loc 1 629 5 view .LVU432
 1629 001c 1A68     		ldr	r2, [r3]
 1630 001e 0649     		ldr	r1, .L113+8
 1631 0020 0A40     		ands	r2, r1
 1632 0022 1A60     		str	r2, [r3]
 629:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****     /* Enable instruction cache */
 1633              		.loc 1 629 5 view .LVU433
 631:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c ****   }
 1634              		.loc 1 631 5 view .LVU434
 1635 0024 1968     		ldr	r1, [r3]
 1636 0026 8022     		movs	r2, #128
 1637 0028 9200     		lsls	r2, r2, #2
 1638 002a 0A43     		orrs	r2, r1
 1639 002c 1A60     		str	r2, [r3]
 1640              	.L111:
 633:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c **** 
 1641              		.loc 1 633 1 is_stmt 0 view .LVU435
 1642              		@ sp needed
ARM GAS  /tmp/ccHUARcC.s 			page 56


 1643 002e 7047     		bx	lr
 1644              	.L114:
 1645              		.align	2
 1646              	.L113:
 1647 0030 00200240 		.word	1073881088
 1648 0034 FFFDFFFF 		.word	-513
 1649 0038 FFF7FFFF 		.word	-2049
 1650              		.cfi_endproc
 1651              	.LFE308:
 1653              		.text
 1654              	.Letext0:
 1655              		.file 2 "/usr/lib/gcc/arm-none-eabi/10.3.1/include/stdint.h"
 1656              		.file 3 "Drivers/CMSIS/Device/ST/STM32G0xx/Include/stm32g031xx.h"
 1657              		.file 4 "Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_def.h"
 1658              		.file 5 "Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_flash.h"
 1659              		.file 6 "Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_ll_dma.h"
ARM GAS  /tmp/ccHUARcC.s 			page 57


DEFINED SYMBOLS
                            *ABS*:0000000000000000 stm32g0xx_hal_flash_ex.c
     /tmp/ccHUARcC.s:16     .text.FLASH_MassErase:0000000000000000 $t
     /tmp/ccHUARcC.s:23     .text.FLASH_MassErase:0000000000000000 FLASH_MassErase
     /tmp/ccHUARcC.s:50     .text.FLASH_MassErase:0000000000000010 $d
     /tmp/ccHUARcC.s:55     .text.FLASH_OB_WRPConfig:0000000000000000 $t
     /tmp/ccHUARcC.s:61     .text.FLASH_OB_WRPConfig:0000000000000000 FLASH_OB_WRPConfig
     /tmp/ccHUARcC.s:104    .text.FLASH_OB_WRPConfig:0000000000000018 $d
     /tmp/ccHUARcC.s:109    .text.FLASH_OB_GetWRP:0000000000000000 $t
     /tmp/ccHUARcC.s:115    .text.FLASH_OB_GetWRP:0000000000000000 FLASH_OB_GetWRP
     /tmp/ccHUARcC.s:181    .text.FLASH_OB_GetWRP:0000000000000030 $d
     /tmp/ccHUARcC.s:186    .text.FLASH_OB_OptrConfig:0000000000000000 $t
     /tmp/ccHUARcC.s:192    .text.FLASH_OB_OptrConfig:0000000000000000 FLASH_OB_OptrConfig
     /tmp/ccHUARcC.s:237    .text.FLASH_OB_OptrConfig:0000000000000014 $d
     /tmp/ccHUARcC.s:242    .text.FLASH_OB_GetRDP:0000000000000000 $t
     /tmp/ccHUARcC.s:248    .text.FLASH_OB_GetRDP:0000000000000000 FLASH_OB_GetRDP
     /tmp/ccHUARcC.s:280    .text.FLASH_OB_GetRDP:0000000000000014 $d
     /tmp/ccHUARcC.s:285    .text.FLASH_OB_GetUser:0000000000000000 $t
     /tmp/ccHUARcC.s:291    .text.FLASH_OB_GetUser:0000000000000000 FLASH_OB_GetUser
     /tmp/ccHUARcC.s:313    .text.FLASH_OB_GetUser:000000000000000c $d
     /tmp/ccHUARcC.s:319    .text.FLASH_OB_PCROP1AConfig:0000000000000000 $t
     /tmp/ccHUARcC.s:325    .text.FLASH_OB_PCROP1AConfig:0000000000000000 FLASH_OB_PCROP1AConfig
     /tmp/ccHUARcC.s:413    .text.FLASH_OB_PCROP1AConfig:0000000000000034 $d
     /tmp/ccHUARcC.s:418    .text.FLASH_OB_PCROP1BConfig:0000000000000000 $t
     /tmp/ccHUARcC.s:424    .text.FLASH_OB_PCROP1BConfig:0000000000000000 FLASH_OB_PCROP1BConfig
     /tmp/ccHUARcC.s:468    .text.FLASH_OB_PCROP1BConfig:0000000000000018 $d
     /tmp/ccHUARcC.s:473    .text.FLASH_OB_GetPCROP1A:0000000000000000 $t
     /tmp/ccHUARcC.s:479    .text.FLASH_OB_GetPCROP1A:0000000000000000 FLASH_OB_GetPCROP1A
     /tmp/ccHUARcC.s:554    .text.FLASH_OB_GetPCROP1A:0000000000000038 $d
     /tmp/ccHUARcC.s:560    .text.FLASH_OB_GetPCROP1B:0000000000000000 $t
     /tmp/ccHUARcC.s:566    .text.FLASH_OB_GetPCROP1B:0000000000000000 FLASH_OB_GetPCROP1B
     /tmp/ccHUARcC.s:627    .text.FLASH_OB_GetPCROP1B:0000000000000028 $d
     /tmp/ccHUARcC.s:633    .text.FLASH_OB_SecMemConfig:0000000000000000 $t
     /tmp/ccHUARcC.s:639    .text.FLASH_OB_SecMemConfig:0000000000000000 FLASH_OB_SecMemConfig
     /tmp/ccHUARcC.s:679    .text.FLASH_OB_SecMemConfig:0000000000000014 $d
     /tmp/ccHUARcC.s:685    .text.FLASH_OB_GetSecMem:0000000000000000 $t
     /tmp/ccHUARcC.s:691    .text.FLASH_OB_GetSecMem:0000000000000000 FLASH_OB_GetSecMem
     /tmp/ccHUARcC.s:731    .text.FLASH_OB_GetSecMem:0000000000000018 $d
     /tmp/ccHUARcC.s:736    .text.HAL_FLASHEx_OBProgram:0000000000000000 $t
     /tmp/ccHUARcC.s:743    .text.HAL_FLASHEx_OBProgram:0000000000000000 HAL_FLASHEx_OBProgram
     /tmp/ccHUARcC.s:957    .text.HAL_FLASHEx_OBProgram:00000000000000d4 $d
     /tmp/ccHUARcC.s:965    .text.HAL_FLASHEx_OBGetConfig:0000000000000000 $t
     /tmp/ccHUARcC.s:972    .text.HAL_FLASHEx_OBGetConfig:0000000000000000 HAL_FLASHEx_OBGetConfig
     /tmp/ccHUARcC.s:1053   .text.HAL_FLASHEx_OBGetConfig:0000000000000058 $d
     /tmp/ccHUARcC.s:1058   .text.HAL_FLASHEx_EnableDebugger:0000000000000000 $t
     /tmp/ccHUARcC.s:1065   .text.HAL_FLASHEx_EnableDebugger:0000000000000000 HAL_FLASHEx_EnableDebugger
     /tmp/ccHUARcC.s:1086   .text.HAL_FLASHEx_EnableDebugger:0000000000000010 $d
     /tmp/ccHUARcC.s:1091   .text.HAL_FLASHEx_DisableDebugger:0000000000000000 $t
     /tmp/ccHUARcC.s:1098   .text.HAL_FLASHEx_DisableDebugger:0000000000000000 HAL_FLASHEx_DisableDebugger
     /tmp/ccHUARcC.s:1118   .text.HAL_FLASHEx_DisableDebugger:000000000000000c $d
     /tmp/ccHUARcC.s:1124   .text.HAL_FLASHEx_FlashEmptyCheck:0000000000000000 $t
     /tmp/ccHUARcC.s:1131   .text.HAL_FLASHEx_FlashEmptyCheck:0000000000000000 HAL_FLASHEx_FlashEmptyCheck
     /tmp/ccHUARcC.s:1152   .text.HAL_FLASHEx_FlashEmptyCheck:000000000000000c $d
     /tmp/ccHUARcC.s:1157   .text.HAL_FLASHEx_ForceFlashEmpty:0000000000000000 $t
     /tmp/ccHUARcC.s:1164   .text.HAL_FLASHEx_ForceFlashEmpty:0000000000000000 HAL_FLASHEx_ForceFlashEmpty
     /tmp/ccHUARcC.s:1194   .text.HAL_FLASHEx_ForceFlashEmpty:0000000000000010 $d
     /tmp/ccHUARcC.s:1200   .text.HAL_FLASHEx_EnableSecMemProtection:0000000000000000 $t
ARM GAS  /tmp/ccHUARcC.s 			page 58


     /tmp/ccHUARcC.s:1207   .text.HAL_FLASHEx_EnableSecMemProtection:0000000000000000 HAL_FLASHEx_EnableSecMemProtection
     /tmp/ccHUARcC.s:1230   .text.HAL_FLASHEx_EnableSecMemProtection:0000000000000010 $d
     /tmp/ccHUARcC.s:1235   .text.FLASH_PageErase:0000000000000000 $t
     /tmp/ccHUARcC.s:1242   .text.FLASH_PageErase:0000000000000000 FLASH_PageErase
     /tmp/ccHUARcC.s:1281   .text.FLASH_PageErase:0000000000000014 $d
     /tmp/ccHUARcC.s:1287   .text.HAL_FLASHEx_Erase:0000000000000000 $t
     /tmp/ccHUARcC.s:1294   .text.HAL_FLASHEx_Erase:0000000000000000 HAL_FLASHEx_Erase
     /tmp/ccHUARcC.s:1449   .text.HAL_FLASHEx_Erase:0000000000000084 $d
     /tmp/ccHUARcC.s:1455   .text.HAL_FLASHEx_Erase_IT:0000000000000000 $t
     /tmp/ccHUARcC.s:1462   .text.HAL_FLASHEx_Erase_IT:0000000000000000 HAL_FLASHEx_Erase_IT
     /tmp/ccHUARcC.s:1588   .text.HAL_FLASHEx_Erase_IT:0000000000000070 $d
     /tmp/ccHUARcC.s:1594   .text.FLASH_FlushCaches:0000000000000000 $t
     /tmp/ccHUARcC.s:1601   .text.FLASH_FlushCaches:0000000000000000 FLASH_FlushCaches
     /tmp/ccHUARcC.s:1647   .text.FLASH_FlushCaches:0000000000000030 $d

UNDEFINED SYMBOLS
FLASH_WaitForLastOperation
pFlash
