text: /**
    ******************************************************************************
    * @file    stm32g4xx_hal_flash_ex.h
    * @author  MCD Application Team
    * @brief   Header file of FLASH HAL Extended module.
    ******************************************************************************
    * @attention
    *
    * Copyright (c) 2019 STMicroelectronics.
    * All rights reserved.
    *
    * This software is licensed under terms that can be found in the LICENSE file in
    * the root directory of this software component.
    * If no LICENSE file comes with this software, it is provided AS-IS.
    ******************************************************************************
    */
  
  /* Define to prevent recursive inclusion -------------------------------------*/
  #ifndef STM32G4xx_HAL_FLASH_EX_H
  #define STM32G4xx_HAL_FLASH_EX_H
  
  #ifdef __cplusplus
  extern "C" {
  #endif
  
  /* Includes ------------------------------------------------------------------*/
  #include "stm32g4xx_hal_def.h"
  
  /** @addtogroup STM32G4xx_HAL_Driver
    * @{
    */
  
  /** @addtogroup FLASHEx
    * @{
    */
  
  /* Exported types ------------------------------------------------------------*/
  
  /* Exported constants --------------------------------------------------------*/
  
  /* Exported macro ------------------------------------------------------------*/
  
  /* Exported functions --------------------------------------------------------*/
  /** @addtogroup FLASHEx_Exported_Functions
    * @{
    */
  
  /* Extended Program operation functions  *************************************/
  /** @addtogroup FLASHEx_Exported_Functions_Group1
    * @{
    */
  HAL_StatusTypeDef HAL_FLASHEx_Erase(FLASH_EraseInitTypeDef *pEraseInit, uint32_t *PageError);
  HAL_StatusTypeDef HAL_FLASHEx_Erase_IT(FLASH_EraseInitTypeDef *pEraseInit);
  HAL_StatusTypeDef HAL_FLASHEx_OBProgram(FLASH_OBProgramInitTypeDef *pOBInit);
  void              HAL_FLASHEx_OBGetConfig(FLASH_OBProgramInitTypeDef *pOBInit);
  HAL_StatusTypeDef HAL_FLASHEx_EnableSecMemProtection(uint32_t Bank);
  void              HAL_FLASHEx_EnableDebugger(void);
  void              HAL_FLASHEx_DisableDebugger(void);
  /**
    * @}
    */
  
  /**
    * @}
    */
  
  /** @addtogroup FLASHEx_Private_Functions
    * @{
    */
  void              FLASH_PageErase(uint32_t Page, uint32_t Banks);
  void              FLASH_FlushCaches(void);
  /**
    * @}
    */
  
  /**
    * @}
    */
  
  /**
    * @}
    */
  
  #ifdef __cplusplus
  }
  #endif
  
  #endif /* STM32G4xx_HAL_FLASH_EX_H */
  
  