ams-master/Software/build/debug/stm32h7xx_hal_flash_ex.lst
2025-03-21 15:35:07 +01:00

5489 lines
365 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 1
1 .cpu cortex-m7
2 .arch armv7e-m
3 .fpu fpv5-d16
4 .eabi_attribute 28, 1
5 .eabi_attribute 20, 1
6 .eabi_attribute 21, 1
7 .eabi_attribute 23, 3
8 .eabi_attribute 24, 1
9 .eabi_attribute 25, 1
10 .eabi_attribute 26, 1
11 .eabi_attribute 30, 1
12 .eabi_attribute 34, 1
13 .eabi_attribute 18, 4
14 .file "stm32h7xx_hal_flash_ex.c"
15 .text
16 .Ltext0:
17 .cfi_sections .debug_frame
18 .file 1 "Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c"
19 .section .text.FLASH_MassErase,"ax",%progbits
20 .align 1
21 .syntax unified
22 .thumb
23 .thumb_func
25 FLASH_MassErase:
26 .LVL0:
27 .LFB344:
1:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
2:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** ******************************************************************************
3:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @file stm32h7xx_hal_flash_ex.c
4:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @author MCD Application Team
5:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Extended FLASH HAL module driver.
6:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * This file provides firmware functions to manage the following
7:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * functionalities of the FLASH extension peripheral:
8:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * + Extended programming operations functions
9:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
10:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** @verbatim
11:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** ==============================================================================
12:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** ##### Flash Extension features #####
13:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** ==============================================================================
14:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
15:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** [..] Comparing to other previous devices, the FLASH interface for STM32H7xx
16:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** devices contains the following additional features
17:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
18:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (+) Capacity up to 2 Mbyte with dual bank architecture supporting read-while-write
19:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** capability (RWW)
20:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (+) Dual bank memory organization
21:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (+) PCROP protection for all banks
22:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (+) Global readout protection (RDP)
23:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (+) Write protection
24:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (+) Secure access only protection
25:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (+) Bank / register swapping (when Dual-Bank)
26:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (+) Cyclic Redundancy Check (CRC)
27:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
28:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** ##### How to use this driver #####
29:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** ==============================================================================
30:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** [..] This driver provides functions to configure and program the FLASH memory
31:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** of all STM32H7xx devices. It includes
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 2
32:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (#) FLASH Memory Erase functions:
33:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (++) Lock and Unlock the FLASH interface using HAL_FLASH_Unlock() and
34:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** HAL_FLASH_Lock() functions
35:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (++) Erase function: Sector erase, bank erase and dual-bank mass erase
36:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (++) There are two modes of erase :
37:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (+++) Polling Mode using HAL_FLASHEx_Erase()
38:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (+++) Interrupt Mode using HAL_FLASHEx_Erase_IT()
39:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
40:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (#) Option Bytes Programming functions: Use HAL_FLASHEx_OBProgram() to:
41:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (++) Set/Reset the write protection per bank
42:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (++) Set the Read protection Level
43:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (++) Set the BOR level
44:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (++) Program the user Option Bytes
45:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (++) PCROP protection configuration and control per bank
46:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (++) Secure area configuration and control per bank
47:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (++) Core Boot address configuration
48:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (++) TCM / AXI shared RAM configuration
49:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (++) CPU Frequency Boost configuration
50:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
51:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (#) FLASH Memory Lock and unlock per Bank: HAL_FLASHEx_Lock_Bank1(), HAL_FLASHEx_Unlock_Bank1
52:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** HAL_FLASHEx_Lock_Bank2() and HAL_FLASHEx_Unlock_Bank2() functions
53:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
54:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (#) FLASH CRC computation function: Use HAL_FLASHEx_ComputeCRC() to:
55:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (++) Enable CRC feature
56:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (++) Program the desired burst size
57:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (++) Define the user Flash Area on which the CRC has be computed
58:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (++) Perform the CRC computation
59:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (++) Disable CRC feature
60:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
61:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (#) Error correction code error functions:
62:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (++) Use the HAL_FLASHEx_EnableEccCorrectionInterrupt() and HAL_FLASHEx_DisableEccCorrect
63:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** functions to enable and disable the FLASH ECC correction interruption.
64:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (++) Use the HAL_FLASHEx_EnableEccDetectionInterrupt() and HAL_FLASHEx_DisableEccDetectio
65:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** functions to enable and disable the FLASH ECC Detection interruption.
66:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (++) Handle ECCD interrupt by calling HAL_FLASHEx_BusFault_IRQHandler()
67:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (++) Use HAL_FLASHEx_BusFault_IRQHandler() function called under BusFault_IRQHandler() in
68:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** to handle the ECCD interrupt.
69:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (++) Use HAL_FLASHEx_GetEccInfo() function to get the flash ECC fail information.
70:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
71:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** @endverbatim
72:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** ******************************************************************************
73:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @attention
74:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
75:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * Copyright (c) 2017 STMicroelectronics.
76:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * All rights reserved.
77:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
78:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * This software is licensed under terms that can be found in the LICENSE file in
79:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * the root directory of this software component.
80:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
81:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** ******************************************************************************
82:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
83:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
84:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Includes ------------------------------------------------------------------*/
85:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #include "stm32h7xx_hal.h"
86:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
87:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /** @addtogroup STM32H7xx_HAL_Driver
88:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @{
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 3
89:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
90:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
91:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /** @defgroup FLASHEx FLASHEx
92:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief FLASH HAL Extension module driver
93:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @{
94:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
95:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
96:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #ifdef HAL_FLASH_MODULE_ENABLED
97:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
98:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Private typedef -----------------------------------------------------------*/
99:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Private define ------------------------------------------------------------*/
100:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /** @addtogroup FLASHEx_Private_Constants
101:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @{
102:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #define FLASH_TIMEOUT_VALUE 50000U /* 50 s */
104:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
105:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
106:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @}
107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
108:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Private macro -------------------------------------------------------------*/
109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Private variables ---------------------------------------------------------*/
110:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Private function prototypes -----------------------------------------------*/
111:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Private_Functions FLASHEx Private Functions
112:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @{
113:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_MassErase(uint32_t VoltageRange, uint32_t Banks);
115:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_OB_EnableWRP(uint32_t WRPSector, uint32_t Banks);
116:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_OB_DisableWRP(uint32_t WRPSector, uint32_t Bank);
117:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_OB_GetWRP(uint32_t *WRPState, uint32_t *WRPSector, uint32_t Bank);
118:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_OB_RDPConfig(uint32_t RDPLevel);
119:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static uint32_t FLASH_OB_GetRDP(void);
120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_OB_PCROPConfig(uint32_t PCROConfigRDP, uint32_t PCROPStartAddr, uint32_t PCROPEnd
121:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_OB_GetPCROP(uint32_t *PCROPConfig, uint32_t *PCROPStartAddr,uint32_t *PCROPEndAdd
122:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_OB_BOR_LevelConfig(uint32_t Level);
123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static uint32_t FLASH_OB_GetBOR(void);
124:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_OB_UserConfig(uint32_t UserType, uint32_t UserConfig);
125:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static uint32_t FLASH_OB_GetUser(void);
126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_OB_BootAddConfig(uint32_t BootOption, uint32_t BootAddress0, uint32_t BootAddress
127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_OB_GetBootAdd(uint32_t *BootAddress0, uint32_t *BootAddress1);
128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_OB_SecureAreaConfig(uint32_t SecureAreaConfig, uint32_t SecureAreaStartAddr, uint
129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_OB_GetSecureArea(uint32_t *SecureAreaConfig, uint32_t *SecureAreaStartAddr, uint3
130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_CRC_AddSector(uint32_t Sector, uint32_t Bank);
131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_CRC_SelectAddress(uint32_t CRCStartAddr, uint32_t CRCEndAddr, uint32_t Bank);
132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
133:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (DUAL_CORE)
134:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_OB_CM4BootAddConfig(uint32_t BootOption, uint32_t BootAddress0, uint32_t BootAddr
135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_OB_GetCM4BootAdd(uint32_t *BootAddress0, uint32_t *BootAddress1);
136:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /*DUAL_CORE*/
137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
138:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (FLASH_OTPBL_LOCKBL)
139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_OB_OTP_LockConfig(uint32_t OTP_Block);
140:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static uint32_t FLASH_OB_OTP_GetLock(void);
141:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* FLASH_OTPBL_LOCKBL */
142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (FLASH_OPTSR2_TCM_AXI_SHARED)
144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_OB_SharedRAM_Config(uint32_t SharedRamConfig);
145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static uint32_t FLASH_OB_SharedRAM_GetConfig(void);
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 4
146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* FLASH_OPTSR2_TCM_AXI_SHARED */
147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
148:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (FLASH_OPTSR2_CPUFREQ_BOOST)
149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_OB_CPUFreq_BoostConfig(uint32_t FreqBoost);
150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static uint32_t FLASH_OB_CPUFreq_GetBoost(void);
151:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* FLASH_OPTSR2_CPUFREQ_BOOST */
152:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
153:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @}
154:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
156:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Exported functions ---------------------------------------------------------*/
157:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Exported_Functions FLASHEx Exported Functions
158:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @{
159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
160:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
161:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Exported_Functions_Group1 Extended IO operation functions
162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Extended IO operation functions
163:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** @verbatim
165:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** ===============================================================================
166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** ##### Extended programming operation functions #####
167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** ===============================================================================
168:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** [..]
169:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** This subsection provides a set of functions allowing to manage the Extension FLASH
170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** programming operations Operations.
171:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
172:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** @endverbatim
173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @{
174:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Perform a mass erase or erase the specified FLASH memory sectors
177:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param[in] pEraseInit pointer to an FLASH_EraseInitTypeDef structure that
178:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * contains the configuration information for the erasing.
179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param[out] SectorError pointer to variable that contains the configuration
181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * information on faulty sector in case of error (0xFFFFFFFF means that all
182:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * the sectors have been correctly erased)
183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
184:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval HAL Status
185:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** HAL_StatusTypeDef HAL_FLASHEx_Erase(FLASH_EraseInitTypeDef *pEraseInit, uint32_t *SectorError)
187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** uint32_t sector_index;
190:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
191:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Check the parameters */
192:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_FLASH_TYPEERASE(pEraseInit->TypeErase));
193:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_FLASH_BANK(pEraseInit->Banks));
194:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
195:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Process Locked */
196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** __HAL_LOCK(&pFlash);
197:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
198:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Reset error code */
199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
200:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
201:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Wait for last operation to be completed on Bank1 */
202:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((pEraseInit->Banks & FLASH_BANK_1) == FLASH_BANK_1)
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 5
203:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
204:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if(FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_1) != HAL_OK)
205:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** status = HAL_ERROR;
207:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
208:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
209:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
210:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (DUAL_BANK)
211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Wait for last operation to be completed on Bank2 */
212:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((pEraseInit->Banks & FLASH_BANK_2) == FLASH_BANK_2)
213:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
214:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if(FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_2) != HAL_OK)
215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
216:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** status = HAL_ERROR;
217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
218:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
219:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_BANK */
220:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if(status == HAL_OK)
222:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
223:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if(pEraseInit->TypeErase == FLASH_TYPEERASE_MASSERASE)
224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
225:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Mass erase to be done */
226:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH_MassErase(pEraseInit->VoltageRange, pEraseInit->Banks);
227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
228:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Wait for last operation to be completed on Bank 1 */
229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((pEraseInit->Banks & FLASH_BANK_1) == FLASH_BANK_1)
230:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if(FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_1) != HAL_OK)
232:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
233:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** status = HAL_ERROR;
234:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
235:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* if the erase operation is completed, disable the Bank1 BER Bit */
236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CR1 &= (~FLASH_CR_BER);
237:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (DUAL_BANK)
239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Wait for last operation to be completed on Bank 2 */
240:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((pEraseInit->Banks & FLASH_BANK_2) == FLASH_BANK_2)
241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if(FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_2) != HAL_OK)
243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
244:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** status = HAL_ERROR;
245:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
246:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* if the erase operation is completed, disable the Bank2 BER Bit */
247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CR2 &= (~FLASH_CR_BER);
248:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_BANK */
250:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
251:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** else
252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
253:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /*Initialization of SectorError variable*/
254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *SectorError = 0xFFFFFFFFU;
255:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Erase by sector by sector to be done*/
257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** for(sector_index = pEraseInit->Sector; sector_index < (pEraseInit->NbSectors + pEraseInit->Se
258:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
259:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH_Erase_Sector(sector_index, pEraseInit->Banks, pEraseInit->VoltageRange);
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 6
260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((pEraseInit->Banks & FLASH_BANK_1) == FLASH_BANK_1)
262:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
264:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_1);
265:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
266:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* If the erase operation is completed, disable the SER Bit */
267:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CR1 &= (~(FLASH_CR_SER | FLASH_CR_SNB));
268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
269:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (DUAL_BANK)
270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((pEraseInit->Banks & FLASH_BANK_2) == FLASH_BANK_2)
271:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
272:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
273:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_2);
274:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
275:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* If the erase operation is completed, disable the SER Bit */
276:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CR2 &= (~(FLASH_CR_SER | FLASH_CR_SNB));
277:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_BANK */
279:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
280:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if(status != HAL_OK)
281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
282:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* In case of error, stop erase procedure and return the faulty sector */
283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *SectorError = sector_index;
284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** break;
285:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
287:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
288:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
289:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Process Unlocked */
291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** __HAL_UNLOCK(&pFlash);
292:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** return status;
294:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
295:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
297:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Perform a mass erase or erase the specified FLASH memory sectors with interrupt enabled
298:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param pEraseInit pointer to an FLASH_EraseInitTypeDef structure that
299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * contains the configuration information for the erasing.
300:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
301:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval HAL Status
302:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
303:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** HAL_StatusTypeDef HAL_FLASHEx_Erase_IT(FLASH_EraseInitTypeDef *pEraseInit)
304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
305:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
306:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
307:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Check the parameters */
308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_FLASH_TYPEERASE(pEraseInit->TypeErase));
309:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_FLASH_BANK(pEraseInit->Banks));
310:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
311:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Process Locked */
312:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** __HAL_LOCK(&pFlash);
313:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
314:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Reset error code */
315:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
316:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 7
317:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Wait for last operation to be completed on Bank 1 */
318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((pEraseInit->Banks & FLASH_BANK_1) == FLASH_BANK_1)
319:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if(FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_1) != HAL_OK)
321:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** status = HAL_ERROR;
323:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
324:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
325:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
326:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (DUAL_BANK)
327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Wait for last operation to be completed on Bank 2 */
328:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((pEraseInit->Banks & FLASH_BANK_2) == FLASH_BANK_2)
329:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
330:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if(FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_2) != HAL_OK)
331:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** status = HAL_ERROR;
333:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
334:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_BANK */
336:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
337:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if (status != HAL_OK)
338:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
339:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Process Unlocked */
340:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** __HAL_UNLOCK(&pFlash);
341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
342:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** else
343:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((pEraseInit->Banks & FLASH_BANK_1) == FLASH_BANK_1)
345:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
346:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Enable End of Operation and Error interrupts for Bank 1 */
347:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (FLASH_CR_OPERRIE)
348:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** __HAL_FLASH_ENABLE_IT_BANK1(FLASH_IT_EOP_BANK1 | FLASH_IT_WRPERR_BANK1 | FLASH_IT_PGSERR_
349:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH_IT_STRBERR_BANK1 | FLASH_IT_INCERR_BANK1 | FLASH_IT_OPERR_B
350:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #else
351:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** __HAL_FLASH_ENABLE_IT_BANK1(FLASH_IT_EOP_BANK1 | FLASH_IT_WRPERR_BANK1 | FLASH_IT_PGSERR_
352:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH_IT_STRBERR_BANK1 | FLASH_IT_INCERR_BANK1);
353:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* FLASH_CR_OPERRIE */
354:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
355:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (DUAL_BANK)
356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((pEraseInit->Banks & FLASH_BANK_2) == FLASH_BANK_2)
357:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
358:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Enable End of Operation and Error interrupts for Bank 2 */
359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (FLASH_CR_OPERRIE)
360:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** __HAL_FLASH_ENABLE_IT_BANK2(FLASH_IT_EOP_BANK2 | FLASH_IT_WRPERR_BANK2 | FLASH_IT_PGSERR_
361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH_IT_STRBERR_BANK2 | FLASH_IT_INCERR_BANK2 | FLASH_IT_OPERR_B
362:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #else
363:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** __HAL_FLASH_ENABLE_IT_BANK2(FLASH_IT_EOP_BANK2 | FLASH_IT_WRPERR_BANK2 | FLASH_IT_PGSERR_
364:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH_IT_STRBERR_BANK2 | FLASH_IT_INCERR_BANK2);
365:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* FLASH_CR_OPERRIE */
366:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
367:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_BANK */
368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
369:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if(pEraseInit->TypeErase == FLASH_TYPEERASE_MASSERASE)
370:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
371:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /*Mass erase to be done*/
372:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if(pEraseInit->Banks == FLASH_BANK_1)
373:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 8
374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pFlash.ProcedureOnGoing = FLASH_PROC_MASSERASE_BANK1;
375:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
376:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (DUAL_BANK)
377:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** else if(pEraseInit->Banks == FLASH_BANK_2)
378:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
379:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pFlash.ProcedureOnGoing = FLASH_PROC_MASSERASE_BANK2;
380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
381:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_BANK */
382:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** else
383:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
384:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pFlash.ProcedureOnGoing = FLASH_PROC_ALLBANK_MASSERASE;
385:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
386:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH_MassErase(pEraseInit->VoltageRange, pEraseInit->Banks);
388:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
389:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** else
390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
391:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Erase by sector to be done */
392:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (DUAL_BANK)
393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if(pEraseInit->Banks == FLASH_BANK_1)
394:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
395:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pFlash.ProcedureOnGoing = FLASH_PROC_SECTERASE_BANK1;
396:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
397:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** else
398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
399:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pFlash.ProcedureOnGoing = FLASH_PROC_SECTERASE_BANK2;
400:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
401:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #else
402:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pFlash.ProcedureOnGoing = FLASH_PROC_SECTERASE_BANK1;
403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_BANK */
404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pFlash.NbSectorsToErase = pEraseInit->NbSectors;
406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pFlash.Sector = pEraseInit->Sector;
407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pFlash.VoltageForErase = pEraseInit->VoltageRange;
408:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
409:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Erase first sector and wait for IT */
410:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH_Erase_Sector(pEraseInit->Sector, pEraseInit->Banks, pEraseInit->VoltageRange);
411:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
412:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
413:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** return status;
415:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
416:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
417:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
418:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Program option bytes
419:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param pOBInit pointer to an FLASH_OBProgramInitTypeDef structure that
420:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * contains the configuration information for the programming.
421:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
422:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval HAL Status
423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
424:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** HAL_StatusTypeDef HAL_FLASHEx_OBProgram(FLASH_OBProgramInitTypeDef *pOBInit)
425:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
426:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** HAL_StatusTypeDef status;
427:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Check the parameters */
429:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_OPTIONBYTE(pOBInit->OptionType));
430:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 9
431:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Process Locked */
432:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** __HAL_LOCK(&pFlash);
433:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
434:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Reset Error Code */
435:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
436:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
437:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
438:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if(FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_1) != HAL_OK)
439:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
440:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** status = HAL_ERROR;
441:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
442:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (DUAL_BANK)
443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** else if(FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_2) != HAL_OK)
444:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
445:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** status = HAL_ERROR;
446:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
447:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_BANK */
448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** else
449:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** status = HAL_OK;
451:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
452:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if(status == HAL_OK)
454:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
455:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /*Write protection configuration*/
456:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((pOBInit->OptionType & OPTIONBYTE_WRP) == OPTIONBYTE_WRP)
457:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
458:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_WRPSTATE(pOBInit->WRPState));
459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
460:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if(pOBInit->WRPState == OB_WRPSTATE_ENABLE)
461:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
462:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /*Enable of Write protection on the selected Sector*/
463:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH_OB_EnableWRP(pOBInit->WRPSector,pOBInit->Banks);
464:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
465:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** else
466:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
467:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /*Disable of Write protection on the selected Sector*/
468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH_OB_DisableWRP(pOBInit->WRPSector, pOBInit->Banks);
469:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
470:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
472:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Read protection configuration */
473:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((pOBInit->OptionType & OPTIONBYTE_RDP) != 0U)
474:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
475:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Configure the Read protection level */
476:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH_OB_RDPConfig(pOBInit->RDPLevel);
477:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
478:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
479:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* User Configuration */
480:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((pOBInit->OptionType & OPTIONBYTE_USER) != 0U)
481:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
482:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Configure the user option bytes */
483:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH_OB_UserConfig(pOBInit->USERType, pOBInit->USERConfig);
484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
485:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
486:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* PCROP Configuration */
487:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((pOBInit->OptionType & OPTIONBYTE_PCROP) != 0U)
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 10
488:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_FLASH_BANK(pOBInit->Banks));
490:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
491:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /*Configure the Proprietary code readout protection */
492:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH_OB_PCROPConfig(pOBInit->PCROPConfig, pOBInit->PCROPStartAddr, pOBInit->PCROPEndAddr, pO
493:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
494:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
495:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* BOR Level configuration */
496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((pOBInit->OptionType & OPTIONBYTE_BOR) == OPTIONBYTE_BOR)
497:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
498:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH_OB_BOR_LevelConfig(pOBInit->BORLevel);
499:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
500:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
501:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined(DUAL_CORE)
502:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* CM7 Boot Address configuration */
503:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((pOBInit->OptionType & OPTIONBYTE_CM7_BOOTADD) == OPTIONBYTE_CM7_BOOTADD)
504:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH_OB_BootAddConfig(pOBInit->BootConfig, pOBInit->BootAddr0, pOBInit->BootAddr1);
506:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
508:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* CM4 Boot Address configuration */
509:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((pOBInit->OptionType & OPTIONBYTE_CM4_BOOTADD) == OPTIONBYTE_CM4_BOOTADD)
510:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
511:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH_OB_CM4BootAddConfig(pOBInit->CM4BootConfig, pOBInit->CM4BootAddr0, pOBInit->CM4BootAddr
512:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
513:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #else /* Single Core*/
514:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Boot Address configuration */
515:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((pOBInit->OptionType & OPTIONBYTE_BOOTADD) == OPTIONBYTE_BOOTADD)
516:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
517:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH_OB_BootAddConfig(pOBInit->BootConfig, pOBInit->BootAddr0, pOBInit->BootAddr1);
518:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /*DUAL_CORE*/
520:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
521:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Secure area configuration */
522:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((pOBInit->OptionType & OPTIONBYTE_SECURE_AREA) == OPTIONBYTE_SECURE_AREA)
523:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
524:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH_OB_SecureAreaConfig(pOBInit->SecureAreaConfig, pOBInit->SecureAreaStartAddr, pOBInit->S
525:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
526:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
527:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined(FLASH_OTPBL_LOCKBL)
528:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* OTP Block Lock configuration */
529:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((pOBInit->OptionType & OPTIONBYTE_OTP_LOCK) == OPTIONBYTE_OTP_LOCK)
530:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
531:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH_OB_OTP_LockConfig(pOBInit->OTPBlockLock);
532:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
533:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* FLASH_OTPBL_LOCKBL */
534:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
535:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined(FLASH_OPTSR2_TCM_AXI_SHARED)
536:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* TCM / AXI Shared RAM configuration */
537:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((pOBInit->OptionType & OPTIONBYTE_SHARED_RAM) == OPTIONBYTE_SHARED_RAM)
538:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
539:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH_OB_SharedRAM_Config(pOBInit->SharedRamConfig);
540:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
541:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* FLASH_OPTSR2_TCM_AXI_SHARED */
542:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
543:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined(FLASH_OPTSR2_CPUFREQ_BOOST)
544:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* CPU Frequency Boost configuration */
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 11
545:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((pOBInit->OptionType & OPTIONBYTE_FREQ_BOOST) == OPTIONBYTE_FREQ_BOOST)
546:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
547:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH_OB_CPUFreq_BoostConfig(pOBInit->FreqBoostState);
548:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
549:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* FLASH_OPTSR2_CPUFREQ_BOOST */
550:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
551:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
552:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Process Unlocked */
553:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** __HAL_UNLOCK(&pFlash);
554:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
555:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** return status;
556:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
557:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
558:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
559:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Get the Option byte configuration
560:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param pOBInit pointer to an FLASH_OBProgramInitTypeDef structure that
561:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * contains the configuration information for the programming.
562:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @note The parameter Banks of the pOBInit structure must be set exclusively to FLASH_BANK_1 or
563:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * as this parameter is use to get the given Bank WRP, PCROP and secured area configuratio
564:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
565:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval None
566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
567:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** void HAL_FLASHEx_OBGetConfig(FLASH_OBProgramInitTypeDef *pOBInit)
568:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
569:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pOBInit->OptionType = (OPTIONBYTE_USER | OPTIONBYTE_RDP | OPTIONBYTE_BOR);
570:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
571:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Get Read protection level */
572:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pOBInit->RDPLevel = FLASH_OB_GetRDP();
573:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Get the user option bytes */
575:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pOBInit->USERConfig = FLASH_OB_GetUser();
576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /*Get BOR Level*/
578:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pOBInit->BORLevel = FLASH_OB_GetBOR();
579:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
580:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (DUAL_BANK)
581:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if ((pOBInit->Banks == FLASH_BANK_1) || (pOBInit->Banks == FLASH_BANK_2))
582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #else
583:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if (pOBInit->Banks == FLASH_BANK_1)
584:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_BANK */
585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
586:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pOBInit->OptionType |= (OPTIONBYTE_WRP | OPTIONBYTE_PCROP | OPTIONBYTE_SECURE_AREA);
587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Get write protection on the selected area */
589:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH_OB_GetWRP(&(pOBInit->WRPState), &(pOBInit->WRPSector), pOBInit->Banks);
590:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
591:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Get the Proprietary code readout protection */
592:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH_OB_GetPCROP(&(pOBInit->PCROPConfig), &(pOBInit->PCROPStartAddr), &(pOBInit->PCROPEndAddr)
593:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
594:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /*Get Bank Secure area*/
595:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH_OB_GetSecureArea(&(pOBInit->SecureAreaConfig), &(pOBInit->SecureAreaStartAddr), &(pOBInit
596:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
597:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
598:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /*Get Boot Address*/
599:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH_OB_GetBootAdd(&(pOBInit->BootAddr0), &(pOBInit->BootAddr1));
600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined(DUAL_CORE)
601:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pOBInit->OptionType |= OPTIONBYTE_CM7_BOOTADD | OPTIONBYTE_CM4_BOOTADD;
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 12
602:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
603:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /*Get CM4 Boot Address*/
604:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH_OB_GetCM4BootAdd(&(pOBInit->CM4BootAddr0), &(pOBInit->CM4BootAddr1));
605:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #else
606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pOBInit->OptionType |= OPTIONBYTE_BOOTADD;
607:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /*DUAL_CORE*/
608:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
609:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (FLASH_OTPBL_LOCKBL)
610:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pOBInit->OptionType |= OPTIONBYTE_OTP_LOCK;
611:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
612:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Get OTP Block Lock */
613:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pOBInit->OTPBlockLock = FLASH_OB_OTP_GetLock();
614:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* FLASH_OTPBL_LOCKBL */
615:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
616:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (FLASH_OPTSR2_TCM_AXI_SHARED)
617:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pOBInit->OptionType |= OPTIONBYTE_SHARED_RAM;
618:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
619:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Get TCM / AXI Shared RAM */
620:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pOBInit->SharedRamConfig = FLASH_OB_SharedRAM_GetConfig();
621:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* FLASH_OPTSR2_TCM_AXI_SHARED */
622:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
623:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (FLASH_OPTSR2_CPUFREQ_BOOST)
624:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pOBInit->OptionType |= OPTIONBYTE_FREQ_BOOST;
625:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
626:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Get CPU Frequency Boost */
627:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pOBInit->FreqBoostState = FLASH_OB_CPUFreq_GetBoost();
628:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* FLASH_OPTSR2_CPUFREQ_BOOST */
629:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
630:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
632:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Unlock the FLASH Bank1 control registers access
633:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval HAL Status
634:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
635:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** HAL_StatusTypeDef HAL_FLASHEx_Unlock_Bank1(void)
636:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
637:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if(READ_BIT(FLASH->CR1, FLASH_CR_LOCK) != 0U)
638:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
639:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Authorize the FLASH Bank1 Registers access */
640:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** WRITE_REG(FLASH->KEYR1, FLASH_KEY1);
641:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** WRITE_REG(FLASH->KEYR1, FLASH_KEY2);
642:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
643:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Verify Flash Bank1 is unlocked */
644:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if (READ_BIT(FLASH->CR1, FLASH_CR_LOCK) != 0U)
645:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
646:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** return HAL_ERROR;
647:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
648:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
649:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
650:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** return HAL_OK;
651:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
652:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
653:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
654:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Locks the FLASH Bank1 control registers access
655:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval HAL Status
656:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
657:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** HAL_StatusTypeDef HAL_FLASHEx_Lock_Bank1(void)
658:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 13
659:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Set the LOCK Bit to lock the FLASH Bank1 Registers access */
660:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** SET_BIT(FLASH->CR1, FLASH_CR_LOCK);
661:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** return HAL_OK;
662:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
663:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
664:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (DUAL_BANK)
665:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
666:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Unlock the FLASH Bank2 control registers access
667:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval HAL Status
668:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
669:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** HAL_StatusTypeDef HAL_FLASHEx_Unlock_Bank2(void)
670:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
671:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if(READ_BIT(FLASH->CR2, FLASH_CR_LOCK) != 0U)
672:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
673:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Authorize the FLASH Bank2 Registers access */
674:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** WRITE_REG(FLASH->KEYR2, FLASH_KEY1);
675:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** WRITE_REG(FLASH->KEYR2, FLASH_KEY2);
676:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
677:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Verify Flash Bank1 is unlocked */
678:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if (READ_BIT(FLASH->CR2, FLASH_CR_LOCK) != 0U)
679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
680:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** return HAL_ERROR;
681:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
682:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
683:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
684:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** return HAL_OK;
685:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
686:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
687:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
688:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Locks the FLASH Bank2 control registers access
689:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval HAL Status
690:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** HAL_StatusTypeDef HAL_FLASHEx_Lock_Bank2(void)
692:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
693:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Set the LOCK Bit to lock the FLASH Bank2 Registers access */
694:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** SET_BIT(FLASH->CR2, FLASH_CR_LOCK);
695:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** return HAL_OK;
696:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
697:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_BANK */
698:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
699:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /*
700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Perform a CRC computation on the specified FLASH memory area
701:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param pCRCInit pointer to an FLASH_CRCInitTypeDef structure that
702:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * contains the configuration information for the CRC computation.
703:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @note CRC computation uses CRC-32 (Ethernet) polynomial 0x4C11DB7
704:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @note The application should avoid running a CRC on PCROP or secure-only
705:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * user Flash memory area since it may alter the expected CRC value.
706:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * A special error flag (CRC read error: CRCRDERR) can be used to
707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * detect such a case.
708:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval HAL Status
709:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
710:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** HAL_StatusTypeDef HAL_FLASHEx_ComputeCRC(FLASH_CRCInitTypeDef *pCRCInit, uint32_t *CRC_Result)
711:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
712:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** HAL_StatusTypeDef status;
713:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** uint32_t sector_index;
714:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
715:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Check the parameters */
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 14
716:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_FLASH_BANK_EXCLUSIVE(pCRCInit->Bank));
717:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_FLASH_TYPECRC(pCRCInit->TypeCRC));
718:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
719:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Wait for OB change operation to be completed */
720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** status = FLASH_OB_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
721:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
722:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if (status == HAL_OK)
723:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
724:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if (pCRCInit->Bank == FLASH_BANK_1)
725:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
726:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Enable CRC feature */
727:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CR1 |= FLASH_CR_CRC_EN;
728:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
729:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Clear CRC flags in Status Register: CRC end of calculation and CRC read error */
730:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CCR1 |= (FLASH_CCR_CLR_CRCEND | FLASH_CCR_CLR_CRCRDERR);
731:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
732:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Clear current CRC result, program burst size and define memory area on which CRC has to be
733:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CRCCR1 |= FLASH_CRCCR_CLEAN_CRC | pCRCInit->BurstSize | pCRCInit->TypeCRC;
734:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
735:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if (pCRCInit->TypeCRC == FLASH_CRC_SECTORS)
736:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
737:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Clear sectors list */
738:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CRCCR1 |= FLASH_CRCCR_CLEAN_SECT;
739:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
740:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Select CRC sectors */
741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** for(sector_index = pCRCInit->Sector; sector_index < (pCRCInit->NbSectors + pCRCInit->Sector
742:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
743:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH_CRC_AddSector(sector_index, FLASH_BANK_1);
744:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
745:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
746:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** else if (pCRCInit->TypeCRC == FLASH_CRC_BANK)
747:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
748:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Enable Bank 1 CRC select bit */
749:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CRCCR1 |= FLASH_CRCCR_ALL_BANK;
750:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
751:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** else
752:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
753:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Select CRC start and end addresses */
754:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH_CRC_SelectAddress(pCRCInit->CRCStartAddr, pCRCInit->CRCEndAddr, FLASH_BANK_1);
755:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
756:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
757:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Start the CRC calculation */
758:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CRCCR1 |= FLASH_CRCCR_START_CRC;
759:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
760:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Wait on CRC busy flag */
761:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** status = FLASH_CRC_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_1);
762:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
763:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Return CRC result */
764:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (*CRC_Result) = FLASH->CRCDATA;
765:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
766:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Disable CRC feature */
767:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CR1 &= (~FLASH_CR_CRC_EN);
768:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
769:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Clear CRC flags */
770:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** __HAL_FLASH_CLEAR_FLAG_BANK1(FLASH_FLAG_CRCEND_BANK1 | FLASH_FLAG_CRCRDERR_BANK1);
771:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
772:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (DUAL_BANK)
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 15
773:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** else
774:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
775:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Enable CRC feature */
776:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CR2 |= FLASH_CR_CRC_EN;
777:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
778:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Clear CRC flags in Status Register: CRC end of calculation and CRC read error */
779:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CCR2 |= (FLASH_CCR_CLR_CRCEND | FLASH_CCR_CLR_CRCRDERR);
780:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
781:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Clear current CRC result, program burst size and define memory area on which CRC has to be
782:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CRCCR2 |= FLASH_CRCCR_CLEAN_CRC | pCRCInit->BurstSize | pCRCInit->TypeCRC;
783:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
784:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if (pCRCInit->TypeCRC == FLASH_CRC_SECTORS)
785:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
786:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Clear sectors list */
787:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CRCCR2 |= FLASH_CRCCR_CLEAN_SECT;
788:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
789:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Add CRC sectors */
790:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** for(sector_index = pCRCInit->Sector; sector_index < (pCRCInit->NbSectors + pCRCInit->Sector
791:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
792:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH_CRC_AddSector(sector_index, FLASH_BANK_2);
793:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
794:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
795:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** else if (pCRCInit->TypeCRC == FLASH_CRC_BANK)
796:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
797:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Enable Bank 2 CRC select bit */
798:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CRCCR2 |= FLASH_CRCCR_ALL_BANK;
799:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
800:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** else
801:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
802:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Select CRC start and end addresses */
803:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH_CRC_SelectAddress(pCRCInit->CRCStartAddr, pCRCInit->CRCEndAddr, FLASH_BANK_2);
804:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
805:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
806:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Start the CRC calculation */
807:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CRCCR2 |= FLASH_CRCCR_START_CRC;
808:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
809:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Wait on CRC busy flag */
810:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** status = FLASH_CRC_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE, FLASH_BANK_2);
811:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
812:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Return CRC result */
813:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (*CRC_Result) = FLASH->CRCDATA;
814:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
815:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Disable CRC feature */
816:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CR2 &= (~FLASH_CR_CRC_EN);
817:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
818:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Clear CRC flags */
819:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** __HAL_FLASH_CLEAR_FLAG_BANK2(FLASH_FLAG_CRCEND_BANK2 | FLASH_FLAG_CRCRDERR_BANK2);
820:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
821:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_BANK */
822:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
823:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
824:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** return status;
825:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
826:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
827:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
828:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @}
829:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 16
830:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
831:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if (USE_FLASH_ECC == 1U)
832:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Exported_Functions_Group2 Extended ECC operation functions
833:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Extended ECC operation functions
834:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
835:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** @verbatim
836:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** ===============================================================================
837:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** ##### Extended ECC operation functions #####
838:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** ===============================================================================
839:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** [..]
840:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** This subsection provides a set of functions allowing to manage the Extended FLASH
841:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** ECC Operations.
842:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
843:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** @endverbatim
844:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @{
845:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
846:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
847:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
848:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Enable ECC correction interrupts on FLASH BANK1 and BANK2.
849:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param None
850:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval None
851:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
852:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** void HAL_FLASHEx_EnableEccCorrectionInterrupt(void)
853:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** __HAL_FLASH_ENABLE_IT(FLASH_IT_SNECCERR_BANK1);
855:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
856:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (DUAL_BANK)
857:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** __HAL_FLASH_ENABLE_IT(FLASH_IT_SNECCERR_BANK2);
858:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_BANK */
859:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
860:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
861:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
862:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Disable ECC correction interrupts on FLASH BANK1 and BANK2.
863:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param None
864:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval None
865:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
866:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** void HAL_FLASHEx_DisableEccCorrectionInterrupt(void)
867:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
868:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** __HAL_FLASH_DISABLE_IT(FLASH_IT_SNECCERR_BANK1);
869:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
870:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (DUAL_BANK)
871:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** __HAL_FLASH_DISABLE_IT(FLASH_IT_SNECCERR_BANK2);
872:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_BANK */
873:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
874:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
875:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
876:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Enable ECC correction interrupt on FLASH BANK1.
877:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param None
878:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval None
879:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
880:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** void HAL_FLASHEx_EnableEccCorrectionInterrupt_Bank1(void)
881:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
882:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** __HAL_FLASH_ENABLE_IT(FLASH_IT_SNECCERR_BANK1);
883:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
884:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
886:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Disable ECC correction interrupt on FLASH BANK1.
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 17
887:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param None
888:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval None
889:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
890:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** void HAL_FLASHEx_DisableEccCorrectionInterrupt_Bank1(void)
891:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
892:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** __HAL_FLASH_DISABLE_IT(FLASH_IT_SNECCERR_BANK1);
893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
894:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
895:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (DUAL_BANK)
896:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
897:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Enable ECC correction interrupt on FLASH BANK2.
898:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param None
899:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval None
900:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
901:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** void HAL_FLASHEx_EnableEccCorrectionInterrupt_Bank2(void)
902:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** __HAL_FLASH_ENABLE_IT(FLASH_IT_SNECCERR_BANK2);
904:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
905:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
906:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
907:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Disable ECC correction interrupt on FLASH BANK2.
908:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param None
909:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval None
910:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
911:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** void HAL_FLASHEx_DisableEccCorrectionInterrupt_Bank2(void)
912:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
913:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** __HAL_FLASH_DISABLE_IT(FLASH_IT_SNECCERR_BANK2);
914:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
915:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_BANK */
916:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
917:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
918:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Enable ECC Detection interrupts on FLASH BANK1 and BANK2.
919:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param None
920:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval None
921:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
922:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** void HAL_FLASHEx_EnableEccDetectionInterrupt(void)
923:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** __HAL_FLASH_ENABLE_IT(FLASH_IT_DBECCERR_BANK1);
925:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
926:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (DUAL_BANK)
927:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** __HAL_FLASH_ENABLE_IT(FLASH_IT_DBECCERR_BANK2);
928:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_BANK */
929:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
930:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
931:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
932:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Disable ECC Detection interrupts on FLASH BANK1 and BANK2.
933:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param None
934:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval None
935:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
936:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** void HAL_FLASHEx_DisableEccDetectionInterrupt(void)
937:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
938:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** __HAL_FLASH_DISABLE_IT(FLASH_IT_DBECCERR_BANK1);
939:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
940:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (DUAL_BANK)
941:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** __HAL_FLASH_DISABLE_IT(FLASH_IT_DBECCERR_BANK2);
942:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_BANK */
943:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 18
944:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
945:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
946:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Enable ECC Detection interrupt on FLASH BANK1.
947:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param None
948:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval None
949:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
950:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** void HAL_FLASHEx_EnableEccDetectionInterrupt_Bank1(void)
951:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
952:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** __HAL_FLASH_ENABLE_IT(FLASH_IT_DBECCERR_BANK1);
953:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
954:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
955:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
956:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Disable ECC correction interrupt on FLASH BANK1.
957:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param None
958:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval None
959:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
960:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** void HAL_FLASHEx_DisableEccDetectionInterrupt_Bank1(void)
961:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
962:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** __HAL_FLASH_DISABLE_IT(FLASH_IT_DBECCERR_BANK1);
963:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
964:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
965:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (DUAL_BANK)
966:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
967:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Enable ECC Detection interrupt on FLASH BANK2.
968:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param None
969:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval None
970:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
971:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** void HAL_FLASHEx_EnableEccDetectionInterrupt_Bank2(void)
972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
973:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** __HAL_FLASH_ENABLE_IT(FLASH_IT_DBECCERR_BANK2);
974:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
975:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
977:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Disable ECC Detection interrupt on FLASH BANK2.
978:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param None
979:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval None
980:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
981:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** void HAL_FLASHEx_DisableEccDetectionInterrupt_Bank2(void)
982:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
983:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** __HAL_FLASH_DISABLE_IT(FLASH_IT_DBECCERR_BANK2);
984:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
985:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_BANK */
986:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
987:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
988:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Get the ECC error information.
989:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param pData Pointer to an FLASH_EccInfoTypeDef structure that contains the
990:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * ECC error information.
991:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @note This function should be called before ECC bit is cleared
992:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * (in callback function)
993:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval None
994:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
995:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** void HAL_FLASHEx_GetEccInfo(FLASH_EccInfoTypeDef *pData)
996:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
997:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** uint32_t errorflag;
998:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
999:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Check FLASH Bank1 ECC single correction and double detection error flags */
1000:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** errorflag = FLASH->SR1 & (FLASH_FLAG_SNECCERR_BANK1 | FLASH_FLAG_DBECCERR_BANK1);
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 19
1001:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if(errorflag != 0U)
1002:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1003:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pData->Area = FLASH_ECC_AREA_USER_BANK1;
1004:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pData->Address = ((((FLASH->ECC_FA1 & FLASH_ECC_FA_FAIL_ECC_ADDR))* FLASH_NB_32BITWORD_IN_FLASH
1005:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1006:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (DUAL_BANK)
1007:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Check FLASH Bank2 ECC single correction and double detection error flags */
1008:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** errorflag = FLASH->SR2 & (FLASH_FLAG_SNECCERR_BANK2 | FLASH_FLAG_DBECCERR_BANK2);
1009:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if(errorflag != 0U)
1010:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1011:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pData->Area = FLASH_ECC_AREA_USER_BANK2;
1012:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pData->Address = ((((FLASH->ECC_FA2 & FLASH_ECC_FA_FAIL_ECC_ADDR))* FLASH_NB_32BITWORD_IN_FLASH
1013:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1014:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_BANK */
1015:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1016:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1017:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
1018:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Handle Flash ECC Detection interrupt request.
1019:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval None
1020:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
1021:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** void HAL_FLASHEx_BusFault_IRQHandler(void)
1022:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1023:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Check if the ECC double error occured*/
1024:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if ((FLASH->SR1 & FLASH_FLAG_DBECCERR_BANK1) != 0)
1025:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1026:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* FLASH ECC detection user callback */
1027:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** HAL_FLASHEx_EccDetectionCallback();
1028:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1029:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Clear Bank 1 ECC double detection error flag
1030:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** note : this step will clear all the informations related to the flash ECC detection
1031:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
1032:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** __HAL_FLASH_CLEAR_FLAG_BANK1(FLASH_FLAG_DBECCERR_BANK1);
1033:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1034:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (DUAL_BANK)
1035:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Check if the ECC double error occured*/
1036:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if ((FLASH->SR2 & FLASH_FLAG_DBECCERR_BANK2) != 0)
1037:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1038:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* FLASH ECC detection user callback */
1039:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** HAL_FLASHEx_EccDetectionCallback();
1040:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1041:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Clear Bank 2 ECC double detection error flag
1042:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** note : this step will clear all the informations related to the flash ECC detection
1043:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
1044:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** __HAL_FLASH_CLEAR_FLAG_BANK2(FLASH_FLAG_DBECCERR_BANK2);
1045:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1046:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_BANK */
1047:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1048:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1049:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
1050:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief FLASH ECC Correction interrupt callback.
1051:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval None
1052:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
1053:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** __weak void HAL_FLASHEx_EccCorrectionCallback(void)
1054:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1055:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* NOTE : This function should not be modified, when the callback is needed,
1056:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** the HAL_FLASHEx_EccCorrectionCallback could be implemented in the user file
1057:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 20
1058:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1059:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1060:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
1061:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief FLASH ECC Detection interrupt callback.
1062:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval None
1063:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
1064:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** __weak void HAL_FLASHEx_EccDetectionCallback(void)
1065:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1066:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* NOTE : This function should not be modified, when the callback is needed,
1067:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** the HAL_FLASHEx_EccDetectionCallback could be implemented in the user file
1068:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
1069:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1070:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1071:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
1072:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @}
1073:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
1074:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* USE_FLASH_ECC */
1075:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1076:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
1077:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @}
1078:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
1079:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1080:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Private functions ---------------------------------------------------------*/
1081:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1082:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /** @addtogroup FLASHEx_Private_Functions
1083:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @{
1084:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
1085:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1086:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
1087:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Mass erase of FLASH memory
1088:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param VoltageRange The device program/erase parallelism.
1089:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * This parameter can be one of the following values:
1090:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg FLASH_VOLTAGE_RANGE_1 : Flash program/erase by 8 bits
1091:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg FLASH_VOLTAGE_RANGE_2 : Flash program/erase by 16 bits
1092:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg FLASH_VOLTAGE_RANGE_3 : Flash program/erase by 32 bits
1093:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg FLASH_VOLTAGE_RANGE_4 : Flash program/erase by 64 bits
1094:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
1095:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param Banks Banks to be erased
1096:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * This parameter can be one of the following values:
1097:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg FLASH_BANK_1: Bank1 to be erased
1098:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg FLASH_BANK_2: Bank2 to be erased
1099:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg FLASH_BANK_BOTH: Bank1 and Bank2 to be erased
1100:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
1101:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval HAL Status
1102:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
1103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_MassErase(uint32_t VoltageRange, uint32_t Banks)
1104:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
28 .loc 1 1104 1 view -0
29 .cfi_startproc
30 @ args = 0, pretend = 0, frame = 0
31 @ frame_needed = 0, uses_anonymous_args = 0
32 @ link register save eliminated.
1105:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Check the parameters */
1106:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (FLASH_CR_PSIZE)
1107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_VOLTAGERANGE(VoltageRange));
1108:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #else
1109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** UNUSED(VoltageRange);
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 21
33 .loc 1 1109 3 view .LVU1
1110:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* FLASH_CR_PSIZE */
1111:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_FLASH_BANK(Banks));
34 .loc 1 1111 3 view .LVU2
1112:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1113:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (DUAL_BANK)
1114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Flash Mass Erase */
1115:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((Banks & FLASH_BANK_BOTH) == FLASH_BANK_BOTH)
35 .loc 1 1115 3 view .LVU3
36 .loc 1 1115 13 is_stmt 0 view .LVU4
37 0000 01F00303 and r3, r1, #3
38 .loc 1 1115 5 view .LVU5
39 0004 032B cmp r3, #3
40 0006 12D0 beq .L5
1116:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1117:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (FLASH_CR_PSIZE)
1118:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Reset Program/erase VoltageRange for Bank1 and Bank2 */
1119:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CR1 &= (~FLASH_CR_PSIZE);
1120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CR2 &= (~FLASH_CR_PSIZE);
1121:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1122:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Set voltage range */
1123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CR1 |= VoltageRange;
1124:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CR2 |= VoltageRange;
1125:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* FLASH_CR_PSIZE */
1126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Set Mass Erase Bit */
1128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->OPTCR |= FLASH_OPTCR_MER;
1129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** else
1131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_BANK */
1132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1133:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Proceed to erase Flash Bank */
1134:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((Banks & FLASH_BANK_1) == FLASH_BANK_1)
41 .loc 1 1134 5 is_stmt 1 view .LVU6
42 .loc 1 1134 7 is_stmt 0 view .LVU7
43 0008 11F0010F tst r1, #1
44 000c 04D0 beq .L4
1135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1136:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (FLASH_CR_PSIZE)
1137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Set Program/erase VoltageRange for Bank1 */
1138:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CR1 &= (~FLASH_CR_PSIZE);
1139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CR1 |= VoltageRange;
1140:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* FLASH_CR_PSIZE */
1141:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Erase Bank1 */
1143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CR1 |= (FLASH_CR_BER | FLASH_CR_START);
45 .loc 1 1143 7 is_stmt 1 view .LVU8
46 .loc 1 1143 12 is_stmt 0 view .LVU9
47 000e 0B4A ldr r2, .L6
48 0010 D368 ldr r3, [r2, #12]
49 .loc 1 1143 18 view .LVU10
50 0012 43F02803 orr r3, r3, #40
51 0016 D360 str r3, [r2, #12]
52 .L4:
1144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (DUAL_BANK)
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 22
1147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((Banks & FLASH_BANK_2) == FLASH_BANK_2)
53 .loc 1 1147 5 is_stmt 1 view .LVU11
54 .loc 1 1147 7 is_stmt 0 view .LVU12
55 0018 11F0020F tst r1, #2
56 001c 06D0 beq .L1
1148:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (FLASH_CR_PSIZE)
1150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Set Program/erase VoltageRange for Bank2 */
1151:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CR2 &= (~FLASH_CR_PSIZE);
1152:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CR2 |= VoltageRange;
1153:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* FLASH_CR_PSIZE */
1154:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Erase Bank2 */
1156:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CR2 |= (FLASH_CR_BER | FLASH_CR_START);
57 .loc 1 1156 7 is_stmt 1 view .LVU13
58 .loc 1 1156 12 is_stmt 0 view .LVU14
59 001e 074A ldr r2, .L6
60 0020 D2F80C31 ldr r3, [r2, #268]
61 .loc 1 1156 18 view .LVU15
62 0024 43F02803 orr r3, r3, #40
63 0028 C2F80C31 str r3, [r2, #268]
64 .L1:
1157:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1158:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_BANK */
1159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1160:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
65 .loc 1 1160 1 view .LVU16
66 002c 7047 bx lr
67 .L5:
1128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
68 .loc 1 1128 5 is_stmt 1 view .LVU17
1128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
69 .loc 1 1128 10 is_stmt 0 view .LVU18
70 002e 034A ldr r2, .L6
71 0030 9369 ldr r3, [r2, #24]
1128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
72 .loc 1 1128 18 view .LVU19
73 0032 43F01003 orr r3, r3, #16
74 0036 9361 str r3, [r2, #24]
75 0038 7047 bx lr
76 .L7:
77 003a 00BF .align 2
78 .L6:
79 003c 00200052 .word 1375739904
80 .cfi_endproc
81 .LFE344:
83 .section .text.FLASH_OB_EnableWRP,"ax",%progbits
84 .align 1
85 .syntax unified
86 .thumb
87 .thumb_func
89 FLASH_OB_EnableWRP:
90 .LVL1:
91 .LFB346:
1161:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
1163:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Erase the specified FLASH memory sector
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 23
1164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param Sector FLASH sector to erase
1165:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * This parameter can be a value of @ref FLASH_Sectors
1166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param Banks Banks to be erased
1167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * This parameter can be one of the following values:
1168:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg FLASH_BANK_1: Bank1 to be erased
1169:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg FLASH_BANK_2: Bank2 to be erased
1170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg FLASH_BANK_BOTH: Bank1 and Bank2 to be erased
1171:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param VoltageRange The device program/erase parallelism.
1172:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * This parameter can be one of the following values:
1173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg FLASH_VOLTAGE_RANGE_1 : Flash program/erase by 8 bits
1174:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg FLASH_VOLTAGE_RANGE_2 : Flash program/erase by 16 bits
1175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg FLASH_VOLTAGE_RANGE_3 : Flash program/erase by 32 bits
1176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg FLASH_VOLTAGE_RANGE_4 : Flash program/erase by 64 bits
1177:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
1178:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval None
1179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
1180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** void FLASH_Erase_Sector(uint32_t Sector, uint32_t Banks, uint32_t VoltageRange)
1181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1182:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_FLASH_SECTOR(Sector));
1183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_FLASH_BANK_EXCLUSIVE(Banks));
1184:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (FLASH_CR_PSIZE)
1185:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_VOLTAGERANGE(VoltageRange));
1186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #else
1187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** UNUSED(VoltageRange);
1188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* FLASH_CR_PSIZE */
1189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1190:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((Banks & FLASH_BANK_1) == FLASH_BANK_1)
1191:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1192:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (FLASH_CR_PSIZE)
1193:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Reset Program/erase VoltageRange and Sector Number for Bank1 */
1194:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CR1 &= ~(FLASH_CR_PSIZE | FLASH_CR_SNB);
1195:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CR1 |= (FLASH_CR_SER | VoltageRange | (Sector << FLASH_CR_SNB_Pos) | FLASH_CR_START);
1197:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #else
1198:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Reset Sector Number for Bank1 */
1199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CR1 &= ~(FLASH_CR_SNB);
1200:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1201:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CR1 |= (FLASH_CR_SER | (Sector << FLASH_CR_SNB_Pos) | FLASH_CR_START);
1202:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* FLASH_CR_PSIZE */
1203:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1204:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1205:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (DUAL_BANK)
1206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((Banks & FLASH_BANK_2) == FLASH_BANK_2)
1207:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1208:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (FLASH_CR_PSIZE)
1209:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Reset Program/erase VoltageRange and Sector Number for Bank2 */
1210:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CR2 &= ~(FLASH_CR_PSIZE | FLASH_CR_SNB);
1211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1212:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CR2 |= (FLASH_CR_SER | VoltageRange | (Sector << FLASH_CR_SNB_Pos) | FLASH_CR_START);
1213:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #else
1214:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Reset Sector Number for Bank2 */
1215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CR2 &= ~(FLASH_CR_SNB);
1216:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CR2 |= (FLASH_CR_SER | (Sector << FLASH_CR_SNB_Pos) | FLASH_CR_START);
1218:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* FLASH_CR_PSIZE */
1219:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1220:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_BANK */
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 24
1221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1222:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1223:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
1224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Enable the write protection of the desired bank1 or bank 2 sectors
1225:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param WRPSector specifies the sector(s) to be write protected.
1226:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * This parameter can be one of the following values:
1227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg WRPSector: A combination of OB_WRP_SECTOR_0 to OB_WRP_SECTOR_7 or OB_WRP_SECTO
1228:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
1229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param Banks the specific bank to apply WRP sectors
1230:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * This parameter can be one of the following values:
1231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg FLASH_BANK_1: enable WRP on specified bank1 sectors
1232:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg FLASH_BANK_2: enable WRP on specified bank2 sectors
1233:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg FLASH_BANK_BOTH: enable WRP on both bank1 and bank2 specified sectors
1234:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
1235:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval HAL FLASH State
1236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
1237:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_OB_EnableWRP(uint32_t WRPSector, uint32_t Banks)
1238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
92 .loc 1 1238 1 is_stmt 1 view -0
93 .cfi_startproc
94 @ args = 0, pretend = 0, frame = 0
95 @ frame_needed = 0, uses_anonymous_args = 0
96 @ link register save eliminated.
1239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Check the parameters */
1240:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_OB_WRP_SECTOR(WRPSector));
97 .loc 1 1240 3 view .LVU21
1241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_FLASH_BANK(Banks));
98 .loc 1 1241 3 view .LVU22
1242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((Banks & FLASH_BANK_1) == FLASH_BANK_1)
99 .loc 1 1243 3 view .LVU23
100 .loc 1 1243 5 is_stmt 0 view .LVU24
101 0000 11F0010F tst r1, #1
102 0004 04D0 beq .L9
1244:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1245:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Enable Write Protection for bank 1 */
1246:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->WPSN_PRG1 &= (~(WRPSector & FLASH_WPSN_WRPSN));
103 .loc 1 1246 5 is_stmt 1 view .LVU25
104 .loc 1 1246 10 is_stmt 0 view .LVU26
105 0006 084A ldr r2, .L11
106 0008 D36B ldr r3, [r2, #60]
107 .loc 1 1246 22 view .LVU27
108 000a 23EA0003 bic r3, r3, r0
109 000e D363 str r3, [r2, #60]
110 .L9:
1247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1248:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (DUAL_BANK)
1250:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((Banks & FLASH_BANK_2) == FLASH_BANK_2)
111 .loc 1 1250 3 is_stmt 1 view .LVU28
112 .loc 1 1250 5 is_stmt 0 view .LVU29
113 0010 11F0020F tst r1, #2
114 0014 06D0 beq .L8
1251:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Enable Write Protection for bank 2 */
1253:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->WPSN_PRG2 &= (~(WRPSector & FLASH_WPSN_WRPSN));
115 .loc 1 1253 5 is_stmt 1 view .LVU30
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 25
116 .loc 1 1253 10 is_stmt 0 view .LVU31
117 0016 044A ldr r2, .L11
118 0018 D2F83C31 ldr r3, [r2, #316]
119 .loc 1 1253 22 view .LVU32
120 001c 23EA0003 bic r3, r3, r0
121 0020 C2F83C31 str r3, [r2, #316]
122 .L8:
1254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1255:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_BANK */
1256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
123 .loc 1 1256 1 view .LVU33
124 0024 7047 bx lr
125 .L12:
126 0026 00BF .align 2
127 .L11:
128 0028 00200052 .word 1375739904
129 .cfi_endproc
130 .LFE346:
132 .section .text.FLASH_OB_DisableWRP,"ax",%progbits
133 .align 1
134 .syntax unified
135 .thumb
136 .thumb_func
138 FLASH_OB_DisableWRP:
139 .LVL2:
140 .LFB347:
1257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1258:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
1259:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Disable the write protection of the desired bank1 or bank 2 sectors
1260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param WRPSector specifies the sector(s) to disable write protection.
1261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * This parameter can be one of the following values:
1262:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg WRPSector: A combination of FLASH_OB_WRP_SECTOR_0 to FLASH_OB_WRP_SECTOR_7 or
1263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
1264:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param Banks the specific bank to apply WRP sectors
1265:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * This parameter can be one of the following values:
1266:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg FLASH_BANK_1: disable WRP on specified bank1 sectors
1267:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg FLASH_BANK_2: disable WRP on specified bank2 sectors
1268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg FLASH_BANK_BOTH: disable WRP on both bank1 and bank2 specified sectors
1269:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
1270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval HAL FLASH State
1271:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
1272:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_OB_DisableWRP(uint32_t WRPSector, uint32_t Banks)
1273:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
141 .loc 1 1273 1 is_stmt 1 view -0
142 .cfi_startproc
143 @ args = 0, pretend = 0, frame = 0
144 @ frame_needed = 0, uses_anonymous_args = 0
145 @ link register save eliminated.
1274:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Check the parameters */
1275:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_OB_WRP_SECTOR(WRPSector));
146 .loc 1 1275 3 view .LVU35
1276:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_FLASH_BANK(Banks));
147 .loc 1 1276 3 view .LVU36
1277:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((Banks & FLASH_BANK_1) == FLASH_BANK_1)
148 .loc 1 1278 3 view .LVU37
149 .loc 1 1278 5 is_stmt 0 view .LVU38
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 26
150 0000 11F0010F tst r1, #1
151 0004 03D0 beq .L14
1279:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1280:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Disable Write Protection for bank 1 */
1281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->WPSN_PRG1 |= (WRPSector & FLASH_WPSN_WRPSN);
152 .loc 1 1281 5 is_stmt 1 view .LVU39
153 .loc 1 1281 10 is_stmt 0 view .LVU40
154 0006 074A ldr r2, .L16
155 0008 D36B ldr r3, [r2, #60]
156 .loc 1 1281 22 view .LVU41
157 000a 0343 orrs r3, r3, r0
158 000c D363 str r3, [r2, #60]
159 .L14:
1282:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (DUAL_BANK)
1285:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((Banks & FLASH_BANK_2) == FLASH_BANK_2)
160 .loc 1 1285 3 is_stmt 1 view .LVU42
161 .loc 1 1285 5 is_stmt 0 view .LVU43
162 000e 11F0020F tst r1, #2
163 0012 05D0 beq .L13
1286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1287:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Disable Write Protection for bank 2 */
1288:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->WPSN_PRG2 |= (WRPSector & FLASH_WPSN_WRPSN);
164 .loc 1 1288 5 is_stmt 1 view .LVU44
165 .loc 1 1288 10 is_stmt 0 view .LVU45
166 0014 034A ldr r2, .L16
167 0016 D2F83C31 ldr r3, [r2, #316]
168 .loc 1 1288 22 view .LVU46
169 001a 0343 orrs r3, r3, r0
170 001c C2F83C31 str r3, [r2, #316]
171 .L13:
1289:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_BANK */
1291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
172 .loc 1 1291 1 view .LVU47
173 0020 7047 bx lr
174 .L17:
175 0022 00BF .align 2
176 .L16:
177 0024 00200052 .word 1375739904
178 .cfi_endproc
179 .LFE347:
181 .section .text.FLASH_OB_GetWRP,"ax",%progbits
182 .align 1
183 .syntax unified
184 .thumb
185 .thumb_func
187 FLASH_OB_GetWRP:
188 .LVL3:
189 .LFB348:
1292:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
1294:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Get the write protection of the given bank 1 or bank 2 sectors
1295:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param WRPState gives the write protection state on the given bank.
1296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * This parameter can be one of the following values:
1297:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg WRPState: OB_WRPSTATE_DISABLE or OB_WRPSTATE_ENABLE
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 27
1298:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param WRPSector gives the write protected sector(s) on the given bank .
1300:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * This parameter can be one of the following values:
1301:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg WRPSector: A combination of FLASH_OB_WRP_SECTOR_0 to FLASH_OB_WRP_SECTOR_7 or FLA
1302:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
1303:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param Bank the specific bank to apply WRP sectors
1304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * This parameter can be exclusively one of the following values:
1305:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg FLASH_BANK_1: Get bank1 WRP sectors
1306:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg FLASH_BANK_2: Get bank2 WRP sectors
1307:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg FLASH_BANK_BOTH: note allowed in this functions
1308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
1309:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval HAL FLASH State
1310:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
1311:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_OB_GetWRP(uint32_t *WRPState, uint32_t *WRPSector, uint32_t Bank)
1312:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
190 .loc 1 1312 1 is_stmt 1 view -0
191 .cfi_startproc
192 @ args = 0, pretend = 0, frame = 0
193 @ frame_needed = 0, uses_anonymous_args = 0
194 @ link register save eliminated.
1313:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** uint32_t regvalue = 0U;
195 .loc 1 1313 3 view .LVU49
1314:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1315:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if(Bank == FLASH_BANK_1)
196 .loc 1 1315 3 view .LVU50
197 .loc 1 1315 5 is_stmt 0 view .LVU51
198 0000 012A cmp r2, #1
199 0002 07D0 beq .L24
1316:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1317:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** regvalue = FLASH->WPSN_CUR1;
1318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1319:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (DUAL_BANK)
1321:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if(Bank == FLASH_BANK_2)
200 .loc 1 1321 3 is_stmt 1 view .LVU52
201 .loc 1 1321 5 is_stmt 0 view .LVU53
202 0004 022A cmp r2, #2
203 0006 08D0 beq .L25
204 0008 0023 movs r3, #0
205 .LVL4:
206 .L20:
1322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1323:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** regvalue = FLASH->WPSN_CUR2;
1324:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1325:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_BANK */
1326:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (*WRPSector) = (~regvalue) & FLASH_WPSN_WRPSN;
207 .loc 1 1327 3 is_stmt 1 view .LVU54
208 .loc 1 1327 19 is_stmt 0 view .LVU55
209 000a DB43 mvns r3, r3
210 .LVL5:
211 .loc 1 1327 16 view .LVU56
212 000c 0B60 str r3, [r1]
1328:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1329:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if(*WRPSector == 0U)
213 .loc 1 1329 3 is_stmt 1 view .LVU57
214 .loc 1 1329 5 is_stmt 0 view .LVU58
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 28
215 000e 43B9 cbnz r3, .L21
1330:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1331:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (*WRPState) = OB_WRPSTATE_DISABLE;
216 .loc 1 1331 5 is_stmt 1 view .LVU59
217 .loc 1 1331 17 is_stmt 0 view .LVU60
218 0010 0360 str r3, [r0]
219 0012 7047 bx lr
220 .LVL6:
221 .L24:
1317:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
222 .loc 1 1317 5 is_stmt 1 view .LVU61
1317:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
223 .loc 1 1317 14 is_stmt 0 view .LVU62
224 0014 044B ldr r3, .L26
225 0016 9B6B ldr r3, [r3, #56]
226 .LVL7:
1321:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
227 .loc 1 1321 3 is_stmt 1 view .LVU63
228 0018 F7E7 b .L20
229 .LVL8:
230 .L25:
1323:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
231 .loc 1 1323 5 view .LVU64
1323:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
232 .loc 1 1323 14 is_stmt 0 view .LVU65
233 001a 034B ldr r3, .L26
234 001c D3F83831 ldr r3, [r3, #312]
235 .LVL9:
1323:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
236 .loc 1 1323 14 view .LVU66
237 0020 F3E7 b .L20
238 .LVL10:
239 .L21:
1332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1333:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** else
1334:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (*WRPState) = OB_WRPSTATE_ENABLE;
240 .loc 1 1335 5 is_stmt 1 view .LVU67
241 .loc 1 1335 17 is_stmt 0 view .LVU68
242 0022 0123 movs r3, #1
243 .LVL11:
244 .loc 1 1335 17 view .LVU69
245 0024 0360 str r3, [r0]
246 .LVL12:
1336:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1337:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
247 .loc 1 1337 1 view .LVU70
248 0026 7047 bx lr
249 .L27:
250 .align 2
251 .L26:
252 0028 00200052 .word 1375739904
253 .cfi_endproc
254 .LFE348:
256 .section .text.FLASH_OB_RDPConfig,"ax",%progbits
257 .align 1
258 .syntax unified
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 29
259 .thumb
260 .thumb_func
262 FLASH_OB_RDPConfig:
263 .LVL13:
264 .LFB349:
1338:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1339:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
1340:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Set the read protection level.
1341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
1342:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @note To configure the RDP level, the option lock bit OPTLOCK must be
1343:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * cleared with the call of the HAL_FLASH_OB_Unlock() function.
1344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @note To validate the RDP level, the option bytes must be reloaded
1345:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * through the call of the HAL_FLASH_OB_Launch() function.
1346:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @note !!! Warning : When enabling OB_RDP level 2 it's no more possible
1347:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * to go back to level 1 or 0 !!!
1348:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
1349:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param RDPLevel specifies the read protection level.
1350:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * This parameter can be one of the following values:
1351:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg OB_RDP_LEVEL_0: No protection
1352:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg OB_RDP_LEVEL_1: Read protection of the memory
1353:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg OB_RDP_LEVEL_2: Full chip protection
1354:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
1355:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval HAL status
1356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
1357:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_OB_RDPConfig(uint32_t RDPLevel)
1358:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
265 .loc 1 1358 1 is_stmt 1 view -0
266 .cfi_startproc
267 @ args = 0, pretend = 0, frame = 0
268 @ frame_needed = 0, uses_anonymous_args = 0
269 @ link register save eliminated.
1359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Check the parameters */
1360:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_OB_RDP_LEVEL(RDPLevel));
270 .loc 1 1360 3 view .LVU72
1361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1362:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Configure the RDP level in the option bytes register */
1363:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** MODIFY_REG(FLASH->OPTSR_PRG, FLASH_OPTSR_RDP, RDPLevel);
271 .loc 1 1363 3 view .LVU73
272 0000 034A ldr r2, .L29
273 0002 136A ldr r3, [r2, #32]
274 0004 23F47F43 bic r3, r3, #65280
275 0008 0343 orrs r3, r3, r0
276 000a 1362 str r3, [r2, #32]
1364:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
277 .loc 1 1364 1 is_stmt 0 view .LVU74
278 000c 7047 bx lr
279 .L30:
280 000e 00BF .align 2
281 .L29:
282 0010 00200052 .word 1375739904
283 .cfi_endproc
284 .LFE349:
286 .section .text.FLASH_OB_GetRDP,"ax",%progbits
287 .align 1
288 .syntax unified
289 .thumb
290 .thumb_func
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 30
292 FLASH_OB_GetRDP:
293 .LFB350:
1365:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1366:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
1367:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Get the read protection level.
1368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval RDPLevel specifies the read protection level.
1369:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * This return value can be one of the following values:
1370:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg OB_RDP_LEVEL_0: No protection
1371:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg OB_RDP_LEVEL_1: Read protection of the memory
1372:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg OB_RDP_LEVEL_2: Full chip protection
1373:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
1374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static uint32_t FLASH_OB_GetRDP(void)
1375:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
294 .loc 1 1375 1 is_stmt 1 view -0
295 .cfi_startproc
296 @ args = 0, pretend = 0, frame = 0
297 @ frame_needed = 0, uses_anonymous_args = 0
298 @ link register save eliminated.
1376:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** uint32_t rdp_level = READ_BIT(FLASH->OPTSR_CUR, FLASH_OPTSR_RDP);
299 .loc 1 1376 3 view .LVU76
300 .loc 1 1376 24 is_stmt 0 view .LVU77
301 0000 064B ldr r3, .L34
302 0002 D869 ldr r0, [r3, #28]
303 .loc 1 1376 12 view .LVU78
304 0004 00F47F40 and r0, r0, #65280
305 .LVL14:
1377:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1378:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if ((rdp_level != OB_RDP_LEVEL_0) && (rdp_level != OB_RDP_LEVEL_2))
306 .loc 1 1378 3 is_stmt 1 view .LVU79
307 .loc 1 1378 6 is_stmt 0 view .LVU80
308 0008 B0F52A4F cmp r0, #43520
309 000c 18BF it ne
310 000e B0F54C4F cmpne r0, #52224
311 0012 00D1 bne .L33
312 .LVL15:
313 .L31:
1379:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** return (OB_RDP_LEVEL_1);
1381:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1382:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** else
1383:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1384:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** return rdp_level;
1385:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1386:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
314 .loc 1 1386 1 view .LVU81
315 0014 7047 bx lr
316 .LVL16:
317 .L33:
1380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
318 .loc 1 1380 12 view .LVU82
319 0016 4FF4AA40 mov r0, #21760
320 .LVL17:
1380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
321 .loc 1 1380 12 view .LVU83
322 001a FBE7 b .L31
323 .L35:
324 .align 2
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 31
325 .L34:
326 001c 00200052 .word 1375739904
327 .cfi_endproc
328 .LFE350:
330 .section .text.FLASH_OB_UserConfig,"ax",%progbits
331 .align 1
332 .syntax unified
333 .thumb
334 .thumb_func
336 FLASH_OB_UserConfig:
337 .LVL18:
338 .LFB351:
1387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1388:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined(DUAL_CORE)
1389:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
1390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Program the FLASH User Option Byte.
1391:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
1392:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @note To configure the user option bytes, the option lock bit OPTLOCK must
1393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * be cleared with the call of the HAL_FLASH_OB_Unlock() function.
1394:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
1395:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @note To validate the user option bytes, the option bytes must be reloaded
1396:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * through the call of the HAL_FLASH_OB_Launch() function.
1397:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
1398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param UserType The FLASH User Option Bytes to be modified :
1399:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * a combination of @ref FLASHEx_OB_USER_Type
1400:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
1401:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param UserConfig The FLASH User Option Bytes values:
1402:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * IWDG1_SW(Bit4), IWDG2_SW(Bit 5), nRST_STOP_D1(Bit 6), nRST_STDY_D1(Bit 7),
1403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * FZ_IWDG_STOP(Bit 17), FZ_IWDG_SDBY(Bit 18), ST_RAM_SIZE(Bit[19:20]),
1404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * SECURITY(Bit 21), BCM4(Bit 22), BCM7(Bit 23), nRST_STOP_D2(Bit 24),
1405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * nRST_STDY_D2(Bit 25), IO_HSLV (Bit 29) and SWAP_BANK_OPT(Bit 31).
1406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
1407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval HAL status
1408:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
1409:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #else
1410:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
1411:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Program the FLASH User Option Byte.
1412:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
1413:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @note To configure the user option bytes, the option lock bit OPTLOCK must
1414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * be cleared with the call of the HAL_FLASH_OB_Unlock() function.
1415:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
1416:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @note To validate the user option bytes, the option bytes must be reloaded
1417:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * through the call of the HAL_FLASH_OB_Launch() function.
1418:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
1419:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param UserType The FLASH User Option Bytes to be modified :
1420:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * a combination of @arg FLASHEx_OB_USER_Type
1421:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
1422:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param UserConfig The FLASH User Option Bytes values:
1423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * IWDG_SW(Bit4), nRST_STOP_D1(Bit 6), nRST_STDY_D1(Bit 7),
1424:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * FZ_IWDG_STOP(Bit 17), FZ_IWDG_SDBY(Bit 18), ST_RAM_SIZE(Bit[19:20]),
1425:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * SECURITY(Bit 21), IO_HSLV (Bit 29) and SWAP_BANK_OPT(Bit 31).
1426:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
1427:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval HAL status
1428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
1429:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /*DUAL_CORE*/
1430:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_OB_UserConfig(uint32_t UserType, uint32_t UserConfig)
1431:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 32
339 .loc 1 1431 1 is_stmt 1 view -0
340 .cfi_startproc
341 @ args = 0, pretend = 0, frame = 0
342 @ frame_needed = 0, uses_anonymous_args = 0
343 @ link register save eliminated.
1432:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** uint32_t optr_reg_val = 0;
344 .loc 1 1432 3 view .LVU85
1433:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** uint32_t optr_reg_mask = 0;
345 .loc 1 1433 3 view .LVU86
1434:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1435:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Check the parameters */
1436:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_OB_USER_TYPE(UserType));
346 .loc 1 1436 3 view .LVU87
1437:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1438:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((UserType & OB_USER_IWDG1_SW) != 0U)
347 .loc 1 1438 3 view .LVU88
348 .loc 1 1438 5 is_stmt 0 view .LVU89
349 0000 10F00103 ands r3, r0, #1
350 0004 59D0 beq .L47
1439:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1440:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* IWDG_HW option byte should be modified */
1441:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_OB_IWDG1_SOURCE(UserConfig & FLASH_OPTSR_IWDG1_SW));
351 .loc 1 1441 5 is_stmt 1 view .LVU90
1442:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Set value and mask for IWDG_HW option byte */
1444:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** optr_reg_val |= (UserConfig & FLASH_OPTSR_IWDG1_SW);
352 .loc 1 1444 5 view .LVU91
353 .loc 1 1444 33 is_stmt 0 view .LVU92
354 0006 01F01003 and r3, r1, #16
355 .LVL19:
1445:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTSR_IWDG1_SW;
356 .loc 1 1445 5 is_stmt 1 view .LVU93
357 .loc 1 1445 19 is_stmt 0 view .LVU94
358 000a 1022 movs r2, #16
359 .LVL20:
360 .L37:
1446:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1447:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined(DUAL_CORE)
1448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((UserType & OB_USER_IWDG2_SW) != 0U)
1449:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* IWDG2_SW option byte should be modified */
1451:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_OB_IWDG2_SOURCE(UserConfig & FLASH_OPTSR_IWDG2_SW));
1452:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Set value and mask for IWDG2_SW option byte */
1454:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** optr_reg_val |= (UserConfig & FLASH_OPTSR_IWDG2_SW);
1455:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTSR_IWDG2_SW;
1456:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1457:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /*DUAL_CORE*/
1458:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((UserType & OB_USER_NRST_STOP_D1) != 0U)
361 .loc 1 1458 3 is_stmt 1 view .LVU95
362 .loc 1 1458 5 is_stmt 0 view .LVU96
363 000c 10F0020F tst r0, #2
364 0010 05D0 beq .L38
1459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1460:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* NRST_STOP option byte should be modified */
1461:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_OB_STOP_D1_RESET(UserConfig & FLASH_OPTSR_NRST_STOP_D1));
365 .loc 1 1461 5 is_stmt 1 view .LVU97
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 33
1462:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1463:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Set value and mask for NRST_STOP option byte */
1464:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** optr_reg_val |= (UserConfig & FLASH_OPTSR_NRST_STOP_D1);
366 .loc 1 1464 5 view .LVU98
367 .loc 1 1464 33 is_stmt 0 view .LVU99
368 0012 01F0400C and ip, r1, #64
369 .loc 1 1464 18 view .LVU100
370 0016 43EA0C03 orr r3, r3, ip
371 .LVL21:
1465:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTSR_NRST_STOP_D1;
372 .loc 1 1465 5 is_stmt 1 view .LVU101
373 .loc 1 1465 19 is_stmt 0 view .LVU102
374 001a 42F04002 orr r2, r2, #64
375 .LVL22:
376 .L38:
1466:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1467:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((UserType & OB_USER_NRST_STDBY_D1) != 0U)
377 .loc 1 1468 3 is_stmt 1 view .LVU103
378 .loc 1 1468 5 is_stmt 0 view .LVU104
379 001e 10F0040F tst r0, #4
380 0022 05D0 beq .L39
1469:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1470:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* NRST_STDBY option byte should be modified */
1471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_OB_STDBY_D1_RESET(UserConfig & FLASH_OPTSR_NRST_STBY_D1));
381 .loc 1 1471 5 is_stmt 1 view .LVU105
1472:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1473:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Set value and mask for NRST_STDBY option byte */
1474:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** optr_reg_val |= (UserConfig & FLASH_OPTSR_NRST_STBY_D1);
382 .loc 1 1474 5 view .LVU106
383 .loc 1 1474 33 is_stmt 0 view .LVU107
384 0024 01F0800C and ip, r1, #128
385 .loc 1 1474 18 view .LVU108
386 0028 43EA0C03 orr r3, r3, ip
387 .LVL23:
1475:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTSR_NRST_STBY_D1;
388 .loc 1 1475 5 is_stmt 1 view .LVU109
389 .loc 1 1475 19 is_stmt 0 view .LVU110
390 002c 42F08002 orr r2, r2, #128
391 .LVL24:
392 .L39:
1476:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1477:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1478:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((UserType & OB_USER_IWDG_STOP) != 0U)
393 .loc 1 1478 3 is_stmt 1 view .LVU111
394 .loc 1 1478 5 is_stmt 0 view .LVU112
395 0030 10F0080F tst r0, #8
396 0034 05D0 beq .L40
1479:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1480:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* IWDG_STOP option byte should be modified */
1481:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_OB_USER_IWDG_STOP(UserConfig & FLASH_OPTSR_FZ_IWDG_STOP));
397 .loc 1 1481 5 is_stmt 1 view .LVU113
1482:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1483:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Set value and mask for IWDG_STOP option byte */
1484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** optr_reg_val |= (UserConfig & FLASH_OPTSR_FZ_IWDG_STOP);
398 .loc 1 1484 5 view .LVU114
399 .loc 1 1484 33 is_stmt 0 view .LVU115
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 34
400 0036 01F4003C and ip, r1, #131072
401 .loc 1 1484 18 view .LVU116
402 003a 43EA0C03 orr r3, r3, ip
403 .LVL25:
1485:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTSR_FZ_IWDG_STOP;
404 .loc 1 1485 5 is_stmt 1 view .LVU117
405 .loc 1 1485 19 is_stmt 0 view .LVU118
406 003e 42F40032 orr r2, r2, #131072
407 .LVL26:
408 .L40:
1486:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1487:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1488:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((UserType & OB_USER_IWDG_STDBY) != 0U)
409 .loc 1 1488 3 is_stmt 1 view .LVU119
410 .loc 1 1488 5 is_stmt 0 view .LVU120
411 0042 10F0100F tst r0, #16
412 0046 05D0 beq .L41
1489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1490:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* IWDG_STDBY option byte should be modified */
1491:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_OB_USER_IWDG_STDBY(UserConfig & FLASH_OPTSR_FZ_IWDG_SDBY));
413 .loc 1 1491 5 is_stmt 1 view .LVU121
1492:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1493:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Set value and mask for IWDG_STDBY option byte */
1494:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** optr_reg_val |= (UserConfig & FLASH_OPTSR_FZ_IWDG_SDBY);
414 .loc 1 1494 5 view .LVU122
415 .loc 1 1494 33 is_stmt 0 view .LVU123
416 0048 01F4802C and ip, r1, #262144
417 .loc 1 1494 18 view .LVU124
418 004c 43EA0C03 orr r3, r3, ip
419 .LVL27:
1495:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTSR_FZ_IWDG_SDBY;
420 .loc 1 1495 5 is_stmt 1 view .LVU125
421 .loc 1 1495 19 is_stmt 0 view .LVU126
422 0050 42F48022 orr r2, r2, #262144
423 .LVL28:
424 .L41:
1496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1497:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1498:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((UserType & OB_USER_ST_RAM_SIZE) != 0U)
425 .loc 1 1498 3 is_stmt 1 view .LVU127
426 .loc 1 1498 5 is_stmt 0 view .LVU128
427 0054 10F0200F tst r0, #32
428 0058 05D0 beq .L42
1499:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1500:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* ST_RAM_SIZE option byte should be modified */
1501:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_OB_USER_ST_RAM_SIZE(UserConfig & FLASH_OPTSR_ST_RAM_SIZE));
429 .loc 1 1501 5 is_stmt 1 view .LVU129
1502:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1503:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Set value and mask for ST_RAM_SIZE option byte */
1504:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** optr_reg_val |= (UserConfig & FLASH_OPTSR_ST_RAM_SIZE);
430 .loc 1 1504 5 view .LVU130
431 .loc 1 1504 33 is_stmt 0 view .LVU131
432 005a 01F4C01C and ip, r1, #1572864
433 .loc 1 1504 18 view .LVU132
434 005e 43EA0C03 orr r3, r3, ip
435 .LVL29:
1505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTSR_ST_RAM_SIZE;
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 35
436 .loc 1 1505 5 is_stmt 1 view .LVU133
437 .loc 1 1505 19 is_stmt 0 view .LVU134
438 0062 42F4C012 orr r2, r2, #1572864
439 .LVL30:
440 .L42:
1506:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1508:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((UserType & OB_USER_SECURITY) != 0U)
441 .loc 1 1508 3 is_stmt 1 view .LVU135
442 .loc 1 1508 5 is_stmt 0 view .LVU136
443 0066 10F0400F tst r0, #64
444 006a 05D0 beq .L43
1509:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1510:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* SECURITY option byte should be modified */
1511:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_OB_USER_SECURITY(UserConfig & FLASH_OPTSR_SECURITY));
445 .loc 1 1511 5 is_stmt 1 view .LVU137
1512:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1513:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Set value and mask for SECURITY option byte */
1514:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** optr_reg_val |= (UserConfig & FLASH_OPTSR_SECURITY);
446 .loc 1 1514 5 view .LVU138
447 .loc 1 1514 33 is_stmt 0 view .LVU139
448 006c 01F4001C and ip, r1, #2097152
449 .loc 1 1514 18 view .LVU140
450 0070 43EA0C03 orr r3, r3, ip
451 .LVL31:
1515:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTSR_SECURITY;
452 .loc 1 1515 5 is_stmt 1 view .LVU141
453 .loc 1 1515 19 is_stmt 0 view .LVU142
454 0074 42F40012 orr r2, r2, #2097152
455 .LVL32:
456 .L43:
1516:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1517:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1518:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined(DUAL_CORE)
1519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((UserType & OB_USER_BCM4) != 0U)
1520:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1521:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* BCM4 option byte should be modified */
1522:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_OB_USER_BCM4(UserConfig & FLASH_OPTSR_BCM4));
1523:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1524:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Set value and mask for BCM4 option byte */
1525:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** optr_reg_val |= (UserConfig & FLASH_OPTSR_BCM4);
1526:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTSR_BCM4;
1527:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1528:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1529:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((UserType & OB_USER_BCM7) != 0U)
1530:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1531:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* BCM7 option byte should be modified */
1532:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_OB_USER_BCM7(UserConfig & FLASH_OPTSR_BCM7));
1533:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1534:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Set value and mask for BCM7 option byte */
1535:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** optr_reg_val |= (UserConfig & FLASH_OPTSR_BCM7);
1536:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTSR_BCM7;
1537:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1538:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_CORE */
1539:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1540:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (FLASH_OPTSR_NRST_STOP_D2)
1541:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((UserType & OB_USER_NRST_STOP_D2) != 0U)
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 36
1542:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1543:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* NRST_STOP option byte should be modified */
1544:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_OB_STOP_D2_RESET(UserConfig & FLASH_OPTSR_NRST_STOP_D2));
1545:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1546:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Set value and mask for NRST_STOP option byte */
1547:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** optr_reg_val |= (UserConfig & FLASH_OPTSR_NRST_STOP_D2);
1548:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTSR_NRST_STOP_D2;
1549:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1550:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1551:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((UserType & OB_USER_NRST_STDBY_D2) != 0U)
1552:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1553:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* NRST_STDBY option byte should be modified */
1554:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_OB_STDBY_D2_RESET(UserConfig & FLASH_OPTSR_NRST_STBY_D2));
1555:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1556:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Set value and mask for NRST_STDBY option byte */
1557:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** optr_reg_val |= (UserConfig & FLASH_OPTSR_NRST_STBY_D2);
1558:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTSR_NRST_STBY_D2;
1559:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1560:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* FLASH_OPTSR_NRST_STOP_D2 */
1561:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1562:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (DUAL_BANK)
1563:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((UserType & OB_USER_SWAP_BANK) != 0U)
457 .loc 1 1563 3 is_stmt 1 view .LVU143
458 .loc 1 1563 5 is_stmt 0 view .LVU144
459 0078 10F4807F tst r0, #256
460 007c 05D0 beq .L44
1564:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1565:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* SWAP_BANK_OPT option byte should be modified */
1566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_OB_USER_SWAP_BANK(UserConfig & FLASH_OPTSR_SWAP_BANK_OPT));
461 .loc 1 1566 5 is_stmt 1 view .LVU145
1567:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1568:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Set value and mask for SWAP_BANK_OPT option byte */
1569:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** optr_reg_val |= (UserConfig & FLASH_OPTSR_SWAP_BANK_OPT);
462 .loc 1 1569 5 view .LVU146
463 .loc 1 1569 33 is_stmt 0 view .LVU147
464 007e 01F0004C and ip, r1, #-2147483648
465 .loc 1 1569 18 view .LVU148
466 0082 43EA0C03 orr r3, r3, ip
467 .LVL33:
1570:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTSR_SWAP_BANK_OPT;
468 .loc 1 1570 5 is_stmt 1 view .LVU149
469 .loc 1 1570 19 is_stmt 0 view .LVU150
470 0086 42F00042 orr r2, r2, #-2147483648
471 .LVL34:
472 .L44:
1571:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1572:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_BANK */
1573:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((UserType & OB_USER_IOHSLV) != 0U)
473 .loc 1 1574 3 is_stmt 1 view .LVU151
474 .loc 1 1574 5 is_stmt 0 view .LVU152
475 008a 10F0800F tst r0, #128
476 008e 05D0 beq .L45
1575:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* IOHSLV_OPT option byte should be modified */
1577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_OB_USER_IOHSLV(UserConfig & FLASH_OPTSR_IO_HSLV));
477 .loc 1 1577 5 is_stmt 1 view .LVU153
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 37
1578:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1579:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Set value and mask for IOHSLV_OPT option byte */
1580:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** optr_reg_val |= (UserConfig & FLASH_OPTSR_IO_HSLV);
478 .loc 1 1580 5 view .LVU154
479 .loc 1 1580 33 is_stmt 0 view .LVU155
480 0090 01F0005C and ip, r1, #536870912
481 .loc 1 1580 18 view .LVU156
482 0094 43EA0C03 orr r3, r3, ip
483 .LVL35:
1581:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTSR_IO_HSLV;
484 .loc 1 1581 5 is_stmt 1 view .LVU157
485 .loc 1 1581 19 is_stmt 0 view .LVU158
486 0098 42F00052 orr r2, r2, #536870912
487 .LVL36:
488 .L45:
1582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1583:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1584:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (FLASH_OPTSR_VDDMMC_HSLV)
1585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((UserType & OB_USER_VDDMMC_HSLV) != 0U)
489 .loc 1 1585 3 is_stmt 1 view .LVU159
490 .loc 1 1585 5 is_stmt 0 view .LVU160
491 009c 10F4007F tst r0, #512
492 00a0 04D0 beq .L46
1586:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* VDDMMC_HSLV option byte should be modified */
1588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_OB_USER_VDDMMC_HSLV(UserConfig & FLASH_OPTSR_VDDMMC_HSLV));
493 .loc 1 1588 5 is_stmt 1 view .LVU161
1589:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1590:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Set value and mask for VDDMMC_HSLV option byte */
1591:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** optr_reg_val |= (UserConfig & FLASH_OPTSR_VDDMMC_HSLV);
494 .loc 1 1591 5 view .LVU162
495 .loc 1 1591 33 is_stmt 0 view .LVU163
496 00a2 01F48031 and r1, r1, #65536
497 .LVL37:
498 .loc 1 1591 18 view .LVU164
499 00a6 0B43 orrs r3, r3, r1
500 .LVL38:
1592:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** optr_reg_mask |= FLASH_OPTSR_VDDMMC_HSLV;
501 .loc 1 1592 5 is_stmt 1 view .LVU165
502 .loc 1 1592 19 is_stmt 0 view .LVU166
503 00a8 42F48032 orr r2, r2, #65536
504 .LVL39:
505 .L46:
1593:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1594:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* FLASH_OPTSR_VDDMMC_HSLV */
1595:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1596:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Configure the option bytes register */
1597:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** MODIFY_REG(FLASH->OPTSR_PRG, optr_reg_mask, optr_reg_val);
506 .loc 1 1597 3 is_stmt 1 view .LVU167
507 00ac 0448 ldr r0, .L48
508 .LVL40:
509 .loc 1 1597 3 is_stmt 0 view .LVU168
510 00ae 016A ldr r1, [r0, #32]
511 00b0 21EA0202 bic r2, r1, r2
512 .LVL41:
513 .loc 1 1597 3 view .LVU169
514 00b4 1343 orrs r3, r3, r2
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 38
515 .LVL42:
516 .loc 1 1597 3 view .LVU170
517 00b6 0362 str r3, [r0, #32]
1598:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
518 .loc 1 1598 1 view .LVU171
519 00b8 7047 bx lr
520 .LVL43:
521 .L47:
1433:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
522 .loc 1 1433 12 view .LVU172
523 00ba 1A46 mov r2, r3
524 00bc A6E7 b .L37
525 .L49:
526 00be 00BF .align 2
527 .L48:
528 00c0 00200052 .word 1375739904
529 .cfi_endproc
530 .LFE351:
532 .section .text.FLASH_OB_GetUser,"ax",%progbits
533 .align 1
534 .syntax unified
535 .thumb
536 .thumb_func
538 FLASH_OB_GetUser:
539 .LFB352:
1599:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined(DUAL_CORE)
1601:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
1602:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Return the FLASH User Option Byte value.
1603:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval The FLASH User Option Bytes values
1604:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * IWDG1_SW(Bit4), IWDG2_SW(Bit 5), nRST_STOP_D1(Bit 6), nRST_STDY_D1(Bit 7),
1605:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * FZ_IWDG_STOP(Bit 17), FZ_IWDG_SDBY(Bit 18), ST_RAM_SIZE(Bit[19:20]),
1606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * SECURITY(Bit 21), BCM4(Bit 22), BCM7(Bit 23), nRST_STOP_D2(Bit 24),
1607:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * nRST_STDY_D2(Bit 25), IO_HSLV (Bit 29) and SWAP_BANK_OPT(Bit 31).
1608:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
1609:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #else
1610:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
1611:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Return the FLASH User Option Byte value.
1612:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval The FLASH User Option Bytes values
1613:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * IWDG_SW(Bit4), nRST_STOP_D1(Bit 6), nRST_STDY_D1(Bit 7),
1614:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * FZ_IWDG_STOP(Bit 17), FZ_IWDG_SDBY(Bit 18), ST_RAM_SIZE(Bit[19:20]),
1615:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * SECURITY(Bit 21), IO_HSLV (Bit 29) and SWAP_BANK_OPT(Bit 31).
1616:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
1617:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /*DUAL_CORE*/
1618:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static uint32_t FLASH_OB_GetUser(void)
1619:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
540 .loc 1 1619 1 is_stmt 1 view -0
541 .cfi_startproc
542 @ args = 0, pretend = 0, frame = 0
543 @ frame_needed = 0, uses_anonymous_args = 0
544 @ link register save eliminated.
1620:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** uint32_t userConfig = READ_REG(FLASH->OPTSR_CUR);
545 .loc 1 1620 3 view .LVU174
546 .loc 1 1620 12 is_stmt 0 view .LVU175
547 0000 024B ldr r3, .L51
548 0002 DB69 ldr r3, [r3, #28]
549 .LVL44:
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 39
1621:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** userConfig &= (~(FLASH_OPTSR_BOR_LEV | FLASH_OPTSR_RDP));
550 .loc 1 1621 3 is_stmt 1 view .LVU176
1622:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1623:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** return userConfig;
551 .loc 1 1623 3 view .LVU177
1624:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
552 .loc 1 1624 1 is_stmt 0 view .LVU178
553 0004 0248 ldr r0, .L51+4
554 0006 1840 ands r0, r0, r3
555 .LVL45:
556 .loc 1 1624 1 view .LVU179
557 0008 7047 bx lr
558 .L52:
559 000a 00BF .align 2
560 .L51:
561 000c 00200052 .word 1375739904
562 0010 F300FFFF .word -65293
563 .cfi_endproc
564 .LFE352:
566 .section .text.FLASH_OB_PCROPConfig,"ax",%progbits
567 .align 1
568 .syntax unified
569 .thumb
570 .thumb_func
572 FLASH_OB_PCROPConfig:
573 .LVL46:
574 .LFB353:
1625:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1626:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
1627:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Configure the Proprietary code readout protection of the desired addresses
1628:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
1629:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @note To configure the PCROP options, the option lock bit OPTLOCK must be
1630:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * cleared with the call of the HAL_FLASH_OB_Unlock() function.
1631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @note To validate the PCROP options, the option bytes must be reloaded
1632:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * through the call of the HAL_FLASH_OB_Launch() function.
1633:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
1634:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param PCROPConfig specifies if the PCROP area for the given Bank shall be erased or not
1635:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * when RDP level decreased from Level 1 to Level 0, or after a bank erase with protection
1636:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * This parameter must be a value of @arg FLASHEx_OB_PCROP_RDP enumeration
1637:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
1638:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param PCROPStartAddr specifies the start address of the Proprietary code readout protection
1639:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * This parameter can be an address between begin and end of the bank
1640:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
1641:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param PCROPEndAddr specifies the end address of the Proprietary code readout protection
1642:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * This parameter can be an address between PCROPStartAddr and end of the bank
1643:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
1644:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param Banks the specific bank to apply PCROP protection
1645:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * This parameter can be one of the following values:
1646:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg FLASH_BANK_1: PCROP on specified bank1 area
1647:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg FLASH_BANK_2: PCROP on specified bank2 area
1648:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg FLASH_BANK_BOTH: PCROP on specified bank1 and bank2 area (same config will be a
1649:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
1650:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval None
1651:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
1652:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_OB_PCROPConfig(uint32_t PCROPConfig, uint32_t PCROPStartAddr, uint32_t PCROPEndAd
1653:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
575 .loc 1 1653 1 is_stmt 1 view -0
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 40
576 .cfi_startproc
577 @ args = 0, pretend = 0, frame = 0
578 @ frame_needed = 0, uses_anonymous_args = 0
579 @ link register save eliminated.
580 .loc 1 1653 1 is_stmt 0 view .LVU181
581 0000 30B4 push {r4, r5}
582 .cfi_def_cfa_offset 8
583 .cfi_offset 4, -8
584 .cfi_offset 5, -4
1654:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Check the parameters */
1655:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_FLASH_BANK(Banks));
585 .loc 1 1655 3 is_stmt 1 view .LVU182
1656:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_OB_PCROP_RDP(PCROPConfig));
586 .loc 1 1656 3 view .LVU183
1657:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1658:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((Banks & FLASH_BANK_1) == FLASH_BANK_1)
587 .loc 1 1658 3 view .LVU184
588 .loc 1 1658 5 is_stmt 0 view .LVU185
589 0002 13F0010F tst r3, #1
590 0006 0AD0 beq .L54
1659:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1660:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS_BANK1(PCROPStartAddr));
591 .loc 1 1660 5 is_stmt 1 view .LVU186
1661:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS_BANK1(PCROPEndAddr));
592 .loc 1 1661 5 view .LVU187
1662:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1663:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Configure the Proprietary code readout protection */
1664:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->PRAR_PRG1 = ((PCROPStartAddr - FLASH_BANK1_BASE) >> 8) |
593 .loc 1 1664 5 view .LVU188
594 .loc 1 1664 41 is_stmt 0 view .LVU189
595 0008 01F1784C add ip, r1, #-134217728
1665:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (((PCROPEndAddr - FLASH_BANK1_BASE) >> 8) << FLASH_PRAR_PROT_AREA_END_Pos) |
596 .loc 1 1665 40 view .LVU190
597 000c 02F17844 add r4, r2, #-134217728
598 .loc 1 1665 60 view .LVU191
599 0010 240A lsrs r4, r4, #8
600 .loc 1 1665 66 view .LVU192
601 0012 2404 lsls r4, r4, #16
1664:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (((PCROPEndAddr - FLASH_BANK1_BASE) >> 8) << FLASH_PRAR_PROT_AREA_END_Pos) |
602 .loc 1 1664 99 view .LVU193
603 0014 44EA1C24 orr r4, r4, ip, lsr #8
604 .loc 1 1665 99 view .LVU194
605 0018 0443 orrs r4, r4, r0
1664:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (((PCROPEndAddr - FLASH_BANK1_BASE) >> 8) << FLASH_PRAR_PROT_AREA_END_Pos) |
606 .loc 1 1664 22 view .LVU195
607 001a 094D ldr r5, .L57
608 001c EC62 str r4, [r5, #44]
609 .L54:
1666:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** PCROPConfig;
1667:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1668:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1669:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (DUAL_BANK)
1670:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((Banks & FLASH_BANK_2) == FLASH_BANK_2)
610 .loc 1 1670 3 is_stmt 1 view .LVU196
611 .loc 1 1670 5 is_stmt 0 view .LVU197
612 001e 13F0020F tst r3, #2
613 0022 0BD0 beq .L53
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 41
1671:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1672:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS_BANK2(PCROPStartAddr));
614 .loc 1 1672 5 is_stmt 1 view .LVU198
1673:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS_BANK2(PCROPEndAddr));
615 .loc 1 1673 5 view .LVU199
1674:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1675:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Configure the Proprietary code readout protection */
1676:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->PRAR_PRG2 = ((PCROPStartAddr - FLASH_BANK2_BASE) >> 8) |
616 .loc 1 1676 5 view .LVU200
617 .loc 1 1676 41 is_stmt 0 view .LVU201
618 0024 A1F10161 sub r1, r1, #135266304
619 .LVL47:
1677:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (((PCROPEndAddr - FLASH_BANK2_BASE) >> 8) << FLASH_PRAR_PROT_AREA_END_Pos) |
620 .loc 1 1677 40 view .LVU202
621 0028 A2F10162 sub r2, r2, #135266304
622 .LVL48:
623 .loc 1 1677 60 view .LVU203
624 002c 120A lsrs r2, r2, #8
625 .LVL49:
626 .loc 1 1677 66 view .LVU204
627 002e 1204 lsls r2, r2, #16
1676:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (((PCROPEndAddr - FLASH_BANK2_BASE) >> 8) << FLASH_PRAR_PROT_AREA_END_Pos) |
628 .loc 1 1676 99 view .LVU205
629 0030 42EA1121 orr r1, r2, r1, lsr #8
630 .LVL50:
631 .loc 1 1677 99 view .LVU206
632 0034 0843 orrs r0, r0, r1
633 .LVL51:
1676:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (((PCROPEndAddr - FLASH_BANK2_BASE) >> 8) << FLASH_PRAR_PROT_AREA_END_Pos) |
634 .loc 1 1676 22 view .LVU207
635 0036 024B ldr r3, .L57
636 .LVL52:
1676:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (((PCROPEndAddr - FLASH_BANK2_BASE) >> 8) << FLASH_PRAR_PROT_AREA_END_Pos) |
637 .loc 1 1676 22 view .LVU208
638 0038 C3F82C01 str r0, [r3, #300]
639 .L53:
1678:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** PCROPConfig;
1679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1680:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_BANK */
1681:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
640 .loc 1 1681 1 view .LVU209
641 003c 30BC pop {r4, r5}
642 .cfi_restore 5
643 .cfi_restore 4
644 .cfi_def_cfa_offset 0
645 003e 7047 bx lr
646 .L58:
647 .align 2
648 .L57:
649 0040 00200052 .word 1375739904
650 .cfi_endproc
651 .LFE353:
653 .section .text.FLASH_OB_GetPCROP,"ax",%progbits
654 .align 1
655 .syntax unified
656 .thumb
657 .thumb_func
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 42
659 FLASH_OB_GetPCROP:
660 .LVL53:
661 .LFB354:
1682:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1683:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
1684:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Get the Proprietary code readout protection configuration on a given Bank
1685:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
1686:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param PCROPConfig indicates if the PCROP area for the given Bank shall be erased or not
1687:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * when RDP level decreased from Level 1 to Level 0 or after a bank erase with protection
1688:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
1689:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param PCROPStartAddr gives the start address of the Proprietary code readout protection of th
1690:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
1691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param PCROPEndAddr gives the end address of the Proprietary code readout protection of the ba
1692:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
1693:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param Bank the specific bank to apply PCROP protection
1694:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * This parameter can be exclusively one of the following values:
1695:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg FLASH_BANK_1: PCROP on specified bank1 area
1696:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg FLASH_BANK_2: PCROP on specified bank2 area
1697:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg FLASH_BANK_BOTH: is not allowed here
1698:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
1699:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval None
1700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
1701:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_OB_GetPCROP(uint32_t *PCROPConfig, uint32_t *PCROPStartAddr, uint32_t *PCROPEndAd
1702:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
662 .loc 1 1702 1 is_stmt 1 view -0
663 .cfi_startproc
664 @ args = 0, pretend = 0, frame = 0
665 @ frame_needed = 0, uses_anonymous_args = 0
666 @ link register save eliminated.
667 .loc 1 1702 1 is_stmt 0 view .LVU211
668 0000 10B4 push {r4}
669 .cfi_def_cfa_offset 4
670 .cfi_offset 4, -4
1703:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** uint32_t regvalue = 0;
671 .loc 1 1703 3 is_stmt 1 view .LVU212
672 .LVL54:
1704:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** uint32_t bankBase = 0;
673 .loc 1 1704 3 view .LVU213
1705:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1706:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if(Bank == FLASH_BANK_1)
674 .loc 1 1706 3 view .LVU214
675 .loc 1 1706 5 is_stmt 0 view .LVU215
676 0002 012B cmp r3, #1
677 0004 15D0 beq .L64
1707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1708:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** regvalue = FLASH->PRAR_CUR1;
1709:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** bankBase = FLASH_BANK1_BASE;
1710:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1711:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1712:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (DUAL_BANK)
1713:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if(Bank == FLASH_BANK_2)
678 .loc 1 1713 3 is_stmt 1 view .LVU216
679 .loc 1 1713 5 is_stmt 0 view .LVU217
680 0006 022B cmp r3, #2
681 0008 18D0 beq .L65
682 000a 4FF0000C mov ip, #0
683 000e 6346 mov r3, ip
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 43
684 .LVL55:
685 .L61:
1714:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1715:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** regvalue = FLASH->PRAR_CUR2;
1716:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** bankBase = FLASH_BANK2_BASE;
1717:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1718:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_BANK */
1719:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (*PCROPConfig) = (regvalue & FLASH_PRAR_DMEP);
686 .loc 1 1720 3 is_stmt 1 view .LVU218
687 .loc 1 1720 31 is_stmt 0 view .LVU219
688 0010 03F00044 and r4, r3, #-2147483648
689 .loc 1 1720 18 view .LVU220
690 0014 0460 str r4, [r0]
1721:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1722:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (*PCROPStartAddr) = ((regvalue & FLASH_PRAR_PROT_AREA_START) << 8) + bankBase;
691 .loc 1 1722 3 is_stmt 1 view .LVU221
692 .loc 1 1722 64 is_stmt 0 view .LVU222
693 0016 0C48 ldr r0, .L66
694 .LVL56:
695 .loc 1 1722 64 view .LVU223
696 0018 00EA0320 and r0, r0, r3, lsl #8
697 .loc 1 1722 70 view .LVU224
698 001c 6044 add r0, r0, ip
699 .loc 1 1722 21 view .LVU225
700 001e 0860 str r0, [r1]
1723:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (*PCROPEndAddr) = (regvalue & FLASH_PRAR_PROT_AREA_END) >> FLASH_PRAR_PROT_AREA_END_Pos;
701 .loc 1 1723 3 is_stmt 1 view .LVU226
702 .loc 1 1723 59 is_stmt 0 view .LVU227
703 0020 C3F30B43 ubfx r3, r3, #16, #12
704 .LVL57:
705 .loc 1 1723 19 view .LVU228
706 0024 1360 str r3, [r2]
1724:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (*PCROPEndAddr) = ((*PCROPEndAddr) << 8) + bankBase;
707 .loc 1 1724 3 is_stmt 1 view .LVU229
708 .loc 1 1724 44 is_stmt 0 view .LVU230
709 0026 0CEB0323 add r3, ip, r3, lsl #8
710 .loc 1 1724 19 view .LVU231
711 002a 1360 str r3, [r2]
1725:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
712 .loc 1 1725 1 view .LVU232
713 002c 5DF8044B ldr r4, [sp], #4
714 .cfi_remember_state
715 .cfi_restore 4
716 .cfi_def_cfa_offset 0
717 0030 7047 bx lr
718 .LVL58:
719 .L64:
720 .cfi_restore_state
1708:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** bankBase = FLASH_BANK1_BASE;
721 .loc 1 1708 5 is_stmt 1 view .LVU233
1708:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** bankBase = FLASH_BANK1_BASE;
722 .loc 1 1708 14 is_stmt 0 view .LVU234
723 0032 064B ldr r3, .L66+4
724 .LVL59:
1708:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** bankBase = FLASH_BANK1_BASE;
725 .loc 1 1708 14 view .LVU235
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 44
726 0034 9B6A ldr r3, [r3, #40]
727 .LVL60:
1709:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
728 .loc 1 1709 5 is_stmt 1 view .LVU236
1713:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
729 .loc 1 1713 3 view .LVU237
1709:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
730 .loc 1 1709 14 is_stmt 0 view .LVU238
731 0036 4FF0006C mov ip, #134217728
732 003a E9E7 b .L61
733 .LVL61:
734 .L65:
1715:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** bankBase = FLASH_BANK2_BASE;
735 .loc 1 1715 5 is_stmt 1 view .LVU239
1715:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** bankBase = FLASH_BANK2_BASE;
736 .loc 1 1715 14 is_stmt 0 view .LVU240
737 003c 034B ldr r3, .L66+4
738 .LVL62:
1715:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** bankBase = FLASH_BANK2_BASE;
739 .loc 1 1715 14 view .LVU241
740 003e D3F82831 ldr r3, [r3, #296]
741 .LVL63:
1716:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
742 .loc 1 1716 5 is_stmt 1 view .LVU242
1716:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
743 .loc 1 1716 14 is_stmt 0 view .LVU243
744 0042 4FF0016C mov ip, #135266304
745 0046 E3E7 b .L61
746 .L67:
747 .align 2
748 .L66:
749 0048 00FF0F00 .word 1048320
750 004c 00200052 .word 1375739904
751 .cfi_endproc
752 .LFE354:
754 .section .text.FLASH_OB_BOR_LevelConfig,"ax",%progbits
755 .align 1
756 .syntax unified
757 .thumb
758 .thumb_func
760 FLASH_OB_BOR_LevelConfig:
761 .LVL64:
762 .LFB355:
1726:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1727:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
1728:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Set the BOR Level.
1729:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param Level specifies the Option Bytes BOR Reset Level.
1730:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * This parameter can be one of the following values:
1731:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg OB_BOR_LEVEL0: Reset level threshold is set to 1.6V
1732:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg OB_BOR_LEVEL1: Reset level threshold is set to 2.1V
1733:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg OB_BOR_LEVEL2: Reset level threshold is set to 2.4V
1734:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg OB_BOR_LEVEL3: Reset level threshold is set to 2.7V
1735:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval None
1736:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
1737:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_OB_BOR_LevelConfig(uint32_t Level)
1738:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
763 .loc 1 1738 1 is_stmt 1 view -0
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 45
764 .cfi_startproc
765 @ args = 0, pretend = 0, frame = 0
766 @ frame_needed = 0, uses_anonymous_args = 0
767 @ link register save eliminated.
1739:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_OB_BOR_LEVEL(Level));
768 .loc 1 1739 3 view .LVU245
1740:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Configure BOR_LEV option byte */
1742:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** MODIFY_REG(FLASH->OPTSR_PRG, FLASH_OPTSR_BOR_LEV, Level);
769 .loc 1 1742 3 view .LVU246
770 0000 034A ldr r2, .L69
771 0002 136A ldr r3, [r2, #32]
772 0004 23F00C03 bic r3, r3, #12
773 0008 0343 orrs r3, r3, r0
774 000a 1362 str r3, [r2, #32]
1743:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
775 .loc 1 1743 1 is_stmt 0 view .LVU247
776 000c 7047 bx lr
777 .L70:
778 000e 00BF .align 2
779 .L69:
780 0010 00200052 .word 1375739904
781 .cfi_endproc
782 .LFE355:
784 .section .text.FLASH_OB_GetBOR,"ax",%progbits
785 .align 1
786 .syntax unified
787 .thumb
788 .thumb_func
790 FLASH_OB_GetBOR:
791 .LFB356:
1744:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1745:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
1746:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Get the BOR Level.
1747:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval The Option Bytes BOR Reset Level.
1748:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * This parameter can be one of the following values:
1749:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg OB_BOR_LEVEL0: Reset level threshold is set to 1.6V
1750:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg OB_BOR_LEVEL1: Reset level threshold is set to 2.1V
1751:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg OB_BOR_LEVEL2: Reset level threshold is set to 2.4V
1752:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg OB_BOR_LEVEL3: Reset level threshold is set to 2.7V
1753:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
1754:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static uint32_t FLASH_OB_GetBOR(void)
1755:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
792 .loc 1 1755 1 is_stmt 1 view -0
793 .cfi_startproc
794 @ args = 0, pretend = 0, frame = 0
795 @ frame_needed = 0, uses_anonymous_args = 0
796 @ link register save eliminated.
1756:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** return (FLASH->OPTSR_CUR & FLASH_OPTSR_BOR_LEV);
797 .loc 1 1756 3 view .LVU249
798 .loc 1 1756 16 is_stmt 0 view .LVU250
799 0000 024B ldr r3, .L72
800 0002 D869 ldr r0, [r3, #28]
1757:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
801 .loc 1 1757 1 view .LVU251
802 0004 00F00C00 and r0, r0, #12
803 0008 7047 bx lr
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 46
804 .L73:
805 000a 00BF .align 2
806 .L72:
807 000c 00200052 .word 1375739904
808 .cfi_endproc
809 .LFE356:
811 .section .text.FLASH_OB_BootAddConfig,"ax",%progbits
812 .align 1
813 .syntax unified
814 .thumb
815 .thumb_func
817 FLASH_OB_BootAddConfig:
818 .LVL65:
819 .LFB357:
1758:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1759:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
1760:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Set Boot address
1761:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param BootOption Boot address option byte to be programmed,
1762:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * This parameter must be a value of @ref FLASHEx_OB_BOOT_OPTION
1763:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (OB_BOOT_ADD0, OB_BOOT_ADD1 or OB_BOOT_ADD_BOTH)
1764:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
1765:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param BootAddress0 Specifies the Boot Address 0
1766:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param BootAddress1 Specifies the Boot Address 1
1767:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval HAL Status
1768:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
1769:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_OB_BootAddConfig(uint32_t BootOption, uint32_t BootAddress0, uint32_t BootAddress
1770:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
820 .loc 1 1770 1 is_stmt 1 view -0
821 .cfi_startproc
822 @ args = 0, pretend = 0, frame = 0
823 @ frame_needed = 0, uses_anonymous_args = 0
824 @ link register save eliminated.
825 .loc 1 1770 1 is_stmt 0 view .LVU253
826 0000 10B4 push {r4}
827 .cfi_def_cfa_offset 4
828 .cfi_offset 4, -4
1771:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Check the parameters */
1772:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_OB_BOOT_ADD_OPTION(BootOption));
829 .loc 1 1772 3 is_stmt 1 view .LVU254
1773:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1774:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((BootOption & OB_BOOT_ADD0) == OB_BOOT_ADD0)
830 .loc 1 1774 3 view .LVU255
831 .loc 1 1774 5 is_stmt 0 view .LVU256
832 0002 10F0010F tst r0, #1
833 0006 06D0 beq .L75
1775:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1776:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Check the parameters */
1777:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_BOOT_ADDRESS(BootAddress0));
834 .loc 1 1777 5 is_stmt 1 view .LVU257
1778:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1779:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Configure CM7 BOOT ADD0 */
1780:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined(DUAL_CORE)
1781:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** MODIFY_REG(FLASH->BOOT7_PRG, FLASH_BOOT7_BCM7_ADD0, (BootAddress0 >> 16));
1782:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #else /* Single Core*/
1783:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** MODIFY_REG(FLASH->BOOT_PRG, FLASH_BOOT_ADD0, (BootAddress0 >> 16));
835 .loc 1 1783 5 view .LVU258
836 0008 084C ldr r4, .L78
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 47
837 000a 636C ldr r3, [r4, #68]
838 000c 6FF30F03 bfc r3, #0, #16
839 0010 43EA1143 orr r3, r3, r1, lsr #16
840 0014 6364 str r3, [r4, #68]
841 .L75:
1784:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_CORE */
1785:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1786:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1787:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((BootOption & OB_BOOT_ADD1) == OB_BOOT_ADD1)
842 .loc 1 1787 3 view .LVU259
843 .loc 1 1787 5 is_stmt 0 view .LVU260
844 0016 10F0020F tst r0, #2
845 001a 04D0 beq .L74
1788:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1789:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Check the parameters */
1790:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_BOOT_ADDRESS(BootAddress1));
846 .loc 1 1790 5 is_stmt 1 view .LVU261
1791:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1792:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Configure CM7 BOOT ADD1 */
1793:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined(DUAL_CORE)
1794:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** MODIFY_REG(FLASH->BOOT7_PRG, FLASH_BOOT7_BCM7_ADD1, BootAddress1);
1795:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #else /* Single Core*/
1796:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** MODIFY_REG(FLASH->BOOT_PRG, FLASH_BOOT_ADD1, BootAddress1);
847 .loc 1 1796 5 view .LVU262
848 001c 0349 ldr r1, .L78
849 .LVL66:
850 .loc 1 1796 5 is_stmt 0 view .LVU263
851 001e 4B6C ldr r3, [r1, #68]
852 0020 9BB2 uxth r3, r3
853 0022 1343 orrs r3, r3, r2
854 0024 4B64 str r3, [r1, #68]
855 .L74:
1797:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_CORE */
1798:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1799:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
856 .loc 1 1799 1 view .LVU264
857 0026 5DF8044B ldr r4, [sp], #4
858 .cfi_restore 4
859 .cfi_def_cfa_offset 0
860 002a 7047 bx lr
861 .L79:
862 .align 2
863 .L78:
864 002c 00200052 .word 1375739904
865 .cfi_endproc
866 .LFE357:
868 .section .text.FLASH_OB_GetBootAdd,"ax",%progbits
869 .align 1
870 .syntax unified
871 .thumb
872 .thumb_func
874 FLASH_OB_GetBootAdd:
875 .LVL67:
876 .LFB358:
1800:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1801:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
1802:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Get Boot address
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 48
1803:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param BootAddress0 Specifies the Boot Address 0.
1804:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param BootAddress1 Specifies the Boot Address 1.
1805:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval HAL Status
1806:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
1807:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_OB_GetBootAdd(uint32_t *BootAddress0, uint32_t *BootAddress1)
1808:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
877 .loc 1 1808 1 is_stmt 1 view -0
878 .cfi_startproc
879 @ args = 0, pretend = 0, frame = 0
880 @ frame_needed = 0, uses_anonymous_args = 0
881 @ link register save eliminated.
1809:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** uint32_t regvalue;
882 .loc 1 1809 3 view .LVU266
1810:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1811:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined(DUAL_CORE)
1812:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** regvalue = FLASH->BOOT7_CUR;
1813:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1814:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (*BootAddress0) = (regvalue & FLASH_BOOT7_BCM7_ADD0) << 16;
1815:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (*BootAddress1) = (regvalue & FLASH_BOOT7_BCM7_ADD1);
1816:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #else /* Single Core */
1817:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** regvalue = FLASH->BOOT_CUR;
883 .loc 1 1817 3 view .LVU267
884 .loc 1 1817 12 is_stmt 0 view .LVU268
885 0000 034B ldr r3, .L81
886 0002 1B6C ldr r3, [r3, #64]
887 .LVL68:
1818:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1819:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (*BootAddress0) = (regvalue & FLASH_BOOT_ADD0) << 16;
888 .loc 1 1819 3 is_stmt 1 view .LVU269
889 .loc 1 1819 50 is_stmt 0 view .LVU270
890 0004 1A04 lsls r2, r3, #16
891 .loc 1 1819 19 view .LVU271
892 0006 0260 str r2, [r0]
1820:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (*BootAddress1) = (regvalue & FLASH_BOOT_ADD1);
893 .loc 1 1820 3 is_stmt 1 view .LVU272
894 .loc 1 1820 31 is_stmt 0 view .LVU273
895 0008 6FF30F03 bfc r3, #0, #16
896 .LVL69:
897 .loc 1 1820 19 view .LVU274
898 000c 0B60 str r3, [r1]
1821:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_CORE */
1822:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
899 .loc 1 1822 1 view .LVU275
900 000e 7047 bx lr
901 .L82:
902 .align 2
903 .L81:
904 0010 00200052 .word 1375739904
905 .cfi_endproc
906 .LFE358:
908 .section .text.FLASH_OB_SecureAreaConfig,"ax",%progbits
909 .align 1
910 .syntax unified
911 .thumb
912 .thumb_func
914 FLASH_OB_SecureAreaConfig:
915 .LVL70:
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 49
916 .LFB359:
1823:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1824:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined(DUAL_CORE)
1825:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
1826:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Set CM4 Boot address
1827:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param BootOption Boot address option byte to be programmed,
1828:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * This parameter must be a value of @ref FLASHEx_OB_BOOT_OPTION
1829:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (OB_BOOT_ADD0, OB_BOOT_ADD1 or OB_BOOT_ADD_BOTH)
1830:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
1831:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param BootAddress0 Specifies the CM4 Boot Address 0.
1832:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param BootAddress1 Specifies the CM4 Boot Address 1.
1833:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval HAL Status
1834:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
1835:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_OB_CM4BootAddConfig(uint32_t BootOption, uint32_t BootAddress0, uint32_t BootAddr
1836:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1837:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Check the parameters */
1838:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_OB_BOOT_ADD_OPTION(BootOption));
1839:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1840:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((BootOption & OB_BOOT_ADD0) == OB_BOOT_ADD0)
1841:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1842:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Check the parameters */
1843:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_BOOT_ADDRESS(BootAddress0));
1844:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1845:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Configure CM4 BOOT ADD0 */
1846:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** MODIFY_REG(FLASH->BOOT4_PRG, FLASH_BOOT4_BCM4_ADD0, (BootAddress0 >> 16));
1847:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1848:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1849:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1850:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((BootOption & OB_BOOT_ADD1) == OB_BOOT_ADD1)
1851:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1852:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Check the parameters */
1853:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_BOOT_ADDRESS(BootAddress1));
1854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1855:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Configure CM4 BOOT ADD1 */
1856:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** MODIFY_REG(FLASH->BOOT4_PRG, FLASH_BOOT4_BCM4_ADD1, BootAddress1);
1857:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1858:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1859:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1860:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
1861:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Get CM4 Boot address
1862:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param BootAddress0 Specifies the CM4 Boot Address 0.
1863:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param BootAddress1 Specifies the CM4 Boot Address 1.
1864:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval HAL Status
1865:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
1866:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_OB_GetCM4BootAdd(uint32_t *BootAddress0, uint32_t *BootAddress1)
1867:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1868:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** uint32_t regvalue;
1869:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1870:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** regvalue = FLASH->BOOT4_CUR;
1871:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1872:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (*BootAddress0) = (regvalue & FLASH_BOOT4_BCM4_ADD0) << 16;
1873:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (*BootAddress1) = (regvalue & FLASH_BOOT4_BCM4_ADD1);
1874:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1875:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /*DUAL_CORE*/
1876:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1877:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
1878:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Set secure area configuration
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 50
1879:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param SecureAreaConfig specify if the secure area will be deleted or not
1880:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * when RDP level decreased from Level 1 to Level 0 or during a mass erase.
1881:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** *
1882:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param SecureAreaStartAddr Specifies the secure area start address
1883:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param SecureAreaEndAddr Specifies the secure area end address
1884:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param Banks the specific bank to apply Security protection
1885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * This parameter can be one of the following values:
1886:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg FLASH_BANK_1: Secure area on specified bank1 area
1887:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg FLASH_BANK_2: Secure area on specified bank2 area
1888:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @arg FLASH_BANK_BOTH: Secure area on specified bank1 and bank2 area (same config wil
1889:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval None
1890:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
1891:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_OB_SecureAreaConfig(uint32_t SecureAreaConfig, uint32_t SecureAreaStartAddr, uint
1892:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
917 .loc 1 1892 1 is_stmt 1 view -0
918 .cfi_startproc
919 @ args = 0, pretend = 0, frame = 0
920 @ frame_needed = 0, uses_anonymous_args = 0
921 @ link register save eliminated.
922 .loc 1 1892 1 is_stmt 0 view .LVU277
923 0000 30B4 push {r4, r5}
924 .cfi_def_cfa_offset 8
925 .cfi_offset 4, -8
926 .cfi_offset 5, -4
1893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Check the parameters */
1894:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_FLASH_BANK(Banks));
927 .loc 1 1894 3 is_stmt 1 view .LVU278
1895:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_OB_SECURE_RDP(SecureAreaConfig));
928 .loc 1 1895 3 view .LVU279
1896:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1897:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((Banks & FLASH_BANK_1) == FLASH_BANK_1)
929 .loc 1 1897 3 view .LVU280
930 .loc 1 1897 5 is_stmt 0 view .LVU281
931 0002 13F0010F tst r3, #1
932 0006 0CD0 beq .L84
1898:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1899:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Check the parameters */
1900:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS_BANK1(SecureAreaStartAddr));
933 .loc 1 1900 5 is_stmt 1 view .LVU282
1901:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS_BANK1(SecureAreaEndAddr));
934 .loc 1 1901 5 view .LVU283
1902:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Configure the secure area */
1904:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->SCAR_PRG1 = ((SecureAreaStartAddr - FLASH_BANK1_BASE) >> 8)
935 .loc 1 1904 5 view .LVU284
936 .loc 1 1904 46 is_stmt 0 view .LVU285
937 0008 01F1784C add ip, r1, #-134217728
1905:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (((SecureAreaEndAddr - FLASH_BANK1_BASE) >> 8) << FLASH_SCAR_SEC_AREA_END_Po
938 .loc 1 1905 45 view .LVU286
939 000c 02F17844 add r4, r2, #-134217728
940 .loc 1 1905 65 view .LVU287
941 0010 240A lsrs r4, r4, #8
942 .loc 1 1905 71 view .LVU288
943 0012 2404 lsls r4, r4, #16
1904:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (((SecureAreaEndAddr - FLASH_BANK1_BASE) >> 8) << FLASH_SCAR_SEC_AREA_END_Po
944 .loc 1 1904 103 view .LVU289
945 0014 44EA1C24 orr r4, r4, ip, lsr #8
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 51
1906:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (SecureAreaConfig & FLASH_SCAR_DMES);
946 .loc 1 1906 42 view .LVU290
947 0018 00F00045 and r5, r0, #-2147483648
1905:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (((SecureAreaEndAddr - FLASH_BANK1_BASE) >> 8) << FLASH_SCAR_SEC_AREA_END_Po
948 .loc 1 1905 103 view .LVU291
949 001c 2C43 orrs r4, r4, r5
1904:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (((SecureAreaEndAddr - FLASH_BANK1_BASE) >> 8) << FLASH_SCAR_SEC_AREA_END_Po
950 .loc 1 1904 22 view .LVU292
951 001e 0A4D ldr r5, .L87
952 0020 6C63 str r4, [r5, #52]
953 .L84:
1907:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1908:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1909:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (DUAL_BANK)
1910:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if((Banks & FLASH_BANK_2) == FLASH_BANK_2)
954 .loc 1 1910 3 is_stmt 1 view .LVU293
955 .loc 1 1910 5 is_stmt 0 view .LVU294
956 0022 13F0020F tst r3, #2
957 0026 0DD0 beq .L83
1911:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1912:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Check the parameters */
1913:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS_BANK2(SecureAreaStartAddr));
958 .loc 1 1913 5 is_stmt 1 view .LVU295
1914:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS_BANK2(SecureAreaEndAddr));
959 .loc 1 1914 5 view .LVU296
1915:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1916:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Configure the secure area */
1917:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->SCAR_PRG2 = ((SecureAreaStartAddr - FLASH_BANK2_BASE) >> 8)
960 .loc 1 1917 5 view .LVU297
961 .loc 1 1917 46 is_stmt 0 view .LVU298
962 0028 A1F10161 sub r1, r1, #135266304
963 .LVL71:
1918:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (((SecureAreaEndAddr - FLASH_BANK2_BASE) >> 8) << FLASH_SCAR_SEC_AREA_END_Po
964 .loc 1 1918 45 view .LVU299
965 002c A2F10162 sub r2, r2, #135266304
966 .LVL72:
967 .loc 1 1918 65 view .LVU300
968 0030 120A lsrs r2, r2, #8
969 .LVL73:
970 .loc 1 1918 71 view .LVU301
971 0032 1204 lsls r2, r2, #16
1917:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (((SecureAreaEndAddr - FLASH_BANK2_BASE) >> 8) << FLASH_SCAR_SEC_AREA_END_Po
972 .loc 1 1917 103 view .LVU302
973 0034 42EA1121 orr r1, r2, r1, lsr #8
974 .LVL74:
1919:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (SecureAreaConfig & FLASH_SCAR_DMES);
975 .loc 1 1919 42 view .LVU303
976 0038 00F00040 and r0, r0, #-2147483648
977 .LVL75:
1918:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (((SecureAreaEndAddr - FLASH_BANK2_BASE) >> 8) << FLASH_SCAR_SEC_AREA_END_Po
978 .loc 1 1918 103 view .LVU304
979 003c 0843 orrs r0, r0, r1
1917:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (((SecureAreaEndAddr - FLASH_BANK2_BASE) >> 8) << FLASH_SCAR_SEC_AREA_END_Po
980 .loc 1 1917 22 view .LVU305
981 003e 024B ldr r3, .L87
982 .LVL76:
1917:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (((SecureAreaEndAddr - FLASH_BANK2_BASE) >> 8) << FLASH_SCAR_SEC_AREA_END_Po
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 52
983 .loc 1 1917 22 view .LVU306
984 0040 C3F83401 str r0, [r3, #308]
985 .L83:
1920:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1921:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_BANK */
1922:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
986 .loc 1 1922 1 view .LVU307
987 0044 30BC pop {r4, r5}
988 .cfi_restore 5
989 .cfi_restore 4
990 .cfi_def_cfa_offset 0
991 0046 7047 bx lr
992 .L88:
993 .align 2
994 .L87:
995 0048 00200052 .word 1375739904
996 .cfi_endproc
997 .LFE359:
999 .section .text.FLASH_OB_GetSecureArea,"ax",%progbits
1000 .align 1
1001 .syntax unified
1002 .thumb
1003 .thumb_func
1005 FLASH_OB_GetSecureArea:
1006 .LVL77:
1007 .LFB360:
1923:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
1925:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Get secure area configuration
1926:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param SecureAreaConfig indicates if the secure area will be deleted or not
1927:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * when RDP level decreased from Level 1 to Level 0 or during a mass erase.
1928:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param SecureAreaStartAddr gives the secure area start address
1929:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param SecureAreaEndAddr gives the secure area end address
1930:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param Bank Specifies the Bank
1931:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval None
1932:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
1933:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_OB_GetSecureArea(uint32_t *SecureAreaConfig, uint32_t *SecureAreaStartAddr, uint3
1934:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1008 .loc 1 1934 1 is_stmt 1 view -0
1009 .cfi_startproc
1010 @ args = 0, pretend = 0, frame = 0
1011 @ frame_needed = 0, uses_anonymous_args = 0
1012 @ link register save eliminated.
1013 .loc 1 1934 1 is_stmt 0 view .LVU309
1014 0000 10B4 push {r4}
1015 .cfi_def_cfa_offset 4
1016 .cfi_offset 4, -4
1935:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** uint32_t regvalue = 0;
1017 .loc 1 1935 3 is_stmt 1 view .LVU310
1018 .LVL78:
1936:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** uint32_t bankBase = 0;
1019 .loc 1 1936 3 view .LVU311
1937:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1938:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Check Bank parameter value */
1939:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if(Bank == FLASH_BANK_1)
1020 .loc 1 1939 3 view .LVU312
1021 .loc 1 1939 5 is_stmt 0 view .LVU313
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 53
1022 0002 012B cmp r3, #1
1023 0004 15D0 beq .L94
1940:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1941:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** regvalue = FLASH->SCAR_CUR1;
1942:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** bankBase = FLASH_BANK1_BASE;
1943:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1944:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1945:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (DUAL_BANK)
1946:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if(Bank == FLASH_BANK_2)
1024 .loc 1 1946 3 is_stmt 1 view .LVU314
1025 .loc 1 1946 5 is_stmt 0 view .LVU315
1026 0006 022B cmp r3, #2
1027 0008 18D0 beq .L95
1028 000a 4FF0000C mov ip, #0
1029 000e 6346 mov r3, ip
1030 .LVL79:
1031 .L91:
1947:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1948:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** regvalue = FLASH->SCAR_CUR2;
1949:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** bankBase = FLASH_BANK2_BASE;
1950:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1951:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_BANK */
1952:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1953:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Get the secure area settings */
1954:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (*SecureAreaConfig) = (regvalue & FLASH_SCAR_DMES);
1032 .loc 1 1954 3 is_stmt 1 view .LVU316
1033 .loc 1 1954 35 is_stmt 0 view .LVU317
1034 0010 03F00044 and r4, r3, #-2147483648
1035 .loc 1 1954 23 view .LVU318
1036 0014 0460 str r4, [r0]
1955:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (*SecureAreaStartAddr) = ((regvalue & FLASH_SCAR_SEC_AREA_START) << 8) + bankBase;
1037 .loc 1 1955 3 is_stmt 1 view .LVU319
1038 .loc 1 1955 68 is_stmt 0 view .LVU320
1039 0016 0C48 ldr r0, .L96
1040 .LVL80:
1041 .loc 1 1955 68 view .LVU321
1042 0018 00EA0320 and r0, r0, r3, lsl #8
1043 .loc 1 1955 74 view .LVU322
1044 001c 6044 add r0, r0, ip
1045 .loc 1 1955 26 view .LVU323
1046 001e 0860 str r0, [r1]
1956:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (*SecureAreaEndAddr) = (regvalue & FLASH_SCAR_SEC_AREA_END) >> FLASH_SCAR_SEC_AREA_END_Pos;
1047 .loc 1 1956 3 is_stmt 1 view .LVU324
1048 .loc 1 1956 63 is_stmt 0 view .LVU325
1049 0020 C3F30B43 ubfx r3, r3, #16, #12
1050 .LVL81:
1051 .loc 1 1956 24 view .LVU326
1052 0024 1360 str r3, [r2]
1957:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** (*SecureAreaEndAddr) = ((*SecureAreaEndAddr) << 8) + bankBase;
1053 .loc 1 1957 3 is_stmt 1 view .LVU327
1054 .loc 1 1957 54 is_stmt 0 view .LVU328
1055 0026 0CEB0323 add r3, ip, r3, lsl #8
1056 .loc 1 1957 24 view .LVU329
1057 002a 1360 str r3, [r2]
1958:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1058 .loc 1 1958 1 view .LVU330
1059 002c 5DF8044B ldr r4, [sp], #4
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 54
1060 .cfi_remember_state
1061 .cfi_restore 4
1062 .cfi_def_cfa_offset 0
1063 0030 7047 bx lr
1064 .LVL82:
1065 .L94:
1066 .cfi_restore_state
1941:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** bankBase = FLASH_BANK1_BASE;
1067 .loc 1 1941 5 is_stmt 1 view .LVU331
1941:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** bankBase = FLASH_BANK1_BASE;
1068 .loc 1 1941 14 is_stmt 0 view .LVU332
1069 0032 064B ldr r3, .L96+4
1070 .LVL83:
1941:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** bankBase = FLASH_BANK1_BASE;
1071 .loc 1 1941 14 view .LVU333
1072 0034 1B6B ldr r3, [r3, #48]
1073 .LVL84:
1942:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1074 .loc 1 1942 5 is_stmt 1 view .LVU334
1946:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1075 .loc 1 1946 3 view .LVU335
1942:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1076 .loc 1 1942 14 is_stmt 0 view .LVU336
1077 0036 4FF0006C mov ip, #134217728
1078 003a E9E7 b .L91
1079 .LVL85:
1080 .L95:
1948:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** bankBase = FLASH_BANK2_BASE;
1081 .loc 1 1948 5 is_stmt 1 view .LVU337
1948:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** bankBase = FLASH_BANK2_BASE;
1082 .loc 1 1948 14 is_stmt 0 view .LVU338
1083 003c 034B ldr r3, .L96+4
1084 .LVL86:
1948:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** bankBase = FLASH_BANK2_BASE;
1085 .loc 1 1948 14 view .LVU339
1086 003e D3F83031 ldr r3, [r3, #304]
1087 .LVL87:
1949:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1088 .loc 1 1949 5 is_stmt 1 view .LVU340
1949:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1089 .loc 1 1949 14 is_stmt 0 view .LVU341
1090 0042 4FF0016C mov ip, #135266304
1091 0046 E3E7 b .L91
1092 .L97:
1093 .align 2
1094 .L96:
1095 0048 00FF0F00 .word 1048320
1096 004c 00200052 .word 1375739904
1097 .cfi_endproc
1098 .LFE360:
1100 .section .text.FLASH_CRC_AddSector,"ax",%progbits
1101 .align 1
1102 .syntax unified
1103 .thumb
1104 .thumb_func
1106 FLASH_CRC_AddSector:
1107 .LVL88:
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 55
1108 .LFB361:
1959:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1960:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
1961:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Add a CRC sector to the list of sectors on which the CRC will be calculated
1962:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param Sector Specifies the CRC sector number
1963:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param Bank Specifies the Bank
1964:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval None
1965:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
1966:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_CRC_AddSector(uint32_t Sector, uint32_t Bank)
1967:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1109 .loc 1 1967 1 is_stmt 1 view -0
1110 .cfi_startproc
1111 @ args = 0, pretend = 0, frame = 0
1112 @ frame_needed = 0, uses_anonymous_args = 0
1113 @ link register save eliminated.
1968:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Check the parameters */
1969:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_FLASH_SECTOR(Sector));
1114 .loc 1 1969 3 view .LVU343
1970:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1971:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if (Bank == FLASH_BANK_1)
1115 .loc 1 1971 3 view .LVU344
1116 .loc 1 1971 6 is_stmt 0 view .LVU345
1117 0000 0129 cmp r1, #1
1118 0002 0ED0 beq .L101
1972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1973:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Clear CRC sector */
1974:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CRCCR1 &= (~FLASH_CRCCR_CRC_SECT);
1975:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Select CRC Sector and activate ADD_SECT bit */
1977:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CRCCR1 |= Sector | FLASH_CRCCR_ADD_SECT;
1978:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1979:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (DUAL_BANK)
1980:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** else
1981:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1982:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Clear CRC sector */
1983:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CRCCR2 &= (~FLASH_CRCCR_CRC_SECT);
1119 .loc 1 1983 5 is_stmt 1 view .LVU346
1120 .loc 1 1983 10 is_stmt 0 view .LVU347
1121 0004 0C4A ldr r2, .L102
1122 0006 D2F85031 ldr r3, [r2, #336]
1123 .loc 1 1983 19 view .LVU348
1124 000a 23F03F03 bic r3, r3, #63
1125 000e C2F85031 str r3, [r2, #336]
1984:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1985:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Select CRC Sector and activate ADD_SECT bit */
1986:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CRCCR2 |= Sector | FLASH_CRCCR_ADD_SECT;
1126 .loc 1 1986 5 is_stmt 1 view .LVU349
1127 .loc 1 1986 10 is_stmt 0 view .LVU350
1128 0012 D2F85031 ldr r3, [r2, #336]
1129 .loc 1 1986 19 view .LVU351
1130 0016 0343 orrs r3, r3, r0
1131 0018 43F40073 orr r3, r3, #512
1132 001c C2F85031 str r3, [r2, #336]
1987:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1988:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_BANK */
1989:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1133 .loc 1 1989 1 view .LVU352
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 56
1134 0020 7047 bx lr
1135 .L101:
1974:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1136 .loc 1 1974 5 is_stmt 1 view .LVU353
1974:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1137 .loc 1 1974 10 is_stmt 0 view .LVU354
1138 0022 054A ldr r2, .L102
1139 0024 136D ldr r3, [r2, #80]
1974:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1140 .loc 1 1974 19 view .LVU355
1141 0026 23F03F03 bic r3, r3, #63
1142 002a 1365 str r3, [r2, #80]
1977:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1143 .loc 1 1977 5 is_stmt 1 view .LVU356
1977:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1144 .loc 1 1977 10 is_stmt 0 view .LVU357
1145 002c 136D ldr r3, [r2, #80]
1977:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1146 .loc 1 1977 19 view .LVU358
1147 002e 0343 orrs r3, r3, r0
1148 0030 43F40073 orr r3, r3, #512
1149 0034 1365 str r3, [r2, #80]
1150 0036 7047 bx lr
1151 .L103:
1152 .align 2
1153 .L102:
1154 0038 00200052 .word 1375739904
1155 .cfi_endproc
1156 .LFE361:
1158 .section .text.FLASH_CRC_SelectAddress,"ax",%progbits
1159 .align 1
1160 .syntax unified
1161 .thumb
1162 .thumb_func
1164 FLASH_CRC_SelectAddress:
1165 .LVL89:
1166 .LFB362:
1990:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1991:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
1992:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Select CRC start and end memory addresses on which the CRC will be calculated
1993:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param CRCStartAddr Specifies the CRC start address
1994:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param CRCEndAddr Specifies the CRC end address
1995:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param Bank Specifies the Bank
1996:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval None
1997:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
1998:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_CRC_SelectAddress(uint32_t CRCStartAddr, uint32_t CRCEndAddr, uint32_t Bank)
1999:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1167 .loc 1 1999 1 is_stmt 1 view -0
1168 .cfi_startproc
1169 @ args = 0, pretend = 0, frame = 0
1170 @ frame_needed = 0, uses_anonymous_args = 0
1171 @ link register save eliminated.
2000:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if (Bank == FLASH_BANK_1)
1172 .loc 1 2000 3 view .LVU360
1173 .loc 1 2000 6 is_stmt 0 view .LVU361
1174 0000 012A cmp r2, #1
1175 0002 05D0 beq .L107
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 57
2001:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2002:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS_BANK1(CRCStartAddr));
2003:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS_BANK1(CRCEndAddr));
2004:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2005:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Write CRC Start and End addresses */
2006:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CRCSADD1 = CRCStartAddr;
2007:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CRCEADD1 = CRCEndAddr;
2008:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2009:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (DUAL_BANK)
2010:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** else
2011:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2012:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS_BANK2(CRCStartAddr));
1176 .loc 1 2012 5 is_stmt 1 view .LVU362
2013:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS_BANK2(CRCEndAddr));
1177 .loc 1 2013 5 view .LVU363
2014:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2015:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Write CRC Start and End addresses */
2016:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CRCSADD2 = CRCStartAddr;
1178 .loc 1 2016 5 view .LVU364
1179 .loc 1 2016 21 is_stmt 0 view .LVU365
1180 0004 044B ldr r3, .L108
1181 0006 C3F85401 str r0, [r3, #340]
2017:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CRCEADD2 = CRCEndAddr;
1182 .loc 1 2017 5 is_stmt 1 view .LVU366
1183 .loc 1 2017 21 is_stmt 0 view .LVU367
1184 000a C3F85811 str r1, [r3, #344]
2018:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2019:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_BANK */
2020:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1185 .loc 1 2020 1 view .LVU368
1186 000e 7047 bx lr
1187 .L107:
2002:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS_BANK1(CRCEndAddr));
1188 .loc 1 2002 5 is_stmt 1 view .LVU369
2003:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1189 .loc 1 2003 5 view .LVU370
2006:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CRCEADD1 = CRCEndAddr;
1190 .loc 1 2006 5 view .LVU371
2006:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->CRCEADD1 = CRCEndAddr;
1191 .loc 1 2006 21 is_stmt 0 view .LVU372
1192 0010 014B ldr r3, .L108
1193 0012 5865 str r0, [r3, #84]
2007:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1194 .loc 1 2007 5 is_stmt 1 view .LVU373
2007:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1195 .loc 1 2007 21 is_stmt 0 view .LVU374
1196 0014 9965 str r1, [r3, #88]
1197 0016 7047 bx lr
1198 .L109:
1199 .align 2
1200 .L108:
1201 0018 00200052 .word 1375739904
1202 .cfi_endproc
1203 .LFE362:
1205 .section .text.FLASH_OB_OTP_LockConfig,"ax",%progbits
1206 .align 1
1207 .syntax unified
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 58
1208 .thumb
1209 .thumb_func
1211 FLASH_OB_OTP_LockConfig:
1212 .LVL90:
1213 .LFB363:
2021:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
2022:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @}
2023:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
2024:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2025:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (FLASH_OTPBL_LOCKBL)
2026:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
2027:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Configure the OTP Block Lock.
2028:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @param OTP_Block specifies the OTP Block to lock.
2029:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * This parameter can be a value of @ref FLASHEx_OTP_Blocks
2030:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval None
2031:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
2032:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static void FLASH_OB_OTP_LockConfig(uint32_t OTP_Block)
2033:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1214 .loc 1 2033 1 is_stmt 1 view -0
1215 .cfi_startproc
1216 @ args = 0, pretend = 0, frame = 0
1217 @ frame_needed = 0, uses_anonymous_args = 0
1218 @ link register save eliminated.
2034:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Check the parameters */
2035:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_OTP_BLOCK(OTP_Block));
1219 .loc 1 2035 3 view .LVU376
2036:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2037:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Configure the OTP Block lock in the option bytes register */
2038:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH->OTPBL_PRG |= (OTP_Block & FLASH_OTPBL_LOCKBL);
1220 .loc 1 2038 3 view .LVU377
1221 .loc 1 2038 8 is_stmt 0 view .LVU378
1222 0000 024A ldr r2, .L111
1223 0002 D36E ldr r3, [r2, #108]
1224 .loc 1 2038 34 view .LVU379
1225 0004 80B2 uxth r0, r0
1226 .LVL91:
1227 .loc 1 2038 20 view .LVU380
1228 0006 0343 orrs r3, r3, r0
1229 0008 D366 str r3, [r2, #108]
2039:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1230 .loc 1 2039 1 view .LVU381
1231 000a 7047 bx lr
1232 .L112:
1233 .align 2
1234 .L111:
1235 000c 00200052 .word 1375739904
1236 .cfi_endproc
1237 .LFE363:
1239 .section .text.FLASH_OB_OTP_GetLock,"ax",%progbits
1240 .align 1
1241 .syntax unified
1242 .thumb
1243 .thumb_func
1245 FLASH_OB_OTP_GetLock:
1246 .LFB364:
2040:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2041:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /**
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 59
2042:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @brief Get the OTP Block Lock.
2043:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * @retval OTP_Block specifies the OTP Block to lock.
2044:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** * This return value can be a value of @ref FLASHEx_OTP_Blocks
2045:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** */
2046:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** static uint32_t FLASH_OB_OTP_GetLock(void)
2047:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1247 .loc 1 2047 1 is_stmt 1 view -0
1248 .cfi_startproc
1249 @ args = 0, pretend = 0, frame = 0
1250 @ frame_needed = 0, uses_anonymous_args = 0
1251 @ link register save eliminated.
2048:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** return (FLASH->OTPBL_CUR);
1252 .loc 1 2048 3 view .LVU383
1253 .loc 1 2048 16 is_stmt 0 view .LVU384
1254 0000 014B ldr r3, .L114
1255 0002 986E ldr r0, [r3, #104]
2049:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1256 .loc 1 2049 1 view .LVU385
1257 0004 7047 bx lr
1258 .L115:
1259 0006 00BF .align 2
1260 .L114:
1261 0008 00200052 .word 1375739904
1262 .cfi_endproc
1263 .LFE364:
1265 .section .text.HAL_FLASHEx_OBProgram,"ax",%progbits
1266 .align 1
1267 .global HAL_FLASHEx_OBProgram
1268 .syntax unified
1269 .thumb
1270 .thumb_func
1272 HAL_FLASHEx_OBProgram:
1273 .LVL92:
1274 .LFB337:
425:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** HAL_StatusTypeDef status;
1275 .loc 1 425 1 is_stmt 1 view -0
1276 .cfi_startproc
1277 @ args = 0, pretend = 0, frame = 0
1278 @ frame_needed = 0, uses_anonymous_args = 0
425:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** HAL_StatusTypeDef status;
1279 .loc 1 425 1 is_stmt 0 view .LVU387
1280 0000 38B5 push {r3, r4, r5, lr}
1281 .cfi_def_cfa_offset 16
1282 .cfi_offset 3, -16
1283 .cfi_offset 4, -12
1284 .cfi_offset 5, -8
1285 .cfi_offset 14, -4
426:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1286 .loc 1 426 3 is_stmt 1 view .LVU388
429:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1287 .loc 1 429 3 view .LVU389
432:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1288 .loc 1 432 3 view .LVU390
432:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1289 .loc 1 432 3 view .LVU391
1290 0002 394B ldr r3, .L139
1291 0004 1B7D ldrb r3, [r3, #20] @ zero_extendqisi2
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 60
1292 0006 012B cmp r3, #1
1293 0008 6BD0 beq .L127
1294 000a 0446 mov r4, r0
432:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1295 .loc 1 432 3 discriminator 2 view .LVU392
1296 000c 364B ldr r3, .L139
1297 000e 0121 movs r1, #1
1298 0010 1975 strb r1, [r3, #20]
432:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1299 .loc 1 432 3 view .LVU393
435:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1300 .loc 1 435 3 view .LVU394
435:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1301 .loc 1 435 20 is_stmt 0 view .LVU395
1302 0012 0022 movs r2, #0
1303 0014 9A61 str r2, [r3, #24]
438:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1304 .loc 1 438 3 is_stmt 1 view .LVU396
438:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1305 .loc 1 438 6 is_stmt 0 view .LVU397
1306 0016 4CF25030 movw r0, #50000
1307 .LVL93:
438:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1308 .loc 1 438 6 view .LVU398
1309 001a FFF7FEFF bl FLASH_WaitForLastOperation
1310 .LVL94:
438:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1311 .loc 1 438 5 discriminator 1 view .LVU399
1312 001e 28B1 cbz r0, .L131
440:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1313 .loc 1 440 12 view .LVU400
1314 0020 0125 movs r5, #1
1315 .L118:
553:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1316 .loc 1 553 3 is_stmt 1 view .LVU401
553:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1317 .loc 1 553 3 view .LVU402
1318 0022 314B ldr r3, .L139
1319 0024 0022 movs r2, #0
1320 0026 1A75 strb r2, [r3, #20]
553:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1321 .loc 1 553 3 view .LVU403
555:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1322 .loc 1 555 3 view .LVU404
1323 .LVL95:
1324 .L117:
556:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1325 .loc 1 556 1 is_stmt 0 view .LVU405
1326 0028 2846 mov r0, r5
1327 002a 38BD pop {r3, r4, r5, pc}
1328 .LVL96:
1329 .L131:
443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1330 .loc 1 443 8 is_stmt 1 view .LVU406
443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1331 .loc 1 443 11 is_stmt 0 view .LVU407
1332 002c 0221 movs r1, #2
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 61
1333 002e 4CF25030 movw r0, #50000
1334 0032 FFF7FEFF bl FLASH_WaitForLastOperation
1335 .LVL97:
443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1336 .loc 1 443 10 discriminator 1 view .LVU408
1337 0036 0546 mov r5, r0
1338 0038 0028 cmp r0, #0
1339 003a 50D1 bne .L129
450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1340 .loc 1 450 5 is_stmt 1 view .LVU409
1341 .LVL98:
453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1342 .loc 1 453 3 view .LVU410
456:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1343 .loc 1 456 5 view .LVU411
456:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1344 .loc 1 456 16 is_stmt 0 view .LVU412
1345 003c 2368 ldr r3, [r4]
456:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1346 .loc 1 456 7 view .LVU413
1347 003e 13F0010F tst r3, #1
1348 0042 06D0 beq .L119
458:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1349 .loc 1 458 7 is_stmt 1 view .LVU414
460:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1350 .loc 1 460 7 view .LVU415
460:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1351 .loc 1 460 17 is_stmt 0 view .LVU416
1352 0044 6368 ldr r3, [r4, #4]
460:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1353 .loc 1 460 9 view .LVU417
1354 0046 012B cmp r3, #1
1355 0048 23D0 beq .L132
468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1356 .loc 1 468 9 is_stmt 1 view .LVU418
1357 004a E169 ldr r1, [r4, #28]
1358 004c A068 ldr r0, [r4, #8]
1359 004e FFF7FEFF bl FLASH_OB_DisableWRP
1360 .LVL99:
1361 .L119:
473:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1362 .loc 1 473 5 view .LVU419
473:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1363 .loc 1 473 16 is_stmt 0 view .LVU420
1364 0052 2368 ldr r3, [r4]
473:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1365 .loc 1 473 7 view .LVU421
1366 0054 13F0020F tst r3, #2
1367 0058 20D1 bne .L133
1368 .L121:
480:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1369 .loc 1 480 5 is_stmt 1 view .LVU422
480:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1370 .loc 1 480 16 is_stmt 0 view .LVU423
1371 005a 2368 ldr r3, [r4]
480:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1372 .loc 1 480 7 view .LVU424
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 62
1373 005c 13F0040F tst r3, #4
1374 0060 20D1 bne .L134
1375 .L122:
487:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1376 .loc 1 487 5 is_stmt 1 view .LVU425
487:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1377 .loc 1 487 16 is_stmt 0 view .LVU426
1378 0062 2368 ldr r3, [r4]
487:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1379 .loc 1 487 7 view .LVU427
1380 0064 13F0080F tst r3, #8
1381 0068 21D1 bne .L135
1382 .L123:
496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1383 .loc 1 496 5 is_stmt 1 view .LVU428
496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1384 .loc 1 496 16 is_stmt 0 view .LVU429
1385 006a 2368 ldr r3, [r4]
496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1386 .loc 1 496 7 view .LVU430
1387 006c 13F0100F tst r3, #16
1388 0070 24D1 bne .L136
1389 .L124:
515:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1390 .loc 1 515 5 is_stmt 1 view .LVU431
515:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1391 .loc 1 515 16 is_stmt 0 view .LVU432
1392 0072 2368 ldr r3, [r4]
515:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1393 .loc 1 515 7 view .LVU433
1394 0074 13F0400F tst r3, #64
1395 0078 24D1 bne .L137
1396 .L125:
522:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1397 .loc 1 522 5 is_stmt 1 view .LVU434
522:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1398 .loc 1 522 16 is_stmt 0 view .LVU435
1399 007a 2368 ldr r3, [r4]
522:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1400 .loc 1 522 7 view .LVU436
1401 007c 13F0200F tst r3, #32
1402 0080 26D1 bne .L138
1403 .L126:
529:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1404 .loc 1 529 5 is_stmt 1 view .LVU437
529:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1405 .loc 1 529 16 is_stmt 0 view .LVU438
1406 0082 2368 ldr r3, [r4]
529:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1407 .loc 1 529 7 view .LVU439
1408 0084 13F0800F tst r3, #128
1409 0088 CBD0 beq .L118
531:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1410 .loc 1 531 7 is_stmt 1 view .LVU440
1411 008a 606C ldr r0, [r4, #68]
1412 008c FFF7FEFF bl FLASH_OB_OTP_LockConfig
1413 .LVL100:
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 63
1414 0090 C7E7 b .L118
1415 .L132:
463:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1416 .loc 1 463 9 view .LVU441
1417 0092 E169 ldr r1, [r4, #28]
1418 0094 A068 ldr r0, [r4, #8]
1419 0096 FFF7FEFF bl FLASH_OB_EnableWRP
1420 .LVL101:
1421 009a DAE7 b .L119
1422 .L133:
476:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1423 .loc 1 476 7 view .LVU442
1424 009c E068 ldr r0, [r4, #12]
1425 009e FFF7FEFF bl FLASH_OB_RDPConfig
1426 .LVL102:
1427 00a2 DAE7 b .L121
1428 .L134:
483:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1429 .loc 1 483 7 view .LVU443
1430 00a4 A169 ldr r1, [r4, #24]
1431 00a6 6069 ldr r0, [r4, #20]
1432 00a8 FFF7FEFF bl FLASH_OB_UserConfig
1433 .LVL103:
1434 00ac D9E7 b .L122
1435 .L135:
489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1436 .loc 1 489 7 view .LVU444
492:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1437 .loc 1 492 7 view .LVU445
1438 00ae E369 ldr r3, [r4, #28]
1439 00b0 A26A ldr r2, [r4, #40]
1440 00b2 616A ldr r1, [r4, #36]
1441 00b4 206A ldr r0, [r4, #32]
1442 00b6 FFF7FEFF bl FLASH_OB_PCROPConfig
1443 .LVL104:
1444 00ba D6E7 b .L123
1445 .L136:
498:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1446 .loc 1 498 7 view .LVU446
1447 00bc 2069 ldr r0, [r4, #16]
1448 00be FFF7FEFF bl FLASH_OB_BOR_LevelConfig
1449 .LVL105:
1450 00c2 D6E7 b .L124
1451 .L137:
517:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1452 .loc 1 517 7 view .LVU447
1453 00c4 626B ldr r2, [r4, #52]
1454 00c6 216B ldr r1, [r4, #48]
1455 00c8 E06A ldr r0, [r4, #44]
1456 00ca FFF7FEFF bl FLASH_OB_BootAddConfig
1457 .LVL106:
1458 00ce D4E7 b .L125
1459 .L138:
524:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1460 .loc 1 524 7 view .LVU448
1461 00d0 E369 ldr r3, [r4, #28]
1462 00d2 226C ldr r2, [r4, #64]
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 64
1463 00d4 E16B ldr r1, [r4, #60]
1464 00d6 A06B ldr r0, [r4, #56]
1465 00d8 FFF7FEFF bl FLASH_OB_SecureAreaConfig
1466 .LVL107:
1467 00dc D1E7 b .L126
1468 .LVL108:
1469 .L129:
445:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1470 .loc 1 445 12 is_stmt 0 view .LVU449
1471 00de 0125 movs r5, #1
1472 00e0 9FE7 b .L118
1473 .LVL109:
1474 .L127:
432:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1475 .loc 1 432 3 discriminator 1 view .LVU450
1476 00e2 0225 movs r5, #2
1477 00e4 A0E7 b .L117
1478 .L140:
1479 00e6 00BF .align 2
1480 .L139:
1481 00e8 00000000 .word pFlash
1482 .cfi_endproc
1483 .LFE337:
1485 .section .text.HAL_FLASHEx_OBGetConfig,"ax",%progbits
1486 .align 1
1487 .global HAL_FLASHEx_OBGetConfig
1488 .syntax unified
1489 .thumb
1490 .thumb_func
1492 HAL_FLASHEx_OBGetConfig:
1493 .LVL110:
1494 .LFB338:
568:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pOBInit->OptionType = (OPTIONBYTE_USER | OPTIONBYTE_RDP | OPTIONBYTE_BOR);
1495 .loc 1 568 1 is_stmt 1 view -0
1496 .cfi_startproc
1497 @ args = 0, pretend = 0, frame = 0
1498 @ frame_needed = 0, uses_anonymous_args = 0
568:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pOBInit->OptionType = (OPTIONBYTE_USER | OPTIONBYTE_RDP | OPTIONBYTE_BOR);
1499 .loc 1 568 1 is_stmt 0 view .LVU452
1500 0000 10B5 push {r4, lr}
1501 .cfi_def_cfa_offset 8
1502 .cfi_offset 4, -8
1503 .cfi_offset 14, -4
1504 0002 0446 mov r4, r0
569:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1505 .loc 1 569 3 is_stmt 1 view .LVU453
569:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1506 .loc 1 569 23 is_stmt 0 view .LVU454
1507 0004 1623 movs r3, #22
1508 0006 0360 str r3, [r0]
572:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1509 .loc 1 572 3 is_stmt 1 view .LVU455
572:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1510 .loc 1 572 23 is_stmt 0 view .LVU456
1511 0008 FFF7FEFF bl FLASH_OB_GetRDP
1512 .LVL111:
572:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 65
1513 .loc 1 572 21 discriminator 1 view .LVU457
1514 000c E060 str r0, [r4, #12]
575:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1515 .loc 1 575 3 is_stmt 1 view .LVU458
575:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1516 .loc 1 575 25 is_stmt 0 view .LVU459
1517 000e FFF7FEFF bl FLASH_OB_GetUser
1518 .LVL112:
575:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1519 .loc 1 575 23 discriminator 1 view .LVU460
1520 0012 A061 str r0, [r4, #24]
578:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1521 .loc 1 578 3 is_stmt 1 view .LVU461
578:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1522 .loc 1 578 23 is_stmt 0 view .LVU462
1523 0014 FFF7FEFF bl FLASH_OB_GetBOR
1524 .LVL113:
578:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1525 .loc 1 578 21 discriminator 1 view .LVU463
1526 0018 2061 str r0, [r4, #16]
581:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #else
1527 .loc 1 581 3 is_stmt 1 view .LVU464
581:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #else
1528 .loc 1 581 15 is_stmt 0 view .LVU465
1529 001a E269 ldr r2, [r4, #28]
581:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #else
1530 .loc 1 581 40 view .LVU466
1531 001c 531E subs r3, r2, #1
581:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #else
1532 .loc 1 581 6 view .LVU467
1533 001e 012B cmp r3, #1
1534 0020 10D9 bls .L144
1535 .L142:
599:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined(DUAL_CORE)
1536 .loc 1 599 3 is_stmt 1 view .LVU468
1537 0022 04F13401 add r1, r4, #52
1538 0026 04F13000 add r0, r4, #48
1539 002a FFF7FEFF bl FLASH_OB_GetBootAdd
1540 .LVL114:
606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /*DUAL_CORE*/
1541 .loc 1 606 3 view .LVU469
606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /*DUAL_CORE*/
1542 .loc 1 606 10 is_stmt 0 view .LVU470
1543 002e 2368 ldr r3, [r4]
606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /*DUAL_CORE*/
1544 .loc 1 606 23 view .LVU471
1545 0030 43F04002 orr r2, r3, #64
1546 0034 2260 str r2, [r4]
610:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1547 .loc 1 610 3 is_stmt 1 view .LVU472
610:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1548 .loc 1 610 23 is_stmt 0 view .LVU473
1549 0036 43F0C003 orr r3, r3, #192
1550 003a 2360 str r3, [r4]
613:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* FLASH_OTPBL_LOCKBL */
1551 .loc 1 613 3 is_stmt 1 view .LVU474
613:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* FLASH_OTPBL_LOCKBL */
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 66
1552 .loc 1 613 27 is_stmt 0 view .LVU475
1553 003c FFF7FEFF bl FLASH_OB_OTP_GetLock
1554 .LVL115:
613:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* FLASH_OTPBL_LOCKBL */
1555 .loc 1 613 25 discriminator 1 view .LVU476
1556 0040 6064 str r0, [r4, #68]
629:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1557 .loc 1 629 1 view .LVU477
1558 0042 10BD pop {r4, pc}
1559 .LVL116:
1560 .L144:
586:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1561 .loc 1 586 5 is_stmt 1 view .LVU478
586:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1562 .loc 1 586 12 is_stmt 0 view .LVU479
1563 0044 2368 ldr r3, [r4]
586:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1564 .loc 1 586 25 view .LVU480
1565 0046 43F02903 orr r3, r3, #41
1566 004a 2146 mov r1, r4
1567 004c 41F8083B str r3, [r1], #8
589:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1568 .loc 1 589 5 is_stmt 1 view .LVU481
1569 0050 201D adds r0, r4, #4
1570 0052 FFF7FEFF bl FLASH_OB_GetWRP
1571 .LVL117:
592:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1572 .loc 1 592 5 view .LVU482
1573 0056 E369 ldr r3, [r4, #28]
1574 0058 04F12802 add r2, r4, #40
1575 005c 04F12401 add r1, r4, #36
1576 0060 04F12000 add r0, r4, #32
1577 0064 FFF7FEFF bl FLASH_OB_GetPCROP
1578 .LVL118:
595:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1579 .loc 1 595 5 view .LVU483
1580 0068 E369 ldr r3, [r4, #28]
1581 006a 04F14002 add r2, r4, #64
1582 006e 04F13C01 add r1, r4, #60
1583 0072 04F13800 add r0, r4, #56
1584 0076 FFF7FEFF bl FLASH_OB_GetSecureArea
1585 .LVL119:
1586 007a D2E7 b .L142
1587 .cfi_endproc
1588 .LFE338:
1590 .section .text.HAL_FLASHEx_Unlock_Bank1,"ax",%progbits
1591 .align 1
1592 .global HAL_FLASHEx_Unlock_Bank1
1593 .syntax unified
1594 .thumb
1595 .thumb_func
1597 HAL_FLASHEx_Unlock_Bank1:
1598 .LFB339:
636:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if(READ_BIT(FLASH->CR1, FLASH_CR_LOCK) != 0U)
1599 .loc 1 636 1 view -0
1600 .cfi_startproc
1601 @ args = 0, pretend = 0, frame = 0
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 67
1602 @ frame_needed = 0, uses_anonymous_args = 0
1603 @ link register save eliminated.
637:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1604 .loc 1 637 3 view .LVU485
637:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1605 .loc 1 637 6 is_stmt 0 view .LVU486
1606 0000 0A4B ldr r3, .L149
1607 0002 DB68 ldr r3, [r3, #12]
637:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1608 .loc 1 637 5 view .LVU487
1609 0004 13F0010F tst r3, #1
1610 0008 0BD0 beq .L147
640:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** WRITE_REG(FLASH->KEYR1, FLASH_KEY2);
1611 .loc 1 640 5 is_stmt 1 view .LVU488
1612 000a 084B ldr r3, .L149
1613 000c 084A ldr r2, .L149+4
1614 000e 5A60 str r2, [r3, #4]
641:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1615 .loc 1 641 5 view .LVU489
1616 0010 02F18832 add r2, r2, #-2004318072
1617 0014 5A60 str r2, [r3, #4]
644:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1618 .loc 1 644 5 view .LVU490
644:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1619 .loc 1 644 9 is_stmt 0 view .LVU491
1620 0016 DB68 ldr r3, [r3, #12]
644:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1621 .loc 1 644 8 view .LVU492
1622 0018 13F0010F tst r3, #1
1623 001c 03D1 bne .L148
650:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1624 .loc 1 650 10 view .LVU493
1625 001e 0020 movs r0, #0
1626 0020 7047 bx lr
1627 .L147:
1628 0022 0020 movs r0, #0
1629 0024 7047 bx lr
1630 .L148:
646:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1631 .loc 1 646 14 view .LVU494
1632 0026 0120 movs r0, #1
651:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1633 .loc 1 651 1 view .LVU495
1634 0028 7047 bx lr
1635 .L150:
1636 002a 00BF .align 2
1637 .L149:
1638 002c 00200052 .word 1375739904
1639 0030 23016745 .word 1164378403
1640 .cfi_endproc
1641 .LFE339:
1643 .section .text.HAL_FLASHEx_Lock_Bank1,"ax",%progbits
1644 .align 1
1645 .global HAL_FLASHEx_Lock_Bank1
1646 .syntax unified
1647 .thumb
1648 .thumb_func
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 68
1650 HAL_FLASHEx_Lock_Bank1:
1651 .LFB340:
658:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Set the LOCK Bit to lock the FLASH Bank1 Registers access */
1652 .loc 1 658 1 is_stmt 1 view -0
1653 .cfi_startproc
1654 @ args = 0, pretend = 0, frame = 0
1655 @ frame_needed = 0, uses_anonymous_args = 0
1656 @ link register save eliminated.
660:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** return HAL_OK;
1657 .loc 1 660 3 view .LVU497
1658 0000 034A ldr r2, .L152
1659 0002 D368 ldr r3, [r2, #12]
1660 0004 43F00103 orr r3, r3, #1
1661 0008 D360 str r3, [r2, #12]
661:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1662 .loc 1 661 3 view .LVU498
662:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1663 .loc 1 662 1 is_stmt 0 view .LVU499
1664 000a 0020 movs r0, #0
1665 000c 7047 bx lr
1666 .L153:
1667 000e 00BF .align 2
1668 .L152:
1669 0010 00200052 .word 1375739904
1670 .cfi_endproc
1671 .LFE340:
1673 .section .text.HAL_FLASHEx_Unlock_Bank2,"ax",%progbits
1674 .align 1
1675 .global HAL_FLASHEx_Unlock_Bank2
1676 .syntax unified
1677 .thumb
1678 .thumb_func
1680 HAL_FLASHEx_Unlock_Bank2:
1681 .LFB341:
670:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** if(READ_BIT(FLASH->CR2, FLASH_CR_LOCK) != 0U)
1682 .loc 1 670 1 is_stmt 1 view -0
1683 .cfi_startproc
1684 @ args = 0, pretend = 0, frame = 0
1685 @ frame_needed = 0, uses_anonymous_args = 0
1686 @ link register save eliminated.
671:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1687 .loc 1 671 3 view .LVU501
671:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1688 .loc 1 671 6 is_stmt 0 view .LVU502
1689 0000 0C4B ldr r3, .L158
1690 0002 D3F80C31 ldr r3, [r3, #268]
671:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1691 .loc 1 671 5 view .LVU503
1692 0006 13F0010F tst r3, #1
1693 000a 0ED0 beq .L156
674:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** WRITE_REG(FLASH->KEYR2, FLASH_KEY2);
1694 .loc 1 674 5 is_stmt 1 view .LVU504
1695 000c 094B ldr r3, .L158
1696 000e 0A4A ldr r2, .L158+4
1697 0010 C3F80421 str r2, [r3, #260]
675:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1698 .loc 1 675 5 view .LVU505
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 69
1699 0014 02F18832 add r2, r2, #-2004318072
1700 0018 C3F80421 str r2, [r3, #260]
678:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1701 .loc 1 678 5 view .LVU506
678:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1702 .loc 1 678 9 is_stmt 0 view .LVU507
1703 001c D3F80C31 ldr r3, [r3, #268]
678:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1704 .loc 1 678 8 view .LVU508
1705 0020 13F0010F tst r3, #1
1706 0024 03D1 bne .L157
684:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1707 .loc 1 684 10 view .LVU509
1708 0026 0020 movs r0, #0
1709 0028 7047 bx lr
1710 .L156:
1711 002a 0020 movs r0, #0
1712 002c 7047 bx lr
1713 .L157:
680:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1714 .loc 1 680 14 view .LVU510
1715 002e 0120 movs r0, #1
685:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1716 .loc 1 685 1 view .LVU511
1717 0030 7047 bx lr
1718 .L159:
1719 0032 00BF .align 2
1720 .L158:
1721 0034 00200052 .word 1375739904
1722 0038 23016745 .word 1164378403
1723 .cfi_endproc
1724 .LFE341:
1726 .section .text.HAL_FLASHEx_Lock_Bank2,"ax",%progbits
1727 .align 1
1728 .global HAL_FLASHEx_Lock_Bank2
1729 .syntax unified
1730 .thumb
1731 .thumb_func
1733 HAL_FLASHEx_Lock_Bank2:
1734 .LFB342:
692:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** /* Set the LOCK Bit to lock the FLASH Bank2 Registers access */
1735 .loc 1 692 1 is_stmt 1 view -0
1736 .cfi_startproc
1737 @ args = 0, pretend = 0, frame = 0
1738 @ frame_needed = 0, uses_anonymous_args = 0
1739 @ link register save eliminated.
694:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** return HAL_OK;
1740 .loc 1 694 3 view .LVU513
1741 0000 044A ldr r2, .L161
1742 0002 D2F80C31 ldr r3, [r2, #268]
1743 0006 43F00103 orr r3, r3, #1
1744 000a C2F80C31 str r3, [r2, #268]
695:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1745 .loc 1 695 3 view .LVU514
696:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* DUAL_BANK */
1746 .loc 1 696 1 is_stmt 0 view .LVU515
1747 000e 0020 movs r0, #0
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 70
1748 0010 7047 bx lr
1749 .L162:
1750 0012 00BF .align 2
1751 .L161:
1752 0014 00200052 .word 1375739904
1753 .cfi_endproc
1754 .LFE342:
1756 .section .text.HAL_FLASHEx_ComputeCRC,"ax",%progbits
1757 .align 1
1758 .global HAL_FLASHEx_ComputeCRC
1759 .syntax unified
1760 .thumb
1761 .thumb_func
1763 HAL_FLASHEx_ComputeCRC:
1764 .LVL120:
1765 .LFB343:
711:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** HAL_StatusTypeDef status;
1766 .loc 1 711 1 is_stmt 1 view -0
1767 .cfi_startproc
1768 @ args = 0, pretend = 0, frame = 0
1769 @ frame_needed = 0, uses_anonymous_args = 0
711:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** HAL_StatusTypeDef status;
1770 .loc 1 711 1 is_stmt 0 view .LVU517
1771 0000 70B5 push {r4, r5, r6, lr}
1772 .cfi_def_cfa_offset 16
1773 .cfi_offset 4, -16
1774 .cfi_offset 5, -12
1775 .cfi_offset 6, -8
1776 .cfi_offset 14, -4
1777 0002 0446 mov r4, r0
1778 0004 0E46 mov r6, r1
712:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** uint32_t sector_index;
1779 .loc 1 712 3 is_stmt 1 view .LVU518
713:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1780 .loc 1 713 3 view .LVU519
716:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_FLASH_TYPECRC(pCRCInit->TypeCRC));
1781 .loc 1 716 3 view .LVU520
717:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1782 .loc 1 717 3 view .LVU521
720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1783 .loc 1 720 3 view .LVU522
720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1784 .loc 1 720 12 is_stmt 0 view .LVU523
1785 0006 4CF25030 movw r0, #50000
1786 .LVL121:
720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1787 .loc 1 720 12 view .LVU524
1788 000a FFF7FEFF bl FLASH_OB_WaitForLastOperation
1789 .LVL122:
722:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1790 .loc 1 722 3 is_stmt 1 view .LVU525
722:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1791 .loc 1 722 6 is_stmt 0 view .LVU526
1792 000e 0028 cmp r0, #0
1793 0010 40F09D80 bne .L164
724:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1794 .loc 1 724 5 is_stmt 1 view .LVU527
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 71
724:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1795 .loc 1 724 17 is_stmt 0 view .LVU528
1796 0014 A368 ldr r3, [r4, #8]
724:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1797 .loc 1 724 8 view .LVU529
1798 0016 012B cmp r3, #1
1799 0018 25D0 beq .L177
776:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1800 .loc 1 776 7 is_stmt 1 view .LVU530
776:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1801 .loc 1 776 12 is_stmt 0 view .LVU531
1802 001a 504B ldr r3, .L180
1803 001c D3F80C21 ldr r2, [r3, #268]
776:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1804 .loc 1 776 18 view .LVU532
1805 0020 42F40042 orr r2, r2, #32768
1806 0024 C3F80C21 str r2, [r3, #268]
779:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1807 .loc 1 779 7 is_stmt 1 view .LVU533
779:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1808 .loc 1 779 12 is_stmt 0 view .LVU534
1809 0028 D3F81421 ldr r2, [r3, #276]
779:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1810 .loc 1 779 19 view .LVU535
1811 002c 42F0C052 orr r2, r2, #402653184
1812 0030 C3F81421 str r2, [r3, #276]
782:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1813 .loc 1 782 7 is_stmt 1 view .LVU536
782:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1814 .loc 1 782 12 is_stmt 0 view .LVU537
1815 0034 D3F85021 ldr r2, [r3, #336]
782:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1816 .loc 1 782 56 view .LVU538
1817 0038 6168 ldr r1, [r4, #4]
782:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1818 .loc 1 782 78 view .LVU539
1819 003a 2068 ldr r0, [r4]
782:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1820 .loc 1 782 68 view .LVU540
1821 003c 0143 orrs r1, r1, r0
782:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1822 .loc 1 782 21 view .LVU541
1823 003e 0A43 orrs r2, r2, r1
1824 0040 42F40032 orr r2, r2, #131072
1825 0044 C3F85021 str r2, [r3, #336]
784:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1826 .loc 1 784 7 is_stmt 1 view .LVU542
784:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1827 .loc 1 784 19 is_stmt 0 view .LVU543
1828 0048 2368 ldr r3, [r4]
784:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1829 .loc 1 784 10 view .LVU544
1830 004a B3F5807F cmp r3, #256
1831 004e 53D0 beq .L178
795:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1832 .loc 1 795 12 is_stmt 1 view .LVU545
795:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 72
1833 .loc 1 795 15 is_stmt 0 view .LVU546
1834 0050 434A ldr r2, .L180+4
1835 0052 9342 cmp r3, r2
1836 0054 7CD1 bne .L175
798:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1837 .loc 1 798 9 is_stmt 1 view .LVU547
798:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1838 .loc 1 798 14 is_stmt 0 view .LVU548
1839 0056 414A ldr r2, .L180
1840 0058 D2F85031 ldr r3, [r2, #336]
798:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1841 .loc 1 798 23 view .LVU549
1842 005c 43F48003 orr r3, r3, #4194304
1843 0060 C2F85031 str r3, [r2, #336]
1844 0064 5BE0 b .L174
1845 .L177:
727:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1846 .loc 1 727 7 is_stmt 1 view .LVU550
727:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1847 .loc 1 727 12 is_stmt 0 view .LVU551
1848 0066 3D4B ldr r3, .L180
1849 0068 DA68 ldr r2, [r3, #12]
727:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1850 .loc 1 727 18 view .LVU552
1851 006a 42F40042 orr r2, r2, #32768
1852 006e DA60 str r2, [r3, #12]
730:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1853 .loc 1 730 7 is_stmt 1 view .LVU553
730:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1854 .loc 1 730 12 is_stmt 0 view .LVU554
1855 0070 5A69 ldr r2, [r3, #20]
730:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1856 .loc 1 730 19 view .LVU555
1857 0072 42F0C052 orr r2, r2, #402653184
1858 0076 5A61 str r2, [r3, #20]
733:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1859 .loc 1 733 7 is_stmt 1 view .LVU556
733:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1860 .loc 1 733 12 is_stmt 0 view .LVU557
1861 0078 1A6D ldr r2, [r3, #80]
733:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1862 .loc 1 733 56 view .LVU558
1863 007a 6168 ldr r1, [r4, #4]
733:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1864 .loc 1 733 78 view .LVU559
1865 007c 2068 ldr r0, [r4]
733:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1866 .loc 1 733 68 view .LVU560
1867 007e 0143 orrs r1, r1, r0
733:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1868 .loc 1 733 21 view .LVU561
1869 0080 0A43 orrs r2, r2, r1
1870 0082 42F40032 orr r2, r2, #131072
1871 0086 1A65 str r2, [r3, #80]
735:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1872 .loc 1 735 7 is_stmt 1 view .LVU562
735:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 73
1873 .loc 1 735 19 is_stmt 0 view .LVU563
1874 0088 2368 ldr r3, [r4]
735:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1875 .loc 1 735 10 view .LVU564
1876 008a B3F5807F cmp r3, #256
1877 008e 08D0 beq .L179
746:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1878 .loc 1 746 12 is_stmt 1 view .LVU565
746:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1879 .loc 1 746 15 is_stmt 0 view .LVU566
1880 0090 334A ldr r2, .L180+4
1881 0092 9342 cmp r3, r2
1882 0094 2AD1 bne .L170
749:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1883 .loc 1 749 9 is_stmt 1 view .LVU567
749:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1884 .loc 1 749 14 is_stmt 0 view .LVU568
1885 0096 314A ldr r2, .L180
1886 0098 136D ldr r3, [r2, #80]
749:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1887 .loc 1 749 23 view .LVU569
1888 009a 43F48003 orr r3, r3, #4194304
1889 009e 1365 str r3, [r2, #80]
1890 00a0 10E0 b .L169
1891 .L179:
738:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1892 .loc 1 738 9 is_stmt 1 view .LVU570
738:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1893 .loc 1 738 14 is_stmt 0 view .LVU571
1894 00a2 2E4A ldr r2, .L180
1895 00a4 136D ldr r3, [r2, #80]
738:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1896 .loc 1 738 23 view .LVU572
1897 00a6 43F48063 orr r3, r3, #1024
1898 00aa 1365 str r3, [r2, #80]
741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1899 .loc 1 741 9 is_stmt 1 view .LVU573
741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1900 .loc 1 741 26 is_stmt 0 view .LVU574
1901 00ac E568 ldr r5, [r4, #12]
1902 .LVL123:
741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1903 .loc 1 741 9 view .LVU575
1904 00ae 04E0 b .L167
1905 .L168:
743:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1906 .loc 1 743 11 is_stmt 1 view .LVU576
1907 00b0 0121 movs r1, #1
1908 00b2 2846 mov r0, r5
1909 00b4 FFF7FEFF bl FLASH_CRC_AddSector
1910 .LVL124:
741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1911 .loc 1 741 115 discriminator 3 view .LVU577
1912 00b8 0135 adds r5, r5, #1
1913 .LVL125:
1914 .L167:
741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 74
1915 .loc 1 741 59 discriminator 1 view .LVU578
741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1916 .loc 1 741 70 is_stmt 0 discriminator 1 view .LVU579
1917 00ba 2369 ldr r3, [r4, #16]
741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1918 .loc 1 741 92 discriminator 1 view .LVU580
1919 00bc E268 ldr r2, [r4, #12]
741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1920 .loc 1 741 82 discriminator 1 view .LVU581
1921 00be 1344 add r3, r3, r2
741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1922 .loc 1 741 59 discriminator 1 view .LVU582
1923 00c0 AB42 cmp r3, r5
1924 00c2 F5D8 bhi .L168
1925 .LVL126:
1926 .L169:
758:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1927 .loc 1 758 7 is_stmt 1 view .LVU583
758:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1928 .loc 1 758 12 is_stmt 0 view .LVU584
1929 00c4 254C ldr r4, .L180
1930 .LVL127:
758:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1931 .loc 1 758 12 view .LVU585
1932 00c6 236D ldr r3, [r4, #80]
758:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1933 .loc 1 758 21 view .LVU586
1934 00c8 43F48033 orr r3, r3, #65536
1935 00cc 2365 str r3, [r4, #80]
761:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1936 .loc 1 761 7 is_stmt 1 view .LVU587
761:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1937 .loc 1 761 16 is_stmt 0 view .LVU588
1938 00ce 0121 movs r1, #1
1939 00d0 4CF25030 movw r0, #50000
1940 00d4 FFF7FEFF bl FLASH_CRC_WaitForLastOperation
1941 .LVL128:
764:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1942 .loc 1 764 7 is_stmt 1 view .LVU589
764:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1943 .loc 1 764 28 is_stmt 0 view .LVU590
1944 00d8 E36D ldr r3, [r4, #92]
764:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1945 .loc 1 764 21 view .LVU591
1946 00da 3360 str r3, [r6]
767:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1947 .loc 1 767 7 is_stmt 1 view .LVU592
767:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1948 .loc 1 767 12 is_stmt 0 view .LVU593
1949 00dc E368 ldr r3, [r4, #12]
767:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1950 .loc 1 767 18 view .LVU594
1951 00de 23F40043 bic r3, r3, #32768
1952 00e2 E360 str r3, [r4, #12]
770:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1953 .loc 1 770 7 is_stmt 1 view .LVU595
1954 00e4 4FF0C053 mov r3, #402653184
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 75
1955 00e8 6361 str r3, [r4, #20]
1956 00ea 30E0 b .L164
1957 .LVL129:
1958 .L170:
754:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1959 .loc 1 754 9 view .LVU596
1960 00ec 0122 movs r2, #1
1961 00ee A169 ldr r1, [r4, #24]
1962 00f0 6069 ldr r0, [r4, #20]
1963 00f2 FFF7FEFF bl FLASH_CRC_SelectAddress
1964 .LVL130:
1965 00f6 E5E7 b .L169
1966 .L178:
787:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1967 .loc 1 787 9 view .LVU597
787:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1968 .loc 1 787 14 is_stmt 0 view .LVU598
1969 00f8 184A ldr r2, .L180
1970 00fa D2F85031 ldr r3, [r2, #336]
787:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
1971 .loc 1 787 23 view .LVU599
1972 00fe 43F48063 orr r3, r3, #1024
1973 0102 C2F85031 str r3, [r2, #336]
790:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1974 .loc 1 790 9 is_stmt 1 view .LVU600
790:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1975 .loc 1 790 26 is_stmt 0 view .LVU601
1976 0106 E568 ldr r5, [r4, #12]
1977 .LVL131:
790:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1978 .loc 1 790 9 view .LVU602
1979 0108 04E0 b .L172
1980 .L173:
792:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
1981 .loc 1 792 11 is_stmt 1 view .LVU603
1982 010a 0221 movs r1, #2
1983 010c 2846 mov r0, r5
1984 010e FFF7FEFF bl FLASH_CRC_AddSector
1985 .LVL132:
790:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1986 .loc 1 790 115 discriminator 3 view .LVU604
1987 0112 0135 adds r5, r5, #1
1988 .LVL133:
1989 .L172:
790:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1990 .loc 1 790 59 discriminator 1 view .LVU605
790:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1991 .loc 1 790 70 is_stmt 0 discriminator 1 view .LVU606
1992 0114 2369 ldr r3, [r4, #16]
790:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1993 .loc 1 790 92 discriminator 1 view .LVU607
1994 0116 E268 ldr r2, [r4, #12]
790:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1995 .loc 1 790 82 discriminator 1 view .LVU608
1996 0118 1344 add r3, r3, r2
790:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
1997 .loc 1 790 59 discriminator 1 view .LVU609
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 76
1998 011a AB42 cmp r3, r5
1999 011c F5D8 bhi .L173
2000 .LVL134:
2001 .L174:
807:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2002 .loc 1 807 7 is_stmt 1 view .LVU610
807:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2003 .loc 1 807 12 is_stmt 0 view .LVU611
2004 011e 0F4C ldr r4, .L180
2005 .LVL135:
807:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2006 .loc 1 807 12 view .LVU612
2007 0120 D4F85031 ldr r3, [r4, #336]
807:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2008 .loc 1 807 21 view .LVU613
2009 0124 43F48033 orr r3, r3, #65536
2010 0128 C4F85031 str r3, [r4, #336]
810:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2011 .loc 1 810 7 is_stmt 1 view .LVU614
810:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2012 .loc 1 810 16 is_stmt 0 view .LVU615
2013 012c 0221 movs r1, #2
2014 012e 4CF25030 movw r0, #50000
2015 0132 FFF7FEFF bl FLASH_CRC_WaitForLastOperation
2016 .LVL136:
813:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2017 .loc 1 813 7 is_stmt 1 view .LVU616
813:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2018 .loc 1 813 28 is_stmt 0 view .LVU617
2019 0136 E36D ldr r3, [r4, #92]
813:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2020 .loc 1 813 21 view .LVU618
2021 0138 3360 str r3, [r6]
816:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2022 .loc 1 816 7 is_stmt 1 view .LVU619
816:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2023 .loc 1 816 12 is_stmt 0 view .LVU620
2024 013a D4F80C31 ldr r3, [r4, #268]
816:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2025 .loc 1 816 18 view .LVU621
2026 013e 23F40043 bic r3, r3, #32768
2027 0142 C4F80C31 str r3, [r4, #268]
819:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2028 .loc 1 819 7 is_stmt 1 view .LVU622
2029 0146 4FF0C053 mov r3, #402653184
2030 014a C4F81431 str r3, [r4, #276]
2031 .LVL137:
2032 .L164:
824:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2033 .loc 1 824 3 view .LVU623
825:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2034 .loc 1 825 1 is_stmt 0 view .LVU624
2035 014e 70BD pop {r4, r5, r6, pc}
2036 .LVL138:
2037 .L175:
803:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2038 .loc 1 803 9 is_stmt 1 view .LVU625
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 77
2039 0150 0222 movs r2, #2
2040 0152 A169 ldr r1, [r4, #24]
2041 0154 6069 ldr r0, [r4, #20]
2042 0156 FFF7FEFF bl FLASH_CRC_SelectAddress
2043 .LVL139:
2044 015a E0E7 b .L174
2045 .L181:
2046 .align 2
2047 .L180:
2048 015c 00200052 .word 1375739904
2049 0160 00014000 .word 4194560
2050 .cfi_endproc
2051 .LFE343:
2053 .section .text.FLASH_Erase_Sector,"ax",%progbits
2054 .align 1
2055 .global FLASH_Erase_Sector
2056 .syntax unified
2057 .thumb
2058 .thumb_func
2060 FLASH_Erase_Sector:
2061 .LVL140:
2062 .LFB345:
1181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_FLASH_SECTOR(Sector));
2063 .loc 1 1181 1 view -0
2064 .cfi_startproc
2065 @ args = 0, pretend = 0, frame = 0
2066 @ frame_needed = 0, uses_anonymous_args = 0
2067 @ link register save eliminated.
1182:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_FLASH_BANK_EXCLUSIVE(Banks));
2068 .loc 1 1182 3 view .LVU627
1183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #if defined (FLASH_CR_PSIZE)
2069 .loc 1 1183 3 view .LVU628
1187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* FLASH_CR_PSIZE */
2070 .loc 1 1187 3 view .LVU629
1190:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2071 .loc 1 1190 3 view .LVU630
1190:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2072 .loc 1 1190 5 is_stmt 0 view .LVU631
2073 0000 11F0010F tst r1, #1
2074 0004 0AD0 beq .L183
1199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2075 .loc 1 1199 5 is_stmt 1 view .LVU632
1199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2076 .loc 1 1199 10 is_stmt 0 view .LVU633
2077 0006 0F4A ldr r2, .L185
2078 .LVL141:
1199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2079 .loc 1 1199 10 view .LVU634
2080 0008 D368 ldr r3, [r2, #12]
1199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2081 .loc 1 1199 16 view .LVU635
2082 000a 23F4FE53 bic r3, r3, #8128
2083 000e D360 str r3, [r2, #12]
1201:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* FLASH_CR_PSIZE */
2084 .loc 1 1201 5 is_stmt 1 view .LVU636
1201:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* FLASH_CR_PSIZE */
2085 .loc 1 1201 10 is_stmt 0 view .LVU637
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 78
2086 0010 D368 ldr r3, [r2, #12]
1201:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* FLASH_CR_PSIZE */
2087 .loc 1 1201 16 view .LVU638
2088 0012 43EA8013 orr r3, r3, r0, lsl #6
2089 0016 43F02403 orr r3, r3, #36
2090 001a D360 str r3, [r2, #12]
2091 .L183:
1206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2092 .loc 1 1206 3 is_stmt 1 view .LVU639
1206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2093 .loc 1 1206 5 is_stmt 0 view .LVU640
2094 001c 11F0020F tst r1, #2
2095 0020 0ED0 beq .L182
1215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2096 .loc 1 1215 5 is_stmt 1 view .LVU641
1215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2097 .loc 1 1215 10 is_stmt 0 view .LVU642
2098 0022 084A ldr r2, .L185
2099 0024 D2F80C31 ldr r3, [r2, #268]
1215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2100 .loc 1 1215 16 view .LVU643
2101 0028 23F4FE53 bic r3, r3, #8128
2102 002c C2F80C31 str r3, [r2, #268]
1217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* FLASH_CR_PSIZE */
2103 .loc 1 1217 5 is_stmt 1 view .LVU644
1217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* FLASH_CR_PSIZE */
2104 .loc 1 1217 10 is_stmt 0 view .LVU645
2105 0030 D2F80C31 ldr r3, [r2, #268]
1217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** #endif /* FLASH_CR_PSIZE */
2106 .loc 1 1217 16 view .LVU646
2107 0034 43EA8013 orr r3, r3, r0, lsl #6
2108 0038 43F02403 orr r3, r3, #36
2109 003c C2F80C31 str r3, [r2, #268]
2110 .L182:
1221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2111 .loc 1 1221 1 view .LVU647
2112 0040 7047 bx lr
2113 .L186:
2114 0042 00BF .align 2
2115 .L185:
2116 0044 00200052 .word 1375739904
2117 .cfi_endproc
2118 .LFE345:
2120 .section .text.HAL_FLASHEx_Erase,"ax",%progbits
2121 .align 1
2122 .global HAL_FLASHEx_Erase
2123 .syntax unified
2124 .thumb
2125 .thumb_func
2127 HAL_FLASHEx_Erase:
2128 .LVL142:
2129 .LFB335:
187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
2130 .loc 1 187 1 is_stmt 1 view -0
2131 .cfi_startproc
2132 @ args = 0, pretend = 0, frame = 0
2133 @ frame_needed = 0, uses_anonymous_args = 0
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 79
187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
2134 .loc 1 187 1 is_stmt 0 view .LVU649
2135 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
2136 .cfi_def_cfa_offset 24
2137 .cfi_offset 3, -24
2138 .cfi_offset 4, -20
2139 .cfi_offset 5, -16
2140 .cfi_offset 6, -12
2141 .cfi_offset 7, -8
2142 .cfi_offset 14, -4
188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** uint32_t sector_index;
2143 .loc 1 188 3 is_stmt 1 view .LVU650
2144 .LVL143:
189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2145 .loc 1 189 3 view .LVU651
192:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_FLASH_BANK(pEraseInit->Banks));
2146 .loc 1 192 3 view .LVU652
193:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2147 .loc 1 193 3 view .LVU653
196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2148 .loc 1 196 3 view .LVU654
196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2149 .loc 1 196 3 view .LVU655
2150 0002 474B ldr r3, .L214
2151 0004 1B7D ldrb r3, [r3, #20] @ zero_extendqisi2
2152 0006 012B cmp r3, #1
2153 0008 00F08880 beq .L201
2154 000c 0446 mov r4, r0
2155 000e 0F46 mov r7, r1
196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2156 .loc 1 196 3 discriminator 2 view .LVU656
2157 0010 434B ldr r3, .L214
2158 0012 0122 movs r2, #1
2159 0014 1A75 strb r2, [r3, #20]
196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2160 .loc 1 196 3 view .LVU657
199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2161 .loc 1 199 3 view .LVU658
199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2162 .loc 1 199 20 is_stmt 0 view .LVU659
2163 0016 0022 movs r2, #0
2164 0018 9A61 str r2, [r3, #24]
202:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2165 .loc 1 202 3 is_stmt 1 view .LVU660
202:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2166 .loc 1 202 17 is_stmt 0 view .LVU661
2167 001a 4368 ldr r3, [r0, #4]
202:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2168 .loc 1 202 5 view .LVU662
2169 001c 13F0010F tst r3, #1
2170 0020 0DD1 bne .L208
188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** uint32_t sector_index;
2171 .loc 1 188 21 view .LVU663
2172 0022 0025 movs r5, #0
2173 .LVL144:
2174 .L189:
212:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 80
2175 .loc 1 212 3 is_stmt 1 view .LVU664
212:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2176 .loc 1 212 17 is_stmt 0 view .LVU665
2177 0024 6368 ldr r3, [r4, #4]
212:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2178 .loc 1 212 5 view .LVU666
2179 0026 13F0020F tst r3, #2
2180 002a 12D1 bne .L209
2181 .L190:
221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2182 .loc 1 221 3 is_stmt 1 view .LVU667
221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2183 .loc 1 221 5 is_stmt 0 view .LVU668
2184 002c CDB9 cbnz r5, .L191
223:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2185 .loc 1 223 5 is_stmt 1 view .LVU669
223:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2186 .loc 1 223 18 is_stmt 0 view .LVU670
2187 002e 2368 ldr r3, [r4]
223:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2188 .loc 1 223 7 view .LVU671
2189 0030 012B cmp r3, #1
2190 0032 1BD0 beq .L210
254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2191 .loc 1 254 7 is_stmt 1 view .LVU672
254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2192 .loc 1 254 20 is_stmt 0 view .LVU673
2193 0034 4FF0FF33 mov r3, #-1
2194 0038 3B60 str r3, [r7]
257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2195 .loc 1 257 7 is_stmt 1 view .LVU674
257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2196 .loc 1 257 24 is_stmt 0 view .LVU675
2197 003a A668 ldr r6, [r4, #8]
2198 .LVL145:
257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2199 .loc 1 257 7 view .LVU676
2200 003c 4CE0 b .L196
2201 .LVL146:
2202 .L208:
204:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2203 .loc 1 204 5 is_stmt 1 view .LVU677
204:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2204 .loc 1 204 8 is_stmt 0 view .LVU678
2205 003e 0121 movs r1, #1
2206 .LVL147:
204:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2207 .loc 1 204 8 view .LVU679
2208 0040 4CF25030 movw r0, #50000
2209 .LVL148:
204:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2210 .loc 1 204 8 view .LVU680
2211 0044 FFF7FEFF bl FLASH_WaitForLastOperation
2212 .LVL149:
204:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2213 .loc 1 204 7 discriminator 1 view .LVU681
2214 0048 0546 mov r5, r0
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 81
2215 004a 0028 cmp r0, #0
2216 004c EAD0 beq .L189
206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2217 .loc 1 206 14 view .LVU682
2218 004e 0125 movs r5, #1
2219 0050 E8E7 b .L189
2220 .LVL150:
2221 .L209:
214:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2222 .loc 1 214 5 is_stmt 1 view .LVU683
214:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2223 .loc 1 214 8 is_stmt 0 view .LVU684
2224 0052 0221 movs r1, #2
2225 0054 4CF25030 movw r0, #50000
2226 0058 FFF7FEFF bl FLASH_WaitForLastOperation
2227 .LVL151:
214:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2228 .loc 1 214 7 discriminator 1 view .LVU685
2229 005c 0028 cmp r0, #0
2230 005e E5D0 beq .L190
216:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2231 .loc 1 216 14 view .LVU686
2232 0060 0125 movs r5, #1
2233 .LVL152:
2234 .L191:
291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2235 .loc 1 291 3 is_stmt 1 view .LVU687
291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2236 .loc 1 291 3 view .LVU688
2237 0062 2F4B ldr r3, .L214
2238 0064 0022 movs r2, #0
2239 0066 1A75 strb r2, [r3, #20]
291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2240 .loc 1 291 3 view .LVU689
293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2241 .loc 1 293 3 view .LVU690
2242 .LVL153:
2243 .L188:
294:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2244 .loc 1 294 1 is_stmt 0 view .LVU691
2245 0068 2846 mov r0, r5
2246 006a F8BD pop {r3, r4, r5, r6, r7, pc}
2247 .LVL154:
2248 .L210:
226:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2249 .loc 1 226 7 is_stmt 1 view .LVU692
2250 006c 6168 ldr r1, [r4, #4]
2251 006e 2069 ldr r0, [r4, #16]
2252 0070 FFF7FEFF bl FLASH_MassErase
2253 .LVL155:
229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2254 .loc 1 229 7 view .LVU693
229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2255 .loc 1 229 21 is_stmt 0 view .LVU694
2256 0074 6368 ldr r3, [r4, #4]
229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2257 .loc 1 229 9 view .LVU695
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 82
2258 0076 13F0010F tst r3, #1
2259 007a 12D1 bne .L211
2260 .L193:
240:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2261 .loc 1 240 7 is_stmt 1 view .LVU696
240:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2262 .loc 1 240 21 is_stmt 0 view .LVU697
2263 007c 6368 ldr r3, [r4, #4]
240:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2264 .loc 1 240 9 view .LVU698
2265 007e 13F0020F tst r3, #2
2266 0082 EED0 beq .L191
242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2267 .loc 1 242 9 is_stmt 1 view .LVU699
242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2268 .loc 1 242 12 is_stmt 0 view .LVU700
2269 0084 0221 movs r1, #2
2270 0086 4CF25030 movw r0, #50000
2271 008a FFF7FEFF bl FLASH_WaitForLastOperation
2272 .LVL156:
242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2273 .loc 1 242 11 discriminator 1 view .LVU701
2274 008e 00B1 cbz r0, .L195
244:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2275 .loc 1 244 18 view .LVU702
2276 0090 0125 movs r5, #1
2277 .LVL157:
2278 .L195:
247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2279 .loc 1 247 9 is_stmt 1 view .LVU703
247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2280 .loc 1 247 14 is_stmt 0 view .LVU704
2281 0092 244A ldr r2, .L214+4
2282 0094 D2F80C31 ldr r3, [r2, #268]
247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2283 .loc 1 247 20 view .LVU705
2284 0098 23F00803 bic r3, r3, #8
2285 009c C2F80C31 str r3, [r2, #268]
2286 00a0 DFE7 b .L191
2287 .L211:
231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2288 .loc 1 231 9 is_stmt 1 view .LVU706
231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2289 .loc 1 231 12 is_stmt 0 view .LVU707
2290 00a2 0121 movs r1, #1
2291 00a4 4CF25030 movw r0, #50000
2292 00a8 FFF7FEFF bl FLASH_WaitForLastOperation
2293 .LVL158:
231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2294 .loc 1 231 11 discriminator 1 view .LVU708
2295 00ac 00B1 cbz r0, .L194
233:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2296 .loc 1 233 18 view .LVU709
2297 00ae 0125 movs r5, #1
2298 .LVL159:
2299 .L194:
236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 83
2300 .loc 1 236 9 is_stmt 1 view .LVU710
236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2301 .loc 1 236 14 is_stmt 0 view .LVU711
2302 00b0 1C4A ldr r2, .L214+4
2303 00b2 D368 ldr r3, [r2, #12]
236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2304 .loc 1 236 20 view .LVU712
2305 00b4 23F00803 bic r3, r3, #8
2306 00b8 D360 str r3, [r2, #12]
2307 00ba DFE7 b .L193
2308 .LVL160:
2309 .L213:
264:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2310 .loc 1 264 11 is_stmt 1 view .LVU713
264:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2311 .loc 1 264 20 is_stmt 0 view .LVU714
2312 00bc 0121 movs r1, #1
2313 00be 4CF25030 movw r0, #50000
2314 00c2 FFF7FEFF bl FLASH_WaitForLastOperation
2315 .LVL161:
2316 00c6 0546 mov r5, r0
2317 .LVL162:
267:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2318 .loc 1 267 11 is_stmt 1 view .LVU715
267:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2319 .loc 1 267 16 is_stmt 0 view .LVU716
2320 00c8 164A ldr r2, .L214+4
2321 00ca D168 ldr r1, [r2, #12]
267:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2322 .loc 1 267 22 view .LVU717
2323 00cc 164B ldr r3, .L214+8
2324 00ce 0B40 ands r3, r3, r1
2325 00d0 D360 str r3, [r2, #12]
2326 00d2 0FE0 b .L197
2327 .L198:
280:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2328 .loc 1 280 9 is_stmt 1 view .LVU718
280:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2329 .loc 1 280 11 is_stmt 0 view .LVU719
2330 00d4 05BB cbnz r5, .L212
257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2331 .loc 1 257 119 is_stmt 1 discriminator 2 view .LVU720
2332 00d6 0136 adds r6, r6, #1
2333 .LVL163:
2334 .L196:
257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2335 .loc 1 257 59 discriminator 1 view .LVU721
257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2336 .loc 1 257 72 is_stmt 0 discriminator 1 view .LVU722
2337 00d8 E368 ldr r3, [r4, #12]
257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2338 .loc 1 257 96 discriminator 1 view .LVU723
2339 00da A268 ldr r2, [r4, #8]
257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2340 .loc 1 257 84 discriminator 1 view .LVU724
2341 00dc 1344 add r3, r3, r2
257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 84
2342 .loc 1 257 59 discriminator 1 view .LVU725
2343 00de B342 cmp r3, r6
2344 00e0 BFD9 bls .L191
259:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2345 .loc 1 259 9 is_stmt 1 view .LVU726
2346 00e2 2269 ldr r2, [r4, #16]
2347 00e4 6168 ldr r1, [r4, #4]
2348 00e6 3046 mov r0, r6
2349 00e8 FFF7FEFF bl FLASH_Erase_Sector
2350 .LVL164:
261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2351 .loc 1 261 9 view .LVU727
261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2352 .loc 1 261 23 is_stmt 0 view .LVU728
2353 00ec 6368 ldr r3, [r4, #4]
261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2354 .loc 1 261 11 view .LVU729
2355 00ee 13F0010F tst r3, #1
2356 00f2 E3D1 bne .L213
2357 .L197:
270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2358 .loc 1 270 9 is_stmt 1 view .LVU730
270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2359 .loc 1 270 23 is_stmt 0 view .LVU731
2360 00f4 6368 ldr r3, [r4, #4]
270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2361 .loc 1 270 11 view .LVU732
2362 00f6 13F0020F tst r3, #2
2363 00fa EBD0 beq .L198
273:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2364 .loc 1 273 11 is_stmt 1 view .LVU733
273:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2365 .loc 1 273 20 is_stmt 0 view .LVU734
2366 00fc 0221 movs r1, #2
2367 00fe 4CF25030 movw r0, #50000
2368 0102 FFF7FEFF bl FLASH_WaitForLastOperation
2369 .LVL165:
2370 0106 0546 mov r5, r0
2371 .LVL166:
276:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2372 .loc 1 276 11 is_stmt 1 view .LVU735
276:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2373 .loc 1 276 16 is_stmt 0 view .LVU736
2374 0108 064A ldr r2, .L214+4
2375 010a D2F80C11 ldr r1, [r2, #268]
276:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2376 .loc 1 276 22 view .LVU737
2377 010e 064B ldr r3, .L214+8
2378 0110 0B40 ands r3, r3, r1
2379 0112 C2F80C31 str r3, [r2, #268]
2380 0116 DDE7 b .L198
2381 .L212:
283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** break;
2382 .loc 1 283 11 is_stmt 1 view .LVU738
283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** break;
2383 .loc 1 283 24 is_stmt 0 view .LVU739
2384 0118 3E60 str r6, [r7]
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 85
284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2385 .loc 1 284 11 is_stmt 1 view .LVU740
2386 011a A2E7 b .L191
2387 .LVL167:
2388 .L201:
196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2389 .loc 1 196 3 is_stmt 0 discriminator 1 view .LVU741
2390 011c 0225 movs r5, #2
2391 011e A3E7 b .L188
2392 .L215:
2393 .align 2
2394 .L214:
2395 0120 00000000 .word pFlash
2396 0124 00200052 .word 1375739904
2397 0128 3BE0FFFF .word -8133
2398 .cfi_endproc
2399 .LFE335:
2401 .section .text.HAL_FLASHEx_Erase_IT,"ax",%progbits
2402 .align 1
2403 .global HAL_FLASHEx_Erase_IT
2404 .syntax unified
2405 .thumb
2406 .thumb_func
2408 HAL_FLASHEx_Erase_IT:
2409 .LVL168:
2410 .LFB336:
304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
2411 .loc 1 304 1 is_stmt 1 view -0
2412 .cfi_startproc
2413 @ args = 0, pretend = 0, frame = 0
2414 @ frame_needed = 0, uses_anonymous_args = 0
304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
2415 .loc 1 304 1 is_stmt 0 view .LVU743
2416 0000 38B5 push {r3, r4, r5, lr}
2417 .cfi_def_cfa_offset 16
2418 .cfi_offset 3, -16
2419 .cfi_offset 4, -12
2420 .cfi_offset 5, -8
2421 .cfi_offset 14, -4
305:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2422 .loc 1 305 3 is_stmt 1 view .LVU744
2423 .LVL169:
308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** assert_param(IS_FLASH_BANK(pEraseInit->Banks));
2424 .loc 1 308 3 view .LVU745
309:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2425 .loc 1 309 3 view .LVU746
312:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2426 .loc 1 312 3 view .LVU747
312:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2427 .loc 1 312 3 view .LVU748
2428 0002 374B ldr r3, .L241
2429 0004 1B7D ldrb r3, [r3, #20] @ zero_extendqisi2
2430 0006 012B cmp r3, #1
2431 0008 68D0 beq .L230
2432 000a 0446 mov r4, r0
312:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2433 .loc 1 312 3 discriminator 2 view .LVU749
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 86
2434 000c 344B ldr r3, .L241
2435 000e 0122 movs r2, #1
2436 0010 1A75 strb r2, [r3, #20]
312:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2437 .loc 1 312 3 view .LVU750
315:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2438 .loc 1 315 3 view .LVU751
315:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2439 .loc 1 315 20 is_stmt 0 view .LVU752
2440 0012 0022 movs r2, #0
2441 0014 9A61 str r2, [r3, #24]
318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2442 .loc 1 318 3 is_stmt 1 view .LVU753
318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2443 .loc 1 318 17 is_stmt 0 view .LVU754
2444 0016 4368 ldr r3, [r0, #4]
318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2445 .loc 1 318 5 view .LVU755
2446 0018 13F0010F tst r3, #1
2447 001c 0AD1 bne .L235
305:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2448 .loc 1 305 21 view .LVU756
2449 001e 0025 movs r5, #0
2450 .LVL170:
2451 .L218:
328:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2452 .loc 1 328 3 is_stmt 1 view .LVU757
328:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2453 .loc 1 328 17 is_stmt 0 view .LVU758
2454 0020 6368 ldr r3, [r4, #4]
328:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2455 .loc 1 328 5 view .LVU759
2456 0022 13F0020F tst r3, #2
2457 0026 0FD1 bne .L236
2458 .L219:
337:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2459 .loc 1 337 3 is_stmt 1 view .LVU760
337:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2460 .loc 1 337 6 is_stmt 0 view .LVU761
2461 0028 BDB1 cbz r5, .L221
2462 .LVL171:
2463 .L220:
340:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2464 .loc 1 340 5 is_stmt 1 view .LVU762
340:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2465 .loc 1 340 5 view .LVU763
2466 002a 2D4B ldr r3, .L241
2467 002c 0022 movs r2, #0
2468 002e 1A75 strb r2, [r3, #20]
340:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2469 .loc 1 340 5 view .LVU764
2470 .LVL172:
2471 .L217:
415:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2472 .loc 1 415 1 is_stmt 0 view .LVU765
2473 0030 2846 mov r0, r5
2474 0032 38BD pop {r3, r4, r5, pc}
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 87
2475 .LVL173:
2476 .L235:
320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2477 .loc 1 320 5 is_stmt 1 view .LVU766
320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2478 .loc 1 320 8 is_stmt 0 view .LVU767
2479 0034 0121 movs r1, #1
2480 0036 4CF25030 movw r0, #50000
2481 .LVL174:
320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2482 .loc 1 320 8 view .LVU768
2483 003a FFF7FEFF bl FLASH_WaitForLastOperation
2484 .LVL175:
320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2485 .loc 1 320 7 discriminator 1 view .LVU769
2486 003e 0546 mov r5, r0
2487 0040 0028 cmp r0, #0
2488 0042 EDD0 beq .L218
322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2489 .loc 1 322 14 view .LVU770
2490 0044 0125 movs r5, #1
2491 0046 EBE7 b .L218
2492 .LVL176:
2493 .L236:
330:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2494 .loc 1 330 5 is_stmt 1 view .LVU771
330:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2495 .loc 1 330 8 is_stmt 0 view .LVU772
2496 0048 0221 movs r1, #2
2497 004a 4CF25030 movw r0, #50000
2498 004e FFF7FEFF bl FLASH_WaitForLastOperation
2499 .LVL177:
330:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2500 .loc 1 330 7 discriminator 1 view .LVU773
2501 0052 0028 cmp r0, #0
2502 0054 E8D0 beq .L219
332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2503 .loc 1 332 14 view .LVU774
2504 0056 0125 movs r5, #1
2505 .LVL178:
332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2506 .loc 1 332 14 view .LVU775
2507 0058 E7E7 b .L220
2508 .LVL179:
2509 .L221:
344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2510 .loc 1 344 5 is_stmt 1 view .LVU776
344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2511 .loc 1 344 19 is_stmt 0 view .LVU777
2512 005a 6368 ldr r3, [r4, #4]
344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2513 .loc 1 344 7 view .LVU778
2514 005c 13F0010F tst r3, #1
2515 0060 04D0 beq .L222
351:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH_IT_STRBERR_BANK1 | FLASH_IT_INCERR_BANK1);
2516 .loc 1 351 7 is_stmt 1 view .LVU779
2517 0062 204A ldr r2, .L241+4
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 88
2518 0064 D368 ldr r3, [r2, #12]
2519 0066 43F43C13 orr r3, r3, #3080192
2520 006a D360 str r3, [r2, #12]
2521 .L222:
356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2522 .loc 1 356 5 view .LVU780
356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2523 .loc 1 356 19 is_stmt 0 view .LVU781
2524 006c 6368 ldr r3, [r4, #4]
356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2525 .loc 1 356 7 view .LVU782
2526 006e 13F0020F tst r3, #2
2527 0072 06D0 beq .L223
363:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** FLASH_IT_STRBERR_BANK2 | FLASH_IT_INCERR_BANK2);
2528 .loc 1 363 7 is_stmt 1 view .LVU783
2529 0074 1B4A ldr r2, .L241+4
2530 0076 D2F80C31 ldr r3, [r2, #268]
2531 007a 43F43C13 orr r3, r3, #3080192
2532 007e C2F80C31 str r3, [r2, #268]
2533 .L223:
369:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2534 .loc 1 369 5 view .LVU784
369:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2535 .loc 1 369 18 is_stmt 0 view .LVU785
2536 0082 2368 ldr r3, [r4]
369:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2537 .loc 1 369 7 view .LVU786
2538 0084 012B cmp r3, #1
2539 0086 11D0 beq .L237
393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2540 .loc 1 393 7 is_stmt 1 view .LVU787
393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2541 .loc 1 393 20 is_stmt 0 view .LVU788
2542 0088 6368 ldr r3, [r4, #4]
393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2543 .loc 1 393 9 view .LVU789
2544 008a 012B cmp r3, #1
2545 008c 22D0 beq .L238
399:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2546 .loc 1 399 9 is_stmt 1 view .LVU790
399:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2547 .loc 1 399 33 is_stmt 0 view .LVU791
2548 008e 144B ldr r3, .L241
2549 0090 0422 movs r2, #4
2550 0092 1A70 strb r2, [r3]
2551 .L229:
405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pFlash.Sector = pEraseInit->Sector;
2552 .loc 1 405 7 is_stmt 1 view .LVU792
405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pFlash.Sector = pEraseInit->Sector;
2553 .loc 1 405 43 is_stmt 0 view .LVU793
2554 0094 E268 ldr r2, [r4, #12]
405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pFlash.Sector = pEraseInit->Sector;
2555 .loc 1 405 31 view .LVU794
2556 0096 124B ldr r3, .L241
2557 0098 5A60 str r2, [r3, #4]
406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pFlash.VoltageForErase = pEraseInit->VoltageRange;
2558 .loc 1 406 7 is_stmt 1 view .LVU795
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 89
406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pFlash.VoltageForErase = pEraseInit->VoltageRange;
2559 .loc 1 406 33 is_stmt 0 view .LVU796
2560 009a A268 ldr r2, [r4, #8]
406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** pFlash.VoltageForErase = pEraseInit->VoltageRange;
2561 .loc 1 406 21 view .LVU797
2562 009c DA60 str r2, [r3, #12]
407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2563 .loc 1 407 7 is_stmt 1 view .LVU798
407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2564 .loc 1 407 42 is_stmt 0 view .LVU799
2565 009e 2269 ldr r2, [r4, #16]
407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2566 .loc 1 407 30 view .LVU800
2567 00a0 9A60 str r2, [r3, #8]
410:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2568 .loc 1 410 7 is_stmt 1 view .LVU801
2569 00a2 6168 ldr r1, [r4, #4]
2570 00a4 A068 ldr r0, [r4, #8]
2571 00a6 FFF7FEFF bl FLASH_Erase_Sector
2572 .LVL180:
2573 00aa C1E7 b .L217
2574 .L237:
372:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2575 .loc 1 372 7 view .LVU802
372:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2576 .loc 1 372 20 is_stmt 0 view .LVU803
2577 00ac 6168 ldr r1, [r4, #4]
372:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2578 .loc 1 372 9 view .LVU804
2579 00ae 0129 cmp r1, #1
2580 00b0 08D0 beq .L239
377:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2581 .loc 1 377 12 is_stmt 1 view .LVU805
377:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** {
2582 .loc 1 377 14 is_stmt 0 view .LVU806
2583 00b2 0229 cmp r1, #2
2584 00b4 0AD0 beq .L240
384:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2585 .loc 1 384 9 is_stmt 1 view .LVU807
384:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2586 .loc 1 384 33 is_stmt 0 view .LVU808
2587 00b6 0A4B ldr r3, .L241
2588 00b8 0722 movs r2, #7
2589 00ba 1A70 strb r2, [r3]
2590 .L226:
387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2591 .loc 1 387 7 is_stmt 1 view .LVU809
2592 00bc 2069 ldr r0, [r4, #16]
2593 00be FFF7FEFF bl FLASH_MassErase
2594 .LVL181:
2595 00c2 B5E7 b .L217
2596 .L239:
374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2597 .loc 1 374 9 view .LVU810
374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2598 .loc 1 374 33 is_stmt 0 view .LVU811
2599 00c4 064B ldr r3, .L241
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 90
2600 00c6 0222 movs r2, #2
2601 00c8 1A70 strb r2, [r3]
2602 00ca F7E7 b .L226
2603 .L240:
379:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2604 .loc 1 379 9 is_stmt 1 view .LVU812
379:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2605 .loc 1 379 33 is_stmt 0 view .LVU813
2606 00cc 044B ldr r3, .L241
2607 00ce 0522 movs r2, #5
2608 00d0 1A70 strb r2, [r3]
2609 00d2 F3E7 b .L226
2610 .L238:
395:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2611 .loc 1 395 9 is_stmt 1 view .LVU814
395:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c **** }
2612 .loc 1 395 33 is_stmt 0 view .LVU815
2613 00d4 024B ldr r3, .L241
2614 00d6 0122 movs r2, #1
2615 00d8 1A70 strb r2, [r3]
2616 00da DBE7 b .L229
2617 .LVL182:
2618 .L230:
312:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c ****
2619 .loc 1 312 3 discriminator 1 view .LVU816
2620 00dc 0225 movs r5, #2
2621 00de A7E7 b .L217
2622 .L242:
2623 .align 2
2624 .L241:
2625 00e0 00000000 .word pFlash
2626 00e4 00200052 .word 1375739904
2627 .cfi_endproc
2628 .LFE336:
2630 .text
2631 .Letext0:
2632 .file 2 "C:/Users/lenex/AppData/Roaming/Code/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-to
2633 .file 3 "C:/Users/lenex/AppData/Roaming/Code/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-to
2634 .file 4 "Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7a3xx.h"
2635 .file 5 "Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_def.h"
2636 .file 6 "Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash.h"
2637 .file 7 "Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash_ex.h"
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 91
DEFINED SYMBOLS
*ABS*:00000000 stm32h7xx_hal_flash_ex.c
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:20 .text.FLASH_MassErase:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:25 .text.FLASH_MassErase:00000000 FLASH_MassErase
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:79 .text.FLASH_MassErase:0000003c $d
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:84 .text.FLASH_OB_EnableWRP:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:89 .text.FLASH_OB_EnableWRP:00000000 FLASH_OB_EnableWRP
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:128 .text.FLASH_OB_EnableWRP:00000028 $d
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:133 .text.FLASH_OB_DisableWRP:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:138 .text.FLASH_OB_DisableWRP:00000000 FLASH_OB_DisableWRP
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:177 .text.FLASH_OB_DisableWRP:00000024 $d
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:182 .text.FLASH_OB_GetWRP:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:187 .text.FLASH_OB_GetWRP:00000000 FLASH_OB_GetWRP
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:252 .text.FLASH_OB_GetWRP:00000028 $d
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:257 .text.FLASH_OB_RDPConfig:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:262 .text.FLASH_OB_RDPConfig:00000000 FLASH_OB_RDPConfig
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:282 .text.FLASH_OB_RDPConfig:00000010 $d
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:287 .text.FLASH_OB_GetRDP:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:292 .text.FLASH_OB_GetRDP:00000000 FLASH_OB_GetRDP
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:326 .text.FLASH_OB_GetRDP:0000001c $d
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:331 .text.FLASH_OB_UserConfig:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:336 .text.FLASH_OB_UserConfig:00000000 FLASH_OB_UserConfig
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:528 .text.FLASH_OB_UserConfig:000000c0 $d
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:533 .text.FLASH_OB_GetUser:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:538 .text.FLASH_OB_GetUser:00000000 FLASH_OB_GetUser
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:561 .text.FLASH_OB_GetUser:0000000c $d
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:567 .text.FLASH_OB_PCROPConfig:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:572 .text.FLASH_OB_PCROPConfig:00000000 FLASH_OB_PCROPConfig
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:649 .text.FLASH_OB_PCROPConfig:00000040 $d
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:654 .text.FLASH_OB_GetPCROP:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:659 .text.FLASH_OB_GetPCROP:00000000 FLASH_OB_GetPCROP
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:749 .text.FLASH_OB_GetPCROP:00000048 $d
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:755 .text.FLASH_OB_BOR_LevelConfig:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:760 .text.FLASH_OB_BOR_LevelConfig:00000000 FLASH_OB_BOR_LevelConfig
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:780 .text.FLASH_OB_BOR_LevelConfig:00000010 $d
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:785 .text.FLASH_OB_GetBOR:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:790 .text.FLASH_OB_GetBOR:00000000 FLASH_OB_GetBOR
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:807 .text.FLASH_OB_GetBOR:0000000c $d
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:812 .text.FLASH_OB_BootAddConfig:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:817 .text.FLASH_OB_BootAddConfig:00000000 FLASH_OB_BootAddConfig
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:864 .text.FLASH_OB_BootAddConfig:0000002c $d
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:869 .text.FLASH_OB_GetBootAdd:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:874 .text.FLASH_OB_GetBootAdd:00000000 FLASH_OB_GetBootAdd
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:904 .text.FLASH_OB_GetBootAdd:00000010 $d
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:909 .text.FLASH_OB_SecureAreaConfig:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:914 .text.FLASH_OB_SecureAreaConfig:00000000 FLASH_OB_SecureAreaConfig
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:995 .text.FLASH_OB_SecureAreaConfig:00000048 $d
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:1000 .text.FLASH_OB_GetSecureArea:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:1005 .text.FLASH_OB_GetSecureArea:00000000 FLASH_OB_GetSecureArea
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:1095 .text.FLASH_OB_GetSecureArea:00000048 $d
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:1101 .text.FLASH_CRC_AddSector:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:1106 .text.FLASH_CRC_AddSector:00000000 FLASH_CRC_AddSector
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:1154 .text.FLASH_CRC_AddSector:00000038 $d
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:1159 .text.FLASH_CRC_SelectAddress:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:1164 .text.FLASH_CRC_SelectAddress:00000000 FLASH_CRC_SelectAddress
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:1201 .text.FLASH_CRC_SelectAddress:00000018 $d
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:1206 .text.FLASH_OB_OTP_LockConfig:00000000 $t
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s page 92
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:1211 .text.FLASH_OB_OTP_LockConfig:00000000 FLASH_OB_OTP_LockConfig
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:1235 .text.FLASH_OB_OTP_LockConfig:0000000c $d
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:1240 .text.FLASH_OB_OTP_GetLock:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:1245 .text.FLASH_OB_OTP_GetLock:00000000 FLASH_OB_OTP_GetLock
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:1261 .text.FLASH_OB_OTP_GetLock:00000008 $d
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:1266 .text.HAL_FLASHEx_OBProgram:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:1272 .text.HAL_FLASHEx_OBProgram:00000000 HAL_FLASHEx_OBProgram
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:1481 .text.HAL_FLASHEx_OBProgram:000000e8 $d
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:1486 .text.HAL_FLASHEx_OBGetConfig:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:1492 .text.HAL_FLASHEx_OBGetConfig:00000000 HAL_FLASHEx_OBGetConfig
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:1591 .text.HAL_FLASHEx_Unlock_Bank1:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:1597 .text.HAL_FLASHEx_Unlock_Bank1:00000000 HAL_FLASHEx_Unlock_Bank1
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:1638 .text.HAL_FLASHEx_Unlock_Bank1:0000002c $d
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:1644 .text.HAL_FLASHEx_Lock_Bank1:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:1650 .text.HAL_FLASHEx_Lock_Bank1:00000000 HAL_FLASHEx_Lock_Bank1
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:1669 .text.HAL_FLASHEx_Lock_Bank1:00000010 $d
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:1674 .text.HAL_FLASHEx_Unlock_Bank2:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:1680 .text.HAL_FLASHEx_Unlock_Bank2:00000000 HAL_FLASHEx_Unlock_Bank2
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:1721 .text.HAL_FLASHEx_Unlock_Bank2:00000034 $d
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:1727 .text.HAL_FLASHEx_Lock_Bank2:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:1733 .text.HAL_FLASHEx_Lock_Bank2:00000000 HAL_FLASHEx_Lock_Bank2
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:1752 .text.HAL_FLASHEx_Lock_Bank2:00000014 $d
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:1757 .text.HAL_FLASHEx_ComputeCRC:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:1763 .text.HAL_FLASHEx_ComputeCRC:00000000 HAL_FLASHEx_ComputeCRC
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:2048 .text.HAL_FLASHEx_ComputeCRC:0000015c $d
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:2054 .text.FLASH_Erase_Sector:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:2060 .text.FLASH_Erase_Sector:00000000 FLASH_Erase_Sector
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:2116 .text.FLASH_Erase_Sector:00000044 $d
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:2121 .text.HAL_FLASHEx_Erase:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:2127 .text.HAL_FLASHEx_Erase:00000000 HAL_FLASHEx_Erase
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:2395 .text.HAL_FLASHEx_Erase:00000120 $d
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:2402 .text.HAL_FLASHEx_Erase_IT:00000000 $t
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:2408 .text.HAL_FLASHEx_Erase_IT:00000000 HAL_FLASHEx_Erase_IT
C:\Users\lenex\AppData\Local\Temp\ccRfjMkk.s:2625 .text.HAL_FLASHEx_Erase_IT:000000e0 $d
UNDEFINED SYMBOLS
FLASH_WaitForLastOperation
pFlash
FLASH_OB_WaitForLastOperation
FLASH_CRC_WaitForLastOperation