1 /**
2   ******************************************************************************
3   * @file    stm32g4xx_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) 2019 STMicroelectronics.
10   * All rights reserved.
11   *
12   * This software is licensed under terms that can be found in the LICENSE file in
13   * 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 /* Define to prevent recursive inclusion -------------------------------------*/
19 #ifndef STM32G4xx_HAL_FLASH_EX_H
20 #define STM32G4xx_HAL_FLASH_EX_H
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
26 /* Includes ------------------------------------------------------------------*/
27 #include "stm32g4xx_hal_def.h"
28 
29 /** @addtogroup STM32G4xx_HAL_Driver
30   * @{
31   */
32 
33 /** @addtogroup FLASHEx
34   * @{
35   */
36 
37 /* Exported types ------------------------------------------------------------*/
38 
39 /* Exported constants --------------------------------------------------------*/
40 
41 /* Exported macro ------------------------------------------------------------*/
42 
43 /* Exported functions --------------------------------------------------------*/
44 /** @addtogroup FLASHEx_Exported_Functions
45   * @{
46   */
47 
48 /* Extended Program operation functions  *************************************/
49 /** @addtogroup FLASHEx_Exported_Functions_Group1
50   * @{
51   */
52 HAL_StatusTypeDef HAL_FLASHEx_Erase(FLASH_EraseInitTypeDef *pEraseInit, uint32_t *PageError);
53 HAL_StatusTypeDef HAL_FLASHEx_Erase_IT(FLASH_EraseInitTypeDef *pEraseInit);
54 HAL_StatusTypeDef HAL_FLASHEx_OBProgram(FLASH_OBProgramInitTypeDef *pOBInit);
55 void              HAL_FLASHEx_OBGetConfig(FLASH_OBProgramInitTypeDef *pOBInit);
56 HAL_StatusTypeDef HAL_FLASHEx_EnableSecMemProtection(uint32_t Bank);
57 void              HAL_FLASHEx_EnableDebugger(void);
58 void              HAL_FLASHEx_DisableDebugger(void);
59 /**
60   * @}
61   */
62 
63 /**
64   * @}
65   */
66 
67 /** @addtogroup FLASHEx_Private_Functions
68   * @{
69   */
70 void              FLASH_PageErase(uint32_t Page, uint32_t Banks);
71 void              FLASH_FlushCaches(void);
72 /**
73   * @}
74   */
75 
76 /**
77   * @}
78   */
79 
80 /**
81   * @}
82   */
83 
84 #ifdef __cplusplus
85 }
86 #endif
87 
88 #endif /* STM32G4xx_HAL_FLASH_EX_H */
89 
90