Rev 16 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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>© Copyright (c) 2016 STMicroelectronics.
32:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c **** * All rights reserved.</center></h2>
ARM GAS C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.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 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
1593 .file 3 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
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 C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s page 56
DEFINED SYMBOLS
*ABS*:0000000000000000 stm32f1xx_hal_flash_ex.c
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:16 .text.FLASH_MassErase:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:23 .text.FLASH_MassErase:0000000000000000 FLASH_MassErase
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:53 .text.FLASH_MassErase:000000000000001c $d
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:59 .text.FLASH_OB_GetWRP:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:65 .text.FLASH_OB_GetWRP:0000000000000000 FLASH_OB_GetWRP
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:81 .text.FLASH_OB_GetWRP:0000000000000008 $d
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:86 .text.FLASH_OB_GetRDP:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:92 .text.FLASH_OB_GetRDP:0000000000000000 FLASH_OB_GetRDP
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:123 .text.FLASH_OB_GetRDP:0000000000000014 $d
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:128 .text.FLASH_OB_GetUser:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:134 .text.FLASH_OB_GetUser:0000000000000000 FLASH_OB_GetUser
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:151 .text.FLASH_OB_GetUser:000000000000000c $d
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:156 .text.FLASH_OB_RDP_LevelConfig:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:162 .text.FLASH_OB_RDP_LevelConfig:0000000000000000 FLASH_OB_RDP_LevelConfig
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:255 .text.FLASH_OB_RDP_LevelConfig:0000000000000064 $d
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:262 .text.FLASH_OB_UserConfig:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:268 .text.FLASH_OB_UserConfig:0000000000000000 FLASH_OB_UserConfig
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:340 .text.FLASH_OB_UserConfig:0000000000000040 $d
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:347 .text.FLASH_OB_ProgramData:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:353 .text.FLASH_OB_ProgramData:0000000000000000 FLASH_OB_ProgramData
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:423 .text.FLASH_OB_ProgramData:0000000000000040 $d
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:429 .text.HAL_FLASHEx_OBErase:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:436 .text.HAL_FLASHEx_OBErase:0000000000000000 HAL_FLASHEx_OBErase
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:520 .text.HAL_FLASHEx_OBErase:0000000000000050 $d
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:526 .text.FLASH_OB_EnableWRP:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:532 .text.FLASH_OB_EnableWRP:0000000000000000 FLASH_OB_EnableWRP
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:731 .text.FLASH_OB_EnableWRP:00000000000000b4 $d
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:738 .text.FLASH_OB_DisableWRP:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:744 .text.FLASH_OB_DisableWRP:0000000000000000 FLASH_OB_DisableWRP
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:943 .text.FLASH_OB_DisableWRP:00000000000000b4 $d
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:950 .text.HAL_FLASHEx_OBProgram:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:957 .text.HAL_FLASHEx_OBProgram:0000000000000000 HAL_FLASHEx_OBProgram
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:1148 .text.HAL_FLASHEx_OBProgram:00000000000000a4 $d
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:1153 .text.HAL_FLASHEx_OBGetConfig:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:1160 .text.HAL_FLASHEx_OBGetConfig:0000000000000000 HAL_FLASHEx_OBGetConfig
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:1203 .text.HAL_FLASHEx_OBGetUserData:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:1210 .text.HAL_FLASHEx_OBGetUserData:0000000000000000 HAL_FLASHEx_OBGetUserData
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:1250 .text.HAL_FLASHEx_OBGetUserData:000000000000001c $d
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:1256 .text.FLASH_PageErase:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:1263 .text.FLASH_PageErase:0000000000000000 FLASH_PageErase
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:1292 .text.FLASH_PageErase:000000000000001c $d
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:1298 .text.HAL_FLASHEx_Erase:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:1305 .text.HAL_FLASHEx_Erase:0000000000000000 HAL_FLASHEx_Erase
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:1469 .text.HAL_FLASHEx_Erase:000000000000009c $d
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:1475 .text.HAL_FLASHEx_Erase_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:1482 .text.HAL_FLASHEx_Erase_IT:0000000000000000 HAL_FLASHEx_Erase_IT
C:\Users\mike\AppData\Local\Temp\ccpCpcdb.s:1585 .text.HAL_FLASHEx_Erase_IT:0000000000000054 $d
UNDEFINED SYMBOLS
pFlash
FLASH_WaitForLastOperation