]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_M7_STM32F7_STM32756G-EVAL/ST_Library/include/stm32f7xx_hal_sram.h
Update version number ready for V8.2.1 release.
[freertos] / FreeRTOS / Demo / CORTEX_M7_STM32F7_STM32756G-EVAL / ST_Library / include / stm32f7xx_hal_sram.h
1 /**\r
2   ******************************************************************************\r
3   * @file    stm32f7xx_hal_sram.h\r
4   * @author  MCD Application Team\r
5   * @version V0.3.0\r
6   * @date    06-March-2015\r
7   * @brief   Header file of SRAM HAL module.\r
8   ******************************************************************************\r
9   * @attention\r
10   *\r
11   * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>\r
12   *\r
13   * Redistribution and use in source and binary forms, with or without modification,\r
14   * are permitted provided that the following conditions are met:\r
15   *   1. Redistributions of source code must retain the above copyright notice,\r
16   *      this list of conditions and the following disclaimer.\r
17   *   2. Redistributions in binary form must reproduce the above copyright notice,\r
18   *      this list of conditions and the following disclaimer in the documentation\r
19   *      and/or other materials provided with the distribution.\r
20   *   3. Neither the name of STMicroelectronics nor the names of its contributors\r
21   *      may be used to endorse or promote products derived from this software\r
22   *      without specific prior written permission.\r
23   *\r
24   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"\r
25   * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r
26   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\r
27   * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\r
28   * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
29   * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\r
30   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\r
31   * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\r
32   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\r
33   * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
34   *\r
35   ******************************************************************************\r
36   */ \r
37 \r
38 /* Define to prevent recursive inclusion -------------------------------------*/\r
39 #ifndef __STM32F7xx_HAL_SRAM_H\r
40 #define __STM32F7xx_HAL_SRAM_H\r
41 \r
42 #ifdef __cplusplus\r
43  extern "C" {\r
44 #endif\r
45 \r
46 /* Includes ------------------------------------------------------------------*/\r
47 #include "stm32f7xx_ll_fmc.h"\r
48 \r
49 /** @addtogroup STM32F7xx_HAL_Driver\r
50   * @{\r
51   */\r
52 /** @addtogroup SRAM\r
53   * @{\r
54   */ \r
55 \r
56 /* Exported typedef ----------------------------------------------------------*/\r
57 \r
58 /** @defgroup SRAM_Exported_Types SRAM Exported Types\r
59   * @{\r
60   */\r
61 /** \r
62   * @brief  HAL SRAM State structures definition  \r
63   */ \r
64 typedef enum\r
65 {\r
66   HAL_SRAM_STATE_RESET     = 0x00,  /*!< SRAM not yet initialized or disabled           */\r
67   HAL_SRAM_STATE_READY     = 0x01,  /*!< SRAM initialized and ready for use             */\r
68   HAL_SRAM_STATE_BUSY      = 0x02,  /*!< SRAM internal process is ongoing               */\r
69   HAL_SRAM_STATE_ERROR     = 0x03,  /*!< SRAM error state                               */\r
70   HAL_SRAM_STATE_PROTECTED = 0x04   /*!< SRAM peripheral NORSRAM device write protected */\r
71   \r
72 }HAL_SRAM_StateTypeDef;\r
73 \r
74 /** \r
75   * @brief  SRAM handle Structure definition  \r
76   */ \r
77 typedef struct\r
78 {\r
79   FMC_NORSRAM_TypeDef           *Instance;  /*!< Register base address                        */ \r
80   \r
81   FMC_NORSRAM_EXTENDED_TypeDef  *Extended;  /*!< Extended mode register base address          */\r
82   \r
83   FMC_NORSRAM_InitTypeDef       Init;       /*!< SRAM device control configuration parameters */\r
84 \r
85   HAL_LockTypeDef               Lock;       /*!< SRAM locking object                          */ \r
86   \r
87   __IO HAL_SRAM_StateTypeDef    State;      /*!< SRAM device access state                     */\r
88   \r
89   DMA_HandleTypeDef             *hdma;      /*!< Pointer DMA handler                          */\r
90   \r
91 }SRAM_HandleTypeDef; \r
92 \r
93 /**\r
94   * @}\r
95   */\r
96 \r
97 /* Exported constants --------------------------------------------------------*/\r
98 /* Exported macro ------------------------------------------------------------*/\r
99 \r
100 /** @defgroup SRAM_Exported_Macros SRAM Exported Macros\r
101  * @{\r
102  */\r
103 \r
104 /** @brief Reset SRAM handle state\r
105   * @param  __HANDLE__: SRAM handle\r
106   * @retval None\r
107   */\r
108 #define __HAL_SRAM_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_SRAM_STATE_RESET)\r
109 \r
110 /**\r
111   * @}\r
112   */\r
113 \r
114 /* Exported functions --------------------------------------------------------*/\r
115 /** @addtogroup SRAM_Exported_Functions SRAM Exported Functions\r
116   * @{\r
117   */\r
118 \r
119 /** @addtogroup SRAM_Exported_Functions_Group1 Initialization and de-initialization functions\r
120  * @{\r
121  */\r
122 \r
123 /* Initialization/de-initialization functions  ********************************/\r
124 HAL_StatusTypeDef HAL_SRAM_Init(SRAM_HandleTypeDef *hsram, FMC_NORSRAM_TimingTypeDef *Timing, FMC_NORSRAM_TimingTypeDef *ExtTiming);\r
125 HAL_StatusTypeDef HAL_SRAM_DeInit(SRAM_HandleTypeDef *hsram);\r
126 void HAL_SRAM_MspInit(SRAM_HandleTypeDef *hsram);\r
127 void HAL_SRAM_MspDeInit(SRAM_HandleTypeDef *hsram);\r
128 \r
129 /**\r
130   * @}\r
131   */\r
132 \r
133 /** @addtogroup SRAM_Exported_Functions_Group2 Input Output and memory control functions\r
134  * @{\r
135  */\r
136 \r
137 /* I/O operation functions  ***************************************************/\r
138 HAL_StatusTypeDef HAL_SRAM_Read_8b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint8_t *pDstBuffer, uint32_t BufferSize);\r
139 HAL_StatusTypeDef HAL_SRAM_Write_8b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint8_t *pSrcBuffer, uint32_t BufferSize);\r
140 HAL_StatusTypeDef HAL_SRAM_Read_16b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint16_t *pDstBuffer, uint32_t BufferSize);\r
141 HAL_StatusTypeDef HAL_SRAM_Write_16b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint16_t *pSrcBuffer, uint32_t BufferSize);\r
142 HAL_StatusTypeDef HAL_SRAM_Read_32b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint32_t *pDstBuffer, uint32_t BufferSize);\r
143 HAL_StatusTypeDef HAL_SRAM_Write_32b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint32_t *pSrcBuffer, uint32_t BufferSize);\r
144 HAL_StatusTypeDef HAL_SRAM_Read_DMA(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint32_t *pDstBuffer, uint32_t BufferSize);\r
145 HAL_StatusTypeDef HAL_SRAM_Write_DMA(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint32_t *pSrcBuffer, uint32_t BufferSize);\r
146 \r
147 void HAL_SRAM_DMA_XferCpltCallback(DMA_HandleTypeDef *hdma);\r
148 void HAL_SRAM_DMA_XferErrorCallback(DMA_HandleTypeDef *hdma);\r
149 \r
150 /**\r
151   * @}\r
152   */\r
153   \r
154 /** @addtogroup SRAM_Exported_Functions_Group3 Control functions\r
155  * @{\r
156  */\r
157 \r
158 /* SRAM Control functions  ****************************************************/\r
159 HAL_StatusTypeDef HAL_SRAM_WriteOperation_Enable(SRAM_HandleTypeDef *hsram);\r
160 HAL_StatusTypeDef HAL_SRAM_WriteOperation_Disable(SRAM_HandleTypeDef *hsram);\r
161 \r
162 /**\r
163   * @}\r
164   */\r
165 \r
166 /** @addtogroup SRAM_Exported_Functions_Group4 Peripheral State functions\r
167  * @{\r
168  */\r
169 \r
170 /* SRAM  State functions ******************************************************/\r
171 HAL_SRAM_StateTypeDef HAL_SRAM_GetState(SRAM_HandleTypeDef *hsram);\r
172 \r
173 /**\r
174   * @}\r
175   */ \r
176 \r
177 /**\r
178   * @}\r
179   */\r
180   \r
181 /**\r
182   * @}\r
183   */ \r
184 \r
185 /**\r
186   * @}\r
187   */\r
188   \r
189 #ifdef __cplusplus\r
190 }\r
191 #endif\r
192 \r
193 #endif /* __STM32F7xx_HAL_SRAM_H */\r
194 \r
195 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/\r