STM32F4xx_HAL_Driver  1.8.3
stm32f4xx_hal_sram.h
Go to the documentation of this file.
1 
19 /* Define to prevent recursive inclusion -------------------------------------*/
20 #ifndef STM32F4xx_HAL_SRAM_H
21 #define STM32F4xx_HAL_SRAM_H
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
27 #if defined(FMC_Bank1) || defined(FSMC_Bank1)
28 
29 /* Includes ------------------------------------------------------------------*/
30 #if defined(FSMC_Bank1)
31 #include "stm32f4xx_ll_fsmc.h"
32 #else
33 #include "stm32f4xx_ll_fmc.h"
34 #endif /* FSMC_Bank1 */
35 
43 /* Exported typedef ----------------------------------------------------------*/
44 
51 typedef enum
52 {
60 
64 #if (USE_HAL_SRAM_REGISTER_CALLBACKS == 1)
65 typedef struct __SRAM_HandleTypeDef
66 #else
67 typedef struct
68 #endif /* USE_HAL_SRAM_REGISTER_CALLBACKS */
69 {
70  FMC_NORSRAM_TypeDef *Instance;
72  FMC_NORSRAM_EXTENDED_TypeDef *Extended;
76  HAL_LockTypeDef Lock;
80  DMA_HandleTypeDef *hdma;
82 #if (USE_HAL_SRAM_REGISTER_CALLBACKS == 1)
83  void (* MspInitCallback)(struct __SRAM_HandleTypeDef *hsram);
84  void (* MspDeInitCallback)(struct __SRAM_HandleTypeDef *hsram);
85  void (* DmaXferCpltCallback)(DMA_HandleTypeDef *hdma);
86  void (* DmaXferErrorCallback)(DMA_HandleTypeDef *hdma);
87 #endif /* USE_HAL_SRAM_REGISTER_CALLBACKS */
89 
90 #if (USE_HAL_SRAM_REGISTER_CALLBACKS == 1)
94 typedef enum
95 {
101 
106 typedef void (*pSRAM_DmaCallbackTypeDef)(DMA_HandleTypeDef *hdma);
107 #endif /* USE_HAL_SRAM_REGISTER_CALLBACKS */
112 /* Exported constants --------------------------------------------------------*/
113 /* Exported macro ------------------------------------------------------------*/
114 
123 #if (USE_HAL_SRAM_REGISTER_CALLBACKS == 1)
124 #define __HAL_SRAM_RESET_HANDLE_STATE(__HANDLE__) do { \
125  (__HANDLE__)->State = HAL_SRAM_STATE_RESET; \
126  (__HANDLE__)->MspInitCallback = NULL; \
127  (__HANDLE__)->MspDeInitCallback = NULL; \
128  } while(0)
129 #else
130 #define __HAL_SRAM_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_SRAM_STATE_RESET)
131 #endif /* USE_HAL_SRAM_REGISTER_CALLBACKS */
132 
137 /* Exported functions --------------------------------------------------------*/
146 /* Initialization/de-initialization functions ********************************/
147 HAL_StatusTypeDef HAL_SRAM_Init(SRAM_HandleTypeDef *hsram, FMC_NORSRAM_TimingTypeDef *Timing,
148  FMC_NORSRAM_TimingTypeDef *ExtTiming);
149 HAL_StatusTypeDef HAL_SRAM_DeInit(SRAM_HandleTypeDef *hsram);
152 
161 /* I/O operation functions ***************************************************/
162 HAL_StatusTypeDef HAL_SRAM_Read_8b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint8_t *pDstBuffer,
163  uint32_t BufferSize);
164 HAL_StatusTypeDef HAL_SRAM_Write_8b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint8_t *pSrcBuffer,
165  uint32_t BufferSize);
166 HAL_StatusTypeDef HAL_SRAM_Read_16b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint16_t *pDstBuffer,
167  uint32_t BufferSize);
168 HAL_StatusTypeDef HAL_SRAM_Write_16b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint16_t *pSrcBuffer,
169  uint32_t BufferSize);
170 HAL_StatusTypeDef HAL_SRAM_Read_32b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint32_t *pDstBuffer,
171  uint32_t BufferSize);
172 HAL_StatusTypeDef HAL_SRAM_Write_32b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint32_t *pSrcBuffer,
173  uint32_t BufferSize);
174 HAL_StatusTypeDef HAL_SRAM_Read_DMA(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint32_t *pDstBuffer,
175  uint32_t BufferSize);
176 HAL_StatusTypeDef HAL_SRAM_Write_DMA(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint32_t *pSrcBuffer,
177  uint32_t BufferSize);
178 
181 
182 #if (USE_HAL_SRAM_REGISTER_CALLBACKS == 1)
183 /* SRAM callback registering/unregistering */
184 HAL_StatusTypeDef HAL_SRAM_RegisterCallback(SRAM_HandleTypeDef *hsram, HAL_SRAM_CallbackIDTypeDef CallbackId,
185  pSRAM_CallbackTypeDef pCallback);
188  pSRAM_DmaCallbackTypeDef pCallback);
189 #endif /* USE_HAL_SRAM_REGISTER_CALLBACKS */
190 
199 /* SRAM Control functions ****************************************************/
200 HAL_StatusTypeDef HAL_SRAM_WriteOperation_Enable(SRAM_HandleTypeDef *hsram);
201 HAL_StatusTypeDef HAL_SRAM_WriteOperation_Disable(SRAM_HandleTypeDef *hsram);
202 
211 /* SRAM State functions ******************************************************/
213 
230 #endif /* FMC_Bank1 || FSMC_Bank1 */
231 
232 #ifdef __cplusplus
233 }
234 #endif
235 
236 #endif /* STM32F4xx_HAL_SRAM_H */
__IO HAL_SRAM_StateTypeDef State
ADC handle Structure definition.
FMC NORSRAM Configuration Structure definition.
FMC NORSRAM Timing parameters structure definition.
HAL_StatusTypeDef HAL_SRAM_Init(SRAM_HandleTypeDef *hsram, FMC_NORSRAM_TimingTypeDef *Timing, FMC_NORSRAM_TimingTypeDef *ExtTiming)
Performs the SRAM device initialization sequence.
void HAL_SRAM_MspDeInit(SRAM_HandleTypeDef *hsram)
SRAM MSP DeInit.
HAL_StatusTypeDef HAL_SRAM_DeInit(SRAM_HandleTypeDef *hsram)
Performs the SRAM device De-initialization sequence.
void HAL_SRAM_MspInit(SRAM_HandleTypeDef *hsram)
SRAM MSP Init.
HAL_StatusTypeDef HAL_SRAM_Write_DMA(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint32_t *pSrcBuffer, uint32_t BufferSize)
Writes a Words data buffer to SRAM memory using DMA transfer.
HAL_StatusTypeDef HAL_SRAM_Write_8b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint8_t *pSrcBuffer, uint32_t BufferSize)
Writes 8-bit buffer to SRAM memory.
HAL_StatusTypeDef HAL_SRAM_Read_16b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint16_t *pDstBuffer, uint32_t BufferSize)
Reads 16-bit buffer from SRAM memory.
HAL_StatusTypeDef HAL_SRAM_Write_16b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint16_t *pSrcBuffer, uint32_t BufferSize)
Writes 16-bit buffer to SRAM memory.
HAL_StatusTypeDef HAL_SRAM_Write_32b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint32_t *pSrcBuffer, uint32_t BufferSize)
Writes 32-bit buffer to SRAM memory.
HAL_StatusTypeDef HAL_SRAM_UnRegisterCallback(SRAM_HandleTypeDef *hsram, HAL_SRAM_CallbackIDTypeDef CallbackId)
Unregister a User SRAM Callback SRAM Callback is redirected to the weak predefined callback.
void HAL_SRAM_DMA_XferCpltCallback(DMA_HandleTypeDef *hdma)
DMA transfer complete callback.
HAL_StatusTypeDef HAL_SRAM_RegisterDmaCallback(SRAM_HandleTypeDef *hsram, HAL_SRAM_CallbackIDTypeDef CallbackId, pSRAM_DmaCallbackTypeDef pCallback)
Register a User SRAM Callback for DMA transfers To be used to override the weak predefined callback.
HAL_StatusTypeDef HAL_SRAM_Read_8b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint8_t *pDstBuffer, uint32_t BufferSize)
Reads 8-bit buffer from SRAM memory.
HAL_StatusTypeDef HAL_SRAM_Read_DMA(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint32_t *pDstBuffer, uint32_t BufferSize)
Reads a Words data from the SRAM memory using DMA transfer.
void HAL_SRAM_DMA_XferErrorCallback(DMA_HandleTypeDef *hdma)
DMA transfer complete error callback.
HAL_StatusTypeDef HAL_SRAM_Read_32b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint32_t *pDstBuffer, uint32_t BufferSize)
Reads 32-bit buffer from SRAM memory.
HAL_StatusTypeDef HAL_SRAM_RegisterCallback(SRAM_HandleTypeDef *hsram, HAL_SRAM_CallbackIDTypeDef CallbackId, pSRAM_CallbackTypeDef pCallback)
Register a User SRAM Callback To be used to override the weak predefined callback.
HAL_StatusTypeDef HAL_SRAM_WriteOperation_Disable(SRAM_HandleTypeDef *hsram)
Disables dynamically SRAM write operation.
HAL_StatusTypeDef HAL_SRAM_WriteOperation_Enable(SRAM_HandleTypeDef *hsram)
Enables dynamically SRAM write operation.
HAL_SRAM_StateTypeDef HAL_SRAM_GetState(const SRAM_HandleTypeDef *hsram)
Returns the SRAM controller state.
struct __SRAM_HandleTypeDef else typedef struct endif SRAM_HandleTypeDef
SRAM handle Structure definition.
HAL_SRAM_StateTypeDef
HAL SRAM State structures definition.
void(* pSRAM_CallbackTypeDef)(SRAM_HandleTypeDef *hsram)
HAL SRAM Callback pointer definition.
HAL_SRAM_CallbackIDTypeDef
HAL SRAM Callback ID enumeration definition.
@ HAL_SRAM_STATE_PROTECTED
@ HAL_SRAM_STATE_ERROR
@ HAL_SRAM_STATE_BUSY
@ HAL_SRAM_STATE_READY
@ HAL_SRAM_STATE_RESET
@ HAL_SRAM_MSP_DEINIT_CB_ID
@ HAL_SRAM_DMA_XFER_ERR_CB_ID
@ HAL_SRAM_DMA_XFER_CPLT_CB_ID
@ HAL_SRAM_MSP_INIT_CB_ID
HAL_LockTypeDef
HAL Lock structures definition
Header file of FMC HAL module.
Header file of FSMC HAL module.
DMA handle Structure definition.