Files
usb_switcher/rusci-firmware/build/stm32f1xx_hal_flash_ex.lst
2020-11-07 12:48:40 +01:00

3324 lines
210 KiB
Plaintext
Raw Permalink 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/ccXKI0RP.s page 1
1 .cpu cortex-m3
2 .eabi_attribute 20, 1
3 .eabi_attribute 21, 1
4 .eabi_attribute 23, 3
5 .eabi_attribute 24, 1
6 .eabi_attribute 25, 1
7 .eabi_attribute 26, 1
8 .eabi_attribute 30, 1
9 .eabi_attribute 34, 1
10 .eabi_attribute 18, 4
11 .file "stm32f1xx_hal_flash_ex.c"
12 .text
13 .Ltext0:
14 .cfi_sections .debug_frame
15 .section .text.FLASH_MassErase,"ax",%progbits
16 .align 1
17 .arch armv7-m
18 .syntax unified
19 .thumb
20 .thumb_func
21 .fpu softvfp
23 FLASH_MassErase:
24 .LVL0:
25 .LFB71:
26 .file 1 "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c"
1:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
2:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** ******************************************************************************
3:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @file stm32f1xx_hal_flash_ex.c
4:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @author MCD Application Team
5:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief Extended FLASH HAL module driver.
6:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *
7:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * This file provides firmware functions to manage the following
8:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * functionalities of the FLASH peripheral:
9:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * + Extended Initialization/de-initialization functions
10:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * + Extended I/O operation functions
11:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * + Extended Peripheral Control functions
12:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *
13:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** @verbatim
14:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** ==============================================================================
15:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** ##### Flash peripheral extended features #####
16:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** ==============================================================================
17:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
18:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** ##### How to use this driver #####
19:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** ==============================================================================
20:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** [..] This driver provides functions to configure and program the FLASH memory
21:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** of all STM32F1xxx devices. It includes
22:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
23:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** (++) Set/Reset the write protection
24:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** (++) Program the user Option Bytes
25:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** (++) Get the Read protection Level
26:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
27:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** @endverbatim
28:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** ******************************************************************************
29:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @attention
30:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *
31:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
32:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * All rights reserved.</center></h2>
ARM GAS /tmp/ccXKI0RP.s page 2
33:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *
34:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * This software component is licensed by ST under BSD 3-Clause license,
35:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * the "License"; You may not use this file except in compliance with the
36:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * License. You may obtain a copy of the License at:
37:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * opensource.org/licenses/BSD-3-Clause
38:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *
39:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** ******************************************************************************
40:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
41:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
42:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Includes ------------------------------------------------------------------*/
43:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #include "stm32f1xx_hal.h"
44:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
45:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /** @addtogroup STM32F1xx_HAL_Driver
46:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @{
47:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
48:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #ifdef HAL_FLASH_MODULE_ENABLED
49:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
50:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /** @addtogroup FLASH
51:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @{
52:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
53:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /** @addtogroup FLASH_Private_Variables
54:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @{
55:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
56:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Variables used for Erase pages under interruption*/
57:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** extern FLASH_ProcessTypeDef pFlash;
58:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
59:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @}
60:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
61:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
62:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
63:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @}
64:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
65:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
66:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /** @defgroup FLASHEx FLASHEx
67:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief FLASH HAL Extension module driver
68:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @{
69:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
70:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
71:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Private typedef -----------------------------------------------------------*/
72:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Private define ------------------------------------------------------------*/
73:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Private_Constants FLASHEx Private Constants
74:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @{
75:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
76:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #define FLASH_POSITION_IWDGSW_BIT FLASH_OBR_IWDG_SW_Pos
77:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #define FLASH_POSITION_OB_USERDATA0_BIT FLASH_OBR_DATA0_Pos
78:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #define FLASH_POSITION_OB_USERDATA1_BIT FLASH_OBR_DATA1_Pos
79:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
80:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @}
81:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
82:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
83:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Private macro -------------------------------------------------------------*/
84:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Private_Macros FLASHEx Private Macros
85:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @{
86:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
87:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
88:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @}
89:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
ARM GAS /tmp/ccXKI0RP.s page 3
90:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
91:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Private variables ---------------------------------------------------------*/
92:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Private function prototypes -----------------------------------------------*/
93:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Private_Functions FLASHEx Private Functions
94:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @{
95:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
96:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Erase operations */
97:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** static void FLASH_MassErase(uint32_t Banks);
98:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** void FLASH_PageErase(uint32_t PageAddress);
99:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Option bytes control */
101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_EnableWRP(uint32_t WriteProtectPage);
102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_DisableWRP(uint32_t WriteProtectPage);
103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_RDP_LevelConfig(uint8_t ReadProtectLevel);
104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_UserConfig(uint8_t UserConfig);
105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_ProgramData(uint32_t Address, uint8_t Data);
106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** static uint32_t FLASH_OB_GetWRP(void);
107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** static uint32_t FLASH_OB_GetRDP(void);
108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** static uint8_t FLASH_OB_GetUser(void);
109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @}
112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Exported functions ---------------------------------------------------------*/
115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Exported_Functions FLASHEx Exported Functions
116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @{
117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Exported_Functions_Group1 FLASHEx Memory Erasing functions
120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief FLASH Memory Erasing functions
121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *
122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** @verbatim
123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** ==============================================================================
124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** ##### FLASH Erasing Programming functions #####
125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** ==============================================================================
126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** [..] The FLASH Memory Erasing functions, includes the following functions:
128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** (+) @ref HAL_FLASHEx_Erase: return only when erase has been done
129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** (+) @ref HAL_FLASHEx_Erase_IT: end of erase is done when @ref HAL_FLASH_EndOfOperationCallback
130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** is called with parameter 0xFFFFFFFF
131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** [..] Any operation of erase should follow these steps:
133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** (#) Call the @ref HAL_FLASH_Unlock() function to enable the flash control register and
134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** program memory access.
135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** (#) Call the desired function to erase page.
136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** (#) Call the @ref HAL_FLASH_Lock() to disable the flash program memory access
137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** (recommended to protect the FLASH memory against possible unwanted operation).
138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** @endverbatim
140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @{
141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief Perform a mass erase or erase the specified FLASH memory pages
146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @note To correctly run this function, the @ref HAL_FLASH_Unlock() function
ARM GAS /tmp/ccXKI0RP.s page 4
147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * must be called before.
148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * Call the @ref HAL_FLASH_Lock() to disable the flash memory access
149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * (recommended to protect the FLASH memory against possible unwanted operation)
150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @param[in] pEraseInit pointer to an FLASH_EraseInitTypeDef structure that
151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * contains the configuration information for the erasing.
152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *
153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @param[out] PageError pointer to variable that
154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * contains the configuration information on faulty page in case of error
155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * (0xFFFFFFFF means that all the pages have been correctly erased)
156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *
157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @retval HAL_StatusTypeDef HAL Status
158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef HAL_FLASHEx_Erase(FLASH_EraseInitTypeDef *pEraseInit, uint32_t *PageError)
160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_ERROR;
162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint32_t address = 0U;
163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Process Locked */
165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** __HAL_LOCK(&pFlash);
166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Check the parameters */
168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_FLASH_TYPEERASE(pEraseInit->TypeErase));
169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (pEraseInit->TypeErase == FLASH_TYPEERASE_MASSERASE)
171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_BANK2_END)
173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (pEraseInit->Banks == FLASH_BANK_BOTH)
174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Mass Erase requested for Bank1 and Bank2 */
176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if ((FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE) == HAL_OK) && \
178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** (FLASH_WaitForLastOperationBank2((uint32_t)FLASH_TIMEOUT_VALUE) == HAL_OK))
179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /*Mass erase to be done*/
181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** FLASH_MassErase(FLASH_BANK_BOTH);
182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if ((FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE) == HAL_OK) && \
185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** (FLASH_WaitForLastOperationBank2((uint32_t)FLASH_TIMEOUT_VALUE) == HAL_OK))
186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = HAL_OK;
188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* If the erase operation is completed, disable the MER Bit */
191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_MER);
192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR2, FLASH_CR2_MER);
193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** else if (pEraseInit->Banks == FLASH_BANK_2)
196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Mass Erase requested for Bank2 */
198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (FLASH_WaitForLastOperationBank2((uint32_t)FLASH_TIMEOUT_VALUE) == HAL_OK)
200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /*Mass erase to be done*/
202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** FLASH_MassErase(FLASH_BANK_2);
203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
ARM GAS /tmp/ccXKI0RP.s page 5
204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperationBank2((uint32_t)FLASH_TIMEOUT_VALUE);
206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* If the erase operation is completed, disable the MER Bit */
208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR2, FLASH_CR2_MER);
209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** else
212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_BANK2_END */
213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Mass Erase requested for Bank1 */
215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE) == HAL_OK)
217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /*Mass erase to be done*/
219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** FLASH_MassErase(FLASH_BANK_1);
220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* If the erase operation is completed, disable the MER Bit */
225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_MER);
226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** else
230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Page Erase is requested */
232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Check the parameters */
233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS(pEraseInit->PageAddress));
234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_FLASH_NB_PAGES(pEraseInit->PageAddress, pEraseInit->NbPages));
235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_BANK2_END)
237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Page Erase requested on address located on bank2 */
238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if(pEraseInit->PageAddress > FLASH_BANK1_END)
239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (FLASH_WaitForLastOperationBank2((uint32_t)FLASH_TIMEOUT_VALUE) == HAL_OK)
242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /*Initialization of PageError variable*/
244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *PageError = 0xFFFFFFFFU;
245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Erase by page by page to be done*/
247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** for(address = pEraseInit->PageAddress;
248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** address < (pEraseInit->PageAddress + (pEraseInit->NbPages)*FLASH_PAGE_SIZE);
249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** address += FLASH_PAGE_SIZE)
250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** FLASH_PageErase(address);
252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperationBank2((uint32_t)FLASH_TIMEOUT_VALUE);
255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* If the erase operation is completed, disable the PER Bit */
257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR2, FLASH_CR2_PER);
258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status != HAL_OK)
260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
ARM GAS /tmp/ccXKI0RP.s page 6
261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* In case of error, stop erase procedure and return the faulty address */
262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *PageError = address;
263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** break;
264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** else
269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_BANK2_END */
270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Page Erase requested on address located on bank1 */
272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE) == HAL_OK)
274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /*Initialization of PageError variable*/
276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *PageError = 0xFFFFFFFFU;
277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Erase page by page to be done*/
279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** for(address = pEraseInit->PageAddress;
280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** address < ((pEraseInit->NbPages * FLASH_PAGE_SIZE) + pEraseInit->PageAddress);
281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** address += FLASH_PAGE_SIZE)
282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** FLASH_PageErase(address);
284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* If the erase operation is completed, disable the PER Bit */
289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_PER);
290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status != HAL_OK)
292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* In case of error, stop erase procedure and return the faulty address */
294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *PageError = address;
295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** break;
296:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Process Unlocked */
303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** __HAL_UNLOCK(&pFlash);
304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief Perform a mass erase or erase the specified FLASH memory pages with interrupt enabled
310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @note To correctly run this function, the @ref HAL_FLASH_Unlock() function
311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * must be called before.
312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * Call the @ref HAL_FLASH_Lock() to disable the flash memory access
313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * (recommended to protect the FLASH memory against possible unwanted operation)
314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @param pEraseInit pointer to an FLASH_EraseInitTypeDef structure that
315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * contains the configuration information for the erasing.
316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *
317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @retval HAL_StatusTypeDef HAL Status
ARM GAS /tmp/ccXKI0RP.s page 7
318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef HAL_FLASHEx_Erase_IT(FLASH_EraseInitTypeDef *pEraseInit)
320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Process Locked */
324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** __HAL_LOCK(&pFlash);
325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* If procedure already ongoing, reject the next one */
327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (pFlash.ProcedureOnGoing != FLASH_PROC_NONE)
328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return HAL_ERROR;
330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Check the parameters */
333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_FLASH_TYPEERASE(pEraseInit->TypeErase));
334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Enable End of FLASH Operation and Error source interrupts */
336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** __HAL_FLASH_ENABLE_IT(FLASH_IT_EOP | FLASH_IT_ERR);
337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_BANK2_END)
339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Enable End of FLASH Operation and Error source interrupts */
340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** __HAL_FLASH_ENABLE_IT(FLASH_IT_EOP_BANK2 | FLASH_IT_ERR_BANK2);
341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif
343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (pEraseInit->TypeErase == FLASH_TYPEERASE_MASSERASE)
344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /*Mass erase to be done*/
346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pFlash.ProcedureOnGoing = FLASH_PROC_MASSERASE;
347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** FLASH_MassErase(pEraseInit->Banks);
348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** else
350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Erase by page to be done*/
352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Check the parameters */
354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS(pEraseInit->PageAddress));
355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_FLASH_NB_PAGES(pEraseInit->PageAddress, pEraseInit->NbPages));
356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pFlash.ProcedureOnGoing = FLASH_PROC_PAGEERASE;
358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pFlash.DataRemaining = pEraseInit->NbPages;
359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pFlash.Address = pEraseInit->PageAddress;
360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /*Erase 1st page and wait for IT*/
362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** FLASH_PageErase(pEraseInit->PageAddress);
363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @}
370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Exported_Functions_Group2 Option Bytes Programming functions
373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief Option Bytes Programming functions
374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *
ARM GAS /tmp/ccXKI0RP.s page 8
375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** @verbatim
376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** ==============================================================================
377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** ##### Option Bytes Programming functions #####
378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** ==============================================================================
379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** [..]
380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** This subsection provides a set of functions allowing to control the FLASH
381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** option bytes operations.
382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** @endverbatim
384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @{
385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief Erases the FLASH option bytes.
389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @note This functions erases all option bytes except the Read protection (RDP).
390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * The function @ref HAL_FLASH_Unlock() should be called before to unlock the FLASH interf
391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * The function @ref HAL_FLASH_OB_Unlock() should be called before to unlock the options b
392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * The function @ref HAL_FLASH_OB_Launch() should be called after to force the reload of t
393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * (system reset will occur)
394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @retval HAL status
395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef HAL_FLASHEx_OBErase(void)
398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint8_t rdptmp = OB_RDP_LEVEL_0;
400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_ERROR;
401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Get the actual read protection Option Byte value */
403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** rdptmp = FLASH_OB_GetRDP();
404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if(status == HAL_OK)
409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Clean the error context */
411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* If the previous operation is completed, proceed to erase the option bytes */
414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_OPTER);
415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_STRT);
416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* If the erase operation is completed, disable the OPTER Bit */
421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_OPTER);
422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if(status == HAL_OK)
424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Restore the last read protection Option Byte value */
426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_OB_RDP_LevelConfig(rdptmp);
427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Return the erase status */
431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
ARM GAS /tmp/ccXKI0RP.s page 9
432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief Program option bytes
436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @note The function @ref HAL_FLASH_Unlock() should be called before to unlock the FLASH interf
437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * The function @ref HAL_FLASH_OB_Unlock() should be called before to unlock the options b
438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * The function @ref HAL_FLASH_OB_Launch() should be called after to force the reload of t
439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * (system reset will occur)
440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *
441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @param pOBInit pointer to an FLASH_OBInitStruct structure that
442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * contains the configuration information for the programming.
443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *
444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @retval HAL_StatusTypeDef HAL Status
445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef HAL_FLASHEx_OBProgram(FLASH_OBProgramInitTypeDef *pOBInit)
447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_ERROR;
449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Process Locked */
451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** __HAL_LOCK(&pFlash);
452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Check the parameters */
454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_OPTIONBYTE(pOBInit->OptionType));
455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Write protection configuration */
457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if((pOBInit->OptionType & OPTIONBYTE_WRP) == OPTIONBYTE_WRP)
458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_WRPSTATE(pOBInit->WRPState));
460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (pOBInit->WRPState == OB_WRPSTATE_ENABLE)
461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Enable of Write protection on the selected page */
463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_OB_EnableWRP(pOBInit->WRPPage);
464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** else
466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Disable of Write protection on the selected page */
468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_OB_DisableWRP(pOBInit->WRPPage);
469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status != HAL_OK)
471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Process Unlocked */
473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** __HAL_UNLOCK(&pFlash);
474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Read protection configuration */
479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if((pOBInit->OptionType & OPTIONBYTE_RDP) == OPTIONBYTE_RDP)
480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_OB_RDP_LevelConfig(pOBInit->RDPLevel);
482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status != HAL_OK)
483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Process Unlocked */
485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** __HAL_UNLOCK(&pFlash);
486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
ARM GAS /tmp/ccXKI0RP.s page 10
489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* USER configuration */
491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if((pOBInit->OptionType & OPTIONBYTE_USER) == OPTIONBYTE_USER)
492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_OB_UserConfig(pOBInit->USERConfig);
494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status != HAL_OK)
495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Process Unlocked */
497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** __HAL_UNLOCK(&pFlash);
498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* DATA configuration*/
503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if((pOBInit->OptionType & OPTIONBYTE_DATA) == OPTIONBYTE_DATA)
504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_OB_ProgramData(pOBInit->DATAAddress, pOBInit->DATAData);
506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status != HAL_OK)
507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Process Unlocked */
509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** __HAL_UNLOCK(&pFlash);
510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Process Unlocked */
515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** __HAL_UNLOCK(&pFlash);
516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief Get the Option byte configuration
522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @param pOBInit pointer to an FLASH_OBInitStruct structure that
523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * contains the configuration information for the programming.
524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *
525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @retval None
526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** void HAL_FLASHEx_OBGetConfig(FLASH_OBProgramInitTypeDef *pOBInit)
528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pOBInit->OptionType = OPTIONBYTE_WRP | OPTIONBYTE_RDP | OPTIONBYTE_USER;
530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /*Get WRP*/
532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pOBInit->WRPPage = FLASH_OB_GetWRP();
533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /*Get RDP Level*/
535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pOBInit->RDPLevel = FLASH_OB_GetRDP();
536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /*Get USER*/
538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pOBInit->USERConfig = FLASH_OB_GetUser();
539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief Get the Option byte user data
543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @param DATAAdress Address of the option byte DATA
544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * This parameter can be one of the following values:
545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @arg @ref OB_DATA_ADDRESS_DATA0
ARM GAS /tmp/ccXKI0RP.s page 11
546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @arg @ref OB_DATA_ADDRESS_DATA1
547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @retval Value programmed in USER data
548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint32_t HAL_FLASHEx_OBGetUserData(uint32_t DATAAdress)
550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint32_t value = 0;
552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (DATAAdress == OB_DATA_ADDRESS_DATA0)
554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Get value programmed in OB USER Data0 */
556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** value = READ_BIT(FLASH->OBR, FLASH_OBR_DATA0) >> FLASH_POSITION_OB_USERDATA0_BIT;
557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** else
559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Get value programmed in OB USER Data1 */
561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** value = READ_BIT(FLASH->OBR, FLASH_OBR_DATA1) >> FLASH_POSITION_OB_USERDATA1_BIT;
562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return value;
565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @}
569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @}
573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /** @addtogroup FLASHEx_Private_Functions
576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @{
577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief Full erase of FLASH memory Bank
581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @param Banks Banks to be erased
582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * This parameter can be one of the following values:
583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @arg @ref FLASH_BANK_1 Bank1 to be erased
584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** @if STM32F101xG
585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @arg @ref FLASH_BANK_2 Bank2 to be erased
586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @arg @ref FLASH_BANK_BOTH Bank1 and Bank2 to be erased
587:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** @endif
588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** @if STM32F103xG
589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @arg @ref FLASH_BANK_2 Bank2 to be erased
590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @arg @ref FLASH_BANK_BOTH Bank1 and Bank2 to be erased
591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** @endif
592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *
593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @retval None
594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** static void FLASH_MassErase(uint32_t Banks)
596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
27 .loc 1 596 1 view -0
28 .cfi_startproc
29 @ args = 0, pretend = 0, frame = 0
30 @ frame_needed = 0, uses_anonymous_args = 0
31 @ link register save eliminated.
597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Check the parameters */
ARM GAS /tmp/ccXKI0RP.s page 12
598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_FLASH_BANK(Banks));
32 .loc 1 598 3 view .LVU1
599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Clean the error context */
601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
33 .loc 1 601 3 view .LVU2
34 .loc 1 601 20 is_stmt 0 view .LVU3
35 0000 064B ldr r3, .L2
36 0002 0022 movs r2, #0
37 0004 DA61 str r2, [r3, #28]
602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_BANK2_END)
604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if(Banks == FLASH_BANK_BOTH)
605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* bank1 & bank2 will be erased*/
607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_MER);
608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR2, FLASH_CR2_MER);
609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_STRT);
610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR2, FLASH_CR2_STRT);
611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** else if(Banks == FLASH_BANK_2)
613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /*Only bank2 will be erased*/
615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR2, FLASH_CR2_MER);
616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR2, FLASH_CR2_STRT);
617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** else
619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_BANK2_END */
621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if !defined(FLASH_BANK2_END)
622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Prevent unused argument(s) compilation warning */
623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** UNUSED(Banks);
38 .loc 1 623 3 is_stmt 1 view .LVU4
624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_BANK2_END */
625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Only bank1 will be erased*/
626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_MER);
39 .loc 1 626 5 view .LVU5
40 0006 064B ldr r3, .L2+4
41 0008 1A69 ldr r2, [r3, #16]
42 000a 42F00402 orr r2, r2, #4
43 000e 1A61 str r2, [r3, #16]
627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_STRT);
44 .loc 1 627 5 view .LVU6
45 0010 1A69 ldr r2, [r3, #16]
46 0012 42F04002 orr r2, r2, #64
47 0016 1A61 str r2, [r3, #16]
628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_BANK2_END)
629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_BANK2_END */
631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
48 .loc 1 631 1 is_stmt 0 view .LVU7
49 0018 7047 bx lr
50 .L3:
51 001a 00BF .align 2
52 .L2:
53 001c 00000000 .word pFlash
54 0020 00200240 .word 1073881088
ARM GAS /tmp/ccXKI0RP.s page 13
55 .cfi_endproc
56 .LFE71:
58 .section .text.FLASH_OB_GetWRP,"ax",%progbits
59 .align 1
60 .syntax unified
61 .thumb
62 .thumb_func
63 .fpu softvfp
65 FLASH_OB_GetWRP:
66 .LFB77:
632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief Enable the write protection of the desired pages
635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @note An option byte erase is done automatically in this function.
636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @note When the memory read protection level is selected (RDP level = 1),
637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * it is not possible to program or erase the flash page i if
638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * debug features are connected or boot code is executed in RAM, even if nWRPi = 1
639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *
640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @param WriteProtectPage specifies the page(s) to be write protected.
641:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * The value of this parameter depend on device used within the same series
642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @retval HAL status
643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
644:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_EnableWRP(uint32_t WriteProtectPage)
645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint16_t WRP0_Data = 0xFFFF;
648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_WRP1_WRP1)
649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint16_t WRP1_Data = 0xFFFF;
650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP1_WRP1 */
651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_WRP2_WRP2)
652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint16_t WRP2_Data = 0xFFFF;
653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP2_WRP2 */
654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_WRP3_WRP3)
655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint16_t WRP3_Data = 0xFFFF;
656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP3_WRP3 */
657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Check the parameters */
659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_OB_WRP(WriteProtectPage));
660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Get current write protected pages and the new pages to be protected ******/
662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WriteProtectPage = (uint32_t)(~((~FLASH_OB_GetWRP()) | WriteProtectPage));
663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(OB_WRP_PAGES0TO15MASK)
665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP0_Data = (uint16_t)(WriteProtectPage & OB_WRP_PAGES0TO15MASK);
666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES0TO31MASK)
667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP0_Data = (uint16_t)(WriteProtectPage & OB_WRP_PAGES0TO31MASK);
668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES0TO31MASK */
669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(OB_WRP_PAGES16TO31MASK)
671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP1_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES16TO31MASK) >> 8U);
672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES32TO63MASK)
673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP1_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES32TO63MASK) >> 8U);
674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES32TO63MASK */
675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
676:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(OB_WRP_PAGES64TO95MASK)
677:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP2_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES64TO95MASK) >> 16U);
678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES64TO95MASK */
ARM GAS /tmp/ccXKI0RP.s page 14
679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(OB_WRP_PAGES32TO47MASK)
680:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP2_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES32TO47MASK) >> 16U);
681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES32TO47MASK */
682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
683:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(OB_WRP_PAGES96TO127MASK)
684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP3_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES96TO127MASK) >> 24U);
685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES48TO255MASK)
686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP3_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES48TO255MASK) >> 24U);
687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES48TO511MASK)
688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP3_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES48TO511MASK) >> 24U);
689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES48TO127MASK)
690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP3_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES48TO127MASK) >> 24U);
691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES96TO127MASK */
692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if(status == HAL_OK)
697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Clean the error context */
699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* To be able to write again option byte, need to perform a option byte erase */
702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = HAL_FLASHEx_OBErase();
703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status == HAL_OK)
704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Enable write protection */
706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_OPTPG);
707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_WRP0_WRP0)
709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if(WRP0_Data != 0xFFU)
710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** OB->WRP0 &= WRP0_Data;
712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP0_WRP0 */
717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_WRP1_WRP1)
719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if((status == HAL_OK) && (WRP1_Data != 0xFFU))
720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** OB->WRP1 &= WRP1_Data;
722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP1_WRP1 */
727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_WRP2_WRP2)
729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if((status == HAL_OK) && (WRP2_Data != 0xFFU))
730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** OB->WRP2 &= WRP2_Data;
732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
ARM GAS /tmp/ccXKI0RP.s page 15
736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP2_WRP2 */
737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_WRP3_WRP3)
739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if((status == HAL_OK) && (WRP3_Data != 0xFFU))
740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** OB->WRP3 &= WRP3_Data;
742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP3_WRP3 */
747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* if the program operation is completed, disable the OPTPG Bit */
749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_OPTPG);
750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief Disable the write protection of the desired pages
758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @note An option byte erase is done automatically in this function.
759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @note When the memory read protection level is selected (RDP level = 1),
760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * it is not possible to program or erase the flash page i if
761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * debug features are connected or boot code is executed in RAM, even if nWRPi = 1
762:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *
763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @param WriteProtectPage specifies the page(s) to be write unprotected.
764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * The value of this parameter depend on device used within the same series
765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @retval HAL status
766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_DisableWRP(uint32_t WriteProtectPage)
768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint16_t WRP0_Data = 0xFFFF;
771:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_WRP1_WRP1)
772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint16_t WRP1_Data = 0xFFFF;
773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP1_WRP1 */
774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_WRP2_WRP2)
775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint16_t WRP2_Data = 0xFFFF;
776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP2_WRP2 */
777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_WRP3_WRP3)
778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint16_t WRP3_Data = 0xFFFF;
779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP3_WRP3 */
780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Check the parameters */
782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_OB_WRP(WriteProtectPage));
783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Get current write protected pages and the new pages to be unprotected ******/
785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WriteProtectPage = (FLASH_OB_GetWRP() | WriteProtectPage);
786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(OB_WRP_PAGES0TO15MASK)
788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP0_Data = (uint16_t)(WriteProtectPage & OB_WRP_PAGES0TO15MASK);
789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES0TO31MASK)
790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP0_Data = (uint16_t)(WriteProtectPage & OB_WRP_PAGES0TO31MASK);
791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES0TO31MASK */
792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
ARM GAS /tmp/ccXKI0RP.s page 16
793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(OB_WRP_PAGES16TO31MASK)
794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP1_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES16TO31MASK) >> 8U);
795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES32TO63MASK)
796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP1_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES32TO63MASK) >> 8U);
797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES32TO63MASK */
798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(OB_WRP_PAGES64TO95MASK)
800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP2_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES64TO95MASK) >> 16U);
801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES64TO95MASK */
802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(OB_WRP_PAGES32TO47MASK)
803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP2_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES32TO47MASK) >> 16U);
804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES32TO47MASK */
805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
806:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(OB_WRP_PAGES96TO127MASK)
807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP3_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES96TO127MASK) >> 24U);
808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES48TO255MASK)
809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP3_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES48TO255MASK) >> 24U);
810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES48TO511MASK)
811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP3_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES48TO511MASK) >> 24U);
812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES48TO127MASK)
813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRP3_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES48TO127MASK) >> 24U);
814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES96TO127MASK */
815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
819:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if(status == HAL_OK)
821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Clean the error context */
823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* To be able to write again option byte, need to perform a option byte erase */
826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = HAL_FLASHEx_OBErase();
827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status == HAL_OK)
828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_OPTPG);
830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_WRP0_WRP0)
832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if(WRP0_Data != 0xFFU)
833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** OB->WRP0 |= WRP0_Data;
835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP0_WRP0 */
840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_WRP1_WRP1)
842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if((status == HAL_OK) && (WRP1_Data != 0xFFU))
843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** OB->WRP1 |= WRP1_Data;
845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP1_WRP1 */
ARM GAS /tmp/ccXKI0RP.s page 17
850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_WRP2_WRP2)
852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if((status == HAL_OK) && (WRP2_Data != 0xFFU))
853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** OB->WRP2 |= WRP2_Data;
855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP2_WRP2 */
860:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_WRP3_WRP3)
862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if((status == HAL_OK) && (WRP3_Data != 0xFFU))
863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** OB->WRP3 |= WRP3_Data;
865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP3_WRP3 */
870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* if the program operation is completed, disable the OPTPG Bit */
872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_OPTPG);
873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief Set the read protection level.
880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @param ReadProtectLevel specifies the read protection level.
881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * This parameter can be one of the following values:
882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @arg @ref OB_RDP_LEVEL_0 No protection
883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @arg @ref OB_RDP_LEVEL_1 Read protection of the memory
884:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @retval HAL status
885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_RDP_LevelConfig(uint8_t ReadProtectLevel)
887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Check the parameters */
891:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_OB_RDP_LEVEL(ReadProtectLevel));
892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if(status == HAL_OK)
897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Clean the error context */
899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* If the previous operation is completed, proceed to erase the option bytes */
902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_OPTER);
903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_STRT);
904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
905:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
ARM GAS /tmp/ccXKI0RP.s page 18
907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* If the erase operation is completed, disable the OPTER Bit */
909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_OPTER);
910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
911:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if(status == HAL_OK)
912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Enable the Option Bytes Programming operation */
914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_OPTPG);
915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRITE_REG(OB->RDP, ReadProtectLevel);
917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* if the program operation is completed, disable the OPTPG Bit */
922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_OPTPG);
923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
925:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
928:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief Program the FLASH User Option Byte.
931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @note Programming of the OB should be performed only after an erase (otherwise PGERR occurs)
932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @param UserConfig The FLASH User Option Bytes values FLASH_OBR_IWDG_SW(Bit2),
933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * FLASH_OBR_nRST_STOP(Bit3),FLASH_OBR_nRST_STDBY(Bit4).
934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * And BFBF2(Bit5) for STM32F101xG and STM32F103xG .
935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @retval HAL status
936:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_UserConfig(uint8_t UserConfig)
938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Check the parameters */
942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_OB_IWDG_SOURCE((UserConfig&OB_IWDG_SW)));
943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_OB_STOP_SOURCE((UserConfig&OB_STOP_NO_RST)));
944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_OB_STDBY_SOURCE((UserConfig&OB_STDBY_NO_RST)));
945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_BANK2_END)
946:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_OB_BOOT1((UserConfig&OB_BOOT1_SET)));
947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_BANK2_END */
948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if(status == HAL_OK)
953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Clean the error context */
955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
956:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
957:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Enable the Option Bytes Programming operation */
958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_OPTPG);
959:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_BANK2_END)
961:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** OB->USER = (UserConfig | 0xF0U);
962:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #else
963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** OB->USER = (UserConfig | 0x88U);
ARM GAS /tmp/ccXKI0RP.s page 19
964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_BANK2_END */
965:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
968:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
969:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* if the program operation is completed, disable the OPTPG Bit */
970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_OPTPG);
971:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
974:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief Programs a half word at a specified Option Byte Data address.
978:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @note The function @ref HAL_FLASH_Unlock() should be called before to unlock the FLASH interf
979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * The function @ref HAL_FLASH_OB_Unlock() should be called before to unlock the options b
980:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * The function @ref HAL_FLASH_OB_Launch() should be called after to force the reload of t
981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * (system reset will occur)
982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * Programming of the OB should be performed only after an erase (otherwise PGERR occurs)
983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @param Address specifies the address to be programmed.
984:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * This parameter can be 0x1FFFF804 or 0x1FFFF806.
985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @param Data specifies the data to be programmed.
986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @retval HAL status
987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_ProgramData(uint32_t Address, uint8_t Data)
989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_ERROR;
991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Check the parameters */
993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_OB_DATA_ADDRESS(Address));
994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
995:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if(status == HAL_OK)
999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Clean the error context */
1001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
1002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1003:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Enables the Option Bytes Programming operation */
1004:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_OPTPG);
1005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *(__IO uint16_t*)Address = Data;
1006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1007:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
1008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
1009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* If the program operation is completed, disable the OPTPG Bit */
1011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_OPTPG);
1012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Return the Option Byte Data Program Status */
1014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
1015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1016:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1017:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
1018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief Return the FLASH Write Protection Option Bytes value.
1019:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @retval The FLASH Write Protection Option Bytes value
1020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
ARM GAS /tmp/ccXKI0RP.s page 20
1021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** static uint32_t FLASH_OB_GetWRP(void)
1022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
67 .loc 1 1022 1 is_stmt 1 view -0
68 .cfi_startproc
69 @ args = 0, pretend = 0, frame = 0
70 @ frame_needed = 0, uses_anonymous_args = 0
71 @ link register save eliminated.
1023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Return the FLASH write protection Register value */
1024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return (uint32_t)(READ_REG(FLASH->WRPR));
72 .loc 1 1024 3 view .LVU9
73 .loc 1 1024 10 is_stmt 0 view .LVU10
74 0000 014B ldr r3, .L5
75 0002 186A ldr r0, [r3, #32]
1025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
76 .loc 1 1025 1 view .LVU11
77 0004 7047 bx lr
78 .L6:
79 0006 00BF .align 2
80 .L5:
81 0008 00200240 .word 1073881088
82 .cfi_endproc
83 .LFE77:
85 .section .text.FLASH_OB_GetRDP,"ax",%progbits
86 .align 1
87 .syntax unified
88 .thumb
89 .thumb_func
90 .fpu softvfp
92 FLASH_OB_GetRDP:
93 .LFB78:
1026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
1028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief Returns the FLASH Read Protection level.
1029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @retval FLASH RDP level
1030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * This parameter can be one of the following values:
1031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @arg @ref OB_RDP_LEVEL_0 No protection
1032:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @arg @ref OB_RDP_LEVEL_1 Read protection of the memory
1033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
1034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** static uint32_t FLASH_OB_GetRDP(void)
1035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
94 .loc 1 1035 1 is_stmt 1 view -0
95 .cfi_startproc
96 @ args = 0, pretend = 0, frame = 0
97 @ frame_needed = 0, uses_anonymous_args = 0
98 @ link register save eliminated.
1036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint32_t readstatus = OB_RDP_LEVEL_0;
99 .loc 1 1036 3 view .LVU13
100 .LVL1:
1037:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint32_t tmp_reg = 0U;
101 .loc 1 1037 3 view .LVU14
1038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1039:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Read RDP level bits */
1040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** tmp_reg = READ_BIT(FLASH->OBR, FLASH_OBR_RDPRT);
102 .loc 1 1040 3 view .LVU15
103 .loc 1 1040 13 is_stmt 0 view .LVU16
104 0000 044B ldr r3, .L10
105 0002 DB69 ldr r3, [r3, #28]
ARM GAS /tmp/ccXKI0RP.s page 21
106 .LVL2:
1041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1042:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (tmp_reg == FLASH_OBR_RDPRT)
107 .loc 1 1042 3 is_stmt 1 view .LVU17
108 .loc 1 1042 6 is_stmt 0 view .LVU18
109 0004 13F0020F tst r3, #2
110 0008 01D0 beq .L9
1043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** readstatus = OB_RDP_LEVEL_1;
111 .loc 1 1044 16 view .LVU19
112 000a 0020 movs r0, #0
113 000c 7047 bx lr
114 .L9:
1045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1046:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** else
1047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** readstatus = OB_RDP_LEVEL_0;
115 .loc 1 1048 16 view .LVU20
116 000e A520 movs r0, #165
1049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return readstatus;
117 .loc 1 1051 3 is_stmt 1 view .LVU21
1052:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
118 .loc 1 1052 1 is_stmt 0 view .LVU22
119 0010 7047 bx lr
120 .L11:
121 0012 00BF .align 2
122 .L10:
123 0014 00200240 .word 1073881088
124 .cfi_endproc
125 .LFE78:
127 .section .text.FLASH_OB_GetUser,"ax",%progbits
128 .align 1
129 .syntax unified
130 .thumb
131 .thumb_func
132 .fpu softvfp
134 FLASH_OB_GetUser:
135 .LFB79:
1053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
1055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief Return the FLASH User Option Byte value.
1056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @retval The FLASH User Option Bytes values: FLASH_OBR_IWDG_SW(Bit2),
1057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * FLASH_OBR_nRST_STOP(Bit3),FLASH_OBR_nRST_STDBY(Bit4).
1058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * And FLASH_OBR_BFB2(Bit5) for STM32F101xG and STM32F103xG .
1059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
1060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** static uint8_t FLASH_OB_GetUser(void)
1061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
136 .loc 1 1061 1 is_stmt 1 view -0
137 .cfi_startproc
138 @ args = 0, pretend = 0, frame = 0
139 @ frame_needed = 0, uses_anonymous_args = 0
140 @ link register save eliminated.
1062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Return the User Option Byte */
1063:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return (uint8_t)((READ_REG(FLASH->OBR) & FLASH_OBR_USER) >> FLASH_POSITION_IWDGSW_BIT);
141 .loc 1 1063 3 view .LVU24
ARM GAS /tmp/ccXKI0RP.s page 22
142 .loc 1 1063 21 is_stmt 0 view .LVU25
143 0000 024B ldr r3, .L13
144 0002 D869 ldr r0, [r3, #28]
1064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
145 .loc 1 1064 1 view .LVU26
146 0004 C0F38200 ubfx r0, r0, #2, #3
147 0008 7047 bx lr
148 .L14:
149 000a 00BF .align 2
150 .L13:
151 000c 00200240 .word 1073881088
152 .cfi_endproc
153 .LFE79:
155 .section .text.FLASH_OB_RDP_LevelConfig,"ax",%progbits
156 .align 1
157 .syntax unified
158 .thumb
159 .thumb_func
160 .fpu softvfp
162 FLASH_OB_RDP_LevelConfig:
163 .LVL3:
164 .LFB74:
887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
165 .loc 1 887 1 is_stmt 1 view -0
166 .cfi_startproc
167 @ args = 0, pretend = 0, frame = 0
168 @ frame_needed = 0, uses_anonymous_args = 0
887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
169 .loc 1 887 1 is_stmt 0 view .LVU28
170 0000 38B5 push {r3, r4, r5, lr}
171 .LCFI0:
172 .cfi_def_cfa_offset 16
173 .cfi_offset 3, -16
174 .cfi_offset 4, -12
175 .cfi_offset 5, -8
176 .cfi_offset 14, -4
177 0002 0546 mov r5, r0
888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
178 .loc 1 888 3 is_stmt 1 view .LVU29
179 .LVL4:
891:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
180 .loc 1 891 3 view .LVU30
894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
181 .loc 1 894 3 view .LVU31
894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
182 .loc 1 894 12 is_stmt 0 view .LVU32
183 0004 4CF25030 movw r0, #50000
184 .LVL5:
894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
185 .loc 1 894 12 view .LVU33
186 0008 FFF7FEFF bl FLASH_WaitForLastOperation
187 .LVL6:
896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
188 .loc 1 896 3 is_stmt 1 view .LVU34
896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
189 .loc 1 896 5 is_stmt 0 view .LVU35
190 000c 0346 mov r3, r0
ARM GAS /tmp/ccXKI0RP.s page 23
191 000e 08B1 cbz r0, .L18
192 .LVL7:
193 .L16:
926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
194 .loc 1 926 3 is_stmt 1 view .LVU36
927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
195 .loc 1 927 1 is_stmt 0 view .LVU37
196 0010 1846 mov r0, r3
197 0012 38BD pop {r3, r4, r5, pc}
198 .LVL8:
199 .L18:
899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
200 .loc 1 899 5 is_stmt 1 view .LVU38
899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
201 .loc 1 899 22 is_stmt 0 view .LVU39
202 0014 134B ldr r3, .L19
203 0016 0022 movs r2, #0
204 0018 DA61 str r2, [r3, #28]
902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_STRT);
205 .loc 1 902 5 is_stmt 1 view .LVU40
206 001a 134C ldr r4, .L19+4
207 001c 2369 ldr r3, [r4, #16]
208 001e 43F02003 orr r3, r3, #32
209 0022 2361 str r3, [r4, #16]
903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
210 .loc 1 903 5 view .LVU41
211 0024 2369 ldr r3, [r4, #16]
212 0026 43F04003 orr r3, r3, #64
213 002a 2361 str r3, [r4, #16]
906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
214 .loc 1 906 5 view .LVU42
906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
215 .loc 1 906 14 is_stmt 0 view .LVU43
216 002c 4CF25030 movw r0, #50000
217 .LVL9:
906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
218 .loc 1 906 14 view .LVU44
219 0030 FFF7FEFF bl FLASH_WaitForLastOperation
220 .LVL10:
909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
221 .loc 1 909 5 is_stmt 1 view .LVU45
222 0034 2369 ldr r3, [r4, #16]
223 0036 23F02003 bic r3, r3, #32
224 003a 2361 str r3, [r4, #16]
911:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
225 .loc 1 911 5 view .LVU46
911:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
226 .loc 1 911 7 is_stmt 0 view .LVU47
227 003c 0346 mov r3, r0
228 003e 0028 cmp r0, #0
229 0040 E6D1 bne .L16
914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
230 .loc 1 914 7 is_stmt 1 view .LVU48
231 0042 2369 ldr r3, [r4, #16]
232 0044 43F01003 orr r3, r3, #16
233 0048 2361 str r3, [r4, #16]
916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
ARM GAS /tmp/ccXKI0RP.s page 24
234 .loc 1 916 7 view .LVU49
235 004a ADB2 uxth r5, r5
236 004c 074B ldr r3, .L19+8
237 004e 1D80 strh r5, [r3] @ movhi
919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
238 .loc 1 919 7 view .LVU50
919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
239 .loc 1 919 16 is_stmt 0 view .LVU51
240 0050 4CF25030 movw r0, #50000
241 .LVL11:
919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
242 .loc 1 919 16 view .LVU52
243 0054 FFF7FEFF bl FLASH_WaitForLastOperation
244 .LVL12:
245 0058 0346 mov r3, r0
246 .LVL13:
922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
247 .loc 1 922 7 is_stmt 1 view .LVU53
248 005a 2269 ldr r2, [r4, #16]
249 005c 22F01002 bic r2, r2, #16
250 0060 2261 str r2, [r4, #16]
251 0062 D5E7 b .L16
252 .L20:
253 .align 2
254 .L19:
255 0064 00000000 .word pFlash
256 0068 00200240 .word 1073881088
257 006c 00F8FF1F .word 536868864
258 .cfi_endproc
259 .LFE74:
261 .section .text.FLASH_OB_UserConfig,"ax",%progbits
262 .align 1
263 .syntax unified
264 .thumb
265 .thumb_func
266 .fpu softvfp
268 FLASH_OB_UserConfig:
269 .LVL14:
270 .LFB75:
938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
271 .loc 1 938 1 view -0
272 .cfi_startproc
273 @ args = 0, pretend = 0, frame = 0
274 @ frame_needed = 0, uses_anonymous_args = 0
938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
275 .loc 1 938 1 is_stmt 0 view .LVU55
276 0000 38B5 push {r3, r4, r5, lr}
277 .LCFI1:
278 .cfi_def_cfa_offset 16
279 .cfi_offset 3, -16
280 .cfi_offset 4, -12
281 .cfi_offset 5, -8
282 .cfi_offset 14, -4
283 0002 0446 mov r4, r0
939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
284 .loc 1 939 3 is_stmt 1 view .LVU56
285 .LVL15:
ARM GAS /tmp/ccXKI0RP.s page 25
942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_OB_STOP_SOURCE((UserConfig&OB_STOP_NO_RST)));
286 .loc 1 942 3 view .LVU57
943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_OB_STDBY_SOURCE((UserConfig&OB_STDBY_NO_RST)));
287 .loc 1 943 3 view .LVU58
944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_BANK2_END)
288 .loc 1 944 3 view .LVU59
950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
289 .loc 1 950 3 view .LVU60
950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
290 .loc 1 950 12 is_stmt 0 view .LVU61
291 0004 4CF25030 movw r0, #50000
292 .LVL16:
950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
293 .loc 1 950 12 view .LVU62
294 0008 FFF7FEFF bl FLASH_WaitForLastOperation
295 .LVL17:
952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
296 .loc 1 952 3 is_stmt 1 view .LVU63
952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
297 .loc 1 952 5 is_stmt 0 view .LVU64
298 000c 0346 mov r3, r0
299 000e 08B1 cbz r0, .L24
300 .LVL18:
301 .L22:
973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
302 .loc 1 973 3 is_stmt 1 view .LVU65
974:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
303 .loc 1 974 1 is_stmt 0 view .LVU66
304 0010 1846 mov r0, r3
305 0012 38BD pop {r3, r4, r5, pc}
306 .LVL19:
307 .L24:
955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
308 .loc 1 955 5 is_stmt 1 view .LVU67
955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
309 .loc 1 955 22 is_stmt 0 view .LVU68
310 0014 0A4B ldr r3, .L25
311 0016 0022 movs r2, #0
312 0018 DA61 str r2, [r3, #28]
958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
313 .loc 1 958 5 is_stmt 1 view .LVU69
314 001a 0A4D ldr r5, .L25+4
315 001c 2B69 ldr r3, [r5, #16]
316 001e 43F01003 orr r3, r3, #16
317 0022 2B61 str r3, [r5, #16]
963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_BANK2_END */
318 .loc 1 963 5 view .LVU70
963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_BANK2_END */
319 .loc 1 963 14 is_stmt 0 view .LVU71
320 0024 44F08804 orr r4, r4, #136
321 0028 074B ldr r3, .L25+8
322 002a 5C80 strh r4, [r3, #2] @ movhi
967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
323 .loc 1 967 5 is_stmt 1 view .LVU72
967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
324 .loc 1 967 14 is_stmt 0 view .LVU73
325 002c 4CF25030 movw r0, #50000
ARM GAS /tmp/ccXKI0RP.s page 26
326 .LVL20:
967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
327 .loc 1 967 14 view .LVU74
328 0030 FFF7FEFF bl FLASH_WaitForLastOperation
329 .LVL21:
330 0034 0346 mov r3, r0
331 .LVL22:
970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
332 .loc 1 970 5 is_stmt 1 view .LVU75
333 0036 2A69 ldr r2, [r5, #16]
334 0038 22F01002 bic r2, r2, #16
335 003c 2A61 str r2, [r5, #16]
336 003e E7E7 b .L22
337 .L26:
338 .align 2
339 .L25:
340 0040 00000000 .word pFlash
341 0044 00200240 .word 1073881088
342 0048 00F8FF1F .word 536868864
343 .cfi_endproc
344 .LFE75:
346 .section .text.FLASH_OB_ProgramData,"ax",%progbits
347 .align 1
348 .syntax unified
349 .thumb
350 .thumb_func
351 .fpu softvfp
353 FLASH_OB_ProgramData:
354 .LVL23:
355 .LFB76:
989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_ERROR;
356 .loc 1 989 1 view -0
357 .cfi_startproc
358 @ args = 0, pretend = 0, frame = 0
359 @ frame_needed = 0, uses_anonymous_args = 0
989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_ERROR;
360 .loc 1 989 1 is_stmt 0 view .LVU77
361 0000 70B5 push {r4, r5, r6, lr}
362 .LCFI2:
363 .cfi_def_cfa_offset 16
364 .cfi_offset 4, -16
365 .cfi_offset 5, -12
366 .cfi_offset 6, -8
367 .cfi_offset 14, -4
368 0002 0646 mov r6, r0
369 0004 0C46 mov r4, r1
990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
370 .loc 1 990 3 is_stmt 1 view .LVU78
371 .LVL24:
993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
372 .loc 1 993 3 view .LVU79
996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
373 .loc 1 996 3 view .LVU80
996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
374 .loc 1 996 12 is_stmt 0 view .LVU81
375 0006 4CF25030 movw r0, #50000
376 .LVL25:
ARM GAS /tmp/ccXKI0RP.s page 27
996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
377 .loc 1 996 12 view .LVU82
378 000a FFF7FEFF bl FLASH_WaitForLastOperation
379 .LVL26:
998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
380 .loc 1 998 3 is_stmt 1 view .LVU83
998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
381 .loc 1 998 5 is_stmt 0 view .LVU84
382 000e 0346 mov r3, r0
383 0010 08B1 cbz r0, .L30
384 .LVL27:
385 .L28:
1014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
386 .loc 1 1014 3 is_stmt 1 view .LVU85
1015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
387 .loc 1 1015 1 is_stmt 0 view .LVU86
388 0012 1846 mov r0, r3
389 0014 70BD pop {r4, r5, r6, pc}
390 .LVL28:
391 .L30:
1001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
392 .loc 1 1001 5 is_stmt 1 view .LVU87
1001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
393 .loc 1 1001 22 is_stmt 0 view .LVU88
394 0016 0A4B ldr r3, .L31
395 0018 0022 movs r2, #0
396 001a DA61 str r2, [r3, #28]
1004:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *(__IO uint16_t*)Address = Data;
397 .loc 1 1004 5 is_stmt 1 view .LVU89
398 001c 094D ldr r5, .L31+4
399 001e 2B69 ldr r3, [r5, #16]
400 0020 43F01003 orr r3, r3, #16
401 0024 2B61 str r3, [r5, #16]
1005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
402 .loc 1 1005 5 view .LVU90
1005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
403 .loc 1 1005 30 is_stmt 0 view .LVU91
404 0026 A4B2 uxth r4, r4
405 0028 3480 strh r4, [r6] @ movhi
1008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
406 .loc 1 1008 5 is_stmt 1 view .LVU92
1008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
407 .loc 1 1008 14 is_stmt 0 view .LVU93
408 002a 4CF25030 movw r0, #50000
409 .LVL29:
1008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
410 .loc 1 1008 14 view .LVU94
411 002e FFF7FEFF bl FLASH_WaitForLastOperation
412 .LVL30:
413 0032 0346 mov r3, r0
414 .LVL31:
1011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
415 .loc 1 1011 5 is_stmt 1 view .LVU95
416 0034 2A69 ldr r2, [r5, #16]
417 0036 22F01002 bic r2, r2, #16
418 003a 2A61 str r2, [r5, #16]
419 003c E9E7 b .L28
ARM GAS /tmp/ccXKI0RP.s page 28
420 .L32:
421 003e 00BF .align 2
422 .L31:
423 0040 00000000 .word pFlash
424 0044 00200240 .word 1073881088
425 .cfi_endproc
426 .LFE76:
428 .section .text.HAL_FLASHEx_OBErase,"ax",%progbits
429 .align 1
430 .global HAL_FLASHEx_OBErase
431 .syntax unified
432 .thumb
433 .thumb_func
434 .fpu softvfp
436 HAL_FLASHEx_OBErase:
437 .LFB67:
398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint8_t rdptmp = OB_RDP_LEVEL_0;
438 .loc 1 398 1 view -0
439 .cfi_startproc
440 @ args = 0, pretend = 0, frame = 0
441 @ frame_needed = 0, uses_anonymous_args = 0
442 0000 38B5 push {r3, r4, r5, lr}
443 .LCFI3:
444 .cfi_def_cfa_offset 16
445 .cfi_offset 3, -16
446 .cfi_offset 4, -12
447 .cfi_offset 5, -8
448 .cfi_offset 14, -4
399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_ERROR;
449 .loc 1 399 3 view .LVU97
450 .LVL32:
400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
451 .loc 1 400 3 view .LVU98
403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
452 .loc 1 403 3 view .LVU99
403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
453 .loc 1 403 12 is_stmt 0 view .LVU100
454 0002 FFF7FEFF bl FLASH_OB_GetRDP
455 .LVL33:
403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
456 .loc 1 403 10 view .LVU101
457 0006 C5B2 uxtb r5, r0
458 .LVL34:
406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
459 .loc 1 406 3 is_stmt 1 view .LVU102
406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
460 .loc 1 406 12 is_stmt 0 view .LVU103
461 0008 4CF25030 movw r0, #50000
462 000c FFF7FEFF bl FLASH_WaitForLastOperation
463 .LVL35:
408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
464 .loc 1 408 3 is_stmt 1 view .LVU104
408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
465 .loc 1 408 5 is_stmt 0 view .LVU105
466 0010 0346 mov r3, r0
467 0012 08B1 cbz r0, .L36
468 .LVL36:
ARM GAS /tmp/ccXKI0RP.s page 29
469 .L34:
431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
470 .loc 1 431 3 is_stmt 1 view .LVU106
432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
471 .loc 1 432 1 is_stmt 0 view .LVU107
472 0014 1846 mov r0, r3
473 0016 38BD pop {r3, r4, r5, pc}
474 .LVL37:
475 .L36:
411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
476 .loc 1 411 5 is_stmt 1 view .LVU108
411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
477 .loc 1 411 22 is_stmt 0 view .LVU109
478 0018 0D4B ldr r3, .L37
479 001a 0022 movs r2, #0
480 001c DA61 str r2, [r3, #28]
414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_STRT);
481 .loc 1 414 5 is_stmt 1 view .LVU110
482 001e 0D4C ldr r4, .L37+4
483 0020 2369 ldr r3, [r4, #16]
484 0022 43F02003 orr r3, r3, #32
485 0026 2361 str r3, [r4, #16]
415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
486 .loc 1 415 5 view .LVU111
487 0028 2369 ldr r3, [r4, #16]
488 002a 43F04003 orr r3, r3, #64
489 002e 2361 str r3, [r4, #16]
418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
490 .loc 1 418 5 view .LVU112
418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
491 .loc 1 418 14 is_stmt 0 view .LVU113
492 0030 4CF25030 movw r0, #50000
493 .LVL38:
418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
494 .loc 1 418 14 view .LVU114
495 0034 FFF7FEFF bl FLASH_WaitForLastOperation
496 .LVL39:
421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
497 .loc 1 421 5 is_stmt 1 view .LVU115
498 0038 2369 ldr r3, [r4, #16]
499 003a 23F02003 bic r3, r3, #32
500 003e 2361 str r3, [r4, #16]
423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
501 .loc 1 423 5 view .LVU116
423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
502 .loc 1 423 7 is_stmt 0 view .LVU117
503 0040 0346 mov r3, r0
504 0042 0028 cmp r0, #0
505 0044 E6D1 bne .L34
426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
506 .loc 1 426 7 is_stmt 1 view .LVU118
426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
507 .loc 1 426 16 is_stmt 0 view .LVU119
508 0046 2846 mov r0, r5
509 .LVL40:
426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
510 .loc 1 426 16 view .LVU120
ARM GAS /tmp/ccXKI0RP.s page 30
511 0048 FFF7FEFF bl FLASH_OB_RDP_LevelConfig
512 .LVL41:
513 004c 0346 mov r3, r0
514 .LVL42:
426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
515 .loc 1 426 16 view .LVU121
516 004e E1E7 b .L34
517 .L38:
518 .align 2
519 .L37:
520 0050 00000000 .word pFlash
521 0054 00200240 .word 1073881088
522 .cfi_endproc
523 .LFE67:
525 .section .text.FLASH_OB_EnableWRP,"ax",%progbits
526 .align 1
527 .syntax unified
528 .thumb
529 .thumb_func
530 .fpu softvfp
532 FLASH_OB_EnableWRP:
533 .LVL43:
534 .LFB72:
645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
535 .loc 1 645 1 is_stmt 1 view -0
536 .cfi_startproc
537 @ args = 0, pretend = 0, frame = 0
538 @ frame_needed = 0, uses_anonymous_args = 0
645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
539 .loc 1 645 1 is_stmt 0 view .LVU123
540 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
541 .LCFI4:
542 .cfi_def_cfa_offset 24
543 .cfi_offset 3, -24
544 .cfi_offset 4, -20
545 .cfi_offset 5, -16
546 .cfi_offset 6, -12
547 .cfi_offset 7, -8
548 .cfi_offset 14, -4
549 0002 0446 mov r4, r0
646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint16_t WRP0_Data = 0xFFFF;
550 .loc 1 646 3 is_stmt 1 view .LVU124
551 .LVL44:
647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_WRP1_WRP1)
552 .loc 1 647 3 view .LVU125
649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP1_WRP1 */
553 .loc 1 649 3 view .LVU126
652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP2_WRP2 */
554 .loc 1 652 3 view .LVU127
655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP3_WRP3 */
555 .loc 1 655 3 view .LVU128
659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
556 .loc 1 659 3 view .LVU129
662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
557 .loc 1 662 3 view .LVU130
662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
558 .loc 1 662 37 is_stmt 0 view .LVU131
ARM GAS /tmp/ccXKI0RP.s page 31
559 0004 FFF7FEFF bl FLASH_OB_GetWRP
560 .LVL45:
662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
561 .loc 1 662 20 view .LVU132
562 0008 20EA0404 bic r4, r0, r4
563 .LVL46:
667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES0TO31MASK */
564 .loc 1 667 3 is_stmt 1 view .LVU133
673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES32TO63MASK */
565 .loc 1 673 3 view .LVU134
673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES32TO63MASK */
566 .loc 1 673 13 is_stmt 0 view .LVU135
567 000c C4F30727 ubfx r7, r4, #8, #8
568 .LVL47:
677:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES64TO95MASK */
569 .loc 1 677 3 is_stmt 1 view .LVU136
677:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES64TO95MASK */
570 .loc 1 677 13 is_stmt 0 view .LVU137
571 0010 C4F30746 ubfx r6, r4, #16, #8
572 .LVL48:
684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES48TO255MASK)
573 .loc 1 684 3 is_stmt 1 view .LVU138
694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
574 .loc 1 694 3 view .LVU139
694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
575 .loc 1 694 12 is_stmt 0 view .LVU140
576 0014 4CF25030 movw r0, #50000
577 0018 FFF7FEFF bl FLASH_WaitForLastOperation
578 .LVL49:
696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
579 .loc 1 696 3 is_stmt 1 view .LVU141
696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
580 .loc 1 696 5 is_stmt 0 view .LVU142
581 001c 0346 mov r3, r0
582 001e 08B1 cbz r0, .L46
583 .LVL50:
584 .L40:
753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
585 .loc 1 753 3 is_stmt 1 view .LVU143
754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
586 .loc 1 754 1 is_stmt 0 view .LVU144
587 0020 1846 mov r0, r3
588 0022 F8BD pop {r3, r4, r5, r6, r7, pc}
589 .LVL51:
590 .L46:
754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
591 .loc 1 754 1 view .LVU145
592 0024 E5B2 uxtb r5, r4
593 0026 240E lsrs r4, r4, #24
594 .LVL52:
699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
595 .loc 1 699 5 is_stmt 1 view .LVU146
699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
596 .loc 1 699 22 is_stmt 0 view .LVU147
597 0028 224B ldr r3, .L51
598 002a 0022 movs r2, #0
599 002c DA61 str r2, [r3, #28]
ARM GAS /tmp/ccXKI0RP.s page 32
702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status == HAL_OK)
600 .loc 1 702 5 is_stmt 1 view .LVU148
702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status == HAL_OK)
601 .loc 1 702 14 is_stmt 0 view .LVU149
602 002e FFF7FEFF bl HAL_FLASHEx_OBErase
603 .LVL53:
703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
604 .loc 1 703 5 is_stmt 1 view .LVU150
703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
605 .loc 1 703 8 is_stmt 0 view .LVU151
606 0032 0346 mov r3, r0
607 0034 0028 cmp r0, #0
608 0036 F3D1 bne .L40
706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
609 .loc 1 706 7 is_stmt 1 view .LVU152
610 0038 1F49 ldr r1, .L51+4
611 003a 0A69 ldr r2, [r1, #16]
612 003c 42F01002 orr r2, r2, #16
613 0040 0A61 str r2, [r1, #16]
709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
614 .loc 1 709 7 view .LVU153
709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
615 .loc 1 709 9 is_stmt 0 view .LVU154
616 0042 FF2D cmp r5, #255
617 0044 0ED1 bne .L47
618 .LVL54:
619 .L41:
719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
620 .loc 1 719 7 is_stmt 1 view .LVU155
719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
621 .loc 1 719 9 is_stmt 0 view .LVU156
622 0046 0BB9 cbnz r3, .L42
719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
623 .loc 1 719 29 discriminator 1 view .LVU157
624 0048 FF2F cmp r7, #255
625 004a 15D1 bne .L48
626 .LVL55:
627 .L42:
729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
628 .loc 1 729 7 is_stmt 1 view .LVU158
729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
629 .loc 1 729 9 is_stmt 0 view .LVU159
630 004c 0BB9 cbnz r3, .L43
729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
631 .loc 1 729 29 discriminator 1 view .LVU160
632 004e FF2E cmp r6, #255
633 0050 1CD1 bne .L49
634 .LVL56:
635 .L43:
739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
636 .loc 1 739 7 is_stmt 1 view .LVU161
739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
637 .loc 1 739 9 is_stmt 0 view .LVU162
638 0052 0BB9 cbnz r3, .L44
739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
639 .loc 1 739 29 discriminator 1 view .LVU163
640 0054 FF2C cmp r4, #255
ARM GAS /tmp/ccXKI0RP.s page 33
641 0056 23D1 bne .L50
642 .L44:
749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
643 .loc 1 749 7 is_stmt 1 view .LVU164
644 0058 1749 ldr r1, .L51+4
645 005a 0A69 ldr r2, [r1, #16]
646 005c 22F01002 bic r2, r2, #16
647 0060 0A61 str r2, [r1, #16]
648 0062 DDE7 b .L40
649 .LVL57:
650 .L47:
711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
651 .loc 1 711 9 view .LVU165
711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
652 .loc 1 711 18 is_stmt 0 view .LVU166
653 0064 154B ldr r3, .L51+8
654 0066 1A89 ldrh r2, [r3, #8]
655 0068 1540 ands r5, r5, r2
656 .LVL58:
711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
657 .loc 1 711 18 view .LVU167
658 006a 1D81 strh r5, [r3, #8] @ movhi
714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
659 .loc 1 714 9 is_stmt 1 view .LVU168
714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
660 .loc 1 714 18 is_stmt 0 view .LVU169
661 006c 4CF25030 movw r0, #50000
662 .LVL59:
714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
663 .loc 1 714 18 view .LVU170
664 0070 FFF7FEFF bl FLASH_WaitForLastOperation
665 .LVL60:
666 0074 0346 mov r3, r0
667 .LVL61:
714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
668 .loc 1 714 18 view .LVU171
669 0076 E6E7 b .L41
670 .L48:
721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
671 .loc 1 721 9 is_stmt 1 view .LVU172
721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
672 .loc 1 721 18 is_stmt 0 view .LVU173
673 0078 104B ldr r3, .L51+8
674 .LVL62:
721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
675 .loc 1 721 18 view .LVU174
676 007a 5A89 ldrh r2, [r3, #10]
677 007c 1740 ands r7, r7, r2
678 .LVL63:
721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
679 .loc 1 721 18 view .LVU175
680 007e 5F81 strh r7, [r3, #10] @ movhi
724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
681 .loc 1 724 9 is_stmt 1 view .LVU176
724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
682 .loc 1 724 18 is_stmt 0 view .LVU177
683 0080 4CF25030 movw r0, #50000
ARM GAS /tmp/ccXKI0RP.s page 34
684 0084 FFF7FEFF bl FLASH_WaitForLastOperation
685 .LVL64:
686 0088 0346 mov r3, r0
687 .LVL65:
724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
688 .loc 1 724 18 view .LVU178
689 008a DFE7 b .L42
690 .L49:
731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
691 .loc 1 731 9 is_stmt 1 view .LVU179
731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
692 .loc 1 731 18 is_stmt 0 view .LVU180
693 008c 0B4B ldr r3, .L51+8
694 .LVL66:
731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
695 .loc 1 731 18 view .LVU181
696 008e 9A89 ldrh r2, [r3, #12]
697 0090 1640 ands r6, r6, r2
698 .LVL67:
731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
699 .loc 1 731 18 view .LVU182
700 0092 9E81 strh r6, [r3, #12] @ movhi
734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
701 .loc 1 734 9 is_stmt 1 view .LVU183
734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
702 .loc 1 734 18 is_stmt 0 view .LVU184
703 0094 4CF25030 movw r0, #50000
704 0098 FFF7FEFF bl FLASH_WaitForLastOperation
705 .LVL68:
706 009c 0346 mov r3, r0
707 .LVL69:
734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
708 .loc 1 734 18 view .LVU185
709 009e D8E7 b .L43
710 .L50:
741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
711 .loc 1 741 9 is_stmt 1 view .LVU186
741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
712 .loc 1 741 18 is_stmt 0 view .LVU187
713 00a0 064B ldr r3, .L51+8
714 .LVL70:
741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
715 .loc 1 741 18 view .LVU188
716 00a2 D889 ldrh r0, [r3, #14]
717 00a4 2040 ands r0, r0, r4
718 00a6 D881 strh r0, [r3, #14] @ movhi
744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
719 .loc 1 744 9 is_stmt 1 view .LVU189
744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
720 .loc 1 744 18 is_stmt 0 view .LVU190
721 00a8 4CF25030 movw r0, #50000
722 00ac FFF7FEFF bl FLASH_WaitForLastOperation
723 .LVL71:
724 00b0 0346 mov r3, r0
725 .LVL72:
744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
726 .loc 1 744 18 view .LVU191
ARM GAS /tmp/ccXKI0RP.s page 35
727 00b2 D1E7 b .L44
728 .L52:
729 .align 2
730 .L51:
731 00b4 00000000 .word pFlash
732 00b8 00200240 .word 1073881088
733 00bc 00F8FF1F .word 536868864
734 .cfi_endproc
735 .LFE72:
737 .section .text.FLASH_OB_DisableWRP,"ax",%progbits
738 .align 1
739 .syntax unified
740 .thumb
741 .thumb_func
742 .fpu softvfp
744 FLASH_OB_DisableWRP:
745 .LVL73:
746 .LFB73:
768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
747 .loc 1 768 1 is_stmt 1 view -0
748 .cfi_startproc
749 @ args = 0, pretend = 0, frame = 0
750 @ frame_needed = 0, uses_anonymous_args = 0
768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
751 .loc 1 768 1 is_stmt 0 view .LVU193
752 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
753 .LCFI5:
754 .cfi_def_cfa_offset 24
755 .cfi_offset 3, -24
756 .cfi_offset 4, -20
757 .cfi_offset 5, -16
758 .cfi_offset 6, -12
759 .cfi_offset 7, -8
760 .cfi_offset 14, -4
761 0002 0446 mov r4, r0
769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint16_t WRP0_Data = 0xFFFF;
762 .loc 1 769 3 is_stmt 1 view .LVU194
763 .LVL74:
770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_WRP1_WRP1)
764 .loc 1 770 3 view .LVU195
772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP1_WRP1 */
765 .loc 1 772 3 view .LVU196
775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP2_WRP2 */
766 .loc 1 775 3 view .LVU197
778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_WRP3_WRP3 */
767 .loc 1 778 3 view .LVU198
782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
768 .loc 1 782 3 view .LVU199
785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
769 .loc 1 785 3 view .LVU200
785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
770 .loc 1 785 23 is_stmt 0 view .LVU201
771 0004 FFF7FEFF bl FLASH_OB_GetWRP
772 .LVL75:
785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
773 .loc 1 785 20 view .LVU202
774 0008 0443 orrs r4, r4, r0
ARM GAS /tmp/ccXKI0RP.s page 36
775 .LVL76:
790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES0TO31MASK */
776 .loc 1 790 3 is_stmt 1 view .LVU203
796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES32TO63MASK */
777 .loc 1 796 3 view .LVU204
796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES32TO63MASK */
778 .loc 1 796 13 is_stmt 0 view .LVU205
779 000a C4F30727 ubfx r7, r4, #8, #8
780 .LVL77:
800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES64TO95MASK */
781 .loc 1 800 3 is_stmt 1 view .LVU206
800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES64TO95MASK */
782 .loc 1 800 13 is_stmt 0 view .LVU207
783 000e C4F30746 ubfx r6, r4, #16, #8
784 .LVL78:
807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES48TO255MASK)
785 .loc 1 807 3 is_stmt 1 view .LVU208
818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
786 .loc 1 818 3 view .LVU209
818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
787 .loc 1 818 12 is_stmt 0 view .LVU210
788 0012 4CF25030 movw r0, #50000
789 0016 FFF7FEFF bl FLASH_WaitForLastOperation
790 .LVL79:
820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
791 .loc 1 820 3 is_stmt 1 view .LVU211
820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
792 .loc 1 820 5 is_stmt 0 view .LVU212
793 001a 0346 mov r3, r0
794 001c 08B1 cbz r0, .L60
795 .LVL80:
796 .L54:
875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
797 .loc 1 875 3 is_stmt 1 view .LVU213
876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
798 .loc 1 876 1 is_stmt 0 view .LVU214
799 001e 1846 mov r0, r3
800 0020 F8BD pop {r3, r4, r5, r6, r7, pc}
801 .LVL81:
802 .L60:
876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
803 .loc 1 876 1 view .LVU215
804 0022 E5B2 uxtb r5, r4
805 0024 240E lsrs r4, r4, #24
806 .LVL82:
823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
807 .loc 1 823 5 is_stmt 1 view .LVU216
823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
808 .loc 1 823 22 is_stmt 0 view .LVU217
809 0026 234B ldr r3, .L65
810 0028 0022 movs r2, #0
811 002a DA61 str r2, [r3, #28]
826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status == HAL_OK)
812 .loc 1 826 5 is_stmt 1 view .LVU218
826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status == HAL_OK)
813 .loc 1 826 14 is_stmt 0 view .LVU219
814 002c FFF7FEFF bl HAL_FLASHEx_OBErase
ARM GAS /tmp/ccXKI0RP.s page 37
815 .LVL83:
827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
816 .loc 1 827 5 is_stmt 1 view .LVU220
827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
817 .loc 1 827 8 is_stmt 0 view .LVU221
818 0030 0346 mov r3, r0
819 0032 0028 cmp r0, #0
820 0034 F3D1 bne .L54
829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
821 .loc 1 829 7 is_stmt 1 view .LVU222
822 0036 2049 ldr r1, .L65+4
823 0038 0A69 ldr r2, [r1, #16]
824 003a 42F01002 orr r2, r2, #16
825 003e 0A61 str r2, [r1, #16]
832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
826 .loc 1 832 7 view .LVU223
832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
827 .loc 1 832 9 is_stmt 0 view .LVU224
828 0040 FF2D cmp r5, #255
829 0042 0ED1 bne .L61
830 .LVL84:
831 .L55:
842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
832 .loc 1 842 7 is_stmt 1 view .LVU225
842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
833 .loc 1 842 9 is_stmt 0 view .LVU226
834 0044 0BB9 cbnz r3, .L56
842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
835 .loc 1 842 29 discriminator 1 view .LVU227
836 0046 FF2F cmp r7, #255
837 0048 15D1 bne .L62
838 .LVL85:
839 .L56:
852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
840 .loc 1 852 7 is_stmt 1 view .LVU228
852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
841 .loc 1 852 9 is_stmt 0 view .LVU229
842 004a 0BB9 cbnz r3, .L57
852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
843 .loc 1 852 29 discriminator 1 view .LVU230
844 004c FF2E cmp r6, #255
845 004e 1CD1 bne .L63
846 .LVL86:
847 .L57:
862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
848 .loc 1 862 7 is_stmt 1 view .LVU231
862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
849 .loc 1 862 9 is_stmt 0 view .LVU232
850 0050 0BB9 cbnz r3, .L58
862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
851 .loc 1 862 29 discriminator 1 view .LVU233
852 0052 FF2C cmp r4, #255
853 0054 23D1 bne .L64
854 .L58:
872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
855 .loc 1 872 7 is_stmt 1 view .LVU234
856 0056 1849 ldr r1, .L65+4
ARM GAS /tmp/ccXKI0RP.s page 38
857 0058 0A69 ldr r2, [r1, #16]
858 005a 22F01002 bic r2, r2, #16
859 005e 0A61 str r2, [r1, #16]
860 0060 DDE7 b .L54
861 .LVL87:
862 .L61:
834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
863 .loc 1 834 9 view .LVU235
834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
864 .loc 1 834 18 is_stmt 0 view .LVU236
865 0062 164B ldr r3, .L65+8
866 0064 1A89 ldrh r2, [r3, #8]
867 0066 1543 orrs r5, r5, r2
868 .LVL88:
834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
869 .loc 1 834 18 view .LVU237
870 0068 1D81 strh r5, [r3, #8] @ movhi
837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
871 .loc 1 837 9 is_stmt 1 view .LVU238
837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
872 .loc 1 837 18 is_stmt 0 view .LVU239
873 006a 4CF25030 movw r0, #50000
874 .LVL89:
837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
875 .loc 1 837 18 view .LVU240
876 006e FFF7FEFF bl FLASH_WaitForLastOperation
877 .LVL90:
878 0072 0346 mov r3, r0
879 .LVL91:
837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
880 .loc 1 837 18 view .LVU241
881 0074 E6E7 b .L55
882 .L62:
844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
883 .loc 1 844 9 is_stmt 1 view .LVU242
844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
884 .loc 1 844 18 is_stmt 0 view .LVU243
885 0076 114B ldr r3, .L65+8
886 .LVL92:
844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
887 .loc 1 844 18 view .LVU244
888 0078 5A89 ldrh r2, [r3, #10]
889 007a 1743 orrs r7, r7, r2
890 .LVL93:
844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
891 .loc 1 844 18 view .LVU245
892 007c 5F81 strh r7, [r3, #10] @ movhi
847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
893 .loc 1 847 9 is_stmt 1 view .LVU246
847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
894 .loc 1 847 18 is_stmt 0 view .LVU247
895 007e 4CF25030 movw r0, #50000
896 0082 FFF7FEFF bl FLASH_WaitForLastOperation
897 .LVL94:
898 0086 0346 mov r3, r0
899 .LVL95:
847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
ARM GAS /tmp/ccXKI0RP.s page 39
900 .loc 1 847 18 view .LVU248
901 0088 DFE7 b .L56
902 .L63:
854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
903 .loc 1 854 9 is_stmt 1 view .LVU249
854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
904 .loc 1 854 18 is_stmt 0 view .LVU250
905 008a 0C4B ldr r3, .L65+8
906 .LVL96:
854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
907 .loc 1 854 18 view .LVU251
908 008c 9A89 ldrh r2, [r3, #12]
909 008e 1643 orrs r6, r6, r2
910 .LVL97:
854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
911 .loc 1 854 18 view .LVU252
912 0090 9E81 strh r6, [r3, #12] @ movhi
857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
913 .loc 1 857 9 is_stmt 1 view .LVU253
857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
914 .loc 1 857 18 is_stmt 0 view .LVU254
915 0092 4CF25030 movw r0, #50000
916 0096 FFF7FEFF bl FLASH_WaitForLastOperation
917 .LVL98:
918 009a 0346 mov r3, r0
919 .LVL99:
857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
920 .loc 1 857 18 view .LVU255
921 009c D8E7 b .L57
922 .L64:
864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
923 .loc 1 864 9 is_stmt 1 view .LVU256
864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
924 .loc 1 864 18 is_stmt 0 view .LVU257
925 009e 074B ldr r3, .L65+8
926 .LVL100:
864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
927 .loc 1 864 18 view .LVU258
928 00a0 D889 ldrh r0, [r3, #14]
929 00a2 2043 orrs r0, r0, r4
930 00a4 D881 strh r0, [r3, #14] @ movhi
867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
931 .loc 1 867 9 is_stmt 1 view .LVU259
867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
932 .loc 1 867 18 is_stmt 0 view .LVU260
933 00a6 4CF25030 movw r0, #50000
934 00aa FFF7FEFF bl FLASH_WaitForLastOperation
935 .LVL101:
936 00ae 0346 mov r3, r0
937 .LVL102:
867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
938 .loc 1 867 18 view .LVU261
939 00b0 D1E7 b .L58
940 .L66:
941 00b2 00BF .align 2
942 .L65:
943 00b4 00000000 .word pFlash
ARM GAS /tmp/ccXKI0RP.s page 40
944 00b8 00200240 .word 1073881088
945 00bc 00F8FF1F .word 536868864
946 .cfi_endproc
947 .LFE73:
949 .section .text.HAL_FLASHEx_OBProgram,"ax",%progbits
950 .align 1
951 .global HAL_FLASHEx_OBProgram
952 .syntax unified
953 .thumb
954 .thumb_func
955 .fpu softvfp
957 HAL_FLASHEx_OBProgram:
958 .LVL103:
959 .LFB68:
447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_ERROR;
960 .loc 1 447 1 is_stmt 1 view -0
961 .cfi_startproc
962 @ args = 0, pretend = 0, frame = 0
963 @ frame_needed = 0, uses_anonymous_args = 0
448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
964 .loc 1 448 3 view .LVU263
451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
965 .loc 1 451 3 view .LVU264
451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
966 .loc 1 451 3 view .LVU265
967 0000 284B ldr r3, .L85
968 0002 1B7E ldrb r3, [r3, #24] @ zero_extendqisi2
969 0004 012B cmp r3, #1
970 0006 4AD0 beq .L75
447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_ERROR;
971 .loc 1 447 1 is_stmt 0 discriminator 2 view .LVU266
972 0008 10B5 push {r4, lr}
973 .LCFI6:
974 .cfi_def_cfa_offset 8
975 .cfi_offset 4, -8
976 .cfi_offset 14, -4
977 000a 0446 mov r4, r0
451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
978 .loc 1 451 3 is_stmt 1 discriminator 2 view .LVU267
979 000c 254B ldr r3, .L85
980 000e 0122 movs r2, #1
981 0010 1A76 strb r2, [r3, #24]
454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
982 .loc 1 454 3 discriminator 2 view .LVU268
457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
983 .loc 1 457 3 discriminator 2 view .LVU269
457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
984 .loc 1 457 14 is_stmt 0 discriminator 2 view .LVU270
985 0012 0368 ldr r3, [r0]
457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
986 .loc 1 457 5 discriminator 2 view .LVU271
987 0014 13F0010F tst r3, #1
988 0018 10D0 beq .L76
459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (pOBInit->WRPState == OB_WRPSTATE_ENABLE)
989 .loc 1 459 5 is_stmt 1 view .LVU272
460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
990 .loc 1 460 5 view .LVU273
ARM GAS /tmp/ccXKI0RP.s page 41
460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
991 .loc 1 460 16 is_stmt 0 view .LVU274
992 001a 4368 ldr r3, [r0, #4]
460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
993 .loc 1 460 8 view .LVU275
994 001c 9342 cmp r3, r2
995 001e 08D0 beq .L81
468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
996 .loc 1 468 7 is_stmt 1 view .LVU276
468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
997 .loc 1 468 16 is_stmt 0 view .LVU277
998 0020 8068 ldr r0, [r0, #8]
999 .LVL104:
468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1000 .loc 1 468 16 view .LVU278
1001 0022 FFF7FEFF bl FLASH_OB_DisableWRP
1002 .LVL105:
1003 0026 0346 mov r3, r0
1004 .LVL106:
1005 .L71:
470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1006 .loc 1 470 5 is_stmt 1 view .LVU279
470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1007 .loc 1 470 8 is_stmt 0 view .LVU280
1008 0028 4BB1 cbz r3, .L69
473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
1009 .loc 1 473 7 is_stmt 1 view .LVU281
473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
1010 .loc 1 473 7 view .LVU282
1011 002a 1E4A ldr r2, .L85
1012 002c 0021 movs r1, #0
1013 002e 1176 strb r1, [r2, #24]
474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1014 .loc 1 474 7 view .LVU283
474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1015 .loc 1 474 14 is_stmt 0 view .LVU284
1016 0030 14E0 b .L68
1017 .LVL107:
1018 .L81:
463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1019 .loc 1 463 7 is_stmt 1 view .LVU285
463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1020 .loc 1 463 16 is_stmt 0 view .LVU286
1021 0032 8068 ldr r0, [r0, #8]
1022 .LVL108:
463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1023 .loc 1 463 16 view .LVU287
1024 0034 FFF7FEFF bl FLASH_OB_EnableWRP
1025 .LVL109:
1026 0038 0346 mov r3, r0
1027 .LVL110:
463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1028 .loc 1 463 16 view .LVU288
1029 003a F5E7 b .L71
1030 .LVL111:
1031 .L76:
448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
ARM GAS /tmp/ccXKI0RP.s page 42
1032 .loc 1 448 21 view .LVU289
1033 003c 0123 movs r3, #1
1034 .LVL112:
1035 .L69:
479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1036 .loc 1 479 3 is_stmt 1 view .LVU290
479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1037 .loc 1 479 14 is_stmt 0 view .LVU291
1038 003e 2268 ldr r2, [r4]
479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1039 .loc 1 479 5 view .LVU292
1040 0040 12F0020F tst r2, #2
1041 0044 0CD1 bne .L82
1042 .LVL113:
1043 .L72:
491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1044 .loc 1 491 3 is_stmt 1 view .LVU293
491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1045 .loc 1 491 14 is_stmt 0 view .LVU294
1046 0046 2268 ldr r2, [r4]
491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1047 .loc 1 491 5 view .LVU295
1048 0048 12F0040F tst r2, #4
1049 004c 12D1 bne .L83
1050 .LVL114:
1051 .L73:
503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1052 .loc 1 503 3 is_stmt 1 view .LVU296
503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1053 .loc 1 503 14 is_stmt 0 view .LVU297
1054 004e 2268 ldr r2, [r4]
503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1055 .loc 1 503 5 view .LVU298
1056 0050 12F0080F tst r2, #8
1057 0054 18D1 bne .L84
1058 .LVL115:
1059 .L74:
515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1060 .loc 1 515 3 is_stmt 1 view .LVU299
515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1061 .loc 1 515 3 view .LVU300
1062 0056 134A ldr r2, .L85
1063 0058 0021 movs r1, #0
1064 005a 1176 strb r1, [r2, #24]
517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1065 .loc 1 517 3 view .LVU301
1066 .LVL116:
1067 .L68:
518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1068 .loc 1 518 1 is_stmt 0 view .LVU302
1069 005c 1846 mov r0, r3
1070 005e 10BD pop {r4, pc}
1071 .LVL117:
1072 .L82:
481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status != HAL_OK)
1073 .loc 1 481 5 is_stmt 1 view .LVU303
481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status != HAL_OK)
ARM GAS /tmp/ccXKI0RP.s page 43
1074 .loc 1 481 14 is_stmt 0 view .LVU304
1075 0060 207C ldrb r0, [r4, #16] @ zero_extendqisi2
1076 0062 FFF7FEFF bl FLASH_OB_RDP_LevelConfig
1077 .LVL118:
482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1078 .loc 1 482 5 is_stmt 1 view .LVU305
482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1079 .loc 1 482 8 is_stmt 0 view .LVU306
1080 0066 0346 mov r3, r0
1081 0068 0028 cmp r0, #0
1082 006a ECD0 beq .L72
485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
1083 .loc 1 485 7 is_stmt 1 view .LVU307
485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
1084 .loc 1 485 7 view .LVU308
1085 006c 0D4A ldr r2, .L85
1086 006e 0021 movs r1, #0
1087 0070 1176 strb r1, [r2, #24]
486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1088 .loc 1 486 7 view .LVU309
486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1089 .loc 1 486 14 is_stmt 0 view .LVU310
1090 0072 F3E7 b .L68
1091 .LVL119:
1092 .L83:
493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status != HAL_OK)
1093 .loc 1 493 5 is_stmt 1 view .LVU311
493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status != HAL_OK)
1094 .loc 1 493 14 is_stmt 0 view .LVU312
1095 0074 607C ldrb r0, [r4, #17] @ zero_extendqisi2
1096 0076 FFF7FEFF bl FLASH_OB_UserConfig
1097 .LVL120:
494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1098 .loc 1 494 5 is_stmt 1 view .LVU313
494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1099 .loc 1 494 8 is_stmt 0 view .LVU314
1100 007a 0346 mov r3, r0
1101 007c 0028 cmp r0, #0
1102 007e E6D0 beq .L73
497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
1103 .loc 1 497 7 is_stmt 1 view .LVU315
497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
1104 .loc 1 497 7 view .LVU316
1105 0080 084A ldr r2, .L85
1106 0082 0021 movs r1, #0
1107 0084 1176 strb r1, [r2, #24]
498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1108 .loc 1 498 7 view .LVU317
498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1109 .loc 1 498 14 is_stmt 0 view .LVU318
1110 0086 E9E7 b .L68
1111 .LVL121:
1112 .L84:
505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status != HAL_OK)
1113 .loc 1 505 5 is_stmt 1 view .LVU319
505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if (status != HAL_OK)
1114 .loc 1 505 14 is_stmt 0 view .LVU320
ARM GAS /tmp/ccXKI0RP.s page 44
1115 0088 217E ldrb r1, [r4, #24] @ zero_extendqisi2
1116 008a 6069 ldr r0, [r4, #20]
1117 008c FFF7FEFF bl FLASH_OB_ProgramData
1118 .LVL122:
506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1119 .loc 1 506 5 is_stmt 1 view .LVU321
506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1120 .loc 1 506 8 is_stmt 0 view .LVU322
1121 0090 0346 mov r3, r0
1122 0092 0028 cmp r0, #0
1123 0094 DFD0 beq .L74
509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
1124 .loc 1 509 7 is_stmt 1 view .LVU323
509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** return status;
1125 .loc 1 509 7 view .LVU324
1126 0096 034A ldr r2, .L85
1127 0098 0021 movs r1, #0
1128 009a 1176 strb r1, [r2, #24]
510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1129 .loc 1 510 7 view .LVU325
510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1130 .loc 1 510 14 is_stmt 0 view .LVU326
1131 009c DEE7 b .L68
1132 .LVL123:
1133 .L75:
1134 .LCFI7:
1135 .cfi_def_cfa_offset 0
1136 .cfi_restore 4
1137 .cfi_restore 14
451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1138 .loc 1 451 3 view .LVU327
1139 009e 0223 movs r3, #2
518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1140 .loc 1 518 1 view .LVU328
1141 00a0 1846 mov r0, r3
1142 .LVL124:
518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1143 .loc 1 518 1 view .LVU329
1144 00a2 7047 bx lr
1145 .L86:
1146 .align 2
1147 .L85:
1148 00a4 00000000 .word pFlash
1149 .cfi_endproc
1150 .LFE68:
1152 .section .text.HAL_FLASHEx_OBGetConfig,"ax",%progbits
1153 .align 1
1154 .global HAL_FLASHEx_OBGetConfig
1155 .syntax unified
1156 .thumb
1157 .thumb_func
1158 .fpu softvfp
1160 HAL_FLASHEx_OBGetConfig:
1161 .LVL125:
1162 .LFB69:
528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pOBInit->OptionType = OPTIONBYTE_WRP | OPTIONBYTE_RDP | OPTIONBYTE_USER;
1163 .loc 1 528 1 is_stmt 1 view -0
ARM GAS /tmp/ccXKI0RP.s page 45
1164 .cfi_startproc
1165 @ args = 0, pretend = 0, frame = 0
1166 @ frame_needed = 0, uses_anonymous_args = 0
528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pOBInit->OptionType = OPTIONBYTE_WRP | OPTIONBYTE_RDP | OPTIONBYTE_USER;
1167 .loc 1 528 1 is_stmt 0 view .LVU331
1168 0000 10B5 push {r4, lr}
1169 .LCFI8:
1170 .cfi_def_cfa_offset 8
1171 .cfi_offset 4, -8
1172 .cfi_offset 14, -4
1173 0002 0446 mov r4, r0
529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1174 .loc 1 529 3 is_stmt 1 view .LVU332
529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1175 .loc 1 529 23 is_stmt 0 view .LVU333
1176 0004 0723 movs r3, #7
1177 0006 0360 str r3, [r0]
532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1178 .loc 1 532 3 is_stmt 1 view .LVU334
532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1179 .loc 1 532 22 is_stmt 0 view .LVU335
1180 0008 FFF7FEFF bl FLASH_OB_GetWRP
1181 .LVL126:
532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1182 .loc 1 532 20 view .LVU336
1183 000c A060 str r0, [r4, #8]
535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1184 .loc 1 535 3 is_stmt 1 view .LVU337
535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1185 .loc 1 535 23 is_stmt 0 view .LVU338
1186 000e FFF7FEFF bl FLASH_OB_GetRDP
1187 .LVL127:
535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1188 .loc 1 535 21 view .LVU339
1189 0012 2074 strb r0, [r4, #16]
538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1190 .loc 1 538 3 is_stmt 1 view .LVU340
538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1191 .loc 1 538 25 is_stmt 0 view .LVU341
1192 0014 FFF7FEFF bl FLASH_OB_GetUser
1193 .LVL128:
538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1194 .loc 1 538 23 view .LVU342
1195 0018 6074 strb r0, [r4, #17]
539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1196 .loc 1 539 1 view .LVU343
1197 001a 10BD pop {r4, pc}
539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1198 .loc 1 539 1 view .LVU344
1199 .cfi_endproc
1200 .LFE69:
1202 .section .text.HAL_FLASHEx_OBGetUserData,"ax",%progbits
1203 .align 1
1204 .global HAL_FLASHEx_OBGetUserData
1205 .syntax unified
1206 .thumb
1207 .thumb_func
ARM GAS /tmp/ccXKI0RP.s page 46
1208 .fpu softvfp
1210 HAL_FLASHEx_OBGetUserData:
1211 .LVL129:
1212 .LFB70:
550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint32_t value = 0;
1213 .loc 1 550 1 is_stmt 1 view -0
1214 .cfi_startproc
1215 @ args = 0, pretend = 0, frame = 0
1216 @ frame_needed = 0, uses_anonymous_args = 0
1217 @ link register save eliminated.
551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1218 .loc 1 551 3 view .LVU346
553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1219 .loc 1 553 3 view .LVU347
553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1220 .loc 1 553 6 is_stmt 0 view .LVU348
1221 0000 064B ldr r3, .L93
1222 0002 9842 cmp r0, r3
1223 0004 04D0 beq .L92
561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1224 .loc 1 561 5 is_stmt 1 view .LVU349
561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1225 .loc 1 561 13 is_stmt 0 view .LVU350
1226 0006 064B ldr r3, .L93+4
1227 0008 D869 ldr r0, [r3, #28]
1228 .LVL130:
561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1229 .loc 1 561 11 view .LVU351
1230 000a C0F38740 ubfx r0, r0, #18, #8
1231 .LVL131:
564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1232 .loc 1 564 3 is_stmt 1 view .LVU352
565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1233 .loc 1 565 1 is_stmt 0 view .LVU353
1234 000e 7047 bx lr
1235 .LVL132:
1236 .L92:
556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1237 .loc 1 556 5 is_stmt 1 view .LVU354
556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1238 .loc 1 556 13 is_stmt 0 view .LVU355
1239 0010 034B ldr r3, .L93+4
1240 0012 D869 ldr r0, [r3, #28]
1241 .LVL133:
556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1242 .loc 1 556 11 view .LVU356
1243 0014 C0F38720 ubfx r0, r0, #10, #8
1244 .LVL134:
556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1245 .loc 1 556 11 view .LVU357
1246 0018 7047 bx lr
1247 .L94:
1248 001a 00BF .align 2
1249 .L93:
1250 001c 04F8FF1F .word 536868868
1251 0020 00200240 .word 1073881088
1252 .cfi_endproc
ARM GAS /tmp/ccXKI0RP.s page 47
1253 .LFE70:
1255 .section .text.FLASH_PageErase,"ax",%progbits
1256 .align 1
1257 .global FLASH_PageErase
1258 .syntax unified
1259 .thumb
1260 .thumb_func
1261 .fpu softvfp
1263 FLASH_PageErase:
1264 .LVL135:
1265 .LFB80:
1065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
1067:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @}
1068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
1069:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1070:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
1071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @}
1072:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
1073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /** @addtogroup FLASH
1075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @{
1076:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
1077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /** @addtogroup FLASH_Private_Functions
1079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @{
1080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
1081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /**
1083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @brief Erase the specified FLASH memory page
1084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @param PageAddress FLASH page to erase
1085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * The value of this parameter depend on device used within the same series
1086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** *
1087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * @retval None
1088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** */
1089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** void FLASH_PageErase(uint32_t PageAddress)
1090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1266 .loc 1 1090 1 is_stmt 1 view -0
1267 .cfi_startproc
1268 @ args = 0, pretend = 0, frame = 0
1269 @ frame_needed = 0, uses_anonymous_args = 0
1270 @ link register save eliminated.
1091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Clean the error context */
1092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
1271 .loc 1 1092 3 view .LVU359
1272 .loc 1 1092 20 is_stmt 0 view .LVU360
1273 0000 064B ldr r3, .L96
1274 0002 0022 movs r2, #0
1275 0004 DA61 str r2, [r3, #28]
1093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1094:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_BANK2_END)
1095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** if(PageAddress > FLASH_BANK1_END)
1096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1097:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Proceed to erase the page */
1098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR2, FLASH_CR2_PER);
1099:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRITE_REG(FLASH->AR2, PageAddress);
1100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR2, FLASH_CR2_STRT);
ARM GAS /tmp/ccXKI0RP.s page 48
1101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** else
1103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_BANK2_END */
1105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** /* Proceed to erase the page */
1106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_PER);
1276 .loc 1 1106 5 is_stmt 1 view .LVU361
1277 0006 064B ldr r3, .L96+4
1278 0008 1A69 ldr r2, [r3, #16]
1279 000a 42F00202 orr r2, r2, #2
1280 000e 1A61 str r2, [r3, #16]
1107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** WRITE_REG(FLASH->AR, PageAddress);
1281 .loc 1 1107 5 view .LVU362
1282 0010 5861 str r0, [r3, #20]
1108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_STRT);
1283 .loc 1 1108 5 view .LVU363
1284 0012 1A69 ldr r2, [r3, #16]
1285 0014 42F04002 orr r2, r2, #64
1286 0018 1A61 str r2, [r3, #16]
1109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #if defined(FLASH_BANK2_END)
1110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** #endif /* FLASH_BANK2_END */
1112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1287 .loc 1 1112 1 is_stmt 0 view .LVU364
1288 001a 7047 bx lr
1289 .L97:
1290 .align 2
1291 .L96:
1292 001c 00000000 .word pFlash
1293 0020 00200240 .word 1073881088
1294 .cfi_endproc
1295 .LFE80:
1297 .section .text.HAL_FLASHEx_Erase,"ax",%progbits
1298 .align 1
1299 .global HAL_FLASHEx_Erase
1300 .syntax unified
1301 .thumb
1302 .thumb_func
1303 .fpu softvfp
1305 HAL_FLASHEx_Erase:
1306 .LVL136:
1307 .LFB65:
160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_ERROR;
1308 .loc 1 160 1 is_stmt 1 view -0
1309 .cfi_startproc
1310 @ args = 0, pretend = 0, frame = 0
1311 @ frame_needed = 0, uses_anonymous_args = 0
161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint32_t address = 0U;
1312 .loc 1 161 3 view .LVU366
162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1313 .loc 1 162 3 view .LVU367
165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1314 .loc 1 165 3 view .LVU368
165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1315 .loc 1 165 3 view .LVU369
1316 0000 264B ldr r3, .L115
1317 0002 1B7E ldrb r3, [r3, #24] @ zero_extendqisi2
ARM GAS /tmp/ccXKI0RP.s page 49
1318 0004 012B cmp r3, #1
1319 0006 46D0 beq .L105
160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_ERROR;
1320 .loc 1 160 1 is_stmt 0 discriminator 2 view .LVU370
1321 0008 70B5 push {r4, r5, r6, lr}
1322 .LCFI9:
1323 .cfi_def_cfa_offset 16
1324 .cfi_offset 4, -16
1325 .cfi_offset 5, -12
1326 .cfi_offset 6, -8
1327 .cfi_offset 14, -4
1328 000a 0E46 mov r6, r1
1329 000c 0546 mov r5, r0
165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1330 .loc 1 165 3 is_stmt 1 discriminator 2 view .LVU371
1331 000e 234B ldr r3, .L115
1332 0010 0122 movs r2, #1
1333 0012 1A76 strb r2, [r3, #24]
168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1334 .loc 1 168 3 discriminator 2 view .LVU372
170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1335 .loc 1 170 3 discriminator 2 view .LVU373
170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1336 .loc 1 170 17 is_stmt 0 discriminator 2 view .LVU374
1337 0014 0368 ldr r3, [r0]
170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1338 .loc 1 170 6 discriminator 2 view .LVU375
1339 0016 022B cmp r3, #2
1340 0018 20D0 beq .L112
233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_FLASH_NB_PAGES(pEraseInit->PageAddress, pEraseInit->NbPages));
1341 .loc 1 233 5 is_stmt 1 view .LVU376
234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1342 .loc 1 234 5 view .LVU377
273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1343 .loc 1 273 7 view .LVU378
273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1344 .loc 1 273 11 is_stmt 0 view .LVU379
1345 001a 4CF25030 movw r0, #50000
1346 .LVL137:
273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1347 .loc 1 273 11 view .LVU380
1348 001e FFF7FEFF bl FLASH_WaitForLastOperation
1349 .LVL138:
273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1350 .loc 1 273 10 view .LVU381
1351 0022 90BB cbnz r0, .L107
276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1352 .loc 1 276 9 is_stmt 1 view .LVU382
276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1353 .loc 1 276 20 is_stmt 0 view .LVU383
1354 0024 4FF0FF33 mov r3, #-1
1355 0028 3360 str r3, [r6]
279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** address < ((pEraseInit->NbPages * FLASH_PAGE_SIZE) + pEraseInit->PageAddress);
1356 .loc 1 279 9 is_stmt 1 view .LVU384
279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** address < ((pEraseInit->NbPages * FLASH_PAGE_SIZE) + pEraseInit->PageAddress);
1357 .loc 1 279 21 is_stmt 0 view .LVU385
1358 002a AC68 ldr r4, [r5, #8]
ARM GAS /tmp/ccXKI0RP.s page 50
1359 .LVL139:
161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint32_t address = 0U;
1360 .loc 1 161 21 view .LVU386
1361 002c 0121 movs r1, #1
1362 .LVL140:
1363 .L102:
280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** address += FLASH_PAGE_SIZE)
1364 .loc 1 280 35 discriminator 1 view .LVU387
1365 002e EA68 ldr r2, [r5, #12]
280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** address += FLASH_PAGE_SIZE)
1366 .loc 1 280 76 discriminator 1 view .LVU388
1367 0030 AB68 ldr r3, [r5, #8]
280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** address += FLASH_PAGE_SIZE)
1368 .loc 1 280 64 discriminator 1 view .LVU389
1369 0032 03EB8223 add r3, r3, r2, lsl #10
279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** address < ((pEraseInit->NbPages * FLASH_PAGE_SIZE) + pEraseInit->PageAddress);
1370 .loc 1 279 9 discriminator 1 view .LVU390
1371 0036 A342 cmp r3, r4
1372 0038 28D9 bls .L101
283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1373 .loc 1 283 11 is_stmt 1 view .LVU391
1374 003a 2046 mov r0, r4
1375 003c FFF7FEFF bl FLASH_PageErase
1376 .LVL141:
286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1377 .loc 1 286 11 view .LVU392
286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1378 .loc 1 286 20 is_stmt 0 view .LVU393
1379 0040 4CF25030 movw r0, #50000
1380 0044 FFF7FEFF bl FLASH_WaitForLastOperation
1381 .LVL142:
289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1382 .loc 1 289 11 is_stmt 1 view .LVU394
1383 0048 154A ldr r2, .L115+4
1384 004a 1369 ldr r3, [r2, #16]
1385 004c 23F00203 bic r3, r3, #2
1386 0050 1361 str r3, [r2, #16]
291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1387 .loc 1 291 11 view .LVU395
291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1388 .loc 1 291 14 is_stmt 0 view .LVU396
1389 0052 0146 mov r1, r0
1390 0054 B8B9 cbnz r0, .L113
281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1391 .loc 1 281 21 view .LVU397
1392 0056 04F58064 add r4, r4, #1024
1393 .LVL143:
281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1394 .loc 1 281 21 view .LVU398
1395 005a E8E7 b .L102
1396 .LVL144:
1397 .L112:
216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1398 .loc 1 216 7 is_stmt 1 view .LVU399
216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1399 .loc 1 216 11 is_stmt 0 view .LVU400
1400 005c 4CF25030 movw r0, #50000
ARM GAS /tmp/ccXKI0RP.s page 51
1401 .LVL145:
216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1402 .loc 1 216 11 view .LVU401
1403 0060 FFF7FEFF bl FLASH_WaitForLastOperation
1404 .LVL146:
216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1405 .loc 1 216 10 view .LVU402
1406 0064 08B1 cbz r0, .L114
161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint32_t address = 0U;
1407 .loc 1 161 21 view .LVU403
1408 0066 0121 movs r1, #1
1409 0068 10E0 b .L101
1410 .L114:
219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1411 .loc 1 219 9 is_stmt 1 view .LVU404
1412 006a 0120 movs r0, #1
1413 006c FFF7FEFF bl FLASH_MassErase
1414 .LVL147:
222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1415 .loc 1 222 9 view .LVU405
222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1416 .loc 1 222 18 is_stmt 0 view .LVU406
1417 0070 4CF25030 movw r0, #50000
1418 0074 FFF7FEFF bl FLASH_WaitForLastOperation
1419 .LVL148:
1420 0078 0146 mov r1, r0
1421 .LVL149:
225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1422 .loc 1 225 9 is_stmt 1 view .LVU407
1423 007a 094A ldr r2, .L115+4
1424 007c 1369 ldr r3, [r2, #16]
1425 007e 23F00403 bic r3, r3, #4
1426 0082 1361 str r3, [r2, #16]
1427 0084 02E0 b .L101
1428 .LVL150:
1429 .L113:
294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** break;
1430 .loc 1 294 13 view .LVU408
294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** break;
1431 .loc 1 294 24 is_stmt 0 view .LVU409
1432 0086 3460 str r4, [r6]
295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1433 .loc 1 295 13 is_stmt 1 view .LVU410
1434 0088 00E0 b .L101
1435 .LVL151:
1436 .L107:
161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** uint32_t address = 0U;
1437 .loc 1 161 21 is_stmt 0 view .LVU411
1438 008a 0121 movs r1, #1
1439 .LVL152:
1440 .L101:
303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1441 .loc 1 303 3 is_stmt 1 view .LVU412
303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1442 .loc 1 303 3 view .LVU413
1443 008c 034B ldr r3, .L115
1444 008e 0022 movs r2, #0
ARM GAS /tmp/ccXKI0RP.s page 52
1445 0090 1A76 strb r2, [r3, #24]
305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1446 .loc 1 305 3 view .LVU414
306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1447 .loc 1 306 1 is_stmt 0 view .LVU415
1448 0092 0846 mov r0, r1
1449 0094 70BD pop {r4, r5, r6, pc}
1450 .LVL153:
1451 .L105:
1452 .LCFI10:
1453 .cfi_def_cfa_offset 0
1454 .cfi_restore 4
1455 .cfi_restore 5
1456 .cfi_restore 6
1457 .cfi_restore 14
165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1458 .loc 1 165 3 view .LVU416
1459 0096 0221 movs r1, #2
1460 .LVL154:
306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1461 .loc 1 306 1 view .LVU417
1462 0098 0846 mov r0, r1
1463 .LVL155:
306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1464 .loc 1 306 1 view .LVU418
1465 009a 7047 bx lr
1466 .L116:
1467 .align 2
1468 .L115:
1469 009c 00000000 .word pFlash
1470 00a0 00200240 .word 1073881088
1471 .cfi_endproc
1472 .LFE65:
1474 .section .text.HAL_FLASHEx_Erase_IT,"ax",%progbits
1475 .align 1
1476 .global HAL_FLASHEx_Erase_IT
1477 .syntax unified
1478 .thumb
1479 .thumb_func
1480 .fpu softvfp
1482 HAL_FLASHEx_Erase_IT:
1483 .LVL156:
1484 .LFB66:
320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
1485 .loc 1 320 1 is_stmt 1 view -0
1486 .cfi_startproc
1487 @ args = 0, pretend = 0, frame = 0
1488 @ frame_needed = 0, uses_anonymous_args = 0
320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
1489 .loc 1 320 1 is_stmt 0 view .LVU420
1490 0000 08B5 push {r3, lr}
1491 .LCFI11:
1492 .cfi_def_cfa_offset 8
1493 .cfi_offset 3, -8
1494 .cfi_offset 14, -4
321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1495 .loc 1 321 3 is_stmt 1 view .LVU421
ARM GAS /tmp/ccXKI0RP.s page 53
1496 .LVL157:
324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1497 .loc 1 324 3 view .LVU422
324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1498 .loc 1 324 3 view .LVU423
1499 0002 144B ldr r3, .L124
1500 0004 1B7E ldrb r3, [r3, #24] @ zero_extendqisi2
1501 0006 012B cmp r3, #1
1502 0008 20D0 beq .L120
324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1503 .loc 1 324 3 discriminator 2 view .LVU424
1504 000a 124B ldr r3, .L124
1505 000c 0122 movs r2, #1
1506 000e 1A76 strb r2, [r3, #24]
327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1507 .loc 1 327 3 discriminator 2 view .LVU425
327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1508 .loc 1 327 13 is_stmt 0 discriminator 2 view .LVU426
1509 0010 1B78 ldrb r3, [r3] @ zero_extendqisi2
327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1510 .loc 1 327 6 discriminator 2 view .LVU427
1511 0012 EBB9 cbnz r3, .L121
333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1512 .loc 1 333 3 is_stmt 1 view .LVU428
336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1513 .loc 1 336 3 view .LVU429
1514 0014 104A ldr r2, .L124+4
1515 0016 1369 ldr r3, [r2, #16]
1516 0018 43F4A053 orr r3, r3, #5120
1517 001c 1361 str r3, [r2, #16]
343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1518 .loc 1 343 3 view .LVU430
343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1519 .loc 1 343 17 is_stmt 0 view .LVU431
1520 001e 0368 ldr r3, [r0]
343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** {
1521 .loc 1 343 6 view .LVU432
1522 0020 022B cmp r3, #2
1523 0022 0BD0 beq .L123
354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** assert_param(IS_FLASH_NB_PAGES(pEraseInit->PageAddress, pEraseInit->NbPages));
1524 .loc 1 354 5 is_stmt 1 view .LVU433
355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1525 .loc 1 355 5 view .LVU434
357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pFlash.DataRemaining = pEraseInit->NbPages;
1526 .loc 1 357 5 view .LVU435
357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pFlash.DataRemaining = pEraseInit->NbPages;
1527 .loc 1 357 29 is_stmt 0 view .LVU436
1528 0024 0B4B ldr r3, .L124
1529 0026 0122 movs r2, #1
1530 0028 1A70 strb r2, [r3]
358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pFlash.Address = pEraseInit->PageAddress;
1531 .loc 1 358 5 is_stmt 1 view .LVU437
358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pFlash.Address = pEraseInit->PageAddress;
1532 .loc 1 358 38 is_stmt 0 view .LVU438
1533 002a C268 ldr r2, [r0, #12]
358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** pFlash.Address = pEraseInit->PageAddress;
1534 .loc 1 358 26 view .LVU439
ARM GAS /tmp/ccXKI0RP.s page 54
1535 002c 5A60 str r2, [r3, #4]
359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1536 .loc 1 359 5 is_stmt 1 view .LVU440
359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1537 .loc 1 359 32 is_stmt 0 view .LVU441
1538 002e 8268 ldr r2, [r0, #8]
359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1539 .loc 1 359 20 view .LVU442
1540 0030 9A60 str r2, [r3, #8]
362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1541 .loc 1 362 5 is_stmt 1 view .LVU443
1542 0032 8068 ldr r0, [r0, #8]
1543 .LVL158:
362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1544 .loc 1 362 5 is_stmt 0 view .LVU444
1545 0034 FFF7FEFF bl FLASH_PageErase
1546 .LVL159:
365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1547 .loc 1 365 10 view .LVU445
1548 0038 0020 movs r0, #0
1549 .L118:
366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1550 .loc 1 366 1 view .LVU446
1551 003a 08BD pop {r3, pc}
1552 .LVL160:
1553 .L123:
346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** FLASH_MassErase(pEraseInit->Banks);
1554 .loc 1 346 5 is_stmt 1 view .LVU447
346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** FLASH_MassErase(pEraseInit->Banks);
1555 .loc 1 346 29 is_stmt 0 view .LVU448
1556 003c 054B ldr r3, .L124
1557 003e 0222 movs r2, #2
1558 0040 1A70 strb r2, [r3]
347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1559 .loc 1 347 9 is_stmt 1 view .LVU449
1560 0042 4068 ldr r0, [r0, #4]
1561 .LVL161:
347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1562 .loc 1 347 9 is_stmt 0 view .LVU450
1563 0044 FFF7FEFF bl FLASH_MassErase
1564 .LVL162:
365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1565 .loc 1 365 10 view .LVU451
1566 0048 0020 movs r0, #0
1567 004a F6E7 b .L118
1568 .LVL163:
1569 .L120:
324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1570 .loc 1 324 3 view .LVU452
1571 004c 0220 movs r0, #2
1572 .LVL164:
324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c ****
1573 .loc 1 324 3 view .LVU453
1574 004e F4E7 b .L118
1575 .LVL165:
1576 .L121:
329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
ARM GAS /tmp/ccXKI0RP.s page 55
1577 .loc 1 329 12 view .LVU454
1578 0050 0120 movs r0, #1
1579 .LVL166:
329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** }
1580 .loc 1 329 12 view .LVU455
1581 0052 F2E7 b .L118
1582 .L125:
1583 .align 2
1584 .L124:
1585 0054 00000000 .word pFlash
1586 0058 00200240 .word 1073881088
1587 .cfi_endproc
1588 .LFE66:
1590 .text
1591 .Letext0:
1592 .file 2 "/usr/arm-none-eabi/include/machine/_default_types.h"
1593 .file 3 "/usr/arm-none-eabi/include/sys/_stdint.h"
1594 .file 4 "Drivers/CMSIS/Include/core_cm3.h"
1595 .file 5 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h"
1596 .file 6 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h"
1597 .file 7 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h"
1598 .file 8 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h"
1599 .file 9 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h"
1600 .file 10 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h"
ARM GAS /tmp/ccXKI0RP.s page 56
DEFINED SYMBOLS
*ABS*:0000000000000000 stm32f1xx_hal_flash_ex.c
/tmp/ccXKI0RP.s:16 .text.FLASH_MassErase:0000000000000000 $t
/tmp/ccXKI0RP.s:23 .text.FLASH_MassErase:0000000000000000 FLASH_MassErase
/tmp/ccXKI0RP.s:53 .text.FLASH_MassErase:000000000000001c $d
/tmp/ccXKI0RP.s:59 .text.FLASH_OB_GetWRP:0000000000000000 $t
/tmp/ccXKI0RP.s:65 .text.FLASH_OB_GetWRP:0000000000000000 FLASH_OB_GetWRP
/tmp/ccXKI0RP.s:81 .text.FLASH_OB_GetWRP:0000000000000008 $d
/tmp/ccXKI0RP.s:86 .text.FLASH_OB_GetRDP:0000000000000000 $t
/tmp/ccXKI0RP.s:92 .text.FLASH_OB_GetRDP:0000000000000000 FLASH_OB_GetRDP
/tmp/ccXKI0RP.s:123 .text.FLASH_OB_GetRDP:0000000000000014 $d
/tmp/ccXKI0RP.s:128 .text.FLASH_OB_GetUser:0000000000000000 $t
/tmp/ccXKI0RP.s:134 .text.FLASH_OB_GetUser:0000000000000000 FLASH_OB_GetUser
/tmp/ccXKI0RP.s:151 .text.FLASH_OB_GetUser:000000000000000c $d
/tmp/ccXKI0RP.s:156 .text.FLASH_OB_RDP_LevelConfig:0000000000000000 $t
/tmp/ccXKI0RP.s:162 .text.FLASH_OB_RDP_LevelConfig:0000000000000000 FLASH_OB_RDP_LevelConfig
/tmp/ccXKI0RP.s:255 .text.FLASH_OB_RDP_LevelConfig:0000000000000064 $d
/tmp/ccXKI0RP.s:262 .text.FLASH_OB_UserConfig:0000000000000000 $t
/tmp/ccXKI0RP.s:268 .text.FLASH_OB_UserConfig:0000000000000000 FLASH_OB_UserConfig
/tmp/ccXKI0RP.s:340 .text.FLASH_OB_UserConfig:0000000000000040 $d
/tmp/ccXKI0RP.s:347 .text.FLASH_OB_ProgramData:0000000000000000 $t
/tmp/ccXKI0RP.s:353 .text.FLASH_OB_ProgramData:0000000000000000 FLASH_OB_ProgramData
/tmp/ccXKI0RP.s:423 .text.FLASH_OB_ProgramData:0000000000000040 $d
/tmp/ccXKI0RP.s:429 .text.HAL_FLASHEx_OBErase:0000000000000000 $t
/tmp/ccXKI0RP.s:436 .text.HAL_FLASHEx_OBErase:0000000000000000 HAL_FLASHEx_OBErase
/tmp/ccXKI0RP.s:520 .text.HAL_FLASHEx_OBErase:0000000000000050 $d
/tmp/ccXKI0RP.s:526 .text.FLASH_OB_EnableWRP:0000000000000000 $t
/tmp/ccXKI0RP.s:532 .text.FLASH_OB_EnableWRP:0000000000000000 FLASH_OB_EnableWRP
/tmp/ccXKI0RP.s:731 .text.FLASH_OB_EnableWRP:00000000000000b4 $d
/tmp/ccXKI0RP.s:738 .text.FLASH_OB_DisableWRP:0000000000000000 $t
/tmp/ccXKI0RP.s:744 .text.FLASH_OB_DisableWRP:0000000000000000 FLASH_OB_DisableWRP
/tmp/ccXKI0RP.s:943 .text.FLASH_OB_DisableWRP:00000000000000b4 $d
/tmp/ccXKI0RP.s:950 .text.HAL_FLASHEx_OBProgram:0000000000000000 $t
/tmp/ccXKI0RP.s:957 .text.HAL_FLASHEx_OBProgram:0000000000000000 HAL_FLASHEx_OBProgram
/tmp/ccXKI0RP.s:1148 .text.HAL_FLASHEx_OBProgram:00000000000000a4 $d
/tmp/ccXKI0RP.s:1153 .text.HAL_FLASHEx_OBGetConfig:0000000000000000 $t
/tmp/ccXKI0RP.s:1160 .text.HAL_FLASHEx_OBGetConfig:0000000000000000 HAL_FLASHEx_OBGetConfig
/tmp/ccXKI0RP.s:1203 .text.HAL_FLASHEx_OBGetUserData:0000000000000000 $t
/tmp/ccXKI0RP.s:1210 .text.HAL_FLASHEx_OBGetUserData:0000000000000000 HAL_FLASHEx_OBGetUserData
/tmp/ccXKI0RP.s:1250 .text.HAL_FLASHEx_OBGetUserData:000000000000001c $d
/tmp/ccXKI0RP.s:1256 .text.FLASH_PageErase:0000000000000000 $t
/tmp/ccXKI0RP.s:1263 .text.FLASH_PageErase:0000000000000000 FLASH_PageErase
/tmp/ccXKI0RP.s:1292 .text.FLASH_PageErase:000000000000001c $d
/tmp/ccXKI0RP.s:1298 .text.HAL_FLASHEx_Erase:0000000000000000 $t
/tmp/ccXKI0RP.s:1305 .text.HAL_FLASHEx_Erase:0000000000000000 HAL_FLASHEx_Erase
/tmp/ccXKI0RP.s:1469 .text.HAL_FLASHEx_Erase:000000000000009c $d
/tmp/ccXKI0RP.s:1475 .text.HAL_FLASHEx_Erase_IT:0000000000000000 $t
/tmp/ccXKI0RP.s:1482 .text.HAL_FLASHEx_Erase_IT:0000000000000000 HAL_FLASHEx_Erase_IT
/tmp/ccXKI0RP.s:1585 .text.HAL_FLASHEx_Erase_IT:0000000000000054 $d
UNDEFINED SYMBOLS
pFlash
FLASH_WaitForLastOperation