1 /**
2   ******************************************************************************
3   * @file    stm32l1xx_hal_flash_ramfunc.h
4   * @author  MCD Application Team
5   * @brief   Header file of FLASH RAMFUNC driver.
6   ******************************************************************************
7   * @attention
8   *
9   * Copyright (c) 2017 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 __STM32L1xx_FLASH_RAMFUNC_H
20 #define __STM32L1xx_FLASH_RAMFUNC_H
21 
22 #ifdef __cplusplus
23  extern "C" {
24 #endif
25 
26 /* Includes ------------------------------------------------------------------*/
27 #include "stm32l1xx_hal_def.h"
28 
29 /** @addtogroup STM32L1xx_HAL_Driver
30   * @{
31   */
32 
33 /** @addtogroup FLASH_RAMFUNC
34   * @{
35   */
36 
37 /* Exported types ------------------------------------------------------------*/
38 
39 
40 /* Exported functions --------------------------------------------------------*/
41 
42 /** @addtogroup FLASH_RAMFUNC_Exported_Functions
43   * @{
44   */
45 
46 /*
47   * @brief  FLASH memory functions that should be executed from internal SRAM.
48   *         These functions are defined inside the "stm32l1xx_hal_flash_ramfunc.c"
49   *         file.
50   */
51 
52 /** @addtogroup FLASH_RAMFUNC_Exported_Functions_Group1
53   * @{
54   */
55 
56 __RAM_FUNC HAL_StatusTypeDef HAL_FLASHEx_EnableRunPowerDown(void);
57 __RAM_FUNC HAL_StatusTypeDef HAL_FLASHEx_DisableRunPowerDown(void);
58 
59 /**
60   * @}
61   */
62 
63 /** @addtogroup FLASH_RAMFUNC_Exported_Functions_Group2
64   * @{
65   */
66 
67 #if defined(FLASH_PECR_PARALLBANK)
68 
69 __RAM_FUNC HAL_StatusTypeDef HAL_FLASHEx_EraseParallelPage(uint32_t Page_Address1, uint32_t Page_Address2);
70 __RAM_FUNC HAL_StatusTypeDef HAL_FLASHEx_ProgramParallelHalfPage(uint32_t Address1, uint32_t* pBuffer1, uint32_t Address2, uint32_t* pBuffer2);
71 
72 #endif /* FLASH_PECR_PARALLBANK */
73 
74 __RAM_FUNC HAL_StatusTypeDef HAL_FLASHEx_HalfPageProgram(uint32_t Address, uint32_t* pBuffer);
75 
76 /**
77   * @}
78   */
79 
80 /** @addtogroup FLASH_RAMFUNC_Exported_Functions_Group3
81   * @{
82   */
83 __RAM_FUNC HAL_StatusTypeDef HAL_FLASHEx_GetError(uint32_t *Error);
84 /**
85   * @}
86   */
87 
88 /** @addtogroup FLASH_RAMFUNC_Exported_Functions_Group4
89   * @{
90   */
91 
92 __RAM_FUNC HAL_StatusTypeDef HAL_FLASHEx_DATAEEPROM_EraseDoubleWord(uint32_t Address);
93 __RAM_FUNC HAL_StatusTypeDef HAL_FLASHEx_DATAEEPROM_ProgramDoubleWord(uint32_t Address, uint64_t Data);
94 
95 /**
96   * @}
97   */
98 
99 /**
100   * @}
101   */
102 
103 /**
104   * @}
105   */
106 
107 /**
108   * @}
109   */
110 
111 #ifdef __cplusplus
112 }
113 #endif
114 
115 #endif /* __STM32L1xx_FLASH_RAMFUNC_H */
116 
117