mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Committer:
mbed_official
Date:
Wed Jul 01 09:45:11 2015 +0100
Revision:
579:53297373a894
Parent:
489:119543c9f674
Synchronized with git revision d5b4d2ab9c47edb4dc5776e7177b0c2263459081

Full URL: https://github.com/mbedmicro/mbed/commit/d5b4d2ab9c47edb4dc5776e7177b0c2263459081/

Initial version of drivers for SAMR21

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 376:cb4d9db17537 1 /**
mbed_official 376:cb4d9db17537 2 ******************************************************************************
mbed_official 376:cb4d9db17537 3 * @file stm32l0xx_hal_flash_ex.h
mbed_official 376:cb4d9db17537 4 * @author MCD Application Team
mbed_official 489:119543c9f674 5 * @version V1.2.0
mbed_official 489:119543c9f674 6 * @date 06-February-2015
mbed_official 489:119543c9f674 7 * @brief Header file of FLash HAL Extension module.
mbed_official 376:cb4d9db17537 8 ******************************************************************************
mbed_official 376:cb4d9db17537 9 * @attention
mbed_official 376:cb4d9db17537 10 *
mbed_official 489:119543c9f674 11 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
mbed_official 376:cb4d9db17537 12 *
mbed_official 376:cb4d9db17537 13 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 376:cb4d9db17537 14 * are permitted provided that the following conditions are met:
mbed_official 376:cb4d9db17537 15 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 376:cb4d9db17537 16 * this list of conditions and the following disclaimer.
mbed_official 376:cb4d9db17537 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 376:cb4d9db17537 18 * this list of conditions and the following disclaimer in the documentation
mbed_official 376:cb4d9db17537 19 * and/or other materials provided with the distribution.
mbed_official 376:cb4d9db17537 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 376:cb4d9db17537 21 * may be used to endorse or promote products derived from this software
mbed_official 376:cb4d9db17537 22 * without specific prior written permission.
mbed_official 376:cb4d9db17537 23 *
mbed_official 376:cb4d9db17537 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 376:cb4d9db17537 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 376:cb4d9db17537 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 376:cb4d9db17537 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 376:cb4d9db17537 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 376:cb4d9db17537 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 376:cb4d9db17537 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 376:cb4d9db17537 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 376:cb4d9db17537 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 376:cb4d9db17537 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 376:cb4d9db17537 34 *
mbed_official 376:cb4d9db17537 35 ******************************************************************************
mbed_official 376:cb4d9db17537 36 */
mbed_official 376:cb4d9db17537 37
mbed_official 376:cb4d9db17537 38 /* Define to prevent recursive inclusion -------------------------------------*/
mbed_official 376:cb4d9db17537 39 #ifndef __STM32L0xx_HAL_FLASH_EX_H
mbed_official 376:cb4d9db17537 40 #define __STM32L0xx_HAL_FLASH_EX_H
mbed_official 376:cb4d9db17537 41
mbed_official 376:cb4d9db17537 42 #ifdef __cplusplus
mbed_official 376:cb4d9db17537 43 extern "C" {
mbed_official 376:cb4d9db17537 44 #endif
mbed_official 376:cb4d9db17537 45
mbed_official 376:cb4d9db17537 46 /* Includes ------------------------------------------------------------------*/
mbed_official 376:cb4d9db17537 47 #include "stm32l0xx_hal_def.h"
mbed_official 376:cb4d9db17537 48
mbed_official 376:cb4d9db17537 49 /** @addtogroup STM32L0xx_HAL_Driver
mbed_official 376:cb4d9db17537 50 * @{
mbed_official 376:cb4d9db17537 51 */
mbed_official 376:cb4d9db17537 52
mbed_official 489:119543c9f674 53 /** @defgroup FLASHEx FLASHEx
mbed_official 376:cb4d9db17537 54 * @{
mbed_official 376:cb4d9db17537 55 */
mbed_official 376:cb4d9db17537 56
mbed_official 489:119543c9f674 57 /** @defgroup FLASHEx_Exported_Types FLASH Exported Types
mbed_official 489:119543c9f674 58 * @{
mbed_official 489:119543c9f674 59 */
mbed_official 489:119543c9f674 60
mbed_official 489:119543c9f674 61 /**
mbed_official 489:119543c9f674 62 * @brief FLASH Option Bytes PROGRAM structure definition
mbed_official 489:119543c9f674 63 */
mbed_official 489:119543c9f674 64 typedef struct
mbed_official 489:119543c9f674 65 {
mbed_official 489:119543c9f674 66 uint32_t OptionType; /*!< OptionType: Option byte to be configured.
mbed_official 489:119543c9f674 67 This parameter can be a value of @ref FLASHEx_Option_Type */
mbed_official 489:119543c9f674 68
mbed_official 489:119543c9f674 69 uint32_t WRPState; /*!< WRPState: Write protection activation or deactivation.
mbed_official 489:119543c9f674 70 This parameter can be a value of @ref FLASHEx_WRP_State */
mbed_official 489:119543c9f674 71
mbed_official 489:119543c9f674 72 uint32_t WRPSector; /*!< WRPSector: This bitfield specifies the sector (s) which are write protected.
mbed_official 489:119543c9f674 73 This parameter can be a combination of @ref FLASHEx_Option_Bytes_Write_Protection */
mbed_official 489:119543c9f674 74
mbed_official 489:119543c9f674 75 #if defined(STM32L071xx) || defined(STM32L072xx) || defined(STM32L073xx) || defined(STM32L081xx) || defined(STM32L082xx) || defined(STM32L083xx)
mbed_official 489:119543c9f674 76 uint32_t WRPSector2; /*!< WRPSector2 : This bitfield specifies the sector(s) upper Sector31 which are write protected.
mbed_official 489:119543c9f674 77 This parameter can be a combination of @ref FLASHEx_Option_Bytes_Write_Protection2 */
mbed_official 489:119543c9f674 78 #endif
mbed_official 489:119543c9f674 79
mbed_official 489:119543c9f674 80 uint8_t RDPLevel; /*!< RDPLevel: Set the read protection level.
mbed_official 489:119543c9f674 81 This parameter can be a value of @ref FLASHEx_Option_Bytes_Read_Protection */
mbed_official 489:119543c9f674 82
mbed_official 489:119543c9f674 83 uint8_t BORLevel; /*!< BORLevel: Set the BOR Level.
mbed_official 489:119543c9f674 84 This parameter can be a value of @ref FLASHEx_Option_Bytes_BOR_Level */
mbed_official 489:119543c9f674 85
mbed_official 489:119543c9f674 86 uint8_t USERConfig; /*!< USERConfig: Program the FLASH User Option Byte: IWDG_SW / RST_STOP / RST_STDBY.
mbed_official 489:119543c9f674 87 This parameter can be a combination of @ref FLASHEx_Option_Bytes_IWatchdog,
mbed_official 489:119543c9f674 88 @ref FLASHEx_Option_Bytes_nRST_STOP and @ref FLASHEx_Option_Bytes_nRST_STDBY */
mbed_official 489:119543c9f674 89
mbed_official 489:119543c9f674 90 uint8_t BOOTBit1Config; /*!< BOOT1Config: Together with input pad Boot0, this bit selects the boot source, flash, ram or system memory
mbed_official 489:119543c9f674 91 This parameter can be a value of @ref FLASHEx_Option_Bytes_BOOTBit1 */
mbed_official 489:119543c9f674 92
mbed_official 489:119543c9f674 93 } FLASH_OBProgramInitTypeDef;
mbed_official 489:119543c9f674 94
mbed_official 376:cb4d9db17537 95 /**
mbed_official 376:cb4d9db17537 96 * @brief FLASH Advanced Option Bytes Program structure definition
mbed_official 376:cb4d9db17537 97 */
mbed_official 376:cb4d9db17537 98 typedef struct
mbed_official 376:cb4d9db17537 99 {
mbed_official 489:119543c9f674 100 uint32_t OptionType; /*!< OptionType: Option byte to be configured for extension .
mbed_official 489:119543c9f674 101 This parameter can be a value of @ref FLASHEx_OptionAdv_Type */
mbed_official 489:119543c9f674 102
mbed_official 489:119543c9f674 103 uint8_t PCROPState; /*!< PCROPState: PCROP activation or deactivation.
mbed_official 489:119543c9f674 104 This parameter can be a value of @ref FLASHEx_PCROP_State */
mbed_official 376:cb4d9db17537 105
mbed_official 489:119543c9f674 106 uint32_t PCROPSector; /*!< PCROPSector : This bitfield specifies the sector(s) which are read/write protected.
mbed_official 489:119543c9f674 107 This parameter can be a combination of @ref FLASHEx_Option_Bytes_PC_ReadWrite_Protection */
mbed_official 376:cb4d9db17537 108
mbed_official 489:119543c9f674 109 #if defined (STM32L071xx) || defined (STM32L072xx) || defined (STM32L073xx) || defined (STM32L081xx) || defined (STM32L082xx) || defined (STM32L083xx)
mbed_official 489:119543c9f674 110 uint32_t PCROPSector2; /*!< PCROPSector : This bitfield specifies the sector(s) upper Sector31 which are read/write protected.
mbed_official 489:119543c9f674 111 This parameter can be a combination of @ref FLASHEx_Option_Bytes_PC_ReadWrite_Protection2 */
mbed_official 376:cb4d9db17537 112
mbed_official 489:119543c9f674 113 uint8_t BootConfig; /*!< BootConfig: specifies Option bytes for boot config.
mbed_official 489:119543c9f674 114 This parameter can be a value of @ref FLASHEx_Option_Bytes_BOOT_BANK */
mbed_official 489:119543c9f674 115 #endif /* if STM32L071xx || STM32L072xx || STM32L073xx || STM32L081xx || STM32L082xx || STM32L083xx */
mbed_official 489:119543c9f674 116 } FLASH_AdvOBProgramInitTypeDef;
mbed_official 376:cb4d9db17537 117
mbed_official 376:cb4d9db17537 118 /**
mbed_official 376:cb4d9db17537 119 * @}
mbed_official 376:cb4d9db17537 120 */
mbed_official 489:119543c9f674 121
mbed_official 489:119543c9f674 122 /** @defgroup FLASHEx_Exported_Constants FLASHEx Exported Constants
mbed_official 489:119543c9f674 123 * @{
mbed_official 489:119543c9f674 124 */
mbed_official 489:119543c9f674 125
mbed_official 489:119543c9f674 126 /** @defgroup FLASHEx_Type_Erase FLASHEx_Type_Erase
mbed_official 489:119543c9f674 127 * @{
mbed_official 489:119543c9f674 128 */
mbed_official 489:119543c9f674 129 #define FLASH_TYPEERASE_PAGES ((uint32_t)0x00) /*!< Page erase only */
mbed_official 489:119543c9f674 130 /**
mbed_official 489:119543c9f674 131 * @}
mbed_official 489:119543c9f674 132 */
mbed_official 489:119543c9f674 133
mbed_official 489:119543c9f674 134 /** @defgroup FLASHEx_Option_Type FLASHEx Option Type
mbed_official 489:119543c9f674 135 * @{
mbed_official 489:119543c9f674 136 */
mbed_official 489:119543c9f674 137 #define OPTIONBYTE_WRP ((uint32_t)0x01) /*!< WRP option byte configuration */
mbed_official 489:119543c9f674 138 #define OPTIONBYTE_RDP ((uint32_t)0x02) /*!< RDP option byte configuration */
mbed_official 489:119543c9f674 139 #define OPTIONBYTE_USER ((uint32_t)0x04) /*!< USER option byte configuration */
mbed_official 489:119543c9f674 140 #define OPTIONBYTE_BOR ((uint32_t)0x08) /*!< BOR option byte configuration */
mbed_official 489:119543c9f674 141 #define OPTIONBYTE_BOOT_BIT1 ((uint32_t)0x10) /*!< BOOT PIN1 option byte configuration*/
mbed_official 489:119543c9f674 142 /**
mbed_official 489:119543c9f674 143 * @}
mbed_official 489:119543c9f674 144 */
mbed_official 489:119543c9f674 145
mbed_official 489:119543c9f674 146 /** @defgroup FLASHEx_WRP_State FLASHEx WRP State
mbed_official 376:cb4d9db17537 147 * @{
mbed_official 376:cb4d9db17537 148 */
mbed_official 489:119543c9f674 149 #define OB_WRPSTATE_DISABLE ((uint32_t)0x00) /*!< Disable the write protection of the desired sectors */
mbed_official 489:119543c9f674 150 #define OB_WRPSTATE_ENABLE ((uint32_t)0x01) /*!< Enable the write protection of the desired sectors */
mbed_official 489:119543c9f674 151 /**
mbed_official 489:119543c9f674 152 * @}
mbed_official 489:119543c9f674 153 */
mbed_official 489:119543c9f674 154
mbed_official 489:119543c9f674 155 /** @defgroup FLASHEx_Option_Bytes_ReadWrite_Mask FLASHEx Option Bytes Write Mask
mbed_official 489:119543c9f674 156 * @{
mbed_official 489:119543c9f674 157 */
mbed_official 489:119543c9f674 158 #define WRP_MASK_LOW ((uint32_t)0x0000FFFF)
mbed_official 489:119543c9f674 159 #define WRP_MASK_HIGH ((uint32_t)0xFFFF0000)
mbed_official 489:119543c9f674 160 /**
mbed_official 489:119543c9f674 161 * @}
mbed_official 489:119543c9f674 162 */
mbed_official 376:cb4d9db17537 163
mbed_official 489:119543c9f674 164 #if defined (STM32L031xx) || defined (STM32L041xx)
mbed_official 489:119543c9f674 165 /** @defgroup FLASHEx_Option_Bytes_Write_Protection FLASHEx Option Bytes Write Protection
mbed_official 489:119543c9f674 166 * @{
mbed_official 489:119543c9f674 167 */
mbed_official 489:119543c9f674 168 #define OB_WRP_Pages0to31 ((uint32_t)0x00000001) /* Write protection of Sector0 */
mbed_official 489:119543c9f674 169 #define OB_WRP_Pages32to63 ((uint32_t)0x00000002) /* Write protection of Sector1 */
mbed_official 489:119543c9f674 170 #define OB_WRP_Pages64to95 ((uint32_t)0x00000004) /* Write protection of Sector2 */
mbed_official 489:119543c9f674 171 #define OB_WRP_Pages96to127 ((uint32_t)0x00000008) /* Write protection of Sector3 */
mbed_official 489:119543c9f674 172 #define OB_WRP_Pages128to159 ((uint32_t)0x00000010) /* Write protection of Sector4 */
mbed_official 489:119543c9f674 173 #define OB_WRP_Pages160to191 ((uint32_t)0x00000020) /* Write protection of Sector5 */
mbed_official 489:119543c9f674 174 #define OB_WRP_Pages192to223 ((uint32_t)0x00000040) /* Write protection of Sector6 */
mbed_official 489:119543c9f674 175 #define OB_WRP_Pages224to255 ((uint32_t)0x00000080) /* Write protection of Sector7 */
mbed_official 489:119543c9f674 176 #define OB_WRP_AllPages ((uint32_t)0x000000FF) /*!< Write protection of all Sectors */
mbed_official 489:119543c9f674 177 /**
mbed_official 489:119543c9f674 178 * @}
mbed_official 489:119543c9f674 179 */
mbed_official 489:119543c9f674 180 #elif defined (STM32L051xx) || defined (STM32L052xx) || defined (STM32L053xx) || defined (STM32L061xx) || defined (STM32L062xx) || defined (STM32L063xx)
mbed_official 489:119543c9f674 181 /** @defgroup FLASHEx_Option_Bytes_Write_Protection FLASHEx Option Bytes Write Protection
mbed_official 489:119543c9f674 182 * @{
mbed_official 489:119543c9f674 183 */
mbed_official 489:119543c9f674 184 #define OB_WRP_Pages0to31 ((uint32_t)0x00000001) /* Write protection of Sector0 */
mbed_official 489:119543c9f674 185 #define OB_WRP_Pages32to63 ((uint32_t)0x00000002) /* Write protection of Sector1 */
mbed_official 489:119543c9f674 186 #define OB_WRP_Pages64to95 ((uint32_t)0x00000004) /* Write protection of Sector2 */
mbed_official 489:119543c9f674 187 #define OB_WRP_Pages96to127 ((uint32_t)0x00000008) /* Write protection of Sector3 */
mbed_official 489:119543c9f674 188 #define OB_WRP_Pages128to159 ((uint32_t)0x00000010) /* Write protection of Sector4 */
mbed_official 489:119543c9f674 189 #define OB_WRP_Pages160to191 ((uint32_t)0x00000020) /* Write protection of Sector5 */
mbed_official 489:119543c9f674 190 #define OB_WRP_Pages192to223 ((uint32_t)0x00000040) /* Write protection of Sector6 */
mbed_official 489:119543c9f674 191 #define OB_WRP_Pages224to255 ((uint32_t)0x00000080) /* Write protection of Sector7 */
mbed_official 489:119543c9f674 192 #define OB_WRP_Pages256to287 ((uint32_t)0x00000100) /* Write protection of Sector8 */
mbed_official 489:119543c9f674 193 #define OB_WRP_Pages288to319 ((uint32_t)0x00000200) /* Write protection of Sector9 */
mbed_official 489:119543c9f674 194 #define OB_WRP_Pages320to351 ((uint32_t)0x00000400) /* Write protection of Sector10 */
mbed_official 489:119543c9f674 195 #define OB_WRP_Pages352to383 ((uint32_t)0x00000800) /* Write protection of Sector11 */
mbed_official 489:119543c9f674 196 #define OB_WRP_Pages384to415 ((uint32_t)0x00001000) /* Write protection of Sector12 */
mbed_official 489:119543c9f674 197 #define OB_WRP_Pages416to447 ((uint32_t)0x00002000) /* Write protection of Sector13 */
mbed_official 489:119543c9f674 198 #define OB_WRP_Pages448to479 ((uint32_t)0x00004000) /* Write protection of Sector14 */
mbed_official 489:119543c9f674 199 #define OB_WRP_Pages480to511 ((uint32_t)0x00008000) /* Write protection of Sector15 */
mbed_official 489:119543c9f674 200 #define OB_WRP_AllPages ((uint32_t)0x0000FFFF) /*!< Write protection of all Sectors */
mbed_official 376:cb4d9db17537 201 /**
mbed_official 376:cb4d9db17537 202 * @}
mbed_official 376:cb4d9db17537 203 */
mbed_official 489:119543c9f674 204
mbed_official 489:119543c9f674 205 #elif defined (STM32L071xx) || defined (STM32L072xx) || defined (STM32L073xx) || defined (STM32L081xx) || defined (STM32L082xx) || defined (STM32L083xx)
mbed_official 489:119543c9f674 206 /** @defgroup FLASHEx_Option_Bytes_Write_Protection FLASHEx Option Bytes Write ProtectionP
mbed_official 376:cb4d9db17537 207 * @{
mbed_official 376:cb4d9db17537 208 */
mbed_official 489:119543c9f674 209 #define OB_WRP_Pages0to31 ((uint32_t)0x00000001) /* Write protection of Sector0 */
mbed_official 489:119543c9f674 210 #define OB_WRP_Pages32to63 ((uint32_t)0x00000002) /* Write protection of Sector1 */
mbed_official 489:119543c9f674 211 #define OB_WRP_Pages64to95 ((uint32_t)0x00000004) /* Write protection of Sector2 */
mbed_official 489:119543c9f674 212 #define OB_WRP_Pages96to127 ((uint32_t)0x00000008) /* Write protection of Sector3 */
mbed_official 489:119543c9f674 213 #define OB_WRP_Pages128to159 ((uint32_t)0x00000010) /* Write protection of Sector4 */
mbed_official 489:119543c9f674 214 #define OB_WRP_Pages160to191 ((uint32_t)0x00000020) /* Write protection of Sector5 */
mbed_official 489:119543c9f674 215 #define OB_WRP_Pages192to223 ((uint32_t)0x00000040) /* Write protection of Sector6 */
mbed_official 489:119543c9f674 216 #define OB_WRP_Pages224to255 ((uint32_t)0x00000080) /* Write protection of Sector7 */
mbed_official 489:119543c9f674 217 #define OB_WRP_Pages256to287 ((uint32_t)0x00000100) /* Write protection of Sector8 */
mbed_official 489:119543c9f674 218 #define OB_WRP_Pages288to319 ((uint32_t)0x00000200) /* Write protection of Sector9 */
mbed_official 489:119543c9f674 219 #define OB_WRP_Pages320to351 ((uint32_t)0x00000400) /* Write protection of Sector10 */
mbed_official 489:119543c9f674 220 #define OB_WRP_Pages352to383 ((uint32_t)0x00000800) /* Write protection of Sector11 */
mbed_official 489:119543c9f674 221 #define OB_WRP_Pages384to415 ((uint32_t)0x00001000) /* Write protection of Sector12 */
mbed_official 489:119543c9f674 222 #define OB_WRP_Pages416to447 ((uint32_t)0x00002000) /* Write protection of Sector13 */
mbed_official 489:119543c9f674 223 #define OB_WRP_Pages448to479 ((uint32_t)0x00004000) /* Write protection of Sector14 */
mbed_official 489:119543c9f674 224 #define OB_WRP_Pages480to511 ((uint32_t)0x00008000) /* Write protection of Sector15 */
mbed_official 489:119543c9f674 225 #define OB_WRP_Pages512to543 ((uint32_t)0x00010000) /* Write protection of Sector16 */
mbed_official 489:119543c9f674 226 #define OB_WRP_Pages544to575 ((uint32_t)0x00020000) /* Write protection of Sector17 */
mbed_official 489:119543c9f674 227 #define OB_WRP_Pages576to607 ((uint32_t)0x00040000) /* Write protection of Sector18 */
mbed_official 489:119543c9f674 228 #define OB_WRP_Pages608to639 ((uint32_t)0x00080000) /* Write protection of Sector19 */
mbed_official 489:119543c9f674 229 #define OB_WRP_Pages640to671 ((uint32_t)0x00100000) /* Write protection of Sector20 */
mbed_official 489:119543c9f674 230 #define OB_WRP_Pages672to703 ((uint32_t)0x00200000) /* Write protection of Sector21 */
mbed_official 489:119543c9f674 231 #define OB_WRP_Pages704to735 ((uint32_t)0x00400000) /* Write protection of Sector22 */
mbed_official 489:119543c9f674 232 #define OB_WRP_Pages736to767 ((uint32_t)0x00800000) /* Write protection of Sector23 */
mbed_official 489:119543c9f674 233 #define OB_WRP_Pages768to799 ((uint32_t)0x01000000) /* Write protection of Sector24 */
mbed_official 489:119543c9f674 234 #define OB_WRP_Pages800to831 ((uint32_t)0x02000000) /* Write protection of Sector25 */
mbed_official 489:119543c9f674 235 #define OB_WRP_Pages832to863 ((uint32_t)0x04000000) /* Write protection of Sector26 */
mbed_official 489:119543c9f674 236 #define OB_WRP_Pages864to895 ((uint32_t)0x08000000) /* Write protection of Sector27 */
mbed_official 489:119543c9f674 237 #define OB_WRP_Pages896to927 ((uint32_t)0x10000000) /* Write protection of Sector28 */
mbed_official 489:119543c9f674 238 #define OB_WRP_Pages928to959 ((uint32_t)0x20000000) /* Write protection of Sector29 */
mbed_official 489:119543c9f674 239 #define OB_WRP_Pages960to991 ((uint32_t)0x40000000) /* Write protection of Sector30 */
mbed_official 489:119543c9f674 240 #define OB_WRP_Pages992to1023 ((uint32_t)0x80000000) /* Write protection of Sector31 */
mbed_official 489:119543c9f674 241 #define OB_WRP_AllPages ((uint32_t)0xFFFFFFFF) /*!<Write protection of all Sectors */
mbed_official 489:119543c9f674 242 /**
mbed_official 489:119543c9f674 243 * @}
mbed_official 489:119543c9f674 244 */
mbed_official 376:cb4d9db17537 245
mbed_official 489:119543c9f674 246 /** @defgroup FLASHEx_Option_Bytes_Write_Protection2 FLASHEx Option Bytes Write Protection
mbed_official 489:119543c9f674 247 * @{
mbed_official 489:119543c9f674 248 */
mbed_official 489:119543c9f674 249 #define OB_WRP2_Pages1024to1055 ((uint32_t)0x00000001) /* Write protection of Sector32 */
mbed_official 489:119543c9f674 250 #define OB_WRP2_Pages1056to1087 ((uint32_t)0x00000002) /* Write protection of Sector33 */
mbed_official 489:119543c9f674 251 #define OB_WRP2_Pages1088to1119 ((uint32_t)0x00000004) /* Write protection of Sector34 */
mbed_official 489:119543c9f674 252 #define OB_WRP2_Pages1120to1151 ((uint32_t)0x00000008) /* Write protection of Sector35 */
mbed_official 489:119543c9f674 253 #define OB_WRP2_Pages1152to1183 ((uint32_t)0x00000010) /* Write protection of Sector36 */
mbed_official 489:119543c9f674 254 #define OB_WRP2_Pages1184to1215 ((uint32_t)0x00000020) /* Write protection of Sector37 */
mbed_official 489:119543c9f674 255 #define OB_WRP2_Pages1216to1247 ((uint32_t)0x00000040) /* Write protection of Sector38 */
mbed_official 489:119543c9f674 256 #define OB_WRP2_Pages1248to1279 ((uint32_t)0x00000080) /* Write protection of Sector39 */
mbed_official 489:119543c9f674 257 #define OB_WRP2_Pages1280to1311 ((uint32_t)0x00000100) /* Write protection of Sector40 */
mbed_official 489:119543c9f674 258 #define OB_WRP2_Pages1312to1343 ((uint32_t)0x00000200) /* Write protection of Sector41 */
mbed_official 489:119543c9f674 259 #define OB_WRP2_Pages1344to1375 ((uint32_t)0x00000400) /* Write protection of Sector42 */
mbed_official 489:119543c9f674 260 #define OB_WRP2_Pages1376to1407 ((uint32_t)0x00000800) /* Write protection of Sector43 */
mbed_official 489:119543c9f674 261 #define OB_WRP2_Pages1408to1439 ((uint32_t)0x00001000) /* Write protection of Sector44 */
mbed_official 489:119543c9f674 262 #define OB_WRP2_Pages1440to1471 ((uint32_t)0x00002000) /* Write protection of Sector45 */
mbed_official 489:119543c9f674 263 #define OB_WRP2_Pages1472to1503 ((uint32_t)0x00004000) /* Write protection of Sector46 */
mbed_official 489:119543c9f674 264 #define OB_WRP2_Pages1504to1535 ((uint32_t)0x00008000) /* Write protection of Sector47 */
mbed_official 489:119543c9f674 265 #define OB_WRP2_AllPages ((uint32_t)0x0000FFFF) /*!< Write protection of all Sectors WRP2 */
mbed_official 489:119543c9f674 266 /**
mbed_official 489:119543c9f674 267 * @}
mbed_official 489:119543c9f674 268 */
mbed_official 489:119543c9f674 269 #endif /* STM32L071xx || STM32L072xx || (STM32L073xx) || (STM32L081xx) || (STM32L082xx) || (STM32L083xx) */
mbed_official 376:cb4d9db17537 270
mbed_official 489:119543c9f674 271 /** @defgroup FLASHEx_Option_Bytes_Read_Protection FLASHEx Option Bytes Read Protection
mbed_official 489:119543c9f674 272 * @{
mbed_official 489:119543c9f674 273 */
mbed_official 489:119543c9f674 274 #define OB_RDP_LEVEL0 ((uint8_t)0xAA)
mbed_official 489:119543c9f674 275 #define OB_RDP_LEVEL1 ((uint8_t)0xBB)
mbed_official 489:119543c9f674 276 #define OB_RDP_LEVEL2 ((uint8_t)0xCC) /* Warning: When enabling read protection level 2
mbed_official 489:119543c9f674 277 it is no more possible to go back to level 1 or 0 */
mbed_official 489:119543c9f674 278 /**
mbed_official 489:119543c9f674 279 * @}
mbed_official 489:119543c9f674 280 */
mbed_official 489:119543c9f674 281
mbed_official 489:119543c9f674 282 /** @defgroup FLASHEx_Option_Bytes_BOR_Level FLASHEx Option Bytes BOR Level
mbed_official 489:119543c9f674 283 * @{
mbed_official 489:119543c9f674 284 */
mbed_official 489:119543c9f674 285 #define OB_BOR_OFF ((uint8_t)0x00) /*!< BOR is disabled at power down, the reset is asserted when the VDD
mbed_official 489:119543c9f674 286 power supply reaches the PDR(Power Down Reset) threshold (1.5V) */
mbed_official 489:119543c9f674 287 #define OB_BOR_LEVEL1 ((uint8_t)0x08) /*!< BOR Reset threshold levels for 1.7V - 1.8V VDD power supply */
mbed_official 489:119543c9f674 288 #define OB_BOR_LEVEL2 ((uint8_t)0x09) /*!< BOR Reset threshold levels for 1.9V - 2.0V VDD power supply */
mbed_official 489:119543c9f674 289 #define OB_BOR_LEVEL3 ((uint8_t)0x0A) /*!< BOR Reset threshold levels for 2.3V - 2.4V VDD power supply */
mbed_official 489:119543c9f674 290 #define OB_BOR_LEVEL4 ((uint8_t)0x0B) /*!< BOR Reset threshold levels for 2.55V - 2.65V VDD power supply */
mbed_official 489:119543c9f674 291 #define OB_BOR_LEVEL5 ((uint8_t)0x0C) /*!< BOR Reset threshold levels for 2.8V - 2.9V VDD power supply */
mbed_official 489:119543c9f674 292 /**
mbed_official 489:119543c9f674 293 * @}
mbed_official 489:119543c9f674 294 */
mbed_official 489:119543c9f674 295
mbed_official 489:119543c9f674 296 /** @defgroup FLASHEx_Option_Bytes_IWatchdog FLASHEx Option Bytes IWatchdog
mbed_official 489:119543c9f674 297 * @{
mbed_official 489:119543c9f674 298 */
mbed_official 489:119543c9f674 299 #define OB_IWDG_SW ((uint8_t)0x10) /*!< Software WDG selected */
mbed_official 489:119543c9f674 300 #define OB_IWDG_HW ((uint8_t)0x00) /*!< Hardware WDG selected */
mbed_official 489:119543c9f674 301 /**
mbed_official 489:119543c9f674 302 * @}
mbed_official 489:119543c9f674 303 */
mbed_official 489:119543c9f674 304
mbed_official 489:119543c9f674 305 /** @defgroup FLASHEx_Option_Bytes_nRST_STOP FLASHEx Option Bytes nRST_STOP
mbed_official 489:119543c9f674 306 * @{
mbed_official 489:119543c9f674 307 */
mbed_official 489:119543c9f674 308 #define OB_STOP_NORST ((uint8_t)0x20) /*!< No reset generated when entering in STOP */
mbed_official 489:119543c9f674 309 #define OB_STOP_RST ((uint8_t)0x00) /*!< Reset generated when entering in STOP */
mbed_official 376:cb4d9db17537 310 /**
mbed_official 376:cb4d9db17537 311 * @}
mbed_official 376:cb4d9db17537 312 */
mbed_official 376:cb4d9db17537 313
mbed_official 489:119543c9f674 314 /** @defgroup FLASHEx_Option_Bytes_nRST_STDBY FLASHEx Option Bytes nRST_STDBY
mbed_official 376:cb4d9db17537 315 * @{
mbed_official 376:cb4d9db17537 316 */
mbed_official 489:119543c9f674 317 #define OB_STDBY_NORST ((uint8_t)0x40) /*!< No reset generated when entering in STANDBY */
mbed_official 489:119543c9f674 318 #define OB_STDBY_RST ((uint8_t)0x00) /*!< Reset generated when entering in STANDBY */
mbed_official 489:119543c9f674 319 /**
mbed_official 489:119543c9f674 320 * @}
mbed_official 489:119543c9f674 321 */
mbed_official 489:119543c9f674 322
mbed_official 489:119543c9f674 323
mbed_official 489:119543c9f674 324 /** @defgroup FLASHEx_PCROP_State
mbed_official 489:119543c9f674 325 * @{
mbed_official 489:119543c9f674 326 */
mbed_official 489:119543c9f674 327 #define OB_PCROP_STATE_DISABLE ((uint8_t)0x00) /*!< Disable PCROP */
mbed_official 489:119543c9f674 328 #define OB_PCROP_STATE_ENABLE ((uint8_t)0x01) /*!< Enable PCROP */
mbed_official 489:119543c9f674 329 /**
mbed_official 489:119543c9f674 330 * @}
mbed_official 489:119543c9f674 331 */
mbed_official 489:119543c9f674 332
mbed_official 489:119543c9f674 333
mbed_official 489:119543c9f674 334 /** @defgroup FLASHEx_OptionAdv_Type
mbed_official 489:119543c9f674 335 * @{
mbed_official 489:119543c9f674 336 */
mbed_official 489:119543c9f674 337 #if defined (STM32L071xx) || defined (STM32L072xx) || defined (STM32L073xx) || defined (STM32L081xx) || defined (STM32L082xx) || defined (STM32L083xx)
mbed_official 489:119543c9f674 338 #define OPTIONBYTE_PCROP ((uint32_t)0x01) /*!< PCROP option byte configuration*/
mbed_official 489:119543c9f674 339 #define OPTIONBYTE_BOOTCONFIG ((uint32_t)0x02) /*!< BOOTConfig option byte configuration, boot from bank 2*/
mbed_official 489:119543c9f674 340 #else /* if STM32L071xx || STM32L072xx || STM32L073xx || STM32L081xx || STM32L082xx || STM32L083xx */
mbed_official 489:119543c9f674 341 #define OPTIONBYTE_PCROP ((uint32_t)0x01) /*!< PCROP option byte configuration*/
mbed_official 489:119543c9f674 342 #endif /* if STM32L071xx || STM32L072xx || STM32L073xx || STM32L081xx || STM32L082xx || STM32L083xx */
mbed_official 489:119543c9f674 343 /**
mbed_official 489:119543c9f674 344 * @}
mbed_official 489:119543c9f674 345 */
mbed_official 489:119543c9f674 346
mbed_official 489:119543c9f674 347 #if defined (STM32L031xx) || defined (STM32L041xx)
mbed_official 489:119543c9f674 348 /** @defgroup FLASHEx_Option_Bytes_PC_ReadWrite_Protection FLASHEx Option Bytes PC Read/Write Protection
mbed_official 489:119543c9f674 349 * @{
mbed_official 489:119543c9f674 350 */
mbed_official 489:119543c9f674 351 #define OB_PCROP_Pages0to31 ((uint32_t)0x00000001) /* PC Read/Write protection of Sector0 */
mbed_official 489:119543c9f674 352 #define OB_PCROP_Pages32to63 ((uint32_t)0x00000002) /* PC Read/Write protection of Sector1 */
mbed_official 489:119543c9f674 353 #define OB_PCROP_Pages64to95 ((uint32_t)0x00000004) /* PC Read/Write protection of Sector2 */
mbed_official 489:119543c9f674 354 #define OB_PCROP_Pages96to127 ((uint32_t)0x00000008) /* PC Read/Write protection of Sector3 */
mbed_official 489:119543c9f674 355 #define OB_PCROP_Pages128to159 ((uint32_t)0x00000010) /* PC Read/Write protection of Sector4 */
mbed_official 489:119543c9f674 356 #define OB_PCROP_Pages160to191 ((uint32_t)0x00000020) /* PC Read/Write protection of Sector5 */
mbed_official 489:119543c9f674 357 #define OB_PCROP_Pages192to223 ((uint32_t)0x00000040) /* PC Read/Write protection of Sector6 */
mbed_official 489:119543c9f674 358 #define OB_PCROP_Pages224to255 ((uint32_t)0x00000080) /* PC Read/Write protection of Sector7 */
mbed_official 489:119543c9f674 359 #define OB_PCROP_AllPages ((uint32_t)0x000000FF) /*!< PC Read/Write protection of all Sectors */
mbed_official 489:119543c9f674 360 /**
mbed_official 489:119543c9f674 361 * @}
mbed_official 489:119543c9f674 362 */
mbed_official 489:119543c9f674 363 #elif defined (STM32L051xx) || defined (STM32L052xx) || defined (STM32L053xx) || defined (STM32L061xx) || defined (STM32L062xx) || defined (STM32L063xx)
mbed_official 489:119543c9f674 364 /** @defgroup FLASHEx_Option_Bytes_PC_ReadWrite_Protection FLASHEx Option Bytes PC Read/Write Protection
mbed_official 489:119543c9f674 365 * @{
mbed_official 489:119543c9f674 366 */
mbed_official 489:119543c9f674 367 #define OB_PCROP_Pages0to31 ((uint32_t)0x00000001) /* PC Read/Write protection of Sector0 */
mbed_official 489:119543c9f674 368 #define OB_PCROP_Pages32to63 ((uint32_t)0x00000002) /* PC Read/Write protection of Sector1 */
mbed_official 489:119543c9f674 369 #define OB_PCROP_Pages64to95 ((uint32_t)0x00000004) /* PC Read/Write protection of Sector2 */
mbed_official 489:119543c9f674 370 #define OB_PCROP_Pages96to127 ((uint32_t)0x00000008) /* PC Read/Write protection of Sector3 */
mbed_official 489:119543c9f674 371 #define OB_PCROP_Pages128to159 ((uint32_t)0x00000010) /* PC Read/Write protection of Sector4 */
mbed_official 489:119543c9f674 372 #define OB_PCROP_Pages160to191 ((uint32_t)0x00000020) /* PC Read/Write protection of Sector5 */
mbed_official 489:119543c9f674 373 #define OB_PCROP_Pages192to223 ((uint32_t)0x00000040) /* PC Read/Write protection of Sector6 */
mbed_official 489:119543c9f674 374 #define OB_PCROP_Pages224to255 ((uint32_t)0x00000080) /* PC Read/Write protection of Sector7 */
mbed_official 489:119543c9f674 375 #define OB_PCROP_Pages256to287 ((uint32_t)0x00000100) /* PC Read/Write protection of Sector8 */
mbed_official 489:119543c9f674 376 #define OB_PCROP_Pages288to319 ((uint32_t)0x00000200) /* PC Read/Write protection of Sector9 */
mbed_official 489:119543c9f674 377 #define OB_PCROP_Pages320to351 ((uint32_t)0x00000400) /* PC Read/Write protection of Sector10 */
mbed_official 489:119543c9f674 378 #define OB_PCROP_Pages352to383 ((uint32_t)0x00000800) /* PC Read/Write protection of Sector11 */
mbed_official 489:119543c9f674 379 #define OB_PCROP_Pages384to415 ((uint32_t)0x00001000) /* PC Read/Write protection of Sector12 */
mbed_official 489:119543c9f674 380 #define OB_PCROP_Pages416to447 ((uint32_t)0x00002000) /* PC Read/Write protection of Sector13 */
mbed_official 489:119543c9f674 381 #define OB_PCROP_Pages448to479 ((uint32_t)0x00004000) /* PC Read/Write protection of Sector14 */
mbed_official 489:119543c9f674 382 #define OB_PCROP_Pages480to511 ((uint32_t)0x00008000) /* PC Read/Write protection of Sector15 */
mbed_official 489:119543c9f674 383 #define OB_PCROP_AllPages ((uint32_t)0x0000FFFF) /*!< PC Read/Write protection of all Sectors */
mbed_official 376:cb4d9db17537 384 /**
mbed_official 376:cb4d9db17537 385 * @}
mbed_official 376:cb4d9db17537 386 */
mbed_official 489:119543c9f674 387 #endif
mbed_official 489:119543c9f674 388
mbed_official 489:119543c9f674 389 #if defined (STM32L071xx) || defined (STM32L072xx) || defined (STM32L073xx) || defined (STM32L081xx) || defined (STM32L082xx) || defined (STM32L083xx)
mbed_official 489:119543c9f674 390 /** @defgroup FLASHEx_Option_Bytes_PC_ReadWrite_Protection FLASHEx Option Bytes PC Read/Write Protection
mbed_official 489:119543c9f674 391 * @{
mbed_official 489:119543c9f674 392 */
mbed_official 489:119543c9f674 393 #define OB_PCROP_Pages0to31 ((uint32_t)0x00000001) /* PC Read/Write protection of Sector0 */
mbed_official 489:119543c9f674 394 #define OB_PCROP_Pages32to63 ((uint32_t)0x00000002) /* PC Read/Write protection of Sector1 */
mbed_official 489:119543c9f674 395 #define OB_PCROP_Pages64to95 ((uint32_t)0x00000004) /* PC Read/Write protection of Sector2 */
mbed_official 489:119543c9f674 396 #define OB_PCROP_Pages96to127 ((uint32_t)0x00000008) /* PC Read/Write protection of Sector3 */
mbed_official 489:119543c9f674 397 #define OB_PCROP_Pages128to159 ((uint32_t)0x00000010) /* PC Read/Write protection of Sector4 */
mbed_official 489:119543c9f674 398 #define OB_PCROP_Pages160to191 ((uint32_t)0x00000020) /* PC Read/Write protection of Sector5 */
mbed_official 489:119543c9f674 399 #define OB_PCROP_Pages192to223 ((uint32_t)0x00000040) /* PC Read/Write protection of Sector6 */
mbed_official 489:119543c9f674 400 #define OB_PCROP_Pages224to255 ((uint32_t)0x00000080) /* PC Read/Write protection of Sector7 */
mbed_official 489:119543c9f674 401 #define OB_PCROP_Pages256to287 ((uint32_t)0x00000100) /* PC Read/Write protection of Sector8 */
mbed_official 489:119543c9f674 402 #define OB_PCROP_Pages288to319 ((uint32_t)0x00000200) /* PC Read/Write protection of Sector9 */
mbed_official 489:119543c9f674 403 #define OB_PCROP_Pages320to351 ((uint32_t)0x00000400) /* PC Read/Write protection of Sector10 */
mbed_official 489:119543c9f674 404 #define OB_PCROP_Pages352to383 ((uint32_t)0x00000800) /* PC Read/Write protection of Sector11 */
mbed_official 489:119543c9f674 405 #define OB_PCROP_Pages384to415 ((uint32_t)0x00001000) /* PC Read/Write protection of Sector12 */
mbed_official 489:119543c9f674 406 #define OB_PCROP_Pages416to447 ((uint32_t)0x00002000) /* PC Read/Write protection of Sector13 */
mbed_official 489:119543c9f674 407 #define OB_PCROP_Pages448to479 ((uint32_t)0x00004000) /* PC Read/Write protection of Sector14 */
mbed_official 489:119543c9f674 408 #define OB_PCROP_Pages480to511 ((uint32_t)0x00008000) /* PC Read/Write protection of Sector15 */
mbed_official 489:119543c9f674 409 #define OB_PCROP_Pages512to543 ((uint32_t)0x00010000) /* PC Read/Write protection of Sector16 */
mbed_official 489:119543c9f674 410 #define OB_PCROP_Pages544to575 ((uint32_t)0x00020000) /* PC Read/Write protection of Sector17 */
mbed_official 489:119543c9f674 411 #define OB_PCROP_Pages576to607 ((uint32_t)0x00040000) /* PC Read/Write protection of Sector18 */
mbed_official 489:119543c9f674 412 #define OB_PCROP_Pages608to639 ((uint32_t)0x00080000) /* PC Read/Write protection of Sector19 */
mbed_official 489:119543c9f674 413 #define OB_PCROP_Pages640to671 ((uint32_t)0x00100000) /* PC Read/Write protection of Sector20 */
mbed_official 489:119543c9f674 414 #define OB_PCROP_Pages672to703 ((uint32_t)0x00200000) /* PC Read/Write protection of Sector21 */
mbed_official 489:119543c9f674 415 #define OB_PCROP_Pages704to735 ((uint32_t)0x00400000) /* PC Read/Write protection of Sector22 */
mbed_official 489:119543c9f674 416 #define OB_PCROP_Pages736to767 ((uint32_t)0x00800000) /* PC Read/Write protection of Sector23 */
mbed_official 489:119543c9f674 417 #define OB_PCROP_Pages768to799 ((uint32_t)0x01000000) /* PC Read/Write protection of Sector24 */
mbed_official 489:119543c9f674 418 #define OB_PCROP_Pages800to831 ((uint32_t)0x02000000) /* PC Read/Write protection of Sector25 */
mbed_official 489:119543c9f674 419 #define OB_PCROP_Pages832to863 ((uint32_t)0x04000000) /* PC Read/Write protection of Sector26 */
mbed_official 489:119543c9f674 420 #define OB_PCROP_Pages864to895 ((uint32_t)0x08000000) /* PC Read/Write protection of Sector27 */
mbed_official 489:119543c9f674 421 #define OB_PCROP_Pages896to927 ((uint32_t)0x10000000) /* PC Read/Write protection of Sector28 */
mbed_official 489:119543c9f674 422 #define OB_PCROP_Pages928to959 ((uint32_t)0x20000000) /* PC Read/Write protection of Sector29 */
mbed_official 489:119543c9f674 423 #define OB_PCROP_Pages960to991 ((uint32_t)0x40000000) /* PC Read/Write protection of Sector30 */
mbed_official 489:119543c9f674 424 #define OB_PCROP_Pages992to1023 ((uint32_t)0x80000000) /* PC Read/Write protection of Sector31 */
mbed_official 489:119543c9f674 425 #define OB_PCROP_AllPages ((uint32_t)0xFFFFFFFF) /*!<PC Read/Write protection of all Sectors */
mbed_official 489:119543c9f674 426 /**
mbed_official 489:119543c9f674 427 * @}
mbed_official 489:119543c9f674 428 */
mbed_official 489:119543c9f674 429
mbed_official 489:119543c9f674 430 /** @defgroup FLASHEx_Option_Bytes_ReadWrite_Protection2 FLASHEx Option Bytes Read Write Protection
mbed_official 489:119543c9f674 431 * @{
mbed_official 489:119543c9f674 432 */
mbed_official 489:119543c9f674 433 #define OB_PCROP2_Pages1024to1055 ((uint32_t)0x00000001) /* PC Read/Write protection of Sector32 */
mbed_official 489:119543c9f674 434 #define OB_PCROP2_Pages1056to1087 ((uint32_t)0x00000002) /* PC Read/Write protection of Sector33 */
mbed_official 489:119543c9f674 435 #define OB_PCROP2_Pages1088to1119 ((uint32_t)0x00000004) /* PC Read/Write protection of Sector34 */
mbed_official 489:119543c9f674 436 #define OB_PCROP2_Pages1120to1151 ((uint32_t)0x00000008) /* PC Read/Write protection of Sector35 */
mbed_official 489:119543c9f674 437 #define OB_PCROP2_Pages1152to1183 ((uint32_t)0x00000010) /* PC Read/Write protection of Sector36 */
mbed_official 489:119543c9f674 438 #define OB_PCROP2_Pages1184to1215 ((uint32_t)0x00000020) /* PC Read/Write protection of Sector37 */
mbed_official 489:119543c9f674 439 #define OB_PCROP2_Pages1216to1247 ((uint32_t)0x00000040) /* PC Read/Write protection of Sector38 */
mbed_official 489:119543c9f674 440 #define OB_PCROP2_Pages1248to1279 ((uint32_t)0x00000080) /* PC Read/Write protection of Sector39 */
mbed_official 489:119543c9f674 441 #define OB_PCROP2_Pages1280to1311 ((uint32_t)0x00000100) /* PC Read/Write protection of Sector40 */
mbed_official 489:119543c9f674 442 #define OB_PCROP2_Pages1312to1343 ((uint32_t)0x00000200) /* PC Read/Write protection of Sector41 */
mbed_official 489:119543c9f674 443 #define OB_PCROP2_Pages1344to1375 ((uint32_t)0x00000400) /* PC Read/Write protection of Sector42 */
mbed_official 489:119543c9f674 444 #define OB_PCROP2_Pages1376to1407 ((uint32_t)0x00000800) /* PC Read/Write protection of Sector43 */
mbed_official 489:119543c9f674 445 #define OB_PCROP2_Pages1408to1439 ((uint32_t)0x00001000) /* PC Read/Write protection of Sector44 */
mbed_official 489:119543c9f674 446 #define OB_PCROP2_Pages1440to1471 ((uint32_t)0x00002000) /* PC Read/Write protection of Sector45 */
mbed_official 489:119543c9f674 447 #define OB_PCROP2_Pages1472to1503 ((uint32_t)0x00004000) /* PC Read/Write protection of Sector46 */
mbed_official 489:119543c9f674 448 #define OB_PCROP2_Pages1504to1535 ((uint32_t)0x00008000) /* PC Read/Write protection of Sector47 */
mbed_official 489:119543c9f674 449 #define OB_PCROP2_AllPages ((uint32_t)0x0000FFFF) /*!< PC Read/Write protection of all Sectors PCROP2 */
mbed_official 489:119543c9f674 450 /**
mbed_official 489:119543c9f674 451 * @}
mbed_official 489:119543c9f674 452 */
mbed_official 489:119543c9f674 453 #endif /* if STM32L071xx || STM32L072xx || STM32L073xx || STM32L081xx || STM32L082xx || STM32L083xx */
mbed_official 489:119543c9f674 454
mbed_official 489:119543c9f674 455 /** @defgroup FLASHEx_Option_Bytes_BOOTBit1
mbed_official 489:119543c9f674 456 * @{
mbed_official 489:119543c9f674 457 */
mbed_official 489:119543c9f674 458 #define OB_BOOT_BIT1_RESET (uint8_t)(0x00) /*!< BOOT Bit 1 Reset */
mbed_official 489:119543c9f674 459 #define OB_BOOT_BIT1_SET (uint8_t)(0x01) /*!< BOOT Bit 1 Set */
mbed_official 489:119543c9f674 460 /**
mbed_official 489:119543c9f674 461 * @}
mbed_official 489:119543c9f674 462 */
mbed_official 489:119543c9f674 463
mbed_official 489:119543c9f674 464 #if defined (STM32L071xx) || defined (STM32L072xx) || defined (STM32L073xx) || defined (STM32L081xx) || defined (STM32L082xx) || defined (STM32L083xx)
mbed_official 489:119543c9f674 465 /** @defgroup FLASHEx_Option_Bytes_BOOT_BANK FLASHEx Option Bytes BOOT BANK
mbed_official 489:119543c9f674 466 * @{
mbed_official 489:119543c9f674 467 */
mbed_official 489:119543c9f674 468 #define OB_BOOT_BANK1 ((uint8_t)0x00) /*!< At startup, if boot pin 0 and BOOT1 bit are set in boot from user Flash position
mbed_official 489:119543c9f674 469 and this parameter is selected the device will boot from Bank 2
mbed_official 489:119543c9f674 470 or Bank 1, depending on the activation of the bank */
mbed_official 489:119543c9f674 471 #define OB_BOOT_BANK2 (uint8_t)(0x01) /*!< At startup, if boot pin 0 and BOOT1 bit are set in boot from user Flash position
mbed_official 489:119543c9f674 472 and this parameter is selected the device will boot from Bank1(Default) */
mbed_official 489:119543c9f674 473 /**
mbed_official 489:119543c9f674 474 * @}
mbed_official 489:119543c9f674 475 */
mbed_official 489:119543c9f674 476 #endif /* if STM32L071xx || STM32L072xx || STM32L073xx || STM32L081xx || STM32L082xx || STM32L083xx */
mbed_official 489:119543c9f674 477
mbed_official 489:119543c9f674 478 /** @defgroup FLASHEx_Type_Program_Data FLASHEx Type Program Data
mbed_official 489:119543c9f674 479 * @{
mbed_official 489:119543c9f674 480 */
mbed_official 489:119543c9f674 481 #define FLASH_TYPEPROGRAMDATA_BYTE ((uint32_t)0x00) /*!< Program byte (8-bit) at a specified address.*/
mbed_official 489:119543c9f674 482 #define FLASH_TYPEPROGRAMDATA_HALFWORD ((uint32_t)0x01) /*!< Program a half-word (16-bit) at a specified address.*/
mbed_official 489:119543c9f674 483 #define FLASH_TYPEPROGRAMDATA_WORD ((uint32_t)0x02) /*!< Program a word (32-bit) at a specified address.*/
mbed_official 489:119543c9f674 484
mbed_official 489:119543c9f674 485 /* Aliases for compatibility with the V1.0.0 package */
mbed_official 489:119543c9f674 486 #define FLASH_TYPEPROGRAM_BYTE FLASH_TYPEPROGRAMDATA_BYTE
mbed_official 489:119543c9f674 487 #define FLASH_TYPEPROGRAM_HALFWORD FLASH_TYPEPROGRAMDATA_HALFWORD
mbed_official 489:119543c9f674 488 /**
mbed_official 489:119543c9f674 489 * @}
mbed_official 489:119543c9f674 490 */
mbed_official 489:119543c9f674 491
mbed_official 489:119543c9f674 492 /** @defgroup FLASHEx_Address FLASHEx Address
mbed_official 489:119543c9f674 493 * @{
mbed_official 489:119543c9f674 494 */
mbed_official 489:119543c9f674 495 #define FLASH_NBPAGES_MAX (FLASH_SIZE / FLASH_PAGE_SIZE)
mbed_official 489:119543c9f674 496 /**
mbed_official 489:119543c9f674 497 * @}
mbed_official 489:119543c9f674 498 */
mbed_official 376:cb4d9db17537 499
mbed_official 376:cb4d9db17537 500 /**
mbed_official 376:cb4d9db17537 501 * @}
mbed_official 376:cb4d9db17537 502 */
mbed_official 489:119543c9f674 503
mbed_official 489:119543c9f674 504 /** @defgroup FLASHEx_Exported_Macros macros to control FLASH features
mbed_official 489:119543c9f674 505 * @brief
mbed_official 376:cb4d9db17537 506 * @{
mbed_official 376:cb4d9db17537 507 */
mbed_official 376:cb4d9db17537 508
mbed_official 376:cb4d9db17537 509 /**
mbed_official 376:cb4d9db17537 510 * @brief Set the FLASH Latency.
mbed_official 376:cb4d9db17537 511 * @param __LATENCY__: FLASH Latency
mbed_official 489:119543c9f674 512 * This parameter can be one of the following values:
mbed_official 489:119543c9f674 513 * @arg FLASH_LATENCY_0: FLASH Zero Latency cycle
mbed_official 489:119543c9f674 514 * @arg FLASH_LATENCY_1: FLASH One Latency cycle
mbed_official 376:cb4d9db17537 515 * @retval none
mbed_official 376:cb4d9db17537 516 */
mbed_official 376:cb4d9db17537 517 #define __HAL_FLASH_SET_LATENCY(__LATENCY__) \
mbed_official 376:cb4d9db17537 518 MODIFY_REG(FLASH->ACR, FLASH_ACR_LATENCY, (uint32_t)(__LATENCY__))
mbed_official 376:cb4d9db17537 519
mbed_official 376:cb4d9db17537 520 /**
mbed_official 489:119543c9f674 521 * @brief Enable/Disable the FLASH prefetch buffer.
mbed_official 376:cb4d9db17537 522 * @retval none
mbed_official 376:cb4d9db17537 523 */
mbed_official 489:119543c9f674 524 #define __HAL_FLASH_PREFETCH_BUFFER_ENABLE() CLEAR_BIT((FLASH->ACR), FLASH_ACR_PRFTEN)
mbed_official 489:119543c9f674 525 #define __HAL_FLASH_PREFETCH_BUFFER_DISABLE() SET_BIT((FLASH->ACR), FLASH_ACR_PRFTEN)
mbed_official 376:cb4d9db17537 526
mbed_official 376:cb4d9db17537 527 /**
mbed_official 489:119543c9f674 528 * @brief Enable/Disable the FLASH Buffer cache.
mbed_official 376:cb4d9db17537 529 * @retval none
mbed_official 376:cb4d9db17537 530 */
mbed_official 489:119543c9f674 531 #define __HAL_FLASH_BUFFER_CACHE_ENABLE() SET_BIT((FLASH->ACR), FLASH_ACR_DISAB_BUF)
mbed_official 489:119543c9f674 532 #define __HAL_FLASH_BUFFER_CACHE_DISABLE() CLEAR_BIT((FLASH->ACR), FLASH_ACR_DISAB_BUF)
mbed_official 376:cb4d9db17537 533
mbed_official 376:cb4d9db17537 534 /**
mbed_official 489:119543c9f674 535 * @brief Enable/Disable the FLASH preread buffer.
mbed_official 376:cb4d9db17537 536 * @retval none
mbed_official 376:cb4d9db17537 537 */
mbed_official 489:119543c9f674 538 #define __HAL_FLASH_PREREAD_BUFFER_ENABLE() SET_BIT((FLASH->ACR), FLASH_ACR_PRE_READ)
mbed_official 489:119543c9f674 539 #define __HAL_FLASH_PREREAD_BUFFER_DISABLE() CLEAR_BIT((FLASH->ACR), FLASH_ACR_PRE_READ)
mbed_official 376:cb4d9db17537 540
mbed_official 376:cb4d9db17537 541 /**
mbed_official 489:119543c9f674 542 * @brief Enable/Disable the FLASH power down during Sleep mode.
mbed_official 376:cb4d9db17537 543 * @retval none
mbed_official 376:cb4d9db17537 544 */
mbed_official 489:119543c9f674 545 #define __HAL_FLASH_SLEEP_POWERDOWN_ENABLE() SET_BIT(FLASH->ACR, FLASH_ACR_SLEEP_PD)
mbed_official 489:119543c9f674 546 #define __HAL_FLASH_SLEEP_POWERDOWN_DISABLE() CLEAR_BIT(FLASH->ACR, FLASH_ACR_SLEEP_PD)
mbed_official 376:cb4d9db17537 547
mbed_official 376:cb4d9db17537 548 /**
mbed_official 489:119543c9f674 549 * @brief Enable the Flash Run power down mode.
mbed_official 376:cb4d9db17537 550 * @note Writing this bit to 0 this bit, automatically the keys are
mbed_official 376:cb4d9db17537 551 * loss and a new unlock sequence is necessary to re-write it to 1.
mbed_official 376:cb4d9db17537 552 */
mbed_official 376:cb4d9db17537 553 #define __HAL_FLASH_POWER_DOWN_ENABLE() do { FLASH->PDKEYR = FLASH_PDKEY1; \
mbed_official 376:cb4d9db17537 554 FLASH->PDKEYR = FLASH_PDKEY2; \
mbed_official 489:119543c9f674 555 SET_BIT((FLASH->ACR), FLASH_ACR_RUN_PD); \
mbed_official 376:cb4d9db17537 556 } while (0)
mbed_official 376:cb4d9db17537 557
mbed_official 489:119543c9f674 558 /**
mbed_official 489:119543c9f674 559 * @brief Disable the Flash Run power down mode.
mbed_official 489:119543c9f674 560 * @note Writing this bit to 0 this bit, automatically the keys are
mbed_official 489:119543c9f674 561 * loss and a new unlock sequence is necessary to re-write it to 1.
mbed_official 489:119543c9f674 562 */
mbed_official 376:cb4d9db17537 563 #define __HAL_FLASH_POWER_DOWN_DISABLE() do { FLASH->PDKEYR = FLASH_PDKEY1; \
mbed_official 376:cb4d9db17537 564 FLASH->PDKEYR = FLASH_PDKEY2; \
mbed_official 489:119543c9f674 565 CLEAR_BIT((FLASH->ACR), FLASH_ACR_RUN_PD); \
mbed_official 376:cb4d9db17537 566 } while (0)
mbed_official 489:119543c9f674 567
mbed_official 489:119543c9f674 568 /**
mbed_official 489:119543c9f674 569 * @}
mbed_official 489:119543c9f674 570 */
mbed_official 489:119543c9f674 571
mbed_official 489:119543c9f674 572 /** @defgroup FLASHEx_Exported_Functions FLASHEx Exported functions
mbed_official 489:119543c9f674 573 * @{
mbed_official 489:119543c9f674 574 */
mbed_official 489:119543c9f674 575
mbed_official 489:119543c9f674 576 /** @defgroup FLASHEx_Exported_Functions_Group1 FLASH Memory Erasing functions
mbed_official 489:119543c9f674 577 * @{
mbed_official 489:119543c9f674 578 */
mbed_official 489:119543c9f674 579 HAL_StatusTypeDef HAL_FLASHEx_Erase(FLASH_EraseInitTypeDef *pEraseInit, uint32_t *PageError);
mbed_official 489:119543c9f674 580 HAL_StatusTypeDef HAL_FLASHEx_Erase_IT(FLASH_EraseInitTypeDef *pEraseInit);
mbed_official 489:119543c9f674 581 /**
mbed_official 489:119543c9f674 582 * @}
mbed_official 489:119543c9f674 583 */
mbed_official 489:119543c9f674 584
mbed_official 489:119543c9f674 585 /** @defgroup FLASHEx_Exported_Functions_Group2 Option Bytes Programming functions
mbed_official 489:119543c9f674 586 * @{
mbed_official 489:119543c9f674 587 */
mbed_official 489:119543c9f674 588 HAL_StatusTypeDef HAL_FLASHEx_OBProgram(FLASH_OBProgramInitTypeDef *pOBInit);
mbed_official 489:119543c9f674 589 void HAL_FLASHEx_OBGetConfig(FLASH_OBProgramInitTypeDef *pOBInit);
mbed_official 489:119543c9f674 590 HAL_StatusTypeDef HAL_FLASHEx_AdvOBProgram (FLASH_AdvOBProgramInitTypeDef *pAdvOBInit);
mbed_official 489:119543c9f674 591 void HAL_FLASHEx_AdvOBGetConfig(FLASH_AdvOBProgramInitTypeDef *pAdvOBInit);
mbed_official 489:119543c9f674 592 HAL_StatusTypeDef HAL_FLASHEx_OB_SelectPCROP(void);
mbed_official 489:119543c9f674 593 HAL_StatusTypeDef HAL_FLASHEx_OB_DeSelectPCROP(void);
mbed_official 376:cb4d9db17537 594 /**
mbed_official 376:cb4d9db17537 595 * @}
mbed_official 376:cb4d9db17537 596 */
mbed_official 376:cb4d9db17537 597
mbed_official 489:119543c9f674 598 /** @defgroup FLASHEx_Exported_Functions_Group3 DATA EEPROM Programming functions
mbed_official 489:119543c9f674 599 * @{
mbed_official 489:119543c9f674 600 */
mbed_official 376:cb4d9db17537 601 HAL_StatusTypeDef HAL_FLASHEx_DATAEEPROM_Unlock(void);
mbed_official 376:cb4d9db17537 602 HAL_StatusTypeDef HAL_FLASHEx_DATAEEPROM_Lock(void);
mbed_official 376:cb4d9db17537 603 HAL_StatusTypeDef HAL_FLASHEx_DATAEEPROM_Erase(uint32_t Address);
mbed_official 376:cb4d9db17537 604 HAL_StatusTypeDef HAL_FLASHEx_DATAEEPROM_Program(uint32_t TypeProgram, uint32_t Address, uint32_t Data);
mbed_official 489:119543c9f674 605 void HAL_FLASHEx_DATAEEPROM_EnableFixedTimeProgram(void);
mbed_official 489:119543c9f674 606 void HAL_FLASHEx_DATAEEPROM_DisableFixedTimeProgram(void);
mbed_official 376:cb4d9db17537 607
mbed_official 489:119543c9f674 608 /**
mbed_official 489:119543c9f674 609 * @}
mbed_official 489:119543c9f674 610 */
mbed_official 489:119543c9f674 611
mbed_official 489:119543c9f674 612 /**
mbed_official 489:119543c9f674 613 * @}
mbed_official 489:119543c9f674 614 */
mbed_official 489:119543c9f674 615
mbed_official 489:119543c9f674 616 /** @addtogroup FLASH_Private_Macros FLASH Private Macros
mbed_official 489:119543c9f674 617 * @{
mbed_official 489:119543c9f674 618 */
mbed_official 489:119543c9f674 619 #define IS_FLASH_TYPEERASE(__VALUE__) (((__VALUE__) == FLASH_TYPEERASE_PAGES))
mbed_official 489:119543c9f674 620
mbed_official 489:119543c9f674 621 #define IS_OPTIONBYTE(__VALUE__) (((__VALUE__) <= (OPTIONBYTE_WRP | OPTIONBYTE_RDP | \
mbed_official 489:119543c9f674 622 OPTIONBYTE_USER | OPTIONBYTE_BOR | OPTIONBYTE_BOOT_BIT1)))
mbed_official 376:cb4d9db17537 623
mbed_official 489:119543c9f674 624 #define IS_WRPSTATE(__VALUE__) (((__VALUE__) == OB_WRPSTATE_DISABLE) || \
mbed_official 489:119543c9f674 625 ((__VALUE__) == OB_WRPSTATE_ENABLE))
mbed_official 489:119543c9f674 626
mbed_official 489:119543c9f674 627 #define IS_OB_WRP(PAGE) (((PAGE) != 0x0000000))
mbed_official 489:119543c9f674 628
mbed_official 489:119543c9f674 629 #define IS_OB_RDP(__LEVEL__) (((__LEVEL__) == OB_RDP_LEVEL0)||\
mbed_official 489:119543c9f674 630 ((__LEVEL__) == OB_RDP_LEVEL1)||\
mbed_official 489:119543c9f674 631 ((__LEVEL__) == OB_RDP_LEVEL2))
mbed_official 489:119543c9f674 632
mbed_official 489:119543c9f674 633 #define IS_OB_BOR_LEVEL(__LEVEL__) ( ((__LEVEL__) == OB_BOR_OFF) || \
mbed_official 489:119543c9f674 634 ((__LEVEL__) == OB_BOR_LEVEL1) || \
mbed_official 489:119543c9f674 635 ((__LEVEL__) == OB_BOR_LEVEL2) || \
mbed_official 489:119543c9f674 636 ((__LEVEL__) == OB_BOR_LEVEL3) || \
mbed_official 489:119543c9f674 637 ((__LEVEL__) == OB_BOR_LEVEL4) || \
mbed_official 489:119543c9f674 638 ((__LEVEL__) == OB_BOR_LEVEL5))
mbed_official 376:cb4d9db17537 639
mbed_official 489:119543c9f674 640 #define IS_OB_IWDG_SOURCE(__SOURCE__) (((__SOURCE__) == OB_IWDG_SW) || ((__SOURCE__) == OB_IWDG_HW))
mbed_official 489:119543c9f674 641
mbed_official 489:119543c9f674 642 #define IS_OB_STOP_SOURCE(__SOURCE__) (((__SOURCE__) == OB_STOP_NORST) || ((__SOURCE__) == OB_STOP_RST))
mbed_official 489:119543c9f674 643
mbed_official 489:119543c9f674 644 #define IS_OB_STDBY_SOURCE(__SOURCE__) (((__SOURCE__) == OB_STDBY_NORST) || ((__SOURCE__) == OB_STDBY_RST))
mbed_official 489:119543c9f674 645
mbed_official 489:119543c9f674 646 #define IS_PCROPSTATE(VALUE)(((VALUE) == OB_PCROP_STATE_DISABLE) || \
mbed_official 489:119543c9f674 647 ((VALUE) == OB_PCROP_STATE_ENABLE))
mbed_official 489:119543c9f674 648
mbed_official 489:119543c9f674 649 #define IS_OB_PCROP(__PAGE__) (((__PAGE__) != 0x0000000))
mbed_official 489:119543c9f674 650
mbed_official 489:119543c9f674 651 #define IS_OB_BOOT1(__BOOT_BIT1__) (((__BOOT_BIT1__) == OB_BOOT_BIT1_RESET) || ((__BOOT_BIT1__) == OB_BOOT_BIT1_SET))
mbed_official 489:119543c9f674 652
mbed_official 489:119543c9f674 653 #define IS_TYPEPROGRAMDATA(__VALUE__) (((__VALUE__) == FLASH_TYPEPROGRAMDATA_BYTE) || \
mbed_official 489:119543c9f674 654 ((__VALUE__) == FLASH_TYPEPROGRAMDATA_HALFWORD) || \
mbed_official 489:119543c9f674 655 ((__VALUE__) == FLASH_TYPEPROGRAMDATA_WORD))
mbed_official 376:cb4d9db17537 656
mbed_official 489:119543c9f674 657 #define IS_NBPAGES(__PAGES__) (((__PAGES__) >= 1) && ((__PAGES__) <= FLASH_NBPAGES_MAX))
mbed_official 376:cb4d9db17537 658
mbed_official 489:119543c9f674 659 #if defined (STM32L071xx) || defined (STM32L072xx) || defined (STM32L073xx) || defined (STM32L081xx) || defined (STM32L082xx) || defined (STM32L083xx)
mbed_official 489:119543c9f674 660 #define IS_OBEX(__VALUE__)(((__VALUE__) <= (OPTIONBYTE_PCROP | OPTIONBYTE_BOOTCONFIG)))
mbed_official 489:119543c9f674 661 #define IS_OB_BOOT_BANK(__BANK__) (((__BANK__) == OB_BOOT_BANK2) || ((__BANK__) == OB_BOOT_BANK1))
mbed_official 489:119543c9f674 662 #define IS_FLASH_DATA_ADDRESS(__ADDRESS__) (((__ADDRESS__) >= DATA_EEPROM_BASE) && ((__ADDRESS__) <= DATA_EEPROM_BANK2_END))
mbed_official 489:119543c9f674 663 #define IS_FLASH_DATA_BANK1_ADDRESS(__ADDRESS__) (((__ADDRESS__) >= DATA_EEPROM_BASE) && ((__ADDRESS__) <= DATA_EEPROM_BANK1_END))
mbed_official 489:119543c9f674 664 #define IS_FLASH_DATA_BANK2_ADDRESS(__ADDRESS__) (((__ADDRESS__) >= DATA_EEPROM_BANK2_BASE) && ((__ADDRESS__) <= DATA_EEPROM_BANK2_END))
mbed_official 489:119543c9f674 665 #define IS_FLASH_PROGRAM_ADDRESS(__ADDRESS__) (((__ADDRESS__) >= FLASH_BASE) && ((__ADDRESS__) < (FLASH_BASE + FLASH_SIZE)))
mbed_official 489:119543c9f674 666 #define IS_FLASH_PROGRAM_BANK1_ADDRESS(__ADDRESS__) (((__ADDRESS__) >= FLASH_BASE) && ((__ADDRESS__) < (FLASH_BASE + (FLASH_SIZE >> 1))))
mbed_official 489:119543c9f674 667 #define IS_FLASH_PROGRAM_BANK2_ADDRESS(__ADDRESS__) (((__ADDRESS__) >= FLASH_BANK2_BASE) && ((__ADDRESS__) < (FLASH_BASE + FLASH_SIZE)))
mbed_official 489:119543c9f674 668 #else
mbed_official 489:119543c9f674 669 #define IS_OBEX(VALUE)((VALUE) == OPTIONBYTE_PCROP)
mbed_official 489:119543c9f674 670 #define IS_FLASH_DATA_ADDRESS(__ADDRESS__) (((__ADDRESS__) >= DATA_EEPROM_BASE) && ((__ADDRESS__) <= DATA_EEPROM_END))
mbed_official 489:119543c9f674 671 #define IS_FLASH_PROGRAM_ADDRESS(__ADDRESS__) (((__ADDRESS__) >= FLASH_BASE) && ((__ADDRESS__) < (FLASH_BASE + FLASH_SIZE)))
mbed_official 489:119543c9f674 672 #endif
mbed_official 489:119543c9f674 673 /**
mbed_official 489:119543c9f674 674 * @}
mbed_official 489:119543c9f674 675 */
mbed_official 376:cb4d9db17537 676
mbed_official 376:cb4d9db17537 677 /**
mbed_official 376:cb4d9db17537 678 * @}
mbed_official 376:cb4d9db17537 679 */
mbed_official 376:cb4d9db17537 680
mbed_official 376:cb4d9db17537 681 /**
mbed_official 376:cb4d9db17537 682 * @}
mbed_official 489:119543c9f674 683 */
mbed_official 376:cb4d9db17537 684
mbed_official 376:cb4d9db17537 685 #ifdef __cplusplus
mbed_official 376:cb4d9db17537 686 }
mbed_official 376:cb4d9db17537 687 #endif
mbed_official 376:cb4d9db17537 688
mbed_official 376:cb4d9db17537 689 #endif /* __STM32L0xx_HAL_FLASH_EX_H */
mbed_official 376:cb4d9db17537 690
mbed_official 376:cb4d9db17537 691 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
mbed_official 489:119543c9f674 692