STM CMSIS
stm32f4xx_hal_sram.h
Go to the documentation of this file.
1 
38 /* Define to prevent recursive inclusion -------------------------------------*/
39 #ifndef __STM32F4xx_HAL_SRAM_H
40 #define __STM32F4xx_HAL_SRAM_H
41 
42 #ifdef __cplusplus
43  extern "C" {
44 #endif
45 
46 /* Includes ------------------------------------------------------------------*/
47 #if defined(STM32F405xx) || defined(STM32F415xx) || defined(STM32F407xx)|| defined(STM32F417xx) || defined(STM32F412Zx) || defined(STM32F412Vx) || defined(STM32F412Rx)
48  #include "stm32f4xx_ll_fsmc.h"
49 #endif /* STM32F405xx || STM32F415xx || STM32F407xx || STM32F417xx || STM32F412Zx || STM32F412Vx || STM32F412Rx*/
50 
51 #if defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx)|| defined(STM32F439xx) ||\
52  defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx)
53  #include "stm32f4xx_ll_fmc.h"
54 #endif /* STM32F427xx || STM32F437xx || STM32F429xx || STM32F439xx || STM32F446xx || STM32F469xx || STM32F479xx */
55 
56 
61 #if defined(STM32F405xx) || defined(STM32F415xx) || defined(STM32F407xx) || defined(STM32F417xx) ||\
62  defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx) ||\
63  defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx) || defined(STM32F412Zx) ||\
64  defined(STM32F412Vx) || defined(STM32F412Rx)
65 
70 /* Exported typedef ----------------------------------------------------------*/
71 
78 typedef enum
79 {
80  HAL_SRAM_STATE_RESET = 0x00U,
81  HAL_SRAM_STATE_READY = 0x01U,
82  HAL_SRAM_STATE_BUSY = 0x02U,
83  HAL_SRAM_STATE_ERROR = 0x03U,
84  HAL_SRAM_STATE_PROTECTED = 0x04U
86 }HAL_SRAM_StateTypeDef;
87 
91 typedef struct
92 {
93  FMC_NORSRAM_TypeDef *Instance;
95  FMC_NORSRAM_EXTENDED_TypeDef *Extended;
97  FMC_NORSRAM_InitTypeDef Init;
99  HAL_LockTypeDef Lock;
101  __IO HAL_SRAM_StateTypeDef State;
103  DMA_HandleTypeDef *hdma;
105 }SRAM_HandleTypeDef;
106 
111 /* Exported constants --------------------------------------------------------*/
112 /* Exported macro ------------------------------------------------------------*/
113 
121 #define __HAL_SRAM_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_SRAM_STATE_RESET)
122 
126 /* Exported functions --------------------------------------------------------*/
127 
135 /* Initialization/de-initialization functions **********************************/
136 HAL_StatusTypeDef HAL_SRAM_Init(SRAM_HandleTypeDef *hsram, FMC_NORSRAM_TimingTypeDef *Timing, FMC_NORSRAM_TimingTypeDef *ExtTiming);
137 HAL_StatusTypeDef HAL_SRAM_DeInit(SRAM_HandleTypeDef *hsram);
138 void HAL_SRAM_MspInit(SRAM_HandleTypeDef *hsram);
139 void HAL_SRAM_MspDeInit(SRAM_HandleTypeDef *hsram);
140 
141 void HAL_SRAM_DMA_XferCpltCallback(DMA_HandleTypeDef *hdma);
142 void HAL_SRAM_DMA_XferErrorCallback(DMA_HandleTypeDef *hdma);
150 /* I/O operation functions *****************************************************/
151 HAL_StatusTypeDef HAL_SRAM_Read_8b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint8_t *pDstBuffer, uint32_t BufferSize);
152 HAL_StatusTypeDef HAL_SRAM_Write_8b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint8_t *pSrcBuffer, uint32_t BufferSize);
153 HAL_StatusTypeDef HAL_SRAM_Read_16b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint16_t *pDstBuffer, uint32_t BufferSize);
154 HAL_StatusTypeDef HAL_SRAM_Write_16b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint16_t *pSrcBuffer, uint32_t BufferSize);
155 HAL_StatusTypeDef HAL_SRAM_Read_32b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint32_t *pDstBuffer, uint32_t BufferSize);
156 HAL_StatusTypeDef HAL_SRAM_Write_32b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint32_t *pSrcBuffer, uint32_t BufferSize);
157 HAL_StatusTypeDef HAL_SRAM_Read_DMA(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint32_t *pDstBuffer, uint32_t BufferSize);
158 HAL_StatusTypeDef HAL_SRAM_Write_DMA(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint32_t *pSrcBuffer, uint32_t BufferSize);
166 /* SRAM Control functions ******************************************************/
167 HAL_StatusTypeDef HAL_SRAM_WriteOperation_Enable(SRAM_HandleTypeDef *hsram);
168 HAL_StatusTypeDef HAL_SRAM_WriteOperation_Disable(SRAM_HandleTypeDef *hsram);
176 /* SRAM State functions *********************************************************/
177 HAL_SRAM_StateTypeDef HAL_SRAM_GetState(SRAM_HandleTypeDef *hsram);
186 /* Private types -------------------------------------------------------------*/
187 /* Private variables ---------------------------------------------------------*/
188 /* Private constants ---------------------------------------------------------*/
189 /* Private macros ------------------------------------------------------------*/
190 /* Private functions ---------------------------------------------------------*/
195 #endif /* STM32F405xx || STM32F415xx || STM32F407xx || STM32F417xx || STM32F427xx || STM32F437xx ||\
196  STM32F429xx || STM32F439xx || STM32F446xx || STM32F469xx || STM32F479xx || STM32F412Zx ||\
197  STM32F412Vx || STM32F412Rx */
198 
201 #ifdef __cplusplus
202 }
203 #endif
204 
205 #endif /* __STM32F4xx_HAL_SRAM_H */
206 
207 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
HAL_StatusTypeDef
HAL Status structures definition.
Definition: stm32f4xx_hal_def.h:57
Header file of FSMC HAL module.
#define __IO
Definition: core_cm0.h:213
HAL_LockTypeDef
HAL Lock structures definition.
Definition: stm32f4xx_hal_def.h:68
Header file of FMC HAL module.
DMA handle Structure definition.
Definition: stm32f4xx_hal_dma.h:157