1 /**
2   ******************************************************************************
3   * @file    stm32wb0x_hal_flash_ex.h
4   * @author  MCD Application Team
5   * @brief   Header file of FLASH HAL Extended module.
6   ******************************************************************************
7   * @attention
8   *
9   * Copyright (c) 2024 STMicroelectronics.
10   * All rights reserved.
11   *
12   * This software is licensed under terms that can be found in the LICENSE file
13   * in the root directory of this software component.
14   * If no LICENSE file comes with this software, it is provided AS-IS.
15   *
16   ******************************************************************************
17   */
18 
19 /* Define to prevent recursive inclusion -------------------------------------*/
20 #ifndef STM32WB0x_HAL_FLASH_EX_H
21 #define STM32WB0x_HAL_FLASH_EX_H
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
27 /* Includes ------------------------------------------------------------------*/
28 #include "stm32wb0x_hal_def.h"
29 
30 /** @addtogroup STM32WB0x_HAL_Driver
31   * @{
32   */
33 
34 /** @addtogroup FLASHEx
35   * @{
36   */
37 
38 /* Exported types ------------------------------------------------------------*/
39 /* Exported constants --------------------------------------------------------*/
40 /* Exported macro ------------------------------------------------------------*/
41 /* Exported functions --------------------------------------------------------*/
42 /** @addtogroup FLASHEx_Exported_Functions
43   * @{
44   */
45 
46 /* Extended Program operation functions  *************************************/
47 /** @addtogroup FLASHEx_Exported_Functions_Group1
48   * @{
49   */
50 HAL_StatusTypeDef HAL_FLASHEx_Erase(FLASH_EraseInitTypeDef *pEraseInit, uint32_t *PageError);
51 HAL_StatusTypeDef HAL_FLASHEx_Erase_IT(FLASH_EraseInitTypeDef *pEraseInit);
52 HAL_StatusTypeDef HAL_FLASHEx_OTPWrite(uint32_t Address, uint32_t Data);
53 HAL_StatusTypeDef HAL_FLASHEx_OTPWrite_IT(uint32_t Address, uint32_t Data);
54 HAL_StatusTypeDef HAL_FLASHEx_PageProtection(FLASH_PageProtectionTypeDef *pageProtectionStruct);
55 uint32_t          HAL_FLASHEx_GetProtection_Level(void);
56 HAL_StatusTypeDef HAL_FLASHEx_Protection_Config(uint32_t ProtectionLevel);
57 HAL_StatusTypeDef HAL_FLASHEx_MassRead(uint32_t pattern);
58 HAL_StatusTypeDef HAL_FLASHEx_LFSRSignature(uint32_t *LFSR_Result);
59 /**
60   * @}
61   */
62 
63 /**
64   * @}
65   */
66 
67 /* Private macros ------------------------------------------------------------*/
68 /* Private Functions ---------------------------------------------------------*/
69 /** @defgroup FLASHEx_Private_Functions FLASHEx Private Functions
70   * @{
71   */
72 void              FLASH_PageErase(uint32_t Page);
73 /**
74   * @}
75   */
76 
77 /**
78   * @}
79   */
80 
81 /**
82   * @}
83   */
84 
85 #ifdef __cplusplus
86 }
87 #endif
88 
89 #endif /* STM32WB0x_HAL_FLASH_EX_H */
90