Files
squeow/squeow_sw/build/stm32g4xx_hal_flash_ex.lst
2023-07-02 17:09:41 +02:00

4195 lines
270 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
ARM GAS /tmp/ccudk1nZ.s page 1
1 .cpu cortex-m4
2 .arch armv7e-m
3 .fpu fpv4-sp-d16
4 .eabi_attribute 27, 1
5 .eabi_attribute 28, 1
6 .eabi_attribute 20, 1
7 .eabi_attribute 21, 1
8 .eabi_attribute 23, 3
9 .eabi_attribute 24, 1
10 .eabi_attribute 25, 1
11 .eabi_attribute 26, 1
12 .eabi_attribute 30, 1
13 .eabi_attribute 34, 1
14 .eabi_attribute 18, 4
15 .file "stm32g4xx_hal_flash_ex.c"
16 .text
17 .Ltext0:
18 .cfi_sections .debug_frame
19 .file 1 "Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c"
20 .section .text.FLASH_MassErase,"ax",%progbits
21 .align 1
22 .syntax unified
23 .thumb
24 .thumb_func
26 FLASH_MassErase:
27 .LVL0:
28 .LFB336:
1:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
2:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** ******************************************************************************
3:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @file stm32g4xx_hal_flash_ex.c
4:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @author MCD Application Team
5:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @brief Extended FLASH HAL module driver.
6:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * This file provides firmware functions to manage the following
7:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * functionalities of the FLASH extended peripheral:
8:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * + Extended programming operations functions
9:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** *
10:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** @verbatim
11:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** ==============================================================================
12:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** ##### Flash Extended features #####
13:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** ==============================================================================
14:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
15:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** [..] Comparing to other previous devices, the FLASH interface for STM32G4xx
16:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** devices contains the following additional features
17:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
18:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** (+) Capacity up to 512 Kbytes with dual bank architecture supporting read-while-write
19:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** capability (RWW)
20:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** (+) Dual bank 64-bits memory organization with possibility of single bank 128-bits
21:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** (+) Protected areas including WRP, PCROP and Securable memory
22:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
23:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** ##### How to use this driver #####
24:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** ==============================================================================
25:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** [..] This driver provides functions to configure and program the FLASH memory
26:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** of all STM32G4xx devices. It includes
27:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** (#) Flash Memory Erase functions:
28:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** (++) Lock and Unlock the FLASH interface using HAL_FLASH_Unlock() and
29:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_FLASH_Lock() functions
30:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** (++) Erase function: Erase pages, or mass erase banks
ARM GAS /tmp/ccudk1nZ.s page 2
31:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** (++) There are two modes of erase :
32:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** (+++) Polling Mode using HAL_FLASHEx_Erase()
33:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** (+++) Interrupt Mode using HAL_FLASHEx_Erase_IT()
34:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
35:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** (#) Option Bytes Programming function: Use HAL_FLASHEx_OBProgram() to:
36:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** (++) Configure the write protection areas (WRP)
37:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** (++) Set the Read protection Level (RDP)
38:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** (++) Program the user Option Bytes
39:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** (++) Configure the Proprietary Code ReadOut protection areas (PCROP)
40:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** (++) Configure the Securable memory areas
41:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** (++) Configure the Boot Lock
42:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
43:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** (#) Get Option Bytes Configuration function: Use HAL_FLASHEx_OBGetConfig() to:
44:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** (++) Get the configuration of write protection areas (WRP)
45:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** (++) Get the level of read protection (RDP)
46:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** (++) Get the value of the user Option Bytes
47:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** (++) Get the configuration of Proprietary Code ReadOut Protection areas (PCROP)
48:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** (++) Get the configuration of Securable memory areas
49:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** (++) Get the status of Boot Lock
50:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
51:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** (#) Activation of Securable memory area: Use HAL_FLASHEx_EnableSecMemProtection()
52:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** (++) Deny the access to securable memory area
53:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
54:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** (#) Enable or disable debugger: Use HAL_FLASHEx_EnableDebugger() or
55:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_FLASHEx_DisableDebugger()
56:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
57:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** @endverbatim
58:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** ******************************************************************************
59:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @attention
60:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** *
61:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * Copyright (c) 2019 STMicroelectronics.
62:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * All rights reserved.
63:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** *
64:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * This software is licensed under terms that can be found in the LICENSE file in
65:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * the root directory of this software component.
66:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
67:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** ******************************************************************************
68:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** */
69:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
70:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Includes ------------------------------------------------------------------*/
71:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #include "stm32g4xx_hal.h"
72:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
73:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /** @addtogroup STM32G4xx_HAL_Driver
74:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @{
75:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** */
76:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
77:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /** @defgroup FLASHEx FLASHEx
78:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @brief FLASH Extended HAL module driver
79:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @{
80:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** */
81:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
82:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #ifdef HAL_FLASH_MODULE_ENABLED
83:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
84:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Private typedef -----------------------------------------------------------*/
85:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Private define ------------------------------------------------------------*/
86:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Private macro -------------------------------------------------------------*/
87:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Private variables ---------------------------------------------------------*/
ARM GAS /tmp/ccudk1nZ.s page 3
88:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Private function prototypes -----------------------------------------------*/
89:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Private_Functions FLASHEx Private Functions
90:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @{
91:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** */
92:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static void FLASH_MassErase(uint32_t Banks);
93:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_WRPConfig(uint32_t WRPArea, uint32_t WRPStartOffset, uint32_t WRD
94:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_RDPConfig(uint32_t RDPLevel);
95:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_UserConfig(uint32_t UserType, uint32_t UserConfig);
96:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_PCROPConfig(uint32_t PCROPConfig, uint32_t PCROPStartAddr, uint32
97:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static void FLASH_OB_GetWRP(uint32_t WRPArea, uint32_t *WRPStartOffset, uint32_t *WRDP
98:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static uint32_t FLASH_OB_GetRDP(void);
99:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static uint32_t FLASH_OB_GetUser(void);
100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static void FLASH_OB_GetPCROP(uint32_t *PCROPConfig, uint32_t *PCROPStartAddr, uint32_
101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_SecMemConfig(uint32_t SecMemBank, uint32_t SecMemSize);
102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static void FLASH_OB_GetSecMem(uint32_t SecMemBank, uint32_t *SecMemSize);
103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_BootLockConfig(uint32_t BootLockConfig);
104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static uint32_t FLASH_OB_GetBootLock(void);
105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @}
108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** */
109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Exported functions -------------------------------------------------------*/
111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Exported_Functions FLASHEx Exported Functions
112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @{
113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** */
114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Exported_Functions_Group1 Extended IO operation functions
116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @brief Extended IO operation functions
117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** *
118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** @verbatim
119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** ===============================================================================
120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** ##### Extended programming operation functions #####
121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** ===============================================================================
122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** [..]
123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** This subsection provides a set of functions allowing to manage the Extended FLASH
124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** programming operations Operations.
125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** @endverbatim
127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @{
128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** */
129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @brief Perform a mass erase or erase the specified FLASH memory pages.
131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @param[in] pEraseInit pointer to an FLASH_EraseInitTypeDef structure that
132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * contains the configuration information for the erasing.
133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @param[out] PageError pointer to variable that contains the configuration
134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * information on faulty page in case of error (0xFFFFFFFF means that all
135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * the pages have been correctly erased).
136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @retval HAL_Status
137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** */
138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_StatusTypeDef HAL_FLASHEx_Erase(FLASH_EraseInitTypeDef *pEraseInit, uint32_t *PageError)
139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_StatusTypeDef status;
141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** uint32_t page_index;
142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Check the parameters */
144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_FLASH_TYPEERASE(pEraseInit->TypeErase));
ARM GAS /tmp/ccudk1nZ.s page 4
145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Process Locked */
147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** __HAL_LOCK(&pFlash);
148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if (status == HAL_OK)
153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Deactivate the cache if they are activated to avoid data misbehavior */
157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if (READ_BIT(FLASH->ACR, FLASH_ACR_ICEN) != 0U)
158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if (READ_BIT(FLASH->ACR, FLASH_ACR_DCEN) != 0U)
160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Disable data cache */
162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** __HAL_FLASH_DATA_CACHE_DISABLE();
163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** pFlash.CacheToReactivate = FLASH_CACHE_ICACHE_DCACHE_ENABLED;
164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else
166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** pFlash.CacheToReactivate = FLASH_CACHE_ICACHE_ENABLED;
168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else if (READ_BIT(FLASH->ACR, FLASH_ACR_DCEN) != 0U)
171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Disable data cache */
173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** __HAL_FLASH_DATA_CACHE_DISABLE();
174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** pFlash.CacheToReactivate = FLASH_CACHE_DCACHE_ENABLED;
175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else
177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** pFlash.CacheToReactivate = FLASH_CACHE_DISABLED;
179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if (pEraseInit->TypeErase == FLASH_TYPEERASE_MASSERASE)
182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Mass erase to be done */
184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** FLASH_MassErase(pEraseInit->Banks);
185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* If the erase operation is completed, disable the MER1 and MER2 Bits */
191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, (FLASH_CR_MER1 | FLASH_CR_MER2));
192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #else
193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* If the erase operation is completed, disable the MER1 Bit */
194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, (FLASH_CR_MER1));
195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else
198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /*Initialization of PageError variable*/
200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** *PageError = 0xFFFFFFFFU;
201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
ARM GAS /tmp/ccudk1nZ.s page 5
202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** for (page_index = pEraseInit->Page; page_index < (pEraseInit->Page + pEraseInit->NbPages); pa
203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** FLASH_PageErase(page_index, pEraseInit->Banks);
205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* If the erase operation is completed, disable the PER Bit */
210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, (FLASH_CR_PER | FLASH_CR_PNB));
211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if (status != HAL_OK)
213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* In case of error, stop erase procedure and return the faulty page */
215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** *PageError = page_index;
216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** break;
217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Flush the caches to be sure of the data consistency */
222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** FLASH_FlushCaches();
223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Process Unlocked */
226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** __HAL_UNLOCK(&pFlash);
227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** return status;
229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @brief Perform a mass erase or erase the specified FLASH memory pages with interrupt enabled.
233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @param pEraseInit pointer to an FLASH_EraseInitTypeDef structure that
234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * contains the configuration information for the erasing.
235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @retval HAL_Status
236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** */
237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_StatusTypeDef HAL_FLASHEx_Erase_IT(FLASH_EraseInitTypeDef *pEraseInit)
238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Process Locked */
242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** __HAL_LOCK(&pFlash);
243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Check the parameters */
245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_FLASH_TYPEERASE(pEraseInit->TypeErase));
246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Deactivate the cache if they are activated to avoid data misbehavior */
250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if (READ_BIT(FLASH->ACR, FLASH_ACR_ICEN) != 0U)
251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if (READ_BIT(FLASH->ACR, FLASH_ACR_DCEN) != 0U)
253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Disable data cache */
255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** __HAL_FLASH_DATA_CACHE_DISABLE();
256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** pFlash.CacheToReactivate = FLASH_CACHE_ICACHE_DCACHE_ENABLED;
257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else
ARM GAS /tmp/ccudk1nZ.s page 6
259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** pFlash.CacheToReactivate = FLASH_CACHE_ICACHE_ENABLED;
261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else if (READ_BIT(FLASH->ACR, FLASH_ACR_DCEN) != 0U)
264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Disable data cache */
266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** __HAL_FLASH_DATA_CACHE_DISABLE();
267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** pFlash.CacheToReactivate = FLASH_CACHE_DCACHE_ENABLED;
268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else
270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** pFlash.CacheToReactivate = FLASH_CACHE_DISABLED;
272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Enable End of Operation and Error interrupts */
275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** __HAL_FLASH_ENABLE_IT(FLASH_IT_EOP | FLASH_IT_OPERR);
276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** pFlash.Bank = pEraseInit->Banks;
278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if (pEraseInit->TypeErase == FLASH_TYPEERASE_MASSERASE)
280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Mass erase to be done */
282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** pFlash.ProcedureOnGoing = FLASH_PROC_MASS_ERASE;
283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** FLASH_MassErase(pEraseInit->Banks);
284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else
286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Erase by page to be done */
288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** pFlash.ProcedureOnGoing = FLASH_PROC_PAGE_ERASE;
289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** pFlash.NbPagesToErase = pEraseInit->NbPages;
290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** pFlash.Page = pEraseInit->Page;
291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /*Erase 1st page and wait for IT */
293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** FLASH_PageErase(pEraseInit->Page, pEraseInit->Banks);
294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** return status;
297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @brief Program Option bytes.
301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @param pOBInit pointer to an FLASH_OBInitStruct structure that
302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * contains the configuration information for the programming.
303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @note To configure any option bytes, the option lock bit OPTLOCK must be
304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * cleared with the call of HAL_FLASH_OB_Unlock() function.
305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @note New option bytes configuration will be taken into account in two cases:
306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * - after an option bytes launch through the call of HAL_FLASH_OB_Launch()
307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * - after a power reset (BOR reset or exit from Standby/Shutdown modes)
308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @retval HAL_Status
309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** */
310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_StatusTypeDef HAL_FLASHEx_OBProgram(FLASH_OBProgramInitTypeDef *pOBInit)
311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Check the parameters */
315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_OPTIONBYTE(pOBInit->OptionType));
ARM GAS /tmp/ccudk1nZ.s page 7
316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Process Locked */
318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** __HAL_LOCK(&pFlash);
319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Write protection configuration */
323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if ((pOBInit->OptionType & OPTIONBYTE_WRP) != 0U)
324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Configure of Write protection on the selected area */
326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if (FLASH_OB_WRPConfig(pOBInit->WRPArea, pOBInit->WRPStartOffset, pOBInit->WRPEndOffset) != HAL
327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** status = HAL_ERROR;
329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Read protection configuration */
333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if ((pOBInit->OptionType & OPTIONBYTE_RDP) != 0U)
334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Configure the Read protection level */
336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if (FLASH_OB_RDPConfig(pOBInit->RDPLevel) != HAL_OK)
337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** status = HAL_ERROR;
339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* User Configuration */
343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if ((pOBInit->OptionType & OPTIONBYTE_USER) != 0U)
344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Configure the user option bytes */
346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if (FLASH_OB_UserConfig(pOBInit->USERType, pOBInit->USERConfig) != HAL_OK)
347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** status = HAL_ERROR;
349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* PCROP Configuration */
353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if ((pOBInit->OptionType & OPTIONBYTE_PCROP) != 0U)
354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if (pOBInit->PCROPStartAddr != pOBInit->PCROPEndAddr)
356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Configure the Proprietary code readout protection */
358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if (FLASH_OB_PCROPConfig(pOBInit->PCROPConfig, pOBInit->PCROPStartAddr, pOBInit->PCROPEndAddr
359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** status = HAL_ERROR;
361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Securable memory Configuration */
366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if ((pOBInit->OptionType & OPTIONBYTE_SEC) != 0U)
367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Configure the securable memory area */
369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if (FLASH_OB_SecMemConfig(pOBInit->SecBank, pOBInit->SecSize) != HAL_OK)
370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** status = HAL_ERROR;
372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
ARM GAS /tmp/ccudk1nZ.s page 8
373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Boot Entry Point Configuration */
376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if ((pOBInit->OptionType & OPTIONBYTE_BOOT_LOCK) != 0U)
377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Configure the boot unique entry point option */
379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if (FLASH_OB_BootLockConfig(pOBInit->BootEntryPoint) != HAL_OK)
380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** status = HAL_ERROR;
382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Process Unlocked */
386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** __HAL_UNLOCK(&pFlash);
387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** return status;
389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @brief Get the Option bytes configuration.
393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @param pOBInit pointer to an FLASH_OBInitStruct structure that contains the
394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * configuration information.
395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @note The fields pOBInit->WRPArea and pOBInit->PCROPConfig should indicate
396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * which area is requested for the WRP and PCROP, else no information will be returned.
397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @retval None
398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** */
399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** void HAL_FLASHEx_OBGetConfig(FLASH_OBProgramInitTypeDef *pOBInit)
400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** pOBInit->OptionType = (OPTIONBYTE_RDP | OPTIONBYTE_USER);
402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if ((pOBInit->WRPArea == OB_WRPAREA_BANK1_AREAA) || (pOBInit->WRPArea == OB_WRPAREA_BANK1_AREAB)
405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** (pOBInit->WRPArea == OB_WRPAREA_BANK2_AREAA) || (pOBInit->WRPArea == OB_WRPAREA_BANK2_AREAB))
406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #else
407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if ((pOBInit->WRPArea == OB_WRPAREA_BANK1_AREAA) || (pOBInit->WRPArea == OB_WRPAREA_BANK1_AREAB))
408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** pOBInit->OptionType |= OPTIONBYTE_WRP;
411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Get write protection on the selected area */
412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** FLASH_OB_GetWRP(pOBInit->WRPArea, &(pOBInit->WRPStartOffset), &(pOBInit->WRPEndOffset));
413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Get Read protection level */
416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** pOBInit->RDPLevel = FLASH_OB_GetRDP();
417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Get the user option bytes */
419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** pOBInit->USERConfig = FLASH_OB_GetUser();
420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if ((pOBInit->PCROPConfig == FLASH_BANK_1) || (pOBInit->PCROPConfig == FLASH_BANK_2))
423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #else
424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if (pOBInit->PCROPConfig == FLASH_BANK_1)
425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** pOBInit->OptionType |= OPTIONBYTE_PCROP;
428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Get the Proprietary code readout protection */
429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** FLASH_OB_GetPCROP(&(pOBInit->PCROPConfig), &(pOBInit->PCROPStartAddr), &(pOBInit->PCROPEndAddr)
ARM GAS /tmp/ccudk1nZ.s page 9
430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** pOBInit->OptionType |= OPTIONBYTE_BOOT_LOCK;
433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Get the boot entry point */
435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** pOBInit->BootEntryPoint = FLASH_OB_GetBootLock();
436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Get the securable memory area configuration */
438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if ((pOBInit->SecBank == FLASH_BANK_1) || (pOBInit->SecBank == FLASH_BANK_2))
440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #else
441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if (pOBInit->SecBank == FLASH_BANK_1)
442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** pOBInit->OptionType |= OPTIONBYTE_SEC;
445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** FLASH_OB_GetSecMem(pOBInit->SecBank, &(pOBInit->SecSize));
446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @brief Enable the FLASH Securable Memory protection.
451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @param Bank: Bank to be protected
452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * This parameter can be one of the following values:
453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @arg FLASH_BANK_1: Bank1 to be protected
454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @arg FLASH_BANK_2: Bank2 to be protected (*)
455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @arg FLASH_BANK_BOTH: Bank1 and Bank2 to be protected (*)
456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @note (*) availability depends on devices
457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @retval HAL Status
458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** */
459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_StatusTypeDef HAL_FLASHEx_EnableSecMemProtection(uint32_t Bank)
460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if (READ_BIT(FLASH->OPTR, FLASH_OPTR_DBANK) != 0U)
463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Check the parameters */
465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_FLASH_BANK(Bank));
466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Enable the Securable Memory Protection Bit for the bank 1 if requested */
468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if ((Bank & FLASH_BANK_1) != 0U)
469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_SEC_PROT1);
471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Enable the Securable Memory Protection Bit for the bank 2 if requested */
474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if ((Bank & FLASH_BANK_2) != 0U)
475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_SEC_PROT2);
477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else
480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_SEC_PROT1);
483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** return HAL_OK;
486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
ARM GAS /tmp/ccudk1nZ.s page 10
487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @brief Enable Debugger.
490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @note After calling this API, flash interface allow debugger intrusion.
491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @retval None
492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** */
493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** void HAL_FLASHEx_EnableDebugger(void)
494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** FLASH->ACR |= FLASH_ACR_DBG_SWEN;
496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @brief Disable Debugger.
501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @note After calling this API, Debugger is disabled: it's no more possible to
502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * break, see CPU register, etc...
503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @retval None
504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** */
505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** void HAL_FLASHEx_DisableDebugger(void)
506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** FLASH->ACR &= ~FLASH_ACR_DBG_SWEN;
508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @}
512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** */
513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @}
516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** */
517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Private functions ---------------------------------------------------------*/
519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /** @addtogroup FLASHEx_Private_Functions
521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @{
522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** */
523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @brief Mass erase of FLASH memory.
525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @param Banks Banks to be erased.
526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * This parameter can be one of the following values:
527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @arg FLASH_BANK_1: Bank1 to be erased
528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @arg FLASH_BANK_2: Bank2 to be erased (*)
529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @arg FLASH_BANK_BOTH: Bank1 and Bank2 to be erased (*)
530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @note (*) availability depends on devices
531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @retval None
532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** */
533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static void FLASH_MassErase(uint32_t Banks)
534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
29 .loc 1 534 1 view -0
30 .cfi_startproc
31 @ args = 0, pretend = 0, frame = 0
32 @ frame_needed = 0, uses_anonymous_args = 0
33 @ link register save eliminated.
535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if (READ_BIT(FLASH->OPTR, FLASH_OPTR_DBANK) != 0U)
537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
ARM GAS /tmp/ccudk1nZ.s page 11
539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Check the parameters */
540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_FLASH_BANK(Banks));
34 .loc 1 540 5 view .LVU1
541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Set the Mass Erase Bit for the bank 1 if requested */
543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if ((Banks & FLASH_BANK_1) != 0U)
35 .loc 1 543 5 view .LVU2
36 .loc 1 543 8 is_stmt 0 view .LVU3
37 0000 10F0010F tst r0, #1
38 0004 04D0 beq .L2
544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_MER1);
39 .loc 1 545 7 is_stmt 1 view .LVU4
40 0006 054A ldr r2, .L3
41 0008 5369 ldr r3, [r2, #20]
42 000a 43F00403 orr r3, r3, #4
43 000e 5361 str r3, [r2, #20]
44 .L2:
546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Set the Mass Erase Bit for the bank 2 if requested */
550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if ((Banks & FLASH_BANK_2) != 0U)
551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_MER2);
553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else
558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, (FLASH_CR_MER1 | FLASH_CR_MER2));
560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Proceed to erase all sectors */
564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_STRT);
45 .loc 1 564 3 view .LVU5
46 0010 024A ldr r2, .L3
47 0012 5369 ldr r3, [r2, #20]
48 0014 43F48033 orr r3, r3, #65536
49 0018 5361 str r3, [r2, #20]
565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
50 .loc 1 565 1 is_stmt 0 view .LVU6
51 001a 7047 bx lr
52 .L4:
53 .align 2
54 .L3:
55 001c 00200240 .word 1073881088
56 .cfi_endproc
57 .LFE336:
59 .section .text.FLASH_OB_GetSecMem,"ax",%progbits
60 .align 1
61 .syntax unified
62 .thumb
63 .thumb_func
65 FLASH_OB_GetSecMem:
ARM GAS /tmp/ccudk1nZ.s page 12
66 .LVL1:
67 .LFB345:
566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @brief Erase the specified FLASH memory page.
569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @param Page FLASH page to erase.
570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * This parameter must be a value between 0 and (max number of pages in the bank - 1).
571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @param Banks Bank where the page will be erased.
572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * This parameter can be one of the following values:
573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @arg FLASH_BANK_1: Page in bank 1 to be erased
574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @arg FLASH_BANK_2: Page in bank 2 to be erased (*)
575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @note (*) availability depends on devices
576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @retval None
577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** */
578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** void FLASH_PageErase(uint32_t Page, uint32_t Banks)
579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Check the parameters */
581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_FLASH_PAGE(Page));
582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if (READ_BIT(FLASH->OPTR, FLASH_OPTR_DBANK) == 0U)
585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_BKER);
587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else
589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_FLASH_BANK_EXCLUSIVE(Banks));
591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if ((Banks & FLASH_BANK_1) != 0U)
593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_BKER);
595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else
597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_BKER);
599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Proceed to erase the page */
604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** MODIFY_REG(FLASH->CR, FLASH_CR_PNB, ((Page & 0xFFU) << FLASH_CR_PNB_Pos));
605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_PER);
606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_STRT);
607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @brief Flush the instruction and data caches.
611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @retval None
612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** */
613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** void FLASH_FlushCaches(void)
614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** FLASH_CacheTypeDef cache = pFlash.CacheToReactivate;
616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Flush instruction cache */
618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if ((cache == FLASH_CACHE_ICACHE_ENABLED) ||
619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** (cache == FLASH_CACHE_ICACHE_DCACHE_ENABLED))
620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
ARM GAS /tmp/ccudk1nZ.s page 13
621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Disable instruction cache */
622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** __HAL_FLASH_INSTRUCTION_CACHE_DISABLE();
623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Reset instruction cache */
624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** __HAL_FLASH_INSTRUCTION_CACHE_RESET();
625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Enable instruction cache */
626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** __HAL_FLASH_INSTRUCTION_CACHE_ENABLE();
627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Flush data cache */
630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if ((cache == FLASH_CACHE_DCACHE_ENABLED) ||
631:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** (cache == FLASH_CACHE_ICACHE_DCACHE_ENABLED))
632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Reset data cache */
634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** __HAL_FLASH_DATA_CACHE_RESET();
635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Enable data cache */
636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** __HAL_FLASH_DATA_CACHE_ENABLE();
637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Reset internal variable */
640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** pFlash.CacheToReactivate = FLASH_CACHE_DISABLED;
641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @brief Configure the write protection area into Option Bytes.
645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @note When the memory read protection level is selected (RDP level = 1),
646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * it is not possible to program or erase Flash memory if the CPU debug
647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * features are connected (JTAG or single wire) or boot code is being
648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * executed from RAM or System flash, even if WRP is not activated.
649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @note To configure any option bytes, the option lock bit OPTLOCK must be
650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * cleared with the call of HAL_FLASH_OB_Unlock() function.
651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @note New option bytes configuration will be taken into account in two cases:
652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * - after an option bytes launch through the call of HAL_FLASH_OB_Launch()
653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * - after a power reset (BOR reset or exit from Standby/Shutdown modes)
654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @param WRPArea specifies the area to be configured.
655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * This parameter can be one of the following values:
656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @arg OB_WRPAREA_BANK1_AREAA: Flash Bank 1 Area A
657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @arg OB_WRPAREA_BANK1_AREAB: Flash Bank 1 Area B
658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @arg OB_WRPAREA_BANK2_AREAA: Flash Bank 2 Area A (*)
659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @arg OB_WRPAREA_BANK2_AREAB: Flash Bank 2 Area B (*)
660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @note (*) availability depends on devices
661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @param WRPStartOffset specifies the start page of the write protected area.
662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * This parameter can be page number between 0 and (max number of pages in the bank - 1).
663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @param WRDPEndOffset specifies the end page of the write protected area.
664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * This parameter can be page number between WRPStartOffset and (max number of pages in th
665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @retval HAL_Status
666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** */
667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_WRPConfig(uint32_t WRPArea, uint32_t WRPStartOffset, uint32_t WRD
668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_StatusTypeDef status;
670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Check the parameters */
672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_OB_WRPAREA(WRPArea));
673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_FLASH_PAGE(WRPStartOffset));
674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_FLASH_PAGE(WRDPEndOffset));
675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
ARM GAS /tmp/ccudk1nZ.s page 14
678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if (status == HAL_OK)
680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Configure the write protected area */
682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if (WRPArea == OB_WRPAREA_BANK1_AREAA)
683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** FLASH->WRP1AR = ((WRDPEndOffset << FLASH_WRP1AR_WRP1A_END_Pos) | WRPStartOffset);
685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else if (WRPArea == OB_WRPAREA_BANK1_AREAB)
687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** FLASH->WRP1BR = ((WRDPEndOffset << FLASH_WRP1BR_WRP1B_END_Pos) | WRPStartOffset);
689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
690:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else if (WRPArea == OB_WRPAREA_BANK2_AREAA)
692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** FLASH->WRP2AR = ((WRDPEndOffset << FLASH_WRP2AR_WRP2A_END_Pos) | WRPStartOffset);
694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else if (WRPArea == OB_WRPAREA_BANK2_AREAB)
696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** FLASH->WRP2BR = ((WRDPEndOffset << FLASH_WRP2BR_WRP2B_END_Pos) | WRPStartOffset);
698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else
701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Nothing to do */
703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Set OPTSTRT Bit */
706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_OPTSTRT);
707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** return status;
713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @brief Set the read protection level into Option Bytes.
717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @note To configure any option bytes, the option lock bit OPTLOCK must be
718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * cleared with the call of HAL_FLASH_OB_Unlock() function.
719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @note New option bytes configuration will be taken into account in two cases:
720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * - after an option bytes launch through the call of HAL_FLASH_OB_Launch()
721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * - after a power reset (BOR reset or exit from Standby/Shutdown modes)
722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @note !!! Warning : When enabling OB_RDP level 2 it's no more possible
723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * to go back to level 1 or 0 !!!
724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @param RDPLevel specifies the read protection level.
725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * This parameter can be one of the following values:
726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @arg OB_RDP_LEVEL_0: No protection
727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @arg OB_RDP_LEVEL_1: Memory Read protection
728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @arg OB_RDP_LEVEL_2: Full chip protection
729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** *
730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @retval HAL_Status
731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** */
732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_RDPConfig(uint32_t RDPLevel)
733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
734:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_StatusTypeDef status;
ARM GAS /tmp/ccudk1nZ.s page 15
735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Check the parameters */
737:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_OB_RDP_LEVEL(RDPLevel));
738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
742:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if (status == HAL_OK)
743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Configure the RDP level in the option bytes register */
745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** MODIFY_REG(FLASH->OPTR, FLASH_OPTR_RDP, RDPLevel);
746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Set OPTSTRT Bit */
748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_OPTSTRT);
749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** return status;
755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @brief Program the FLASH User Option Bytes.
759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @note To configure any option bytes, the option lock bit OPTLOCK must be
760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * cleared with the call of HAL_FLASH_OB_Unlock() function.
761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @note New option bytes configuration will be taken into account in two cases:
762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * - after an option bytes launch through the call of HAL_FLASH_OB_Launch()
763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * - after a power reset (BOR reset or exit from Standby/Shutdown modes)
764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @param UserType The FLASH User Option Bytes to be modified.
765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * This parameter can be a combination of @ref FLASH_OB_USER_Type.
766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @param UserConfig The selected User Option Bytes values:
767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * This parameter can be a combination of @ref FLASH_OB_USER_BOR_LEVEL,
768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @ref FLASH_OB_USER_nRST_STOP, @ref FLASH_OB_USER_nRST_STANDBY ,
769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @ref FLASH_OB_USER_nRST_SHUTDOWN, @ref FLASH_OB_USER_IWDG_SW,
770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @ref FLASH_OB_USER_IWDG_STOP, @ref FLASH_OB_USER_IWDG_STANDBY,
771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @ref FLASH_OB_USER_WWDG_SW, @ref FLASH_OB_USER_WWDG_SW,
772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @ref FLASH_OB_USER_BFB2 (*), @ref FLASH_OB_USER_nBOOT1,
773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @ref FLASH_OB_USER_SRAM_PE, @ref FLASH_OB_USER_CCMSRAM_RST,
774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @ref FLASH_OB_USER_nSWBOOT0, @ref FLASH_OB_USER_nBOOT0,
775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @ref FLASH_OB_USER_NRST_MODE, @ref FLASH_OB_USER_INTERNAL_RESET_HOLDER
776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @note (*) availability depends on devices
777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @retval HAL_Status
778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** */
779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_UserConfig(uint32_t UserType, uint32_t UserConfig)
780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** uint32_t optr_reg_val = 0;
782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** uint32_t optr_reg_mask = 0;
783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_StatusTypeDef status;
784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Check the parameters */
786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_OB_USER_TYPE(UserType));
787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if (status == HAL_OK)
ARM GAS /tmp/ccudk1nZ.s page 16
792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if ((UserType & OB_USER_BOR_LEV) != 0U)
794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* BOR level option byte should be modified */
796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_OB_USER_BOR_LEVEL(UserConfig & FLASH_OPTR_BOR_LEV));
797:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Set value and mask for BOR level option byte */
799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_val |= (UserConfig & FLASH_OPTR_BOR_LEV);
800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_BOR_LEV;
801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if ((UserType & OB_USER_nRST_STOP) != 0U)
804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* nRST_STOP option byte should be modified */
806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_OB_USER_STOP(UserConfig & FLASH_OPTR_nRST_STOP));
807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Set value and mask for nRST_STOP option byte */
809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_val |= (UserConfig & FLASH_OPTR_nRST_STOP);
810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_nRST_STOP;
811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if ((UserType & OB_USER_nRST_STDBY) != 0U)
814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* nRST_STDBY option byte should be modified */
816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_OB_USER_STANDBY(UserConfig & FLASH_OPTR_nRST_STDBY));
817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Set value and mask for nRST_STDBY option byte */
819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_val |= (UserConfig & FLASH_OPTR_nRST_STDBY);
820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_nRST_STDBY;
821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if ((UserType & OB_USER_nRST_SHDW) != 0U)
824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* nRST_SHDW option byte should be modified */
826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_OB_USER_SHUTDOWN(UserConfig & FLASH_OPTR_nRST_SHDW));
827:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Set value and mask for nRST_SHDW option byte */
829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_val |= (UserConfig & FLASH_OPTR_nRST_SHDW);
830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_nRST_SHDW;
831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if ((UserType & OB_USER_IWDG_SW) != 0U)
834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* IWDG_SW option byte should be modified */
836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_OB_USER_IWDG(UserConfig & FLASH_OPTR_IWDG_SW));
837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
838:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Set value and mask for IWDG_SW option byte */
839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_val |= (UserConfig & FLASH_OPTR_IWDG_SW);
840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_IWDG_SW;
841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if ((UserType & OB_USER_IWDG_STOP) != 0U)
844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* IWDG_STOP option byte should be modified */
846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_OB_USER_IWDG_STOP(UserConfig & FLASH_OPTR_IWDG_STOP));
847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Set value and mask for IWDG_STOP option byte */
ARM GAS /tmp/ccudk1nZ.s page 17
849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_val |= (UserConfig & FLASH_OPTR_IWDG_STOP);
850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_IWDG_STOP;
851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if ((UserType & OB_USER_IWDG_STDBY) != 0U)
854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* IWDG_STDBY option byte should be modified */
856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_OB_USER_IWDG_STDBY(UserConfig & FLASH_OPTR_IWDG_STDBY));
857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Set value and mask for IWDG_STDBY option byte */
859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_val |= (UserConfig & FLASH_OPTR_IWDG_STDBY);
860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_IWDG_STDBY;
861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if ((UserType & OB_USER_WWDG_SW) != 0U)
864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* WWDG_SW option byte should be modified */
866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_OB_USER_WWDG(UserConfig & FLASH_OPTR_WWDG_SW));
867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Set value and mask for WWDG_SW option byte */
869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_val |= (UserConfig & FLASH_OPTR_WWDG_SW);
870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_WWDG_SW;
871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_BFB2)
874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if ((UserType & OB_USER_BFB2) != 0U)
875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* BFB2 option byte should be modified */
877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_OB_USER_BFB2(UserConfig & FLASH_OPTR_BFB2));
878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Set value and mask for BFB2 option byte */
880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_val |= (UserConfig & FLASH_OPTR_BFB2);
881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_BFB2;
882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if ((UserType & OB_USER_nBOOT1) != 0U)
886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* nBOOT1 option byte should be modified */
888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_OB_USER_BOOT1(UserConfig & FLASH_OPTR_nBOOT1));
889:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Set value and mask for nBOOT1 option byte */
891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_val |= (UserConfig & FLASH_OPTR_nBOOT1);
892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_nBOOT1;
893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if ((UserType & OB_USER_SRAM_PE) != 0U)
896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* SRAM_PE option byte should be modified */
898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_OB_USER_SRAM_PARITY(UserConfig & FLASH_OPTR_SRAM_PE));
899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Set value and mask for SRAM_PE option byte */
901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_val |= (UserConfig & FLASH_OPTR_SRAM_PE);
902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_SRAM_PE;
903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if ((UserType & OB_USER_CCMSRAM_RST) != 0U)
ARM GAS /tmp/ccudk1nZ.s page 18
906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* CCMSRAM_RST option byte should be modified */
908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_OB_USER_CCMSRAM_RST(UserConfig & FLASH_OPTR_CCMSRAM_RST));
909:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Set value and mask for CCMSRAM_RST option byte */
911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_val |= (UserConfig & FLASH_OPTR_CCMSRAM_RST);
912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_CCMSRAM_RST;
913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if ((UserType & OB_USER_nSWBOOT0) != 0U)
916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* nSWBOOT0 option byte should be modified */
918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_OB_USER_SWBOOT0(UserConfig & FLASH_OPTR_nSWBOOT0));
919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
920:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Set value and mask for nSWBOOT0 option byte */
921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_val |= (UserConfig & FLASH_OPTR_nSWBOOT0);
922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_nSWBOOT0;
923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if ((UserType & OB_USER_nBOOT0) != 0U)
926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
927:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* nBOOT0 option byte should be modified */
928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_OB_USER_BOOT0(UserConfig & FLASH_OPTR_nBOOT0));
929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Set value and mask for nBOOT0 option byte */
931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_val |= (UserConfig & FLASH_OPTR_nBOOT0);
932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_nBOOT0;
933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if ((UserType & OB_USER_NRST_MODE) != 0U)
936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Reset Configuration option byte should be modified */
938:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_OB_USER_NRST_MODE(UserConfig & FLASH_OPTR_NRST_MODE));
939:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Set value and mask for Reset Configuration option byte */
941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_val |= (UserConfig & FLASH_OPTR_NRST_MODE);
942:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_NRST_MODE;
943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
944:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
945:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if ((UserType & OB_USER_IRHEN) != 0U)
946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* IRH option byte should be modified */
948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_OB_USER_IRHEN(UserConfig & FLASH_OPTR_IRHEN));
949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Set value and mask for IRH option byte */
951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_val |= (UserConfig & FLASH_OPTR_IRHEN);
952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_IRHEN;
953:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Configure the option bytes register */
956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** MODIFY_REG(FLASH->OPTR, optr_reg_mask, optr_reg_val);
957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Set OPTSTRT Bit */
959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_OPTSTRT);
960:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
961:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
ARM GAS /tmp/ccudk1nZ.s page 19
963:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** return status;
966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @brief Configure the Proprietary code readout protection area into Option Bytes.
970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @note To configure any option bytes, the option lock bit OPTLOCK must be
971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * cleared with the call of HAL_FLASH_OB_Unlock() function.
972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @note New option bytes configuration will be taken into account in two cases:
973:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * - after an option bytes launch through the call of HAL_FLASH_OB_Launch()
974:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * - after a power reset (BOR reset or exit from Standby/Shutdown modes)
975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @param PCROPConfig specifies the configuration (Bank to be configured and PCROP_RDP option).
976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * This parameter must be a combination of FLASH_BANK_1 or FLASH_BANK_2 (*)
977:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * with OB_PCROP_RDP_NOT_ERASE or OB_PCROP_RDP_ERASE.
978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @note (*) availability depends on devices
979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @param PCROPStartAddr specifies the start address of the Proprietary code readout protection.
980:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * This parameter can be an address between begin and end of the bank.
981:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @param PCROPEndAddr specifies the end address of the Proprietary code readout protection.
982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * This parameter can be an address between PCROPStartAddr and end of the bank.
983:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @retval HAL_Status
984:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** */
985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_PCROPConfig(uint32_t PCROPConfig, uint32_t PCROPStartAddr, uint32
986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
987:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_StatusTypeDef status;
988:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** uint32_t reg_value;
989:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** uint32_t bank1_addr;
990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
991:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** uint32_t bank2_addr;
992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
994:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Check the parameters */
995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_FLASH_BANK_EXCLUSIVE(PCROPConfig & FLASH_BANK_BOTH));
996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_OB_PCROP_RDP(PCROPConfig & FLASH_PCROP1ER_PCROP_RDP));
997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_FLASH_MAIN_MEM_ADDRESS(PCROPStartAddr));
998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_FLASH_MAIN_MEM_ADDRESS(PCROPEndAddr));
999:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
1001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
1002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if (status == HAL_OK)
1004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
1006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Get the information about the bank swapping */
1007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if (READ_BIT(SYSCFG->MEMRMP, SYSCFG_MEMRMP_FB_MODE) == 0U)
1008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** bank1_addr = FLASH_BASE;
1010:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** bank2_addr = FLASH_BASE + FLASH_BANK_SIZE;
1011:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1012:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else
1013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** bank1_addr = FLASH_BASE + FLASH_BANK_SIZE;
1015:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** bank2_addr = FLASH_BASE;
1016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #else
1018:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** bank1_addr = FLASH_BASE;
1019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
ARM GAS /tmp/ccudk1nZ.s page 20
1020:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
1022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if (READ_BIT(FLASH->OPTR, FLASH_OPTR_DBANK) == 0U)
1023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Configure the Proprietary code readout protection */
1025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if ((PCROPConfig & FLASH_BANK_BOTH) == FLASH_BANK_1)
1026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** reg_value = ((PCROPStartAddr - FLASH_BASE) >> 4);
1028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** MODIFY_REG(FLASH->PCROP1SR, FLASH_PCROP1SR_PCROP1_STRT, reg_value);
1029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** reg_value = ((PCROPEndAddr - FLASH_BASE) >> 4);
1031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** MODIFY_REG(FLASH->PCROP1ER, FLASH_PCROP1ER_PCROP1_END, reg_value);
1032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else if ((PCROPConfig & FLASH_BANK_BOTH) == FLASH_BANK_2)
1034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** reg_value = ((PCROPStartAddr - FLASH_BASE) >> 4);
1036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** MODIFY_REG(FLASH->PCROP2SR, FLASH_PCROP2SR_PCROP2_STRT, reg_value);
1037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** reg_value = ((PCROPEndAddr - FLASH_BASE) >> 4);
1039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** MODIFY_REG(FLASH->PCROP2ER, FLASH_PCROP2ER_PCROP2_END, reg_value);
1040:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1041:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else
1042:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1043:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Nothing to do */
1044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1045:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1046:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else
1047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
1048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Configure the Proprietary code readout protection */
1050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if ((PCROPConfig & FLASH_BANK_BOTH) == FLASH_BANK_1)
1051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1052:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** reg_value = ((PCROPStartAddr - bank1_addr) >> 3);
1053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** MODIFY_REG(FLASH->PCROP1SR, FLASH_PCROP1SR_PCROP1_STRT, reg_value);
1054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** reg_value = ((PCROPEndAddr - bank1_addr) >> 3);
1056:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** MODIFY_REG(FLASH->PCROP1ER, FLASH_PCROP1ER_PCROP1_END, reg_value);
1057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
1059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else if ((PCROPConfig & FLASH_BANK_BOTH) == FLASH_BANK_2)
1060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** reg_value = ((PCROPStartAddr - bank2_addr) >> 3);
1062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** MODIFY_REG(FLASH->PCROP2SR, FLASH_PCROP2SR_PCROP2_STRT, reg_value);
1063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** reg_value = ((PCROPEndAddr - bank2_addr) >> 3);
1065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** MODIFY_REG(FLASH->PCROP2ER, FLASH_PCROP2ER_PCROP2_END, reg_value);
1066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
1068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else
1069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1070:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Nothing to do */
1071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1072:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** MODIFY_REG(FLASH->PCROP1ER, FLASH_PCROP1ER_PCROP_RDP, (PCROPConfig & FLASH_PCROP1ER_PCROP_RDP))
1075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Set OPTSTRT Bit */
ARM GAS /tmp/ccudk1nZ.s page 21
1077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_OPTSTRT);
1078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
1080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
1081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1082:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1083:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** return status;
1084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
1087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @brief Configure the Securable memory area into Option Bytes.
1088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @note To configure any option bytes, the option lock bit OPTLOCK must be
1089:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * cleared with the call of HAL_FLASH_OB_Unlock() function.
1090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @note New option bytes configuration will be taken into account in two cases:
1091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * - after an option bytes launch through the call of HAL_FLASH_OB_Launch()
1092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * - after a power reset (BOR reset or exit from Standby/Shutdown modes)
1093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @param SecBank specifies bank of securable memory area to be configured.
1094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * This parameter can be one of the following values:
1095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @arg FLASH_BANK_1: Securable memory in Bank1 to be configured
1096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @arg FLASH_BANK_2: Securable memory in Bank2 to be configured (*)
1097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @note (*) availability depends on devices
1098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @param SecSize specifies the number of pages of the Securable memory area,
1099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * starting from first page of the bank.
1100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * This parameter can be page number between 0 and (max number of pages in the bank - 1)
1101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @retval HAL Status
1102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** */
1103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_SecMemConfig(uint32_t SecBank, uint32_t SecSize)
1104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_StatusTypeDef status;
1106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Check the parameters */
1108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_FLASH_BANK_EXCLUSIVE(SecBank));
1109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_OB_SECMEM_SIZE(SecSize));
1110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
1112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
1113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if (status == HAL_OK)
1115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Configure the write protected area */
1117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if (SecBank == FLASH_BANK_1)
1118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** MODIFY_REG(FLASH->SEC1R, FLASH_SEC1R_SEC_SIZE1, SecSize);
1120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
1122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else if (SecBank == FLASH_BANK_2)
1123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** MODIFY_REG(FLASH->SEC2R, FLASH_SEC2R_SEC_SIZE2, SecSize);
1125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else
1127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Nothing to do */
1129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
1131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Set OPTSTRT Bit */
1133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_OPTSTRT);
ARM GAS /tmp/ccudk1nZ.s page 22
1134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
1136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
1137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** return status;
1140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
1143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @brief Configure the Boot Lock into Option Bytes.
1144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @note To configure any option bytes, the option lock bit OPTLOCK must be
1145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * cleared with the call of HAL_FLASH_OB_Unlock() function.
1146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @note New option bytes configuration will be taken into account in two cases:
1147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * - after an option bytes launch through the call of HAL_FLASH_OB_Launch()
1148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * - after a power reset (BOR reset or exit from Standby/Shutdown modes)
1149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @param BootLockConfig specifies the boot lock configuration.
1150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * This parameter can be one of the following values:
1151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @arg OB_BOOT_LOCK_ENABLE: Enable Boot Lock
1152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @arg OB_BOOT_LOCK_DISABLE: Disable Boot Lock
1153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** *
1154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @retval HAL_Status
1155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** */
1156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_BootLockConfig(uint32_t BootLockConfig)
1157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_StatusTypeDef status;
1159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Check the parameters */
1161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_OB_BOOT_LOCK(BootLockConfig));
1162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
1164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
1165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if (status == HAL_OK)
1167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** MODIFY_REG(FLASH->SEC1R, FLASH_SEC1R_BOOT_LOCK, BootLockConfig);
1169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Set OPTSTRT Bit */
1171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_OPTSTRT);
1172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
1174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
1175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** return status;
1178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
1181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @brief Return the Securable memory area configuration into Option Bytes.
1182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @param[in] SecBank specifies the bank where securable memory area is located.
1183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * This parameter can be one of the following values:
1184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @arg FLASH_BANK_1: Securable memory in Bank1
1185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @arg FLASH_BANK_2: Securable memory in Bank2 (*)
1186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @note (*) availability depends on devices
1187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @param[out] SecSize specifies the number of pages used in the securable
1188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** memory area of the bank.
1189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @retval None
1190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** */
ARM GAS /tmp/ccudk1nZ.s page 23
1191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static void FLASH_OB_GetSecMem(uint32_t SecBank, uint32_t *SecSize)
1192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
68 .loc 1 1192 1 is_stmt 1 view -0
69 .cfi_startproc
70 @ args = 0, pretend = 0, frame = 0
71 @ frame_needed = 0, uses_anonymous_args = 0
72 @ link register save eliminated.
1193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Get the configuration of the securable memory area */
1194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if (SecBank == FLASH_BANK_1)
73 .loc 1 1194 3 view .LVU8
74 .loc 1 1194 6 is_stmt 0 view .LVU9
75 0000 0128 cmp r0, #1
76 0002 00D0 beq .L7
77 .L5:
1195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** *SecSize = READ_BIT(FLASH->SEC1R, FLASH_SEC1R_SEC_SIZE1);
1197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
1199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else if (SecBank == FLASH_BANK_2)
1200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** *SecSize = READ_BIT(FLASH->SEC2R, FLASH_SEC2R_SEC_SIZE2);
1202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else
1204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Nothing to do */
1206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
1208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
78 .loc 1 1208 1 view .LVU10
79 0004 7047 bx lr
80 .L7:
1196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
81 .loc 1 1196 5 is_stmt 1 view .LVU11
1196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
82 .loc 1 1196 16 is_stmt 0 view .LVU12
83 0006 034B ldr r3, .L8
84 0008 1B6F ldr r3, [r3, #112]
85 000a 03F07F03 and r3, r3, #127
1196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
86 .loc 1 1196 14 view .LVU13
87 000e 0B60 str r3, [r1]
88 .loc 1 1208 1 view .LVU14
89 0010 F8E7 b .L5
90 .L9:
91 0012 00BF .align 2
92 .L8:
93 0014 00200240 .word 1073881088
94 .cfi_endproc
95 .LFE345:
97 .section .text.FLASH_OB_GetBootLock,"ax",%progbits
98 .align 1
99 .syntax unified
100 .thumb
101 .thumb_func
103 FLASH_OB_GetBootLock:
104 .LFB346:
1209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
ARM GAS /tmp/ccudk1nZ.s page 24
1210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
1211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @brief Return the Boot Lock configuration into Option Byte.
1212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @retval BootLockConfig.
1213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * This return value can be one of the following values:
1214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @arg OB_BOOT_LOCK_ENABLE: Boot lock enabled
1215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @arg OB_BOOT_LOCK_DISABLE: Boot lock disabled
1216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** */
1217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static uint32_t FLASH_OB_GetBootLock(void)
1218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
105 .loc 1 1218 1 is_stmt 1 view -0
106 .cfi_startproc
107 @ args = 0, pretend = 0, frame = 0
108 @ frame_needed = 0, uses_anonymous_args = 0
109 @ link register save eliminated.
1219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** return (READ_REG(FLASH->SEC1R) & FLASH_SEC1R_BOOT_LOCK);
110 .loc 1 1219 3 view .LVU16
111 .loc 1 1219 11 is_stmt 0 view .LVU17
112 0000 024B ldr r3, .L11
113 0002 186F ldr r0, [r3, #112]
1220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
114 .loc 1 1220 1 view .LVU18
115 0004 00F48030 and r0, r0, #65536
116 0008 7047 bx lr
117 .L12:
118 000a 00BF .align 2
119 .L11:
120 000c 00200240 .word 1073881088
121 .cfi_endproc
122 .LFE346:
124 .section .text.FLASH_OB_GetWRP,"ax",%progbits
125 .align 1
126 .syntax unified
127 .thumb
128 .thumb_func
130 FLASH_OB_GetWRP:
131 .LVL2:
132 .LFB347:
1221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
1223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @brief Return the Write Protection configuration into Option Bytes.
1224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @param[in] WRPArea specifies the area to be returned.
1225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * This parameter can be one of the following values:
1226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @arg OB_WRPAREA_BANK1_AREAA: Flash Bank 1 Area A
1227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @arg OB_WRPAREA_BANK1_AREAB: Flash Bank 1 Area B
1228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @arg OB_WRPAREA_BANK2_AREAA: Flash Bank 2 Area A (don't apply to STM32G43x/STM32G44x
1229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @arg OB_WRPAREA_BANK2_AREAB: Flash Bank 2 Area B (don't apply to STM32G43x/STM32G44x
1230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @param[out] WRPStartOffset specifies the address where to copied the start page
1231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * of the write protected area.
1232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @param[out] WRDPEndOffset specifies the address where to copied the end page of
1233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * the write protected area.
1234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @retval None
1235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** */
1236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static void FLASH_OB_GetWRP(uint32_t WRPArea, uint32_t *WRPStartOffset, uint32_t *WRDPEndOffset)
1237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
133 .loc 1 1237 1 is_stmt 1 view -0
134 .cfi_startproc
135 @ args = 0, pretend = 0, frame = 0
ARM GAS /tmp/ccudk1nZ.s page 25
136 @ frame_needed = 0, uses_anonymous_args = 0
137 @ link register save eliminated.
1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Get the configuration of the write protected area */
1239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if (WRPArea == OB_WRPAREA_BANK1_AREAA)
138 .loc 1 1239 3 view .LVU20
139 .loc 1 1239 6 is_stmt 0 view .LVU21
140 0000 48B9 cbnz r0, .L14
1240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** *WRPStartOffset = READ_BIT(FLASH->WRP1AR, FLASH_WRP1AR_WRP1A_STRT);
141 .loc 1 1241 5 is_stmt 1 view .LVU22
142 .loc 1 1241 23 is_stmt 0 view .LVU23
143 0002 0B48 ldr r0, .L17
144 .LVL3:
145 .loc 1 1241 23 view .LVU24
146 0004 C36A ldr r3, [r0, #44]
147 0006 03F03F03 and r3, r3, #63
148 .loc 1 1241 21 view .LVU25
149 000a 0B60 str r3, [r1]
1242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** *WRDPEndOffset = (READ_BIT(FLASH->WRP1AR, FLASH_WRP1AR_WRP1A_END) >> FLASH_WRP1AR_WRP1A_END_Pos
150 .loc 1 1242 5 is_stmt 1 view .LVU26
151 .loc 1 1242 23 is_stmt 0 view .LVU27
152 000c C36A ldr r3, [r0, #44]
153 .loc 1 1242 71 view .LVU28
154 000e C3F30543 ubfx r3, r3, #16, #6
155 .loc 1 1242 20 view .LVU29
156 0012 1360 str r3, [r2]
157 0014 7047 bx lr
158 .LVL4:
159 .L14:
1243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else if (WRPArea == OB_WRPAREA_BANK1_AREAB)
160 .loc 1 1244 8 is_stmt 1 view .LVU30
161 .loc 1 1244 11 is_stmt 0 view .LVU31
162 0016 0128 cmp r0, #1
163 0018 00D0 beq .L16
164 .LVL5:
165 .L13:
1245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** *WRPStartOffset = READ_BIT(FLASH->WRP1BR, FLASH_WRP1BR_WRP1B_STRT);
1247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** *WRDPEndOffset = (READ_BIT(FLASH->WRP1BR, FLASH_WRP1BR_WRP1B_END) >> FLASH_WRP1BR_WRP1B_END_Pos
1248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
1250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else if (WRPArea == OB_WRPAREA_BANK2_AREAA)
1251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** *WRPStartOffset = READ_BIT(FLASH->WRP2AR, FLASH_WRP2AR_WRP2A_STRT);
1253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** *WRDPEndOffset = (READ_BIT(FLASH->WRP2AR, FLASH_WRP2AR_WRP2A_END) >> FLASH_WRP2AR_WRP2A_END_Pos
1254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else if (WRPArea == OB_WRPAREA_BANK2_AREAB)
1256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** *WRPStartOffset = READ_BIT(FLASH->WRP2BR, FLASH_WRP2BR_WRP2B_STRT);
1258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** *WRDPEndOffset = (READ_BIT(FLASH->WRP2BR, FLASH_WRP2BR_WRP2B_END) >> FLASH_WRP2BR_WRP2B_END_Pos
1259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
1261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else
1262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Nothing to do */
1264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
ARM GAS /tmp/ccudk1nZ.s page 26
1265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
166 .loc 1 1265 1 view .LVU32
167 001a 7047 bx lr
168 .LVL6:
169 .L16:
1246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** *WRDPEndOffset = (READ_BIT(FLASH->WRP1BR, FLASH_WRP1BR_WRP1B_END) >> FLASH_WRP1BR_WRP1B_END_Pos
170 .loc 1 1246 5 is_stmt 1 view .LVU33
1246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** *WRDPEndOffset = (READ_BIT(FLASH->WRP1BR, FLASH_WRP1BR_WRP1B_END) >> FLASH_WRP1BR_WRP1B_END_Pos
171 .loc 1 1246 23 is_stmt 0 view .LVU34
172 001c 0448 ldr r0, .L17
173 .LVL7:
1246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** *WRDPEndOffset = (READ_BIT(FLASH->WRP1BR, FLASH_WRP1BR_WRP1B_END) >> FLASH_WRP1BR_WRP1B_END_Pos
174 .loc 1 1246 23 view .LVU35
175 001e 036B ldr r3, [r0, #48]
176 0020 03F03F03 and r3, r3, #63
1246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** *WRDPEndOffset = (READ_BIT(FLASH->WRP1BR, FLASH_WRP1BR_WRP1B_END) >> FLASH_WRP1BR_WRP1B_END_Pos
177 .loc 1 1246 21 view .LVU36
178 0024 0B60 str r3, [r1]
1247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
179 .loc 1 1247 5 is_stmt 1 view .LVU37
1247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
180 .loc 1 1247 23 is_stmt 0 view .LVU38
181 0026 036B ldr r3, [r0, #48]
1247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
182 .loc 1 1247 71 view .LVU39
183 0028 C3F30543 ubfx r3, r3, #16, #6
1247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
184 .loc 1 1247 20 view .LVU40
185 002c 1360 str r3, [r2]
1264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
186 .loc 1 1264 3 is_stmt 1 view .LVU41
187 .loc 1 1265 1 is_stmt 0 view .LVU42
188 002e F4E7 b .L13
189 .L18:
190 .align 2
191 .L17:
192 0030 00200240 .word 1073881088
193 .cfi_endproc
194 .LFE347:
196 .section .text.FLASH_OB_GetRDP,"ax",%progbits
197 .align 1
198 .syntax unified
199 .thumb
200 .thumb_func
202 FLASH_OB_GetRDP:
203 .LFB348:
1266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
1268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @brief Return the FLASH Read Protection level into Option Bytes.
1269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @retval RDP_Level
1270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * This return value can be one of the following values:
1271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @arg OB_RDP_LEVEL_0: No protection
1272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @arg OB_RDP_LEVEL_1: Read protection of the memory
1273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @arg OB_RDP_LEVEL_2: Full chip protection
1274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** */
1275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static uint32_t FLASH_OB_GetRDP(void)
1276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
ARM GAS /tmp/ccudk1nZ.s page 27
204 .loc 1 1276 1 is_stmt 1 view -0
205 .cfi_startproc
206 @ args = 0, pretend = 0, frame = 0
207 @ frame_needed = 0, uses_anonymous_args = 0
208 @ link register save eliminated.
1277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** uint32_t rdp_level = READ_BIT(FLASH->OPTR, FLASH_OPTR_RDP);
209 .loc 1 1277 3 view .LVU44
210 .loc 1 1277 24 is_stmt 0 view .LVU45
211 0000 044B ldr r3, .L22
212 0002 186A ldr r0, [r3, #32]
213 .loc 1 1277 12 view .LVU46
214 0004 C0B2 uxtb r0, r0
215 .LVL8:
1278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if ((rdp_level != OB_RDP_LEVEL_0) && (rdp_level != OB_RDP_LEVEL_2))
216 .loc 1 1279 3 is_stmt 1 view .LVU47
217 .loc 1 1279 6 is_stmt 0 view .LVU48
218 0006 AA28 cmp r0, #170
219 0008 02D0 beq .L19
220 .loc 1 1279 37 discriminator 1 view .LVU49
221 000a CC28 cmp r0, #204
222 000c 00D0 beq .L19
1280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** return (OB_RDP_LEVEL_1);
223 .loc 1 1281 12 view .LVU50
224 000e BB20 movs r0, #187
225 .LVL9:
226 .L19:
1282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else
1284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** return rdp_level;
1286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
227 .loc 1 1287 1 view .LVU51
228 0010 7047 bx lr
229 .L23:
230 0012 00BF .align 2
231 .L22:
232 0014 00200240 .word 1073881088
233 .cfi_endproc
234 .LFE348:
236 .section .text.FLASH_OB_GetUser,"ax",%progbits
237 .align 1
238 .syntax unified
239 .thumb
240 .thumb_func
242 FLASH_OB_GetUser:
243 .LFB349:
1288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
1290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @brief Return the FLASH User Option Byte value.
1291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @retval OB_user_config
1292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * This return value is a combination of @ref FLASH_OB_USER_BOR_LEVEL,
1293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @ref FLASH_OB_USER_nRST_STOP, @ref FLASH_OB_USER_nRST_STANDBY,
1294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @ref FLASH_OB_USER_nRST_SHUTDOWN, @ref FLASH_OB_USER_IWDG_SW,
1295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @ref FLASH_OB_USER_IWDG_STOP, @ref FLASH_OB_USER_IWDG_STANDBY,
ARM GAS /tmp/ccudk1nZ.s page 28
1296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @ref FLASH_OB_USER_WWDG_SW, @ref FLASH_OB_USER_WWDG_SW,
1297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @ref FLASH_OB_USER_BFB2 (*), @ref FLASH_OB_USER_DBANK (*),
1298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @ref FLASH_OB_USER_nBOOT1, @ref FLASH_OB_USER_SRAM_PE,
1299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @ref FLASH_OB_USER_CCMSRAM_RST, @ref OB_USER_nSWBOOT0,@ref FLASH_OB_USER_nBOOT0,
1300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @ref FLASH_OB_USER_NRST_MODE, @ref FLASH_OB_USER_INTERNAL_RESET_HOLDER
1301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @note (*) availability depends on devices
1302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** */
1303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static uint32_t FLASH_OB_GetUser(void)
1304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
244 .loc 1 1304 1 is_stmt 1 view -0
245 .cfi_startproc
246 @ args = 0, pretend = 0, frame = 0
247 @ frame_needed = 0, uses_anonymous_args = 0
248 @ link register save eliminated.
1305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** uint32_t user_config = READ_REG(FLASH->OPTR);
249 .loc 1 1305 3 view .LVU53
250 .loc 1 1305 12 is_stmt 0 view .LVU54
251 0000 024B ldr r3, .L25
252 0002 186A ldr r0, [r3, #32]
253 .LVL10:
1306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** CLEAR_BIT(user_config, FLASH_OPTR_RDP);
254 .loc 1 1306 3 is_stmt 1 view .LVU55
1307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** return user_config;
255 .loc 1 1308 3 view .LVU56
1309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
256 .loc 1 1309 1 is_stmt 0 view .LVU57
257 0004 20F0FF00 bic r0, r0, #255
258 .LVL11:
259 .loc 1 1309 1 view .LVU58
260 0008 7047 bx lr
261 .L26:
262 000a 00BF .align 2
263 .L25:
264 000c 00200240 .word 1073881088
265 .cfi_endproc
266 .LFE349:
268 .section .text.FLASH_OB_GetPCROP,"ax",%progbits
269 .align 1
270 .syntax unified
271 .thumb
272 .thumb_func
274 FLASH_OB_GetPCROP:
275 .LVL12:
276 .LFB350:
1310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /**
1312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @brief Return the FLASH PCROP configuration into Option Bytes.
1313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @param[in,out] PCROPConfig specifies the configuration (Bank to be configured and PCROP_RDP opt
1314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * This parameter must be a combination of FLASH_BANK_1 or FLASH_BANK_2
1315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * with OB_PCROP_RDP_NOT_ERASE or OB_PCROP_RDP_ERASE.
1316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @param[out] PCROPStartAddr specifies the address where to copied the start address
1317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * of the Proprietary code readout protection.
1318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @param[out] PCROPEndAddr specifies the address where to copied the end address of
1319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * the Proprietary code readout protection.
1320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** * @retval None
1321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** */
ARM GAS /tmp/ccudk1nZ.s page 29
1322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** static void FLASH_OB_GetPCROP(uint32_t *PCROPConfig, uint32_t *PCROPStartAddr, uint32_t *PCROPEndAd
1323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
277 .loc 1 1323 1 is_stmt 1 view -0
278 .cfi_startproc
279 @ args = 0, pretend = 0, frame = 0
280 @ frame_needed = 0, uses_anonymous_args = 0
281 @ link register save eliminated.
282 .loc 1 1323 1 is_stmt 0 view .LVU60
283 0000 30B4 push {r4, r5}
284 .LCFI0:
285 .cfi_def_cfa_offset 8
286 .cfi_offset 4, -8
287 .cfi_offset 5, -4
1324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** uint32_t reg_value;
288 .loc 1 1324 3 is_stmt 1 view .LVU61
1325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** uint32_t bank1_addr;
289 .loc 1 1325 3 view .LVU62
1326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
1327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** uint32_t bank2_addr;
1328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Get the information about the bank swapping */
1330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if (READ_BIT(SYSCFG->MEMRMP, SYSCFG_MEMRMP_FB_MODE) == 0U)
1331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** bank1_addr = FLASH_BASE;
1333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** bank2_addr = FLASH_BASE + FLASH_BANK_SIZE;
1334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else
1336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** bank1_addr = FLASH_BASE + FLASH_BANK_SIZE;
1338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** bank2_addr = FLASH_BASE;
1339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #else
1341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** bank1_addr = FLASH_BASE;
290 .loc 1 1341 3 view .LVU63
291 .LVL13:
1342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
1343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
1345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if (READ_BIT(FLASH->OPTR, FLASH_OPTR_DBANK) == 0U)
1346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if (((*PCROPConfig) & FLASH_BANK_BOTH) == FLASH_BANK_1)
1348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** reg_value = (READ_REG(FLASH->PCROP1SR) & FLASH_PCROP1SR_PCROP1_STRT);
1350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** *PCROPStartAddr = (reg_value << 4) + FLASH_BASE;
1351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** reg_value = (READ_REG(FLASH->PCROP1ER) & FLASH_PCROP1ER_PCROP1_END);
1353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** *PCROPEndAddr = (reg_value << 4) + FLASH_BASE;
1354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else if (((*PCROPConfig) & FLASH_BANK_BOTH) == FLASH_BANK_2)
1356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** reg_value = (READ_REG(FLASH->PCROP2SR) & FLASH_PCROP2SR_PCROP2_STRT);
1358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** *PCROPStartAddr = (reg_value << 4) + FLASH_BASE;
1359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** reg_value = (READ_REG(FLASH->PCROP2ER) & FLASH_PCROP2ER_PCROP2_END);
1361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** *PCROPEndAddr = (reg_value << 4) + FLASH_BASE;
1362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else
ARM GAS /tmp/ccudk1nZ.s page 30
1364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Nothing to do */
1366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else
1369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
1370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** if (((*PCROPConfig) & FLASH_BANK_BOTH) == FLASH_BANK_1)
292 .loc 1 1371 5 view .LVU64
293 .loc 1 1371 11 is_stmt 0 view .LVU65
294 0002 0368 ldr r3, [r0]
295 .loc 1 1371 8 view .LVU66
296 0004 13F0010F tst r3, #1
297 0008 0DD0 beq .L28
1372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** reg_value = (READ_REG(FLASH->PCROP1SR) & FLASH_PCROP1SR_PCROP1_STRT);
298 .loc 1 1373 7 is_stmt 1 view .LVU67
299 .loc 1 1373 26 is_stmt 0 view .LVU68
300 000a 0B4D ldr r5, .L30
301 000c 6C6A ldr r4, [r5, #36]
302 .LVL14:
1374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** *PCROPStartAddr = (reg_value << 3) + bank1_addr;
303 .loc 1 1374 7 is_stmt 1 view .LVU69
304 .loc 1 1374 36 is_stmt 0 view .LVU70
305 000e 0B4B ldr r3, .L30+4
306 0010 03EAC404 and r4, r3, r4, lsl #3
307 .LVL15:
308 .loc 1 1374 42 view .LVU71
309 0014 04F10064 add r4, r4, #134217728
310 .loc 1 1374 23 view .LVU72
311 0018 0C60 str r4, [r1]
1375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** reg_value = (READ_REG(FLASH->PCROP1ER) & FLASH_PCROP1ER_PCROP1_END);
312 .loc 1 1376 7 is_stmt 1 view .LVU73
313 .loc 1 1376 24 is_stmt 0 view .LVU74
314 001a A96A ldr r1, [r5, #40]
315 .LVL16:
1377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** *PCROPEndAddr = (reg_value << 3) + bank1_addr;
316 .loc 1 1377 7 is_stmt 1 view .LVU75
317 .loc 1 1377 34 is_stmt 0 view .LVU76
318 001c 03EAC103 and r3, r3, r1, lsl #3
319 .loc 1 1377 40 view .LVU77
320 0020 03F10063 add r3, r3, #134217728
321 .loc 1 1377 21 view .LVU78
322 0024 1360 str r3, [r2]
323 .LVL17:
324 .L28:
1378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
1380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else if (((*PCROPConfig) & FLASH_BANK_BOTH) == FLASH_BANK_2)
1381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** reg_value = (READ_REG(FLASH->PCROP2SR) & FLASH_PCROP2SR_PCROP2_STRT);
1383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** *PCROPStartAddr = (reg_value << 3) + bank2_addr;
1384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** reg_value = (READ_REG(FLASH->PCROP2ER) & FLASH_PCROP2ER_PCROP2_END);
1386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** *PCROPEndAddr = (reg_value << 3) + bank2_addr;
1387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
ARM GAS /tmp/ccudk1nZ.s page 31
1388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
1389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** else
1390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Nothing to do */
1392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
325 .loc 1 1392 5 is_stmt 1 view .LVU79
1393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** *PCROPConfig |= (READ_REG(FLASH->PCROP1ER) & FLASH_PCROP1ER_PCROP_RDP);
326 .loc 1 1395 3 view .LVU80
327 .loc 1 1395 20 is_stmt 0 view .LVU81
328 0026 044B ldr r3, .L30
329 0028 9A6A ldr r2, [r3, #40]
330 .LVL18:
331 .loc 1 1395 46 view .LVU82
332 002a 02F00042 and r2, r2, #-2147483648
333 .loc 1 1395 3 view .LVU83
334 002e 0368 ldr r3, [r0]
335 .loc 1 1395 16 view .LVU84
336 0030 1343 orrs r3, r3, r2
337 0032 0360 str r3, [r0]
1396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
338 .loc 1 1396 1 view .LVU85
339 0034 30BC pop {r4, r5}
340 .LCFI1:
341 .cfi_restore 5
342 .cfi_restore 4
343 .cfi_def_cfa_offset 0
344 0036 7047 bx lr
345 .L31:
346 .align 2
347 .L30:
348 0038 00200240 .word 1073881088
349 003c F8FF0100 .word 131064
350 .cfi_endproc
351 .LFE350:
353 .section .text.FLASH_OB_WRPConfig,"ax",%progbits
354 .align 1
355 .syntax unified
356 .thumb
357 .thumb_func
359 FLASH_OB_WRPConfig:
360 .LVL19:
361 .LFB339:
668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_StatusTypeDef status;
362 .loc 1 668 1 is_stmt 1 view -0
363 .cfi_startproc
364 @ args = 0, pretend = 0, frame = 0
365 @ frame_needed = 0, uses_anonymous_args = 0
668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_StatusTypeDef status;
366 .loc 1 668 1 is_stmt 0 view .LVU87
367 0000 70B5 push {r4, r5, r6, lr}
368 .LCFI2:
369 .cfi_def_cfa_offset 16
370 .cfi_offset 4, -16
371 .cfi_offset 5, -12
372 .cfi_offset 6, -8
ARM GAS /tmp/ccudk1nZ.s page 32
373 .cfi_offset 14, -4
374 0002 0546 mov r5, r0
375 0004 0C46 mov r4, r1
376 0006 1646 mov r6, r2
669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
377 .loc 1 669 3 is_stmt 1 view .LVU88
672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_FLASH_PAGE(WRPStartOffset));
378 .loc 1 672 3 view .LVU89
673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_FLASH_PAGE(WRDPEndOffset));
379 .loc 1 673 3 view .LVU90
674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
380 .loc 1 674 3 view .LVU91
677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
381 .loc 1 677 3 view .LVU92
677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
382 .loc 1 677 12 is_stmt 0 view .LVU93
383 0008 4FF47A70 mov r0, #1000
384 .LVL20:
677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
385 .loc 1 677 12 view .LVU94
386 000c FFF7FEFF bl FLASH_WaitForLastOperation
387 .LVL21:
679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
388 .loc 1 679 3 is_stmt 1 view .LVU95
679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
389 .loc 1 679 6 is_stmt 0 view .LVU96
390 0010 68B9 cbnz r0, .L33
682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
391 .loc 1 682 5 is_stmt 1 view .LVU97
682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
392 .loc 1 682 8 is_stmt 0 view .LVU98
393 0012 6DB9 cbnz r5, .L34
684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
394 .loc 1 684 7 is_stmt 1 view .LVU99
684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
395 .loc 1 684 70 is_stmt 0 view .LVU100
396 0014 44EA0644 orr r4, r4, r6, lsl #16
397 .LVL22:
684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
398 .loc 1 684 21 view .LVU101
399 0018 094B ldr r3, .L37
400 001a DC62 str r4, [r3, #44]
401 .L35:
703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
402 .loc 1 703 5 is_stmt 1 view .LVU102
706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
403 .loc 1 706 5 view .LVU103
404 001c 084A ldr r2, .L37
405 001e 5369 ldr r3, [r2, #20]
406 0020 43F40033 orr r3, r3, #131072
407 0024 5361 str r3, [r2, #20]
709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
408 .loc 1 709 5 view .LVU104
709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
409 .loc 1 709 14 is_stmt 0 view .LVU105
410 0026 4FF47A70 mov r0, #1000
411 002a FFF7FEFF bl FLASH_WaitForLastOperation
ARM GAS /tmp/ccudk1nZ.s page 33
412 .LVL23:
413 .L33:
712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
414 .loc 1 712 3 is_stmt 1 view .LVU106
713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
415 .loc 1 713 1 is_stmt 0 view .LVU107
416 002e 70BD pop {r4, r5, r6, pc}
417 .LVL24:
418 .L34:
686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
419 .loc 1 686 10 is_stmt 1 view .LVU108
686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
420 .loc 1 686 13 is_stmt 0 view .LVU109
421 0030 012D cmp r5, #1
422 0032 F3D1 bne .L35
688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
423 .loc 1 688 7 is_stmt 1 view .LVU110
688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
424 .loc 1 688 70 is_stmt 0 view .LVU111
425 0034 44EA0644 orr r4, r4, r6, lsl #16
426 .LVL25:
688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
427 .loc 1 688 21 view .LVU112
428 0038 014B ldr r3, .L37
429 003a 1C63 str r4, [r3, #48]
430 003c EEE7 b .L35
431 .L38:
432 003e 00BF .align 2
433 .L37:
434 0040 00200240 .word 1073881088
435 .cfi_endproc
436 .LFE339:
438 .section .text.FLASH_OB_RDPConfig,"ax",%progbits
439 .align 1
440 .syntax unified
441 .thumb
442 .thumb_func
444 FLASH_OB_RDPConfig:
445 .LVL26:
446 .LFB340:
733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_StatusTypeDef status;
447 .loc 1 733 1 is_stmt 1 view -0
448 .cfi_startproc
449 @ args = 0, pretend = 0, frame = 0
450 @ frame_needed = 0, uses_anonymous_args = 0
733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_StatusTypeDef status;
451 .loc 1 733 1 is_stmt 0 view .LVU114
452 0000 10B5 push {r4, lr}
453 .LCFI3:
454 .cfi_def_cfa_offset 8
455 .cfi_offset 4, -8
456 .cfi_offset 14, -4
457 0002 0446 mov r4, r0
734:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
458 .loc 1 734 3 is_stmt 1 view .LVU115
737:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
459 .loc 1 737 3 view .LVU116
ARM GAS /tmp/ccudk1nZ.s page 34
740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
460 .loc 1 740 3 view .LVU117
740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
461 .loc 1 740 12 is_stmt 0 view .LVU118
462 0004 4FF47A70 mov r0, #1000
463 .LVL27:
740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
464 .loc 1 740 12 view .LVU119
465 0008 FFF7FEFF bl FLASH_WaitForLastOperation
466 .LVL28:
742:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
467 .loc 1 742 3 is_stmt 1 view .LVU120
742:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
468 .loc 1 742 6 is_stmt 0 view .LVU121
469 000c 00B1 cbz r0, .L42
470 .L40:
471 .LVL29:
754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
472 .loc 1 754 3 is_stmt 1 view .LVU122
755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
473 .loc 1 755 1 is_stmt 0 view .LVU123
474 000e 10BD pop {r4, pc}
475 .LVL30:
476 .L42:
745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
477 .loc 1 745 5 is_stmt 1 view .LVU124
478 0010 074A ldr r2, .L43
479 0012 136A ldr r3, [r2, #32]
480 0014 23F0FF03 bic r3, r3, #255
481 0018 2343 orrs r3, r3, r4
482 001a 1362 str r3, [r2, #32]
748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
483 .loc 1 748 5 view .LVU125
484 001c 5369 ldr r3, [r2, #20]
485 001e 43F40033 orr r3, r3, #131072
486 0022 5361 str r3, [r2, #20]
751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
487 .loc 1 751 5 view .LVU126
751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
488 .loc 1 751 14 is_stmt 0 view .LVU127
489 0024 4FF47A70 mov r0, #1000
490 0028 FFF7FEFF bl FLASH_WaitForLastOperation
491 .LVL31:
751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
492 .loc 1 751 14 view .LVU128
493 002c EFE7 b .L40
494 .L44:
495 002e 00BF .align 2
496 .L43:
497 0030 00200240 .word 1073881088
498 .cfi_endproc
499 .LFE340:
501 .section .text.FLASH_OB_UserConfig,"ax",%progbits
502 .align 1
503 .syntax unified
504 .thumb
505 .thumb_func
ARM GAS /tmp/ccudk1nZ.s page 35
507 FLASH_OB_UserConfig:
508 .LVL32:
509 .LFB341:
780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** uint32_t optr_reg_val = 0;
510 .loc 1 780 1 is_stmt 1 view -0
511 .cfi_startproc
512 @ args = 0, pretend = 0, frame = 0
513 @ frame_needed = 0, uses_anonymous_args = 0
780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** uint32_t optr_reg_val = 0;
514 .loc 1 780 1 is_stmt 0 view .LVU130
515 0000 38B5 push {r3, r4, r5, lr}
516 .LCFI4:
517 .cfi_def_cfa_offset 16
518 .cfi_offset 3, -16
519 .cfi_offset 4, -12
520 .cfi_offset 5, -8
521 .cfi_offset 14, -4
522 0002 0446 mov r4, r0
523 0004 0D46 mov r5, r1
781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** uint32_t optr_reg_mask = 0;
524 .loc 1 781 3 is_stmt 1 view .LVU131
525 .LVL33:
782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_StatusTypeDef status;
526 .loc 1 782 3 view .LVU132
783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
527 .loc 1 783 3 view .LVU133
786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
528 .loc 1 786 3 view .LVU134
789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
529 .loc 1 789 3 view .LVU135
789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
530 .loc 1 789 12 is_stmt 0 view .LVU136
531 0006 4FF47A70 mov r0, #1000
532 .LVL34:
789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
533 .loc 1 789 12 view .LVU137
534 000a FFF7FEFF bl FLASH_WaitForLastOperation
535 .LVL35:
791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
536 .loc 1 791 3 is_stmt 1 view .LVU138
791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
537 .loc 1 791 6 is_stmt 0 view .LVU139
538 000e 0028 cmp r0, #0
539 0010 40F08780 bne .L46
793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
540 .loc 1 793 5 is_stmt 1 view .LVU140
793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
541 .loc 1 793 8 is_stmt 0 view .LVU141
542 0014 14F00103 ands r3, r4, #1
543 0018 04D0 beq .L62
796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
544 .loc 1 796 7 is_stmt 1 view .LVU142
799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_BOR_LEV;
545 .loc 1 799 7 view .LVU143
799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_BOR_LEV;
546 .loc 1 799 35 is_stmt 0 view .LVU144
547 001a 05F4E063 and r3, r5, #1792
ARM GAS /tmp/ccudk1nZ.s page 36
548 .LVL36:
800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
549 .loc 1 800 7 is_stmt 1 view .LVU145
800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
550 .loc 1 800 21 is_stmt 0 view .LVU146
551 001e 4FF4E062 mov r2, #1792
552 0022 00E0 b .L47
553 .LVL37:
554 .L62:
782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_StatusTypeDef status;
555 .loc 1 782 12 view .LVU147
556 0024 1A46 mov r2, r3
557 .LVL38:
558 .L47:
803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
559 .loc 1 803 5 is_stmt 1 view .LVU148
803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
560 .loc 1 803 8 is_stmt 0 view .LVU149
561 0026 14F0020F tst r4, #2
562 002a 04D0 beq .L48
806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
563 .loc 1 806 7 is_stmt 1 view .LVU150
809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_nRST_STOP;
564 .loc 1 809 7 view .LVU151
809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_nRST_STOP;
565 .loc 1 809 35 is_stmt 0 view .LVU152
566 002c 05F48051 and r1, r5, #4096
809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_nRST_STOP;
567 .loc 1 809 20 view .LVU153
568 0030 0B43 orrs r3, r3, r1
569 .LVL39:
810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
570 .loc 1 810 7 is_stmt 1 view .LVU154
810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
571 .loc 1 810 21 is_stmt 0 view .LVU155
572 0032 42F48052 orr r2, r2, #4096
573 .LVL40:
574 .L48:
813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
575 .loc 1 813 5 is_stmt 1 view .LVU156
813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
576 .loc 1 813 8 is_stmt 0 view .LVU157
577 0036 14F0040F tst r4, #4
578 003a 04D0 beq .L49
816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
579 .loc 1 816 7 is_stmt 1 view .LVU158
819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_nRST_STDBY;
580 .loc 1 819 7 view .LVU159
819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_nRST_STDBY;
581 .loc 1 819 35 is_stmt 0 view .LVU160
582 003c 05F40051 and r1, r5, #8192
819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_nRST_STDBY;
583 .loc 1 819 20 view .LVU161
584 0040 0B43 orrs r3, r3, r1
585 .LVL41:
820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
586 .loc 1 820 7 is_stmt 1 view .LVU162
ARM GAS /tmp/ccudk1nZ.s page 37
820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
587 .loc 1 820 21 is_stmt 0 view .LVU163
588 0042 42F40052 orr r2, r2, #8192
589 .LVL42:
590 .L49:
823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
591 .loc 1 823 5 is_stmt 1 view .LVU164
823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
592 .loc 1 823 8 is_stmt 0 view .LVU165
593 0046 14F4805F tst r4, #4096
594 004a 04D0 beq .L50
826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
595 .loc 1 826 7 is_stmt 1 view .LVU166
829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_nRST_SHDW;
596 .loc 1 829 7 view .LVU167
829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_nRST_SHDW;
597 .loc 1 829 35 is_stmt 0 view .LVU168
598 004c 05F48041 and r1, r5, #16384
829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_nRST_SHDW;
599 .loc 1 829 20 view .LVU169
600 0050 0B43 orrs r3, r3, r1
601 .LVL43:
830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
602 .loc 1 830 7 is_stmt 1 view .LVU170
830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
603 .loc 1 830 21 is_stmt 0 view .LVU171
604 0052 42F48042 orr r2, r2, #16384
605 .LVL44:
606 .L50:
833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
607 .loc 1 833 5 is_stmt 1 view .LVU172
833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
608 .loc 1 833 8 is_stmt 0 view .LVU173
609 0056 14F0080F tst r4, #8
610 005a 04D0 beq .L51
836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
611 .loc 1 836 7 is_stmt 1 view .LVU174
839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_IWDG_SW;
612 .loc 1 839 7 view .LVU175
839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_IWDG_SW;
613 .loc 1 839 35 is_stmt 0 view .LVU176
614 005c 05F48031 and r1, r5, #65536
839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_IWDG_SW;
615 .loc 1 839 20 view .LVU177
616 0060 0B43 orrs r3, r3, r1
617 .LVL45:
840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
618 .loc 1 840 7 is_stmt 1 view .LVU178
840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
619 .loc 1 840 21 is_stmt 0 view .LVU179
620 0062 42F48032 orr r2, r2, #65536
621 .LVL46:
622 .L51:
843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
623 .loc 1 843 5 is_stmt 1 view .LVU180
843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
624 .loc 1 843 8 is_stmt 0 view .LVU181
ARM GAS /tmp/ccudk1nZ.s page 38
625 0066 14F0100F tst r4, #16
626 006a 04D0 beq .L52
846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
627 .loc 1 846 7 is_stmt 1 view .LVU182
849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_IWDG_STOP;
628 .loc 1 849 7 view .LVU183
849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_IWDG_STOP;
629 .loc 1 849 35 is_stmt 0 view .LVU184
630 006c 05F40031 and r1, r5, #131072
849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_IWDG_STOP;
631 .loc 1 849 20 view .LVU185
632 0070 0B43 orrs r3, r3, r1
633 .LVL47:
850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
634 .loc 1 850 7 is_stmt 1 view .LVU186
850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
635 .loc 1 850 21 is_stmt 0 view .LVU187
636 0072 42F40032 orr r2, r2, #131072
637 .LVL48:
638 .L52:
853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
639 .loc 1 853 5 is_stmt 1 view .LVU188
853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
640 .loc 1 853 8 is_stmt 0 view .LVU189
641 0076 14F0200F tst r4, #32
642 007a 04D0 beq .L53
856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
643 .loc 1 856 7 is_stmt 1 view .LVU190
859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_IWDG_STDBY;
644 .loc 1 859 7 view .LVU191
859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_IWDG_STDBY;
645 .loc 1 859 35 is_stmt 0 view .LVU192
646 007c 05F48021 and r1, r5, #262144
859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_IWDG_STDBY;
647 .loc 1 859 20 view .LVU193
648 0080 0B43 orrs r3, r3, r1
649 .LVL49:
860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
650 .loc 1 860 7 is_stmt 1 view .LVU194
860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
651 .loc 1 860 21 is_stmt 0 view .LVU195
652 0082 42F48022 orr r2, r2, #262144
653 .LVL50:
654 .L53:
863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
655 .loc 1 863 5 is_stmt 1 view .LVU196
863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
656 .loc 1 863 8 is_stmt 0 view .LVU197
657 0086 14F0400F tst r4, #64
658 008a 04D0 beq .L54
866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
659 .loc 1 866 7 is_stmt 1 view .LVU198
869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_WWDG_SW;
660 .loc 1 869 7 view .LVU199
869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_WWDG_SW;
661 .loc 1 869 35 is_stmt 0 view .LVU200
662 008c 05F40021 and r1, r5, #524288
ARM GAS /tmp/ccudk1nZ.s page 39
869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_WWDG_SW;
663 .loc 1 869 20 view .LVU201
664 0090 0B43 orrs r3, r3, r1
665 .LVL51:
870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
666 .loc 1 870 7 is_stmt 1 view .LVU202
870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
667 .loc 1 870 21 is_stmt 0 view .LVU203
668 0092 42F40022 orr r2, r2, #524288
669 .LVL52:
670 .L54:
885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
671 .loc 1 885 5 is_stmt 1 view .LVU204
885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
672 .loc 1 885 8 is_stmt 0 view .LVU205
673 0096 14F4007F tst r4, #512
674 009a 04D0 beq .L55
888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
675 .loc 1 888 7 is_stmt 1 view .LVU206
891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_nBOOT1;
676 .loc 1 891 7 view .LVU207
891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_nBOOT1;
677 .loc 1 891 35 is_stmt 0 view .LVU208
678 009c 05F40001 and r1, r5, #8388608
891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_nBOOT1;
679 .loc 1 891 20 view .LVU209
680 00a0 0B43 orrs r3, r3, r1
681 .LVL53:
892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
682 .loc 1 892 7 is_stmt 1 view .LVU210
892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
683 .loc 1 892 21 is_stmt 0 view .LVU211
684 00a2 42F40002 orr r2, r2, #8388608
685 .LVL54:
686 .L55:
895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
687 .loc 1 895 5 is_stmt 1 view .LVU212
895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
688 .loc 1 895 8 is_stmt 0 view .LVU213
689 00a6 14F4806F tst r4, #1024
690 00aa 04D0 beq .L56
898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
691 .loc 1 898 7 is_stmt 1 view .LVU214
901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_SRAM_PE;
692 .loc 1 901 7 view .LVU215
901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_SRAM_PE;
693 .loc 1 901 35 is_stmt 0 view .LVU216
694 00ac 05F08071 and r1, r5, #16777216
901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_SRAM_PE;
695 .loc 1 901 20 view .LVU217
696 00b0 0B43 orrs r3, r3, r1
697 .LVL55:
902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
698 .loc 1 902 7 is_stmt 1 view .LVU218
902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
699 .loc 1 902 21 is_stmt 0 view .LVU219
700 00b2 42F08072 orr r2, r2, #16777216
ARM GAS /tmp/ccudk1nZ.s page 40
701 .LVL56:
702 .L56:
905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
703 .loc 1 905 5 is_stmt 1 view .LVU220
905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
704 .loc 1 905 8 is_stmt 0 view .LVU221
705 00b6 14F4006F tst r4, #2048
706 00ba 04D0 beq .L57
908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
707 .loc 1 908 7 is_stmt 1 view .LVU222
911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_CCMSRAM_RST;
708 .loc 1 911 7 view .LVU223
911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_CCMSRAM_RST;
709 .loc 1 911 35 is_stmt 0 view .LVU224
710 00bc 05F00071 and r1, r5, #33554432
911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_CCMSRAM_RST;
711 .loc 1 911 20 view .LVU225
712 00c0 0B43 orrs r3, r3, r1
713 .LVL57:
912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
714 .loc 1 912 7 is_stmt 1 view .LVU226
912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
715 .loc 1 912 21 is_stmt 0 view .LVU227
716 00c2 42F00072 orr r2, r2, #33554432
717 .LVL58:
718 .L57:
915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
719 .loc 1 915 5 is_stmt 1 view .LVU228
915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
720 .loc 1 915 8 is_stmt 0 view .LVU229
721 00c6 14F4005F tst r4, #8192
722 00ca 04D0 beq .L58
918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
723 .loc 1 918 7 is_stmt 1 view .LVU230
921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_nSWBOOT0;
724 .loc 1 921 7 view .LVU231
921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_nSWBOOT0;
725 .loc 1 921 35 is_stmt 0 view .LVU232
726 00cc 05F08061 and r1, r5, #67108864
921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_nSWBOOT0;
727 .loc 1 921 20 view .LVU233
728 00d0 0B43 orrs r3, r3, r1
729 .LVL59:
922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
730 .loc 1 922 7 is_stmt 1 view .LVU234
922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
731 .loc 1 922 21 is_stmt 0 view .LVU235
732 00d2 42F08062 orr r2, r2, #67108864
733 .LVL60:
734 .L58:
925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
735 .loc 1 925 5 is_stmt 1 view .LVU236
925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
736 .loc 1 925 8 is_stmt 0 view .LVU237
737 00d6 14F4804F tst r4, #16384
738 00da 04D0 beq .L59
928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
ARM GAS /tmp/ccudk1nZ.s page 41
739 .loc 1 928 7 is_stmt 1 view .LVU238
931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_nBOOT0;
740 .loc 1 931 7 view .LVU239
931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_nBOOT0;
741 .loc 1 931 35 is_stmt 0 view .LVU240
742 00dc 05F00061 and r1, r5, #134217728
931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_nBOOT0;
743 .loc 1 931 20 view .LVU241
744 00e0 0B43 orrs r3, r3, r1
745 .LVL61:
932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
746 .loc 1 932 7 is_stmt 1 view .LVU242
932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
747 .loc 1 932 21 is_stmt 0 view .LVU243
748 00e2 42F00062 orr r2, r2, #134217728
749 .LVL62:
750 .L59:
935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
751 .loc 1 935 5 is_stmt 1 view .LVU244
935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
752 .loc 1 935 8 is_stmt 0 view .LVU245
753 00e6 14F4004F tst r4, #32768
754 00ea 04D0 beq .L60
938:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
755 .loc 1 938 7 is_stmt 1 view .LVU246
941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_NRST_MODE;
756 .loc 1 941 7 view .LVU247
941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_NRST_MODE;
757 .loc 1 941 35 is_stmt 0 view .LVU248
758 00ec 05F04051 and r1, r5, #805306368
941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_NRST_MODE;
759 .loc 1 941 20 view .LVU249
760 00f0 0B43 orrs r3, r3, r1
761 .LVL63:
942:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
762 .loc 1 942 7 is_stmt 1 view .LVU250
942:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
763 .loc 1 942 21 is_stmt 0 view .LVU251
764 00f2 42F04052 orr r2, r2, #805306368
765 .LVL64:
766 .L60:
945:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
767 .loc 1 945 5 is_stmt 1 view .LVU252
945:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
768 .loc 1 945 8 is_stmt 0 view .LVU253
769 00f6 14F4803F tst r4, #65536
770 00fa 04D0 beq .L61
948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
771 .loc 1 948 7 is_stmt 1 view .LVU254
951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_IRHEN;
772 .loc 1 951 7 view .LVU255
951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_IRHEN;
773 .loc 1 951 35 is_stmt 0 view .LVU256
774 00fc 05F08045 and r5, r5, #1073741824
775 .LVL65:
951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTR_IRHEN;
776 .loc 1 951 20 view .LVU257
ARM GAS /tmp/ccudk1nZ.s page 42
777 0100 2B43 orrs r3, r3, r5
778 .LVL66:
952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
779 .loc 1 952 7 is_stmt 1 view .LVU258
952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
780 .loc 1 952 21 is_stmt 0 view .LVU259
781 0102 42F08042 orr r2, r2, #1073741824
782 .LVL67:
783 .L61:
956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
784 .loc 1 956 5 is_stmt 1 view .LVU260
785 0106 0748 ldr r0, .L64
786 0108 016A ldr r1, [r0, #32]
787 010a 21EA0202 bic r2, r1, r2
788 .LVL68:
956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
789 .loc 1 956 5 is_stmt 0 view .LVU261
790 010e 1343 orrs r3, r3, r2
791 .LVL69:
956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
792 .loc 1 956 5 view .LVU262
793 0110 0362 str r3, [r0, #32]
959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
794 .loc 1 959 5 is_stmt 1 view .LVU263
795 0112 4369 ldr r3, [r0, #20]
796 0114 43F40033 orr r3, r3, #131072
797 0118 4361 str r3, [r0, #20]
962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
798 .loc 1 962 5 view .LVU264
962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
799 .loc 1 962 14 is_stmt 0 view .LVU265
800 011a 4FF47A70 mov r0, #1000
801 011e FFF7FEFF bl FLASH_WaitForLastOperation
802 .LVL70:
803 .L46:
965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
804 .loc 1 965 3 is_stmt 1 view .LVU266
966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
805 .loc 1 966 1 is_stmt 0 view .LVU267
806 0122 38BD pop {r3, r4, r5, pc}
807 .LVL71:
808 .L65:
966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
809 .loc 1 966 1 view .LVU268
810 .align 2
811 .L64:
812 0124 00200240 .word 1073881088
813 .cfi_endproc
814 .LFE341:
816 .section .text.FLASH_OB_PCROPConfig,"ax",%progbits
817 .align 1
818 .syntax unified
819 .thumb
820 .thumb_func
822 FLASH_OB_PCROPConfig:
823 .LVL72:
824 .LFB342:
ARM GAS /tmp/ccudk1nZ.s page 43
986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_StatusTypeDef status;
825 .loc 1 986 1 is_stmt 1 view -0
826 .cfi_startproc
827 @ args = 0, pretend = 0, frame = 0
828 @ frame_needed = 0, uses_anonymous_args = 0
986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_StatusTypeDef status;
829 .loc 1 986 1 is_stmt 0 view .LVU270
830 0000 70B5 push {r4, r5, r6, lr}
831 .LCFI5:
832 .cfi_def_cfa_offset 16
833 .cfi_offset 4, -16
834 .cfi_offset 5, -12
835 .cfi_offset 6, -8
836 .cfi_offset 14, -4
837 0002 0446 mov r4, r0
838 0004 0E46 mov r6, r1
839 0006 1546 mov r5, r2
987:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** uint32_t reg_value;
840 .loc 1 987 3 is_stmt 1 view .LVU271
988:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** uint32_t bank1_addr;
841 .loc 1 988 3 view .LVU272
989:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
842 .loc 1 989 3 view .LVU273
995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_OB_PCROP_RDP(PCROPConfig & FLASH_PCROP1ER_PCROP_RDP));
843 .loc 1 995 3 view .LVU274
996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_FLASH_MAIN_MEM_ADDRESS(PCROPStartAddr));
844 .loc 1 996 3 view .LVU275
997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_FLASH_MAIN_MEM_ADDRESS(PCROPEndAddr));
845 .loc 1 997 3 view .LVU276
998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
846 .loc 1 998 3 view .LVU277
1001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
847 .loc 1 1001 3 view .LVU278
1001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
848 .loc 1 1001 12 is_stmt 0 view .LVU279
849 0008 4FF47A70 mov r0, #1000
850 .LVL73:
1001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
851 .loc 1 1001 12 view .LVU280
852 000c FFF7FEFF bl FLASH_WaitForLastOperation
853 .LVL74:
1003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
854 .loc 1 1003 3 is_stmt 1 view .LVU281
1003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
855 .loc 1 1003 6 is_stmt 0 view .LVU282
856 0010 38BB cbnz r0, .L67
1018:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
857 .loc 1 1018 5 is_stmt 1 view .LVU283
858 .LVL75:
1050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
859 .loc 1 1050 7 view .LVU284
1050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
860 .loc 1 1050 10 is_stmt 0 view .LVU285
861 0012 14F0010F tst r4, #1
862 0016 14D0 beq .L68
1052:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** MODIFY_REG(FLASH->PCROP1SR, FLASH_PCROP1SR_PCROP1_STRT, reg_value);
863 .loc 1 1052 9 is_stmt 1 view .LVU286
ARM GAS /tmp/ccudk1nZ.s page 44
1052:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** MODIFY_REG(FLASH->PCROP1SR, FLASH_PCROP1SR_PCROP1_STRT, reg_value);
864 .loc 1 1052 38 is_stmt 0 view .LVU287
865 0018 06F17841 add r1, r6, #-134217728
866 .LVL76:
1053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
867 .loc 1 1053 9 is_stmt 1 view .LVU288
868 001c 114A ldr r2, .L70
869 001e 536A ldr r3, [r2, #36]
870 0020 23F47F53 bic r3, r3, #16320
871 0024 23F03F03 bic r3, r3, #63
872 0028 43EAD103 orr r3, r3, r1, lsr #3
873 002c 5362 str r3, [r2, #36]
1055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** MODIFY_REG(FLASH->PCROP1ER, FLASH_PCROP1ER_PCROP1_END, reg_value);
874 .loc 1 1055 9 view .LVU289
1055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** MODIFY_REG(FLASH->PCROP1ER, FLASH_PCROP1ER_PCROP1_END, reg_value);
875 .loc 1 1055 36 is_stmt 0 view .LVU290
876 002e 05F17845 add r5, r5, #-134217728
877 .LVL77:
1056:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
878 .loc 1 1056 9 is_stmt 1 view .LVU291
879 0032 936A ldr r3, [r2, #40]
880 0034 23F47F53 bic r3, r3, #16320
881 0038 23F03F03 bic r3, r3, #63
882 003c 43EAD503 orr r3, r3, r5, lsr #3
883 0040 9362 str r3, [r2, #40]
884 .LVL78:
885 .L68:
1071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
886 .loc 1 1071 7 view .LVU292
1074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
887 .loc 1 1074 5 view .LVU293
888 0042 084A ldr r2, .L70
889 0044 936A ldr r3, [r2, #40]
890 0046 23F00043 bic r3, r3, #-2147483648
891 004a 04F00044 and r4, r4, #-2147483648
892 .LVL79:
1074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
893 .loc 1 1074 5 is_stmt 0 view .LVU294
894 004e 1C43 orrs r4, r4, r3
895 0050 9462 str r4, [r2, #40]
1077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
896 .loc 1 1077 5 is_stmt 1 view .LVU295
897 0052 5369 ldr r3, [r2, #20]
898 0054 43F40033 orr r3, r3, #131072
899 0058 5361 str r3, [r2, #20]
1080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
900 .loc 1 1080 5 view .LVU296
1080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
901 .loc 1 1080 14 is_stmt 0 view .LVU297
902 005a 4FF47A70 mov r0, #1000
903 005e FFF7FEFF bl FLASH_WaitForLastOperation
904 .LVL80:
905 .L67:
1083:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
906 .loc 1 1083 3 is_stmt 1 view .LVU298
1084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
907 .loc 1 1084 1 is_stmt 0 view .LVU299
ARM GAS /tmp/ccudk1nZ.s page 45
908 0062 70BD pop {r4, r5, r6, pc}
909 .LVL81:
910 .L71:
1084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
911 .loc 1 1084 1 view .LVU300
912 .align 2
913 .L70:
914 0064 00200240 .word 1073881088
915 .cfi_endproc
916 .LFE342:
918 .section .text.FLASH_OB_SecMemConfig,"ax",%progbits
919 .align 1
920 .syntax unified
921 .thumb
922 .thumb_func
924 FLASH_OB_SecMemConfig:
925 .LVL82:
926 .LFB343:
1104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_StatusTypeDef status;
927 .loc 1 1104 1 is_stmt 1 view -0
928 .cfi_startproc
929 @ args = 0, pretend = 0, frame = 0
930 @ frame_needed = 0, uses_anonymous_args = 0
1104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_StatusTypeDef status;
931 .loc 1 1104 1 is_stmt 0 view .LVU302
932 0000 38B5 push {r3, r4, r5, lr}
933 .LCFI6:
934 .cfi_def_cfa_offset 16
935 .cfi_offset 3, -16
936 .cfi_offset 4, -12
937 .cfi_offset 5, -8
938 .cfi_offset 14, -4
939 0002 0446 mov r4, r0
940 0004 0D46 mov r5, r1
1105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
941 .loc 1 1105 3 is_stmt 1 view .LVU303
1108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** assert_param(IS_OB_SECMEM_SIZE(SecSize));
942 .loc 1 1108 3 view .LVU304
1109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
943 .loc 1 1109 3 view .LVU305
1112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
944 .loc 1 1112 3 view .LVU306
1112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
945 .loc 1 1112 12 is_stmt 0 view .LVU307
946 0006 4FF47A70 mov r0, #1000
947 .LVL83:
1112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
948 .loc 1 1112 12 view .LVU308
949 000a FFF7FEFF bl FLASH_WaitForLastOperation
950 .LVL84:
1114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
951 .loc 1 1114 3 is_stmt 1 view .LVU309
1114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
952 .loc 1 1114 6 is_stmt 0 view .LVU310
953 000e 50B9 cbnz r0, .L73
1117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
954 .loc 1 1117 5 is_stmt 1 view .LVU311
ARM GAS /tmp/ccudk1nZ.s page 46
1117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
955 .loc 1 1117 8 is_stmt 0 view .LVU312
956 0010 012C cmp r4, #1
957 0012 09D0 beq .L76
958 .L74:
1133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
959 .loc 1 1133 5 is_stmt 1 view .LVU313
960 0014 084A ldr r2, .L77
961 0016 5369 ldr r3, [r2, #20]
962 0018 43F40033 orr r3, r3, #131072
963 001c 5361 str r3, [r2, #20]
1136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
964 .loc 1 1136 5 view .LVU314
1136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
965 .loc 1 1136 14 is_stmt 0 view .LVU315
966 001e 4FF47A70 mov r0, #1000
967 0022 FFF7FEFF bl FLASH_WaitForLastOperation
968 .LVL85:
969 .L73:
1139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
970 .loc 1 1139 3 is_stmt 1 view .LVU316
1140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
971 .loc 1 1140 1 is_stmt 0 view .LVU317
972 0026 38BD pop {r3, r4, r5, pc}
973 .LVL86:
974 .L76:
1119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
975 .loc 1 1119 7 is_stmt 1 view .LVU318
976 0028 034A ldr r2, .L77
977 002a 136F ldr r3, [r2, #112]
978 002c 23F07F03 bic r3, r3, #127
979 0030 2B43 orrs r3, r3, r5
980 0032 1367 str r3, [r2, #112]
981 0034 EEE7 b .L74
982 .L78:
983 0036 00BF .align 2
984 .L77:
985 0038 00200240 .word 1073881088
986 .cfi_endproc
987 .LFE343:
989 .section .text.FLASH_OB_BootLockConfig,"ax",%progbits
990 .align 1
991 .syntax unified
992 .thumb
993 .thumb_func
995 FLASH_OB_BootLockConfig:
996 .LVL87:
997 .LFB344:
1157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_StatusTypeDef status;
998 .loc 1 1157 1 view -0
999 .cfi_startproc
1000 @ args = 0, pretend = 0, frame = 0
1001 @ frame_needed = 0, uses_anonymous_args = 0
1157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_StatusTypeDef status;
1002 .loc 1 1157 1 is_stmt 0 view .LVU320
1003 0000 10B5 push {r4, lr}
1004 .LCFI7:
ARM GAS /tmp/ccudk1nZ.s page 47
1005 .cfi_def_cfa_offset 8
1006 .cfi_offset 4, -8
1007 .cfi_offset 14, -4
1008 0002 0446 mov r4, r0
1158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1009 .loc 1 1158 3 is_stmt 1 view .LVU321
1161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1010 .loc 1 1161 3 view .LVU322
1164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1011 .loc 1 1164 3 view .LVU323
1164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1012 .loc 1 1164 12 is_stmt 0 view .LVU324
1013 0004 4FF47A70 mov r0, #1000
1014 .LVL88:
1164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1015 .loc 1 1164 12 view .LVU325
1016 0008 FFF7FEFF bl FLASH_WaitForLastOperation
1017 .LVL89:
1166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1018 .loc 1 1166 3 is_stmt 1 view .LVU326
1166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1019 .loc 1 1166 6 is_stmt 0 view .LVU327
1020 000c 00B1 cbz r0, .L82
1021 .L80:
1022 .LVL90:
1177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1023 .loc 1 1177 3 is_stmt 1 view .LVU328
1178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1024 .loc 1 1178 1 is_stmt 0 view .LVU329
1025 000e 10BD pop {r4, pc}
1026 .LVL91:
1027 .L82:
1168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1028 .loc 1 1168 5 is_stmt 1 view .LVU330
1029 0010 074A ldr r2, .L83
1030 0012 136F ldr r3, [r2, #112]
1031 0014 23F48033 bic r3, r3, #65536
1032 0018 2343 orrs r3, r3, r4
1033 001a 1367 str r3, [r2, #112]
1171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1034 .loc 1 1171 5 view .LVU331
1035 001c 5369 ldr r3, [r2, #20]
1036 001e 43F40033 orr r3, r3, #131072
1037 0022 5361 str r3, [r2, #20]
1174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1038 .loc 1 1174 5 view .LVU332
1174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1039 .loc 1 1174 14 is_stmt 0 view .LVU333
1040 0024 4FF47A70 mov r0, #1000
1041 0028 FFF7FEFF bl FLASH_WaitForLastOperation
1042 .LVL92:
1174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1043 .loc 1 1174 14 view .LVU334
1044 002c EFE7 b .L80
1045 .L84:
1046 002e 00BF .align 2
1047 .L83:
ARM GAS /tmp/ccudk1nZ.s page 48
1048 0030 00200240 .word 1073881088
1049 .cfi_endproc
1050 .LFE344:
1052 .section .text.HAL_FLASHEx_OBProgram,"ax",%progbits
1053 .align 1
1054 .global HAL_FLASHEx_OBProgram
1055 .syntax unified
1056 .thumb
1057 .thumb_func
1059 HAL_FLASHEx_OBProgram:
1060 .LVL93:
1061 .LFB331:
311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
1062 .loc 1 311 1 is_stmt 1 view -0
1063 .cfi_startproc
1064 @ args = 0, pretend = 0, frame = 0
1065 @ frame_needed = 0, uses_anonymous_args = 0
311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
1066 .loc 1 311 1 is_stmt 0 view .LVU336
1067 0000 38B5 push {r3, r4, r5, lr}
1068 .LCFI8:
1069 .cfi_def_cfa_offset 16
1070 .cfi_offset 3, -16
1071 .cfi_offset 4, -12
1072 .cfi_offset 5, -8
1073 .cfi_offset 14, -4
312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1074 .loc 1 312 3 is_stmt 1 view .LVU337
1075 .LVL94:
315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1076 .loc 1 315 3 view .LVU338
318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1077 .loc 1 318 3 view .LVU339
318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1078 .loc 1 318 3 view .LVU340
1079 0002 2E4B ldr r3, .L108
1080 0004 1B78 ldrb r3, [r3] @ zero_extendqisi2
1081 0006 012B cmp r3, #1
1082 0008 56D0 beq .L93
1083 000a 0446 mov r4, r0
318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1084 .loc 1 318 3 discriminator 2 view .LVU341
1085 000c 2B4B ldr r3, .L108
1086 000e 0122 movs r2, #1
1087 0010 1A70 strb r2, [r3]
318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1088 .loc 1 318 3 discriminator 2 view .LVU342
320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1089 .loc 1 320 3 discriminator 2 view .LVU343
320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1090 .loc 1 320 20 is_stmt 0 discriminator 2 view .LVU344
1091 0012 0022 movs r2, #0
1092 0014 5A60 str r2, [r3, #4]
323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1093 .loc 1 323 3 is_stmt 1 discriminator 2 view .LVU345
323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1094 .loc 1 323 15 is_stmt 0 discriminator 2 view .LVU346
ARM GAS /tmp/ccudk1nZ.s page 49
1095 0016 0368 ldr r3, [r0]
323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1096 .loc 1 323 6 discriminator 2 view .LVU347
1097 0018 13F0010F tst r3, #1
1098 001c 1DD1 bne .L102
312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1099 .loc 1 312 21 view .LVU348
1100 001e 0025 movs r5, #0
1101 .LVL95:
1102 .L87:
333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1103 .loc 1 333 3 is_stmt 1 view .LVU349
333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1104 .loc 1 333 15 is_stmt 0 view .LVU350
1105 0020 2368 ldr r3, [r4]
333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1106 .loc 1 333 6 view .LVU351
1107 0022 13F0020F tst r3, #2
1108 0026 22D1 bne .L103
1109 .LVL96:
1110 .L88:
343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1111 .loc 1 343 3 is_stmt 1 view .LVU352
343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1112 .loc 1 343 15 is_stmt 0 view .LVU353
1113 0028 2368 ldr r3, [r4]
343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1114 .loc 1 343 6 view .LVU354
1115 002a 13F0040F tst r3, #4
1116 002e 25D1 bne .L104
1117 .LVL97:
1118 .L89:
353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1119 .loc 1 353 3 is_stmt 1 view .LVU355
353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1120 .loc 1 353 15 is_stmt 0 view .LVU356
1121 0030 2368 ldr r3, [r4]
353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1122 .loc 1 353 6 view .LVU357
1123 0032 13F0080F tst r3, #8
1124 0036 03D0 beq .L90
355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1125 .loc 1 355 5 is_stmt 1 view .LVU358
355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1126 .loc 1 355 16 is_stmt 0 view .LVU359
1127 0038 216A ldr r1, [r4, #32]
355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1128 .loc 1 355 43 view .LVU360
1129 003a 626A ldr r2, [r4, #36]
355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1130 .loc 1 355 8 view .LVU361
1131 003c 9142 cmp r1, r2
1132 003e 25D1 bne .L105
1133 .LVL98:
1134 .L90:
366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1135 .loc 1 366 3 is_stmt 1 view .LVU362
ARM GAS /tmp/ccudk1nZ.s page 50
366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1136 .loc 1 366 15 is_stmt 0 view .LVU363
1137 0040 2368 ldr r3, [r4]
366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1138 .loc 1 366 6 view .LVU364
1139 0042 13F0200F tst r3, #32
1140 0046 28D1 bne .L106
1141 .LVL99:
1142 .L91:
376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1143 .loc 1 376 3 is_stmt 1 view .LVU365
376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1144 .loc 1 376 15 is_stmt 0 view .LVU366
1145 0048 2368 ldr r3, [r4]
376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1146 .loc 1 376 6 view .LVU367
1147 004a 13F0100F tst r3, #16
1148 004e 2CD1 bne .L107
1149 .LVL100:
1150 .L92:
386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1151 .loc 1 386 3 is_stmt 1 view .LVU368
386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1152 .loc 1 386 3 view .LVU369
1153 0050 1A4B ldr r3, .L108
1154 0052 0022 movs r2, #0
1155 0054 1A70 strb r2, [r3]
386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1156 .loc 1 386 3 view .LVU370
388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1157 .loc 1 388 3 view .LVU371
1158 .LVL101:
1159 .L86:
389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1160 .loc 1 389 1 is_stmt 0 view .LVU372
1161 0056 2846 mov r0, r5
1162 0058 38BD pop {r3, r4, r5, pc}
1163 .LVL102:
1164 .L102:
326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1165 .loc 1 326 5 is_stmt 1 view .LVU373
326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1166 .loc 1 326 9 is_stmt 0 view .LVU374
1167 005a C268 ldr r2, [r0, #12]
1168 005c 8168 ldr r1, [r0, #8]
1169 005e 4068 ldr r0, [r0, #4]
1170 .LVL103:
326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1171 .loc 1 326 9 view .LVU375
1172 0060 FFF7FEFF bl FLASH_OB_WRPConfig
1173 .LVL104:
326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1174 .loc 1 326 8 view .LVU376
1175 0064 0546 mov r5, r0
1176 0066 0028 cmp r0, #0
1177 0068 DAD0 beq .L87
328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
ARM GAS /tmp/ccudk1nZ.s page 51
1178 .loc 1 328 14 view .LVU377
1179 006a 0125 movs r5, #1
1180 006c D8E7 b .L87
1181 .LVL105:
1182 .L103:
336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1183 .loc 1 336 5 is_stmt 1 view .LVU378
336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1184 .loc 1 336 9 is_stmt 0 view .LVU379
1185 006e 2069 ldr r0, [r4, #16]
1186 0070 FFF7FEFF bl FLASH_OB_RDPConfig
1187 .LVL106:
336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1188 .loc 1 336 8 view .LVU380
1189 0074 0028 cmp r0, #0
1190 0076 D7D0 beq .L88
338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1191 .loc 1 338 14 view .LVU381
1192 0078 0125 movs r5, #1
1193 .LVL107:
338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1194 .loc 1 338 14 view .LVU382
1195 007a D5E7 b .L88
1196 .LVL108:
1197 .L104:
346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1198 .loc 1 346 5 is_stmt 1 view .LVU383
346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1199 .loc 1 346 9 is_stmt 0 view .LVU384
1200 007c A169 ldr r1, [r4, #24]
1201 007e 6069 ldr r0, [r4, #20]
1202 0080 FFF7FEFF bl FLASH_OB_UserConfig
1203 .LVL109:
346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1204 .loc 1 346 8 view .LVU385
1205 0084 0028 cmp r0, #0
1206 0086 D3D0 beq .L89
348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1207 .loc 1 348 14 view .LVU386
1208 0088 0125 movs r5, #1
1209 .LVL110:
348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1210 .loc 1 348 14 view .LVU387
1211 008a D1E7 b .L89
1212 .LVL111:
1213 .L105:
358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1214 .loc 1 358 7 is_stmt 1 view .LVU388
358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1215 .loc 1 358 11 is_stmt 0 view .LVU389
1216 008c E069 ldr r0, [r4, #28]
1217 008e FFF7FEFF bl FLASH_OB_PCROPConfig
1218 .LVL112:
358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1219 .loc 1 358 10 view .LVU390
1220 0092 0028 cmp r0, #0
1221 0094 D4D0 beq .L90
ARM GAS /tmp/ccudk1nZ.s page 52
360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1222 .loc 1 360 16 view .LVU391
1223 0096 0125 movs r5, #1
1224 .LVL113:
360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1225 .loc 1 360 16 view .LVU392
1226 0098 D2E7 b .L90
1227 .LVL114:
1228 .L106:
369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1229 .loc 1 369 5 is_stmt 1 view .LVU393
369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1230 .loc 1 369 9 is_stmt 0 view .LVU394
1231 009a 216B ldr r1, [r4, #48]
1232 009c E06A ldr r0, [r4, #44]
1233 009e FFF7FEFF bl FLASH_OB_SecMemConfig
1234 .LVL115:
369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1235 .loc 1 369 8 view .LVU395
1236 00a2 0028 cmp r0, #0
1237 00a4 D0D0 beq .L91
371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1238 .loc 1 371 14 view .LVU396
1239 00a6 0125 movs r5, #1
1240 .LVL116:
371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1241 .loc 1 371 14 view .LVU397
1242 00a8 CEE7 b .L91
1243 .LVL117:
1244 .L107:
379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1245 .loc 1 379 5 is_stmt 1 view .LVU398
379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1246 .loc 1 379 9 is_stmt 0 view .LVU399
1247 00aa A06A ldr r0, [r4, #40]
1248 00ac FFF7FEFF bl FLASH_OB_BootLockConfig
1249 .LVL118:
379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1250 .loc 1 379 8 view .LVU400
1251 00b0 0028 cmp r0, #0
1252 00b2 CDD0 beq .L92
381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1253 .loc 1 381 14 view .LVU401
1254 00b4 0125 movs r5, #1
1255 .LVL119:
381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1256 .loc 1 381 14 view .LVU402
1257 00b6 CBE7 b .L92
1258 .LVL120:
1259 .L93:
318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1260 .loc 1 318 3 view .LVU403
1261 00b8 0225 movs r5, #2
1262 00ba CCE7 b .L86
1263 .L109:
1264 .align 2
1265 .L108:
ARM GAS /tmp/ccudk1nZ.s page 53
1266 00bc 00000000 .word pFlash
1267 .cfi_endproc
1268 .LFE331:
1270 .section .text.HAL_FLASHEx_OBGetConfig,"ax",%progbits
1271 .align 1
1272 .global HAL_FLASHEx_OBGetConfig
1273 .syntax unified
1274 .thumb
1275 .thumb_func
1277 HAL_FLASHEx_OBGetConfig:
1278 .LVL121:
1279 .LFB332:
400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** pOBInit->OptionType = (OPTIONBYTE_RDP | OPTIONBYTE_USER);
1280 .loc 1 400 1 is_stmt 1 view -0
1281 .cfi_startproc
1282 @ args = 0, pretend = 0, frame = 0
1283 @ frame_needed = 0, uses_anonymous_args = 0
400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** pOBInit->OptionType = (OPTIONBYTE_RDP | OPTIONBYTE_USER);
1284 .loc 1 400 1 is_stmt 0 view .LVU405
1285 0000 10B5 push {r4, lr}
1286 .LCFI9:
1287 .cfi_def_cfa_offset 8
1288 .cfi_offset 4, -8
1289 .cfi_offset 14, -4
1290 0002 0446 mov r4, r0
401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1291 .loc 1 401 3 is_stmt 1 view .LVU406
401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1292 .loc 1 401 23 is_stmt 0 view .LVU407
1293 0004 0623 movs r3, #6
1294 0006 0360 str r3, [r0]
407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
1295 .loc 1 407 3 is_stmt 1 view .LVU408
407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
1296 .loc 1 407 15 is_stmt 0 view .LVU409
1297 0008 4068 ldr r0, [r0, #4]
1298 .LVL122:
407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
1299 .loc 1 407 6 view .LVU410
1300 000a 0128 cmp r0, #1
1301 000c 13D9 bls .L115
1302 .L111:
416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1303 .loc 1 416 3 is_stmt 1 view .LVU411
416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1304 .loc 1 416 23 is_stmt 0 view .LVU412
1305 000e FFF7FEFF bl FLASH_OB_GetRDP
1306 .LVL123:
416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1307 .loc 1 416 21 view .LVU413
1308 0012 2061 str r0, [r4, #16]
419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1309 .loc 1 419 3 is_stmt 1 view .LVU414
419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1310 .loc 1 419 25 is_stmt 0 view .LVU415
1311 0014 FFF7FEFF bl FLASH_OB_GetUser
1312 .LVL124:
ARM GAS /tmp/ccudk1nZ.s page 54
419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1313 .loc 1 419 23 view .LVU416
1314 0018 A061 str r0, [r4, #24]
424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
1315 .loc 1 424 3 is_stmt 1 view .LVU417
424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
1316 .loc 1 424 14 is_stmt 0 view .LVU418
1317 001a E369 ldr r3, [r4, #28]
424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
1318 .loc 1 424 6 view .LVU419
1319 001c 012B cmp r3, #1
1320 001e 13D0 beq .L116
1321 .L112:
432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1322 .loc 1 432 3 is_stmt 1 view .LVU420
432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1323 .loc 1 432 10 is_stmt 0 view .LVU421
1324 0020 2368 ldr r3, [r4]
432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1325 .loc 1 432 23 view .LVU422
1326 0022 43F01003 orr r3, r3, #16
1327 0026 2360 str r3, [r4]
435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1328 .loc 1 435 3 is_stmt 1 view .LVU423
435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1329 .loc 1 435 29 is_stmt 0 view .LVU424
1330 0028 FFF7FEFF bl FLASH_OB_GetBootLock
1331 .LVL125:
435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1332 .loc 1 435 27 view .LVU425
1333 002c A062 str r0, [r4, #40]
441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
1334 .loc 1 441 3 is_stmt 1 view .LVU426
441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
1335 .loc 1 441 14 is_stmt 0 view .LVU427
1336 002e E06A ldr r0, [r4, #44]
441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
1337 .loc 1 441 6 view .LVU428
1338 0030 0128 cmp r0, #1
1339 0032 16D0 beq .L117
1340 .L110:
447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1341 .loc 1 447 1 view .LVU429
1342 0034 10BD pop {r4, pc}
1343 .LVL126:
1344 .L115:
410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Get write protection on the selected area */
1345 .loc 1 410 5 is_stmt 1 view .LVU430
410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Get write protection on the selected area */
1346 .loc 1 410 25 is_stmt 0 view .LVU431
1347 0036 2246 mov r2, r4
1348 0038 0723 movs r3, #7
1349 003a 42F80C3B str r3, [r2], #12
412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1350 .loc 1 412 5 is_stmt 1 view .LVU432
1351 003e 04F10801 add r1, r4, #8
1352 0042 FFF7FEFF bl FLASH_OB_GetWRP
ARM GAS /tmp/ccudk1nZ.s page 55
1353 .LVL127:
1354 0046 E2E7 b .L111
1355 .L116:
427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Get the Proprietary code readout protection */
1356 .loc 1 427 5 view .LVU433
427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Get the Proprietary code readout protection */
1357 .loc 1 427 12 is_stmt 0 view .LVU434
1358 0048 2368 ldr r3, [r4]
427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Get the Proprietary code readout protection */
1359 .loc 1 427 25 view .LVU435
1360 004a 43F00803 orr r3, r3, #8
1361 004e 2246 mov r2, r4
1362 0050 42F8243B str r3, [r2], #36
429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1363 .loc 1 429 5 is_stmt 1 view .LVU436
1364 0054 04F12001 add r1, r4, #32
1365 0058 04F11C00 add r0, r4, #28
1366 005c FFF7FEFF bl FLASH_OB_GetPCROP
1367 .LVL128:
1368 0060 DEE7 b .L112
1369 .L117:
444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** FLASH_OB_GetSecMem(pOBInit->SecBank, &(pOBInit->SecSize));
1370 .loc 1 444 5 view .LVU437
444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** FLASH_OB_GetSecMem(pOBInit->SecBank, &(pOBInit->SecSize));
1371 .loc 1 444 12 is_stmt 0 view .LVU438
1372 0062 2368 ldr r3, [r4]
444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** FLASH_OB_GetSecMem(pOBInit->SecBank, &(pOBInit->SecSize));
1373 .loc 1 444 25 view .LVU439
1374 0064 43F02003 orr r3, r3, #32
1375 0068 2146 mov r1, r4
1376 006a 41F8303B str r3, [r1], #48
445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1377 .loc 1 445 5 is_stmt 1 view .LVU440
1378 006e FFF7FEFF bl FLASH_OB_GetSecMem
1379 .LVL129:
447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1380 .loc 1 447 1 is_stmt 0 view .LVU441
1381 0072 DFE7 b .L110
1382 .cfi_endproc
1383 .LFE332:
1385 .section .text.HAL_FLASHEx_EnableSecMemProtection,"ax",%progbits
1386 .align 1
1387 .global HAL_FLASHEx_EnableSecMemProtection
1388 .syntax unified
1389 .thumb
1390 .thumb_func
1392 HAL_FLASHEx_EnableSecMemProtection:
1393 .LVL130:
1394 .LFB333:
460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #if defined (FLASH_OPTR_DBANK)
1395 .loc 1 460 1 is_stmt 1 view -0
1396 .cfi_startproc
1397 @ args = 0, pretend = 0, frame = 0
1398 @ frame_needed = 0, uses_anonymous_args = 0
1399 @ link register save eliminated.
482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1400 .loc 1 482 5 view .LVU443
ARM GAS /tmp/ccudk1nZ.s page 56
1401 0000 034A ldr r2, .L119
1402 0002 5369 ldr r3, [r2, #20]
1403 0004 43F08053 orr r3, r3, #268435456
1404 0008 5361 str r3, [r2, #20]
485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1405 .loc 1 485 3 view .LVU444
486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1406 .loc 1 486 1 is_stmt 0 view .LVU445
1407 000a 0020 movs r0, #0
1408 .LVL131:
486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1409 .loc 1 486 1 view .LVU446
1410 000c 7047 bx lr
1411 .L120:
1412 000e 00BF .align 2
1413 .L119:
1414 0010 00200240 .word 1073881088
1415 .cfi_endproc
1416 .LFE333:
1418 .section .text.HAL_FLASHEx_EnableDebugger,"ax",%progbits
1419 .align 1
1420 .global HAL_FLASHEx_EnableDebugger
1421 .syntax unified
1422 .thumb
1423 .thumb_func
1425 HAL_FLASHEx_EnableDebugger:
1426 .LFB334:
494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** FLASH->ACR |= FLASH_ACR_DBG_SWEN;
1427 .loc 1 494 1 is_stmt 1 view -0
1428 .cfi_startproc
1429 @ args = 0, pretend = 0, frame = 0
1430 @ frame_needed = 0, uses_anonymous_args = 0
1431 @ link register save eliminated.
495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1432 .loc 1 495 3 view .LVU448
495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1433 .loc 1 495 8 is_stmt 0 view .LVU449
1434 0000 024A ldr r2, .L122
1435 0002 1368 ldr r3, [r2]
495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1436 .loc 1 495 14 view .LVU450
1437 0004 43F48023 orr r3, r3, #262144
1438 0008 1360 str r3, [r2]
496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1439 .loc 1 496 1 view .LVU451
1440 000a 7047 bx lr
1441 .L123:
1442 .align 2
1443 .L122:
1444 000c 00200240 .word 1073881088
1445 .cfi_endproc
1446 .LFE334:
1448 .section .text.HAL_FLASHEx_DisableDebugger,"ax",%progbits
1449 .align 1
1450 .global HAL_FLASHEx_DisableDebugger
1451 .syntax unified
1452 .thumb
ARM GAS /tmp/ccudk1nZ.s page 57
1453 .thumb_func
1455 HAL_FLASHEx_DisableDebugger:
1456 .LFB335:
506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** FLASH->ACR &= ~FLASH_ACR_DBG_SWEN;
1457 .loc 1 506 1 is_stmt 1 view -0
1458 .cfi_startproc
1459 @ args = 0, pretend = 0, frame = 0
1460 @ frame_needed = 0, uses_anonymous_args = 0
1461 @ link register save eliminated.
507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1462 .loc 1 507 3 view .LVU453
507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1463 .loc 1 507 8 is_stmt 0 view .LVU454
1464 0000 024A ldr r2, .L125
1465 0002 1368 ldr r3, [r2]
507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1466 .loc 1 507 14 view .LVU455
1467 0004 23F48023 bic r3, r3, #262144
1468 0008 1360 str r3, [r2]
508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1469 .loc 1 508 1 view .LVU456
1470 000a 7047 bx lr
1471 .L126:
1472 .align 2
1473 .L125:
1474 000c 00200240 .word 1073881088
1475 .cfi_endproc
1476 .LFE335:
1478 .section .text.FLASH_PageErase,"ax",%progbits
1479 .align 1
1480 .global FLASH_PageErase
1481 .syntax unified
1482 .thumb
1483 .thumb_func
1485 FLASH_PageErase:
1486 .LVL132:
1487 .LFB337:
579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Check the parameters */
1488 .loc 1 579 1 is_stmt 1 view -0
1489 .cfi_startproc
1490 @ args = 0, pretend = 0, frame = 0
1491 @ frame_needed = 0, uses_anonymous_args = 0
1492 @ link register save eliminated.
581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1493 .loc 1 581 3 view .LVU458
604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_PER);
1494 .loc 1 604 3 view .LVU459
1495 0000 084B ldr r3, .L128
1496 0002 5A69 ldr r2, [r3, #20]
1497 0004 22F4FC72 bic r2, r2, #504
1498 0008 C000 lsls r0, r0, #3
1499 .LVL133:
604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_PER);
1500 .loc 1 604 3 is_stmt 0 view .LVU460
1501 000a 00F4FF60 and r0, r0, #2040
1502 000e 0243 orrs r2, r2, r0
1503 0010 5A61 str r2, [r3, #20]
ARM GAS /tmp/ccudk1nZ.s page 58
605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_STRT);
1504 .loc 1 605 3 is_stmt 1 view .LVU461
1505 0012 5A69 ldr r2, [r3, #20]
1506 0014 42F00202 orr r2, r2, #2
1507 0018 5A61 str r2, [r3, #20]
606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1508 .loc 1 606 3 view .LVU462
1509 001a 5A69 ldr r2, [r3, #20]
1510 001c 42F48032 orr r2, r2, #65536
1511 0020 5A61 str r2, [r3, #20]
607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1512 .loc 1 607 1 is_stmt 0 view .LVU463
1513 0022 7047 bx lr
1514 .L129:
1515 .align 2
1516 .L128:
1517 0024 00200240 .word 1073881088
1518 .cfi_endproc
1519 .LFE337:
1521 .section .text.HAL_FLASHEx_Erase_IT,"ax",%progbits
1522 .align 1
1523 .global HAL_FLASHEx_Erase_IT
1524 .syntax unified
1525 .thumb
1526 .thumb_func
1528 HAL_FLASHEx_Erase_IT:
1529 .LVL134:
1530 .LFB330:
238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
1531 .loc 1 238 1 is_stmt 1 view -0
1532 .cfi_startproc
1533 @ args = 0, pretend = 0, frame = 0
1534 @ frame_needed = 0, uses_anonymous_args = 0
239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1535 .loc 1 239 3 view .LVU465
242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1536 .loc 1 242 3 view .LVU466
242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1537 .loc 1 242 3 view .LVU467
1538 0000 294A ldr r2, .L143
1539 0002 1278 ldrb r2, [r2] @ zero_extendqisi2
1540 0004 012A cmp r2, #1
1541 0006 4DD0 beq .L137
238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
1542 .loc 1 238 1 is_stmt 0 discriminator 2 view .LVU468
1543 0008 08B5 push {r3, lr}
1544 .LCFI10:
1545 .cfi_def_cfa_offset 8
1546 .cfi_offset 3, -8
1547 .cfi_offset 14, -4
1548 000a 0346 mov r3, r0
242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1549 .loc 1 242 3 is_stmt 1 discriminator 2 view .LVU469
1550 000c 264A ldr r2, .L143
1551 000e 0121 movs r1, #1
1552 0010 1170 strb r1, [r2]
242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
ARM GAS /tmp/ccudk1nZ.s page 59
1553 .loc 1 242 3 discriminator 2 view .LVU470
245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1554 .loc 1 245 3 discriminator 2 view .LVU471
247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1555 .loc 1 247 3 discriminator 2 view .LVU472
247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1556 .loc 1 247 20 is_stmt 0 discriminator 2 view .LVU473
1557 0012 0021 movs r1, #0
1558 0014 5160 str r1, [r2, #4]
250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1559 .loc 1 250 3 is_stmt 1 discriminator 2 view .LVU474
250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1560 .loc 1 250 7 is_stmt 0 discriminator 2 view .LVU475
1561 0016 254A ldr r2, .L143+4
1562 0018 1268 ldr r2, [r2]
250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1563 .loc 1 250 6 discriminator 2 view .LVU476
1564 001a 12F4007F tst r2, #512
1565 001e 27D0 beq .L132
252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1566 .loc 1 252 5 is_stmt 1 view .LVU477
252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1567 .loc 1 252 9 is_stmt 0 view .LVU478
1568 0020 224A ldr r2, .L143+4
1569 0022 1268 ldr r2, [r2]
252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1570 .loc 1 252 8 view .LVU479
1571 0024 12F4806F tst r2, #1024
1572 0028 1ED0 beq .L133
255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** pFlash.CacheToReactivate = FLASH_CACHE_ICACHE_DCACHE_ENABLED;
1573 .loc 1 255 7 is_stmt 1 view .LVU480
1574 002a 2049 ldr r1, .L143+4
1575 002c 0A68 ldr r2, [r1]
1576 002e 22F48062 bic r2, r2, #1024
1577 0032 0A60 str r2, [r1]
256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1578 .loc 1 256 7 view .LVU481
256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1579 .loc 1 256 32 is_stmt 0 view .LVU482
1580 0034 1C4A ldr r2, .L143
1581 0036 0321 movs r1, #3
1582 0038 1177 strb r1, [r2, #28]
1583 .L134:
275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1584 .loc 1 275 3 is_stmt 1 discriminator 4 view .LVU483
275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1585 .loc 1 275 3 discriminator 4 view .LVU484
275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1586 .loc 1 275 3 discriminator 4 view .LVU485
275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1587 .loc 1 275 3 discriminator 4 view .LVU486
1588 003a 1C49 ldr r1, .L143+4
1589 003c 4A69 ldr r2, [r1, #20]
1590 003e 42F04072 orr r2, r2, #50331648
1591 0042 4A61 str r2, [r1, #20]
275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1592 .loc 1 275 3 discriminator 4 view .LVU487
ARM GAS /tmp/ccudk1nZ.s page 60
277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1593 .loc 1 277 3 discriminator 4 view .LVU488
277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1594 .loc 1 277 27 is_stmt 0 discriminator 4 view .LVU489
1595 0044 5968 ldr r1, [r3, #4]
277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1596 .loc 1 277 15 discriminator 4 view .LVU490
1597 0046 184A ldr r2, .L143
1598 0048 1161 str r1, [r2, #16]
279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1599 .loc 1 279 3 is_stmt 1 discriminator 4 view .LVU491
279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1600 .loc 1 279 17 is_stmt 0 discriminator 4 view .LVU492
1601 004a 1A68 ldr r2, [r3]
279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1602 .loc 1 279 6 discriminator 4 view .LVU493
1603 004c 012A cmp r2, #1
1604 004e 21D0 beq .L142
288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** pFlash.NbPagesToErase = pEraseInit->NbPages;
1605 .loc 1 288 5 is_stmt 1 view .LVU494
288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** pFlash.NbPagesToErase = pEraseInit->NbPages;
1606 .loc 1 288 29 is_stmt 0 view .LVU495
1607 0050 154A ldr r2, .L143
1608 0052 0121 movs r1, #1
1609 0054 1172 strb r1, [r2, #8]
289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** pFlash.Page = pEraseInit->Page;
1610 .loc 1 289 5 is_stmt 1 view .LVU496
289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** pFlash.Page = pEraseInit->Page;
1611 .loc 1 289 39 is_stmt 0 view .LVU497
1612 0056 D968 ldr r1, [r3, #12]
289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** pFlash.Page = pEraseInit->Page;
1613 .loc 1 289 27 view .LVU498
1614 0058 9161 str r1, [r2, #24]
290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1615 .loc 1 290 5 is_stmt 1 view .LVU499
290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1616 .loc 1 290 29 is_stmt 0 view .LVU500
1617 005a 9868 ldr r0, [r3, #8]
1618 .LVL135:
290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1619 .loc 1 290 17 view .LVU501
1620 005c 5061 str r0, [r2, #20]
293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1621 .loc 1 293 5 is_stmt 1 view .LVU502
1622 005e 5968 ldr r1, [r3, #4]
1623 0060 FFF7FEFF bl FLASH_PageErase
1624 .LVL136:
296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1625 .loc 1 296 10 is_stmt 0 view .LVU503
1626 0064 0020 movs r0, #0
1627 .L131:
297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1628 .loc 1 297 1 view .LVU504
1629 0066 08BD pop {r3, pc}
1630 .LVL137:
1631 .L133:
260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
ARM GAS /tmp/ccudk1nZ.s page 61
1632 .loc 1 260 7 is_stmt 1 view .LVU505
260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1633 .loc 1 260 32 is_stmt 0 view .LVU506
1634 0068 0F4A ldr r2, .L143
1635 006a 0121 movs r1, #1
1636 006c 1177 strb r1, [r2, #28]
1637 006e E4E7 b .L134
1638 .L132:
263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1639 .loc 1 263 8 is_stmt 1 view .LVU507
263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1640 .loc 1 263 12 is_stmt 0 view .LVU508
1641 0070 0E4A ldr r2, .L143+4
1642 0072 1268 ldr r2, [r2]
263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1643 .loc 1 263 11 view .LVU509
1644 0074 12F4806F tst r2, #1024
1645 0078 08D0 beq .L135
266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** pFlash.CacheToReactivate = FLASH_CACHE_DCACHE_ENABLED;
1646 .loc 1 266 5 is_stmt 1 view .LVU510
1647 007a 0C49 ldr r1, .L143+4
1648 007c 0A68 ldr r2, [r1]
1649 007e 22F48062 bic r2, r2, #1024
1650 0082 0A60 str r2, [r1]
267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1651 .loc 1 267 5 view .LVU511
267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1652 .loc 1 267 30 is_stmt 0 view .LVU512
1653 0084 084A ldr r2, .L143
1654 0086 0221 movs r1, #2
1655 0088 1177 strb r1, [r2, #28]
1656 008a D6E7 b .L134
1657 .L135:
271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1658 .loc 1 271 5 is_stmt 1 view .LVU513
271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1659 .loc 1 271 30 is_stmt 0 view .LVU514
1660 008c 064A ldr r2, .L143
1661 008e 0021 movs r1, #0
1662 0090 1177 strb r1, [r2, #28]
1663 0092 D2E7 b .L134
1664 .L142:
282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** FLASH_MassErase(pEraseInit->Banks);
1665 .loc 1 282 5 is_stmt 1 view .LVU515
282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** FLASH_MassErase(pEraseInit->Banks);
1666 .loc 1 282 29 is_stmt 0 view .LVU516
1667 0094 044A ldr r2, .L143
1668 0096 0221 movs r1, #2
1669 0098 1172 strb r1, [r2, #8]
283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1670 .loc 1 283 5 is_stmt 1 view .LVU517
1671 009a 5868 ldr r0, [r3, #4]
1672 .LVL138:
283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1673 .loc 1 283 5 is_stmt 0 view .LVU518
1674 009c FFF7FEFF bl FLASH_MassErase
1675 .LVL139:
ARM GAS /tmp/ccudk1nZ.s page 62
296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1676 .loc 1 296 10 view .LVU519
1677 00a0 0020 movs r0, #0
1678 00a2 E0E7 b .L131
1679 .LVL140:
1680 .L137:
1681 .LCFI11:
1682 .cfi_def_cfa_offset 0
1683 .cfi_restore 3
1684 .cfi_restore 14
242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1685 .loc 1 242 3 view .LVU520
1686 00a4 0220 movs r0, #2
1687 .LVL141:
297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1688 .loc 1 297 1 view .LVU521
1689 00a6 7047 bx lr
1690 .L144:
1691 .align 2
1692 .L143:
1693 00a8 00000000 .word pFlash
1694 00ac 00200240 .word 1073881088
1695 .cfi_endproc
1696 .LFE330:
1698 .section .text.FLASH_FlushCaches,"ax",%progbits
1699 .align 1
1700 .global FLASH_FlushCaches
1701 .syntax unified
1702 .thumb
1703 .thumb_func
1705 FLASH_FlushCaches:
1706 .LFB338:
614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** FLASH_CacheTypeDef cache = pFlash.CacheToReactivate;
1707 .loc 1 614 1 is_stmt 1 view -0
1708 .cfi_startproc
1709 @ args = 0, pretend = 0, frame = 0
1710 @ frame_needed = 0, uses_anonymous_args = 0
1711 @ link register save eliminated.
615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1712 .loc 1 615 3 view .LVU523
615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1713 .loc 1 615 22 is_stmt 0 view .LVU524
1714 0000 164B ldr r3, .L150
1715 0002 1B7F ldrb r3, [r3, #28] @ zero_extendqisi2
1716 0004 DBB2 uxtb r3, r3
1717 .LVL142:
618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** (cache == FLASH_CACHE_ICACHE_DCACHE_ENABLED))
1718 .loc 1 618 3 is_stmt 1 view .LVU525
618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** (cache == FLASH_CACHE_ICACHE_DCACHE_ENABLED))
1719 .loc 1 618 6 is_stmt 0 view .LVU526
1720 0006 012B cmp r3, #1
1721 0008 01D0 beq .L146
618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** (cache == FLASH_CACHE_ICACHE_DCACHE_ENABLED))
1722 .loc 1 618 45 discriminator 1 view .LVU527
1723 000a 032B cmp r3, #3
1724 000c 10D1 bne .L147
1725 .L146:
ARM GAS /tmp/ccudk1nZ.s page 63
622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Reset instruction cache */
1726 .loc 1 622 5 is_stmt 1 view .LVU528
1727 000e 144A ldr r2, .L150+4
1728 0010 1168 ldr r1, [r2]
1729 0012 21F40071 bic r1, r1, #512
1730 0016 1160 str r1, [r2]
624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Enable instruction cache */
1731 .loc 1 624 5 view .LVU529
624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Enable instruction cache */
1732 .loc 1 624 5 view .LVU530
1733 0018 1168 ldr r1, [r2]
1734 001a 41F40061 orr r1, r1, #2048
1735 001e 1160 str r1, [r2]
624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Enable instruction cache */
1736 .loc 1 624 5 view .LVU531
1737 0020 1168 ldr r1, [r2]
1738 0022 21F40061 bic r1, r1, #2048
1739 0026 1160 str r1, [r2]
624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Enable instruction cache */
1740 .loc 1 624 5 view .LVU532
626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1741 .loc 1 626 5 view .LVU533
1742 0028 1168 ldr r1, [r2]
1743 002a 41F40071 orr r1, r1, #512
1744 002e 1160 str r1, [r2]
1745 .L147:
630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** (cache == FLASH_CACHE_ICACHE_DCACHE_ENABLED))
1746 .loc 1 630 3 view .LVU534
630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** (cache == FLASH_CACHE_ICACHE_DCACHE_ENABLED))
1747 .loc 1 630 45 is_stmt 0 view .LVU535
1748 0030 023B subs r3, r3, #2
1749 .LVL143:
630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** (cache == FLASH_CACHE_ICACHE_DCACHE_ENABLED))
1750 .loc 1 630 45 view .LVU536
1751 0032 DBB2 uxtb r3, r3
1752 .LVL144:
630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** (cache == FLASH_CACHE_ICACHE_DCACHE_ENABLED))
1753 .loc 1 630 6 view .LVU537
1754 0034 012B cmp r3, #1
1755 0036 03D9 bls .L149
1756 .L148:
640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1757 .loc 1 640 3 is_stmt 1 view .LVU538
640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1758 .loc 1 640 28 is_stmt 0 view .LVU539
1759 0038 084B ldr r3, .L150
1760 003a 0022 movs r2, #0
1761 003c 1A77 strb r2, [r3, #28]
641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1762 .loc 1 641 1 view .LVU540
1763 003e 7047 bx lr
1764 .L149:
634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Enable data cache */
1765 .loc 1 634 5 is_stmt 1 view .LVU541
634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Enable data cache */
1766 .loc 1 634 5 view .LVU542
1767 0040 074B ldr r3, .L150+4
ARM GAS /tmp/ccudk1nZ.s page 64
1768 0042 1A68 ldr r2, [r3]
1769 0044 42F48052 orr r2, r2, #4096
1770 0048 1A60 str r2, [r3]
634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Enable data cache */
1771 .loc 1 634 5 view .LVU543
1772 004a 1A68 ldr r2, [r3]
1773 004c 22F48052 bic r2, r2, #4096
1774 0050 1A60 str r2, [r3]
634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** /* Enable data cache */
1775 .loc 1 634 5 view .LVU544
636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1776 .loc 1 636 5 view .LVU545
1777 0052 1A68 ldr r2, [r3]
1778 0054 42F48062 orr r2, r2, #1024
1779 0058 1A60 str r2, [r3]
1780 005a EDE7 b .L148
1781 .L151:
1782 .align 2
1783 .L150:
1784 005c 00000000 .word pFlash
1785 0060 00200240 .word 1073881088
1786 .cfi_endproc
1787 .LFE338:
1789 .section .text.HAL_FLASHEx_Erase,"ax",%progbits
1790 .align 1
1791 .global HAL_FLASHEx_Erase
1792 .syntax unified
1793 .thumb
1794 .thumb_func
1796 HAL_FLASHEx_Erase:
1797 .LVL145:
1798 .LFB329:
139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_StatusTypeDef status;
1799 .loc 1 139 1 view -0
1800 .cfi_startproc
1801 @ args = 0, pretend = 0, frame = 0
1802 @ frame_needed = 0, uses_anonymous_args = 0
139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** HAL_StatusTypeDef status;
1803 .loc 1 139 1 is_stmt 0 view .LVU547
1804 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
1805 .LCFI12:
1806 .cfi_def_cfa_offset 24
1807 .cfi_offset 3, -24
1808 .cfi_offset 4, -20
1809 .cfi_offset 5, -16
1810 .cfi_offset 6, -12
1811 .cfi_offset 7, -8
1812 .cfi_offset 14, -4
140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** uint32_t page_index;
1813 .loc 1 140 3 is_stmt 1 view .LVU548
141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1814 .loc 1 141 3 view .LVU549
144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1815 .loc 1 144 3 view .LVU550
147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1816 .loc 1 147 3 view .LVU551
147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
ARM GAS /tmp/ccudk1nZ.s page 65
1817 .loc 1 147 3 view .LVU552
1818 0002 384B ldr r3, .L168
1819 0004 1B78 ldrb r3, [r3] @ zero_extendqisi2
1820 0006 012B cmp r3, #1
1821 0008 69D0 beq .L164
1822 000a 0446 mov r4, r0
1823 000c 0E46 mov r6, r1
147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1824 .loc 1 147 3 discriminator 2 view .LVU553
1825 000e 354B ldr r3, .L168
1826 0010 0122 movs r2, #1
1827 0012 1A70 strb r2, [r3]
147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1828 .loc 1 147 3 discriminator 2 view .LVU554
150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1829 .loc 1 150 3 discriminator 2 view .LVU555
150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1830 .loc 1 150 12 is_stmt 0 discriminator 2 view .LVU556
1831 0014 4FF47A70 mov r0, #1000
1832 .LVL146:
150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1833 .loc 1 150 12 discriminator 2 view .LVU557
1834 0018 FFF7FEFF bl FLASH_WaitForLastOperation
1835 .LVL147:
152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1836 .loc 1 152 3 is_stmt 1 discriminator 2 view .LVU558
152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1837 .loc 1 152 6 is_stmt 0 discriminator 2 view .LVU559
1838 001c 0746 mov r7, r0
1839 001e 0028 cmp r0, #0
1840 0020 58D1 bne .L154
154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1841 .loc 1 154 5 is_stmt 1 view .LVU560
154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1842 .loc 1 154 22 is_stmt 0 view .LVU561
1843 0022 304B ldr r3, .L168
1844 0024 0022 movs r2, #0
1845 0026 5A60 str r2, [r3, #4]
157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1846 .loc 1 157 5 is_stmt 1 view .LVU562
157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1847 .loc 1 157 9 is_stmt 0 view .LVU563
1848 0028 2F4B ldr r3, .L168+4
1849 002a 1B68 ldr r3, [r3]
157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1850 .loc 1 157 8 view .LVU564
1851 002c 13F4007F tst r3, #512
1852 0030 2DD0 beq .L155
159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1853 .loc 1 159 7 is_stmt 1 view .LVU565
159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1854 .loc 1 159 11 is_stmt 0 view .LVU566
1855 0032 2D4B ldr r3, .L168+4
1856 0034 1B68 ldr r3, [r3]
159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1857 .loc 1 159 10 view .LVU567
1858 0036 13F4806F tst r3, #1024
ARM GAS /tmp/ccudk1nZ.s page 66
1859 003a 24D0 beq .L156
162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** pFlash.CacheToReactivate = FLASH_CACHE_ICACHE_DCACHE_ENABLED;
1860 .loc 1 162 9 is_stmt 1 view .LVU568
1861 003c 2A4A ldr r2, .L168+4
1862 003e 1368 ldr r3, [r2]
1863 0040 23F48063 bic r3, r3, #1024
1864 0044 1360 str r3, [r2]
163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1865 .loc 1 163 9 view .LVU569
163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1866 .loc 1 163 34 is_stmt 0 view .LVU570
1867 0046 274B ldr r3, .L168
1868 0048 0322 movs r2, #3
1869 004a 1A77 strb r2, [r3, #28]
1870 .L157:
181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1871 .loc 1 181 5 is_stmt 1 view .LVU571
181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1872 .loc 1 181 19 is_stmt 0 view .LVU572
1873 004c 2368 ldr r3, [r4]
181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1874 .loc 1 181 8 view .LVU573
1875 004e 012B cmp r3, #1
1876 0050 2FD0 beq .L166
200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1877 .loc 1 200 7 is_stmt 1 view .LVU574
200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1878 .loc 1 200 18 is_stmt 0 view .LVU575
1879 0052 4FF0FF33 mov r3, #-1
1880 0056 3360 str r3, [r6]
202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1881 .loc 1 202 7 is_stmt 1 view .LVU576
202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1882 .loc 1 202 23 is_stmt 0 view .LVU577
1883 0058 A568 ldr r5, [r4, #8]
1884 .LVL148:
1885 .L161:
202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1886 .loc 1 202 54 is_stmt 1 discriminator 1 view .LVU578
202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1887 .loc 1 202 67 is_stmt 0 discriminator 1 view .LVU579
1888 005a A368 ldr r3, [r4, #8]
202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1889 .loc 1 202 86 discriminator 1 view .LVU580
1890 005c E268 ldr r2, [r4, #12]
202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1891 .loc 1 202 74 discriminator 1 view .LVU581
1892 005e 1344 add r3, r3, r2
202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1893 .loc 1 202 54 discriminator 1 view .LVU582
1894 0060 AB42 cmp r3, r5
1895 0062 35D9 bls .L160
204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1896 .loc 1 204 9 is_stmt 1 view .LVU583
1897 0064 6168 ldr r1, [r4, #4]
1898 0066 2846 mov r0, r5
1899 0068 FFF7FEFF bl FLASH_PageErase
ARM GAS /tmp/ccudk1nZ.s page 67
1900 .LVL149:
207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1901 .loc 1 207 9 view .LVU584
207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1902 .loc 1 207 18 is_stmt 0 view .LVU585
1903 006c 4FF47A70 mov r0, #1000
1904 0070 FFF7FEFF bl FLASH_WaitForLastOperation
1905 .LVL150:
210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1906 .loc 1 210 9 is_stmt 1 view .LVU586
1907 0074 1C4A ldr r2, .L168+4
1908 0076 5369 ldr r3, [r2, #20]
1909 0078 23F4FD73 bic r3, r3, #506
1910 007c 5361 str r3, [r2, #20]
212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1911 .loc 1 212 9 view .LVU587
212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1912 .loc 1 212 12 is_stmt 0 view .LVU588
1913 007e 0746 mov r7, r0
1914 0080 28BB cbnz r0, .L167
202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1915 .loc 1 202 108 is_stmt 1 discriminator 2 view .LVU589
1916 0082 0135 adds r5, r5, #1
1917 .LVL151:
202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1918 .loc 1 202 108 is_stmt 0 discriminator 2 view .LVU590
1919 0084 E9E7 b .L161
1920 .LVL152:
1921 .L156:
167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1922 .loc 1 167 9 is_stmt 1 view .LVU591
167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1923 .loc 1 167 34 is_stmt 0 view .LVU592
1924 0086 174B ldr r3, .L168
1925 0088 0122 movs r2, #1
1926 008a 1A77 strb r2, [r3, #28]
1927 008c DEE7 b .L157
1928 .L155:
170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1929 .loc 1 170 10 is_stmt 1 view .LVU593
170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1930 .loc 1 170 14 is_stmt 0 view .LVU594
1931 008e 164B ldr r3, .L168+4
1932 0090 1B68 ldr r3, [r3]
170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** {
1933 .loc 1 170 13 view .LVU595
1934 0092 13F4806F tst r3, #1024
1935 0096 08D0 beq .L158
173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** pFlash.CacheToReactivate = FLASH_CACHE_DCACHE_ENABLED;
1936 .loc 1 173 7 is_stmt 1 view .LVU596
1937 0098 134A ldr r2, .L168+4
1938 009a 1368 ldr r3, [r2]
1939 009c 23F48063 bic r3, r3, #1024
1940 00a0 1360 str r3, [r2]
174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1941 .loc 1 174 7 view .LVU597
174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
ARM GAS /tmp/ccudk1nZ.s page 68
1942 .loc 1 174 32 is_stmt 0 view .LVU598
1943 00a2 104B ldr r3, .L168
1944 00a4 0222 movs r2, #2
1945 00a6 1A77 strb r2, [r3, #28]
1946 00a8 D0E7 b .L157
1947 .L158:
178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1948 .loc 1 178 7 is_stmt 1 view .LVU599
178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1949 .loc 1 178 32 is_stmt 0 view .LVU600
1950 00aa 0E4B ldr r3, .L168
1951 00ac 0022 movs r2, #0
1952 00ae 1A77 strb r2, [r3, #28]
1953 00b0 CCE7 b .L157
1954 .L166:
184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1955 .loc 1 184 7 is_stmt 1 view .LVU601
1956 00b2 6068 ldr r0, [r4, #4]
1957 .LVL153:
184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1958 .loc 1 184 7 is_stmt 0 view .LVU602
1959 00b4 FFF7FEFF bl FLASH_MassErase
1960 .LVL154:
187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1961 .loc 1 187 7 is_stmt 1 view .LVU603
187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1962 .loc 1 187 16 is_stmt 0 view .LVU604
1963 00b8 4FF47A70 mov r0, #1000
1964 00bc FFF7FEFF bl FLASH_WaitForLastOperation
1965 .LVL155:
1966 00c0 0746 mov r7, r0
1967 .LVL156:
194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** #endif
1968 .loc 1 194 7 is_stmt 1 view .LVU605
1969 00c2 094A ldr r2, .L168+4
1970 00c4 5369 ldr r3, [r2, #20]
1971 00c6 23F00403 bic r3, r3, #4
1972 00ca 5361 str r3, [r2, #20]
1973 00cc 00E0 b .L160
1974 .LVL157:
1975 .L167:
215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** break;
1976 .loc 1 215 11 view .LVU606
215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** break;
1977 .loc 1 215 22 is_stmt 0 view .LVU607
1978 00ce 3560 str r5, [r6]
216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1979 .loc 1 216 11 is_stmt 1 view .LVU608
1980 .LVL158:
1981 .L160:
222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1982 .loc 1 222 5 view .LVU609
1983 00d0 FFF7FEFF bl FLASH_FlushCaches
1984 .LVL159:
1985 .L154:
226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1986 .loc 1 226 3 view .LVU610
ARM GAS /tmp/ccudk1nZ.s page 69
226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1987 .loc 1 226 3 view .LVU611
1988 00d4 034B ldr r3, .L168
1989 00d6 0022 movs r2, #0
1990 00d8 1A70 strb r2, [r3]
226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1991 .loc 1 226 3 view .LVU612
228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c **** }
1992 .loc 1 228 3 view .LVU613
1993 .LVL160:
1994 .L153:
229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
1995 .loc 1 229 1 is_stmt 0 view .LVU614
1996 00da 3846 mov r0, r7
1997 00dc F8BD pop {r3, r4, r5, r6, r7, pc}
1998 .LVL161:
1999 .L164:
147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_flash_ex.c ****
2000 .loc 1 147 3 view .LVU615
2001 00de 0227 movs r7, #2
2002 00e0 FBE7 b .L153
2003 .L169:
2004 00e2 00BF .align 2
2005 .L168:
2006 00e4 00000000 .word pFlash
2007 00e8 00200240 .word 1073881088
2008 .cfi_endproc
2009 .LFE329:
2011 .text
2012 .Letext0:
2013 .file 2 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h"
2014 .file 3 "/usr/lib/gcc/arm-none-eabi/12.2.1/include/stdint.h"
2015 .file 4 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h"
2016 .file 5 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h"
ARM GAS /tmp/ccudk1nZ.s page 70
DEFINED SYMBOLS
*ABS*:00000000 stm32g4xx_hal_flash_ex.c
/tmp/ccudk1nZ.s:21 .text.FLASH_MassErase:00000000 $t
/tmp/ccudk1nZ.s:26 .text.FLASH_MassErase:00000000 FLASH_MassErase
/tmp/ccudk1nZ.s:55 .text.FLASH_MassErase:0000001c $d
/tmp/ccudk1nZ.s:60 .text.FLASH_OB_GetSecMem:00000000 $t
/tmp/ccudk1nZ.s:65 .text.FLASH_OB_GetSecMem:00000000 FLASH_OB_GetSecMem
/tmp/ccudk1nZ.s:93 .text.FLASH_OB_GetSecMem:00000014 $d
/tmp/ccudk1nZ.s:98 .text.FLASH_OB_GetBootLock:00000000 $t
/tmp/ccudk1nZ.s:103 .text.FLASH_OB_GetBootLock:00000000 FLASH_OB_GetBootLock
/tmp/ccudk1nZ.s:120 .text.FLASH_OB_GetBootLock:0000000c $d
/tmp/ccudk1nZ.s:125 .text.FLASH_OB_GetWRP:00000000 $t
/tmp/ccudk1nZ.s:130 .text.FLASH_OB_GetWRP:00000000 FLASH_OB_GetWRP
/tmp/ccudk1nZ.s:192 .text.FLASH_OB_GetWRP:00000030 $d
/tmp/ccudk1nZ.s:197 .text.FLASH_OB_GetRDP:00000000 $t
/tmp/ccudk1nZ.s:202 .text.FLASH_OB_GetRDP:00000000 FLASH_OB_GetRDP
/tmp/ccudk1nZ.s:232 .text.FLASH_OB_GetRDP:00000014 $d
/tmp/ccudk1nZ.s:237 .text.FLASH_OB_GetUser:00000000 $t
/tmp/ccudk1nZ.s:242 .text.FLASH_OB_GetUser:00000000 FLASH_OB_GetUser
/tmp/ccudk1nZ.s:264 .text.FLASH_OB_GetUser:0000000c $d
/tmp/ccudk1nZ.s:269 .text.FLASH_OB_GetPCROP:00000000 $t
/tmp/ccudk1nZ.s:274 .text.FLASH_OB_GetPCROP:00000000 FLASH_OB_GetPCROP
/tmp/ccudk1nZ.s:348 .text.FLASH_OB_GetPCROP:00000038 $d
/tmp/ccudk1nZ.s:354 .text.FLASH_OB_WRPConfig:00000000 $t
/tmp/ccudk1nZ.s:359 .text.FLASH_OB_WRPConfig:00000000 FLASH_OB_WRPConfig
/tmp/ccudk1nZ.s:434 .text.FLASH_OB_WRPConfig:00000040 $d
/tmp/ccudk1nZ.s:439 .text.FLASH_OB_RDPConfig:00000000 $t
/tmp/ccudk1nZ.s:444 .text.FLASH_OB_RDPConfig:00000000 FLASH_OB_RDPConfig
/tmp/ccudk1nZ.s:497 .text.FLASH_OB_RDPConfig:00000030 $d
/tmp/ccudk1nZ.s:502 .text.FLASH_OB_UserConfig:00000000 $t
/tmp/ccudk1nZ.s:507 .text.FLASH_OB_UserConfig:00000000 FLASH_OB_UserConfig
/tmp/ccudk1nZ.s:812 .text.FLASH_OB_UserConfig:00000124 $d
/tmp/ccudk1nZ.s:817 .text.FLASH_OB_PCROPConfig:00000000 $t
/tmp/ccudk1nZ.s:822 .text.FLASH_OB_PCROPConfig:00000000 FLASH_OB_PCROPConfig
/tmp/ccudk1nZ.s:914 .text.FLASH_OB_PCROPConfig:00000064 $d
/tmp/ccudk1nZ.s:919 .text.FLASH_OB_SecMemConfig:00000000 $t
/tmp/ccudk1nZ.s:924 .text.FLASH_OB_SecMemConfig:00000000 FLASH_OB_SecMemConfig
/tmp/ccudk1nZ.s:985 .text.FLASH_OB_SecMemConfig:00000038 $d
/tmp/ccudk1nZ.s:990 .text.FLASH_OB_BootLockConfig:00000000 $t
/tmp/ccudk1nZ.s:995 .text.FLASH_OB_BootLockConfig:00000000 FLASH_OB_BootLockConfig
/tmp/ccudk1nZ.s:1048 .text.FLASH_OB_BootLockConfig:00000030 $d
/tmp/ccudk1nZ.s:1053 .text.HAL_FLASHEx_OBProgram:00000000 $t
/tmp/ccudk1nZ.s:1059 .text.HAL_FLASHEx_OBProgram:00000000 HAL_FLASHEx_OBProgram
/tmp/ccudk1nZ.s:1266 .text.HAL_FLASHEx_OBProgram:000000bc $d
/tmp/ccudk1nZ.s:1271 .text.HAL_FLASHEx_OBGetConfig:00000000 $t
/tmp/ccudk1nZ.s:1277 .text.HAL_FLASHEx_OBGetConfig:00000000 HAL_FLASHEx_OBGetConfig
/tmp/ccudk1nZ.s:1386 .text.HAL_FLASHEx_EnableSecMemProtection:00000000 $t
/tmp/ccudk1nZ.s:1392 .text.HAL_FLASHEx_EnableSecMemProtection:00000000 HAL_FLASHEx_EnableSecMemProtection
/tmp/ccudk1nZ.s:1414 .text.HAL_FLASHEx_EnableSecMemProtection:00000010 $d
/tmp/ccudk1nZ.s:1419 .text.HAL_FLASHEx_EnableDebugger:00000000 $t
/tmp/ccudk1nZ.s:1425 .text.HAL_FLASHEx_EnableDebugger:00000000 HAL_FLASHEx_EnableDebugger
/tmp/ccudk1nZ.s:1444 .text.HAL_FLASHEx_EnableDebugger:0000000c $d
/tmp/ccudk1nZ.s:1449 .text.HAL_FLASHEx_DisableDebugger:00000000 $t
/tmp/ccudk1nZ.s:1455 .text.HAL_FLASHEx_DisableDebugger:00000000 HAL_FLASHEx_DisableDebugger
/tmp/ccudk1nZ.s:1474 .text.HAL_FLASHEx_DisableDebugger:0000000c $d
/tmp/ccudk1nZ.s:1479 .text.FLASH_PageErase:00000000 $t
/tmp/ccudk1nZ.s:1485 .text.FLASH_PageErase:00000000 FLASH_PageErase
ARM GAS /tmp/ccudk1nZ.s page 71
/tmp/ccudk1nZ.s:1517 .text.FLASH_PageErase:00000024 $d
/tmp/ccudk1nZ.s:1522 .text.HAL_FLASHEx_Erase_IT:00000000 $t
/tmp/ccudk1nZ.s:1528 .text.HAL_FLASHEx_Erase_IT:00000000 HAL_FLASHEx_Erase_IT
/tmp/ccudk1nZ.s:1693 .text.HAL_FLASHEx_Erase_IT:000000a8 $d
/tmp/ccudk1nZ.s:1699 .text.FLASH_FlushCaches:00000000 $t
/tmp/ccudk1nZ.s:1705 .text.FLASH_FlushCaches:00000000 FLASH_FlushCaches
/tmp/ccudk1nZ.s:1784 .text.FLASH_FlushCaches:0000005c $d
/tmp/ccudk1nZ.s:1790 .text.HAL_FLASHEx_Erase:00000000 $t
/tmp/ccudk1nZ.s:1796 .text.HAL_FLASHEx_Erase:00000000 HAL_FLASHEx_Erase
/tmp/ccudk1nZ.s:2006 .text.HAL_FLASHEx_Erase:000000e4 $d
UNDEFINED SYMBOLS
FLASH_WaitForLastOperation
pFlash