STM32L4xx_HAL_Driver  1.14.0
stm32l4xx_hal_sram.h
Go to the documentation of this file.
1 
20 /* Define to prevent recursive inclusion -------------------------------------*/
21 #ifndef __STM32L4xx_HAL_SRAM_H
22 #define __STM32L4xx_HAL_SRAM_H
23 
24 #ifdef __cplusplus
25  extern "C" {
26 #endif
27 
28 #if defined(FMC_BANK1)
29 
30 /* Includes ------------------------------------------------------------------*/
31 #include "stm32l4xx_ll_fmc.h"
32 
40 /* Exported typedef ----------------------------------------------------------*/
41 
48 typedef enum
49 {
50  HAL_SRAM_STATE_RESET = 0x00U,
51  HAL_SRAM_STATE_READY = 0x01U,
52  HAL_SRAM_STATE_BUSY = 0x02U,
53  HAL_SRAM_STATE_ERROR = 0x03U,
54  HAL_SRAM_STATE_PROTECTED = 0x04U
55 }HAL_SRAM_StateTypeDef;
56 
60 typedef struct
61 {
62  FMC_NORSRAM_TypeDef *Instance;
64  FMC_NORSRAM_EXTENDED_TypeDef *Extended;
70  __IO HAL_SRAM_StateTypeDef State;
74 
79 /* Exported constants --------------------------------------------------------*/
80 /* Exported macro ------------------------------------------------------------*/
81 
90 #define __HAL_SRAM_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_SRAM_STATE_RESET)
91 
96 /* Exported functions --------------------------------------------------------*/
105 /* Initialization/de-initialization functions ********************************/
106 HAL_StatusTypeDef HAL_SRAM_Init(SRAM_HandleTypeDef *hsram, FMC_NORSRAM_TimingTypeDef *Timing, FMC_NORSRAM_TimingTypeDef *ExtTiming);
107 HAL_StatusTypeDef HAL_SRAM_DeInit(SRAM_HandleTypeDef *hsram);
110 
119 /* I/O operation functions ***************************************************/
120 HAL_StatusTypeDef HAL_SRAM_Read_8b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint8_t *pDstBuffer, uint32_t BufferSize);
121 HAL_StatusTypeDef HAL_SRAM_Write_8b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint8_t *pSrcBuffer, uint32_t BufferSize);
122 HAL_StatusTypeDef HAL_SRAM_Read_16b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint16_t *pDstBuffer, uint32_t BufferSize);
123 HAL_StatusTypeDef HAL_SRAM_Write_16b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint16_t *pSrcBuffer, uint32_t BufferSize);
124 HAL_StatusTypeDef HAL_SRAM_Read_32b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint32_t *pDstBuffer, uint32_t BufferSize);
125 HAL_StatusTypeDef HAL_SRAM_Write_32b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint32_t *pSrcBuffer, uint32_t BufferSize);
126 HAL_StatusTypeDef HAL_SRAM_Read_DMA(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint32_t *pDstBuffer, uint32_t BufferSize);
127 HAL_StatusTypeDef HAL_SRAM_Write_DMA(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint32_t *pSrcBuffer, uint32_t BufferSize);
128 
131 
140 /* SRAM Control functions ****************************************************/
141 HAL_StatusTypeDef HAL_SRAM_WriteOperation_Enable(SRAM_HandleTypeDef *hsram);
142 HAL_StatusTypeDef HAL_SRAM_WriteOperation_Disable(SRAM_HandleTypeDef *hsram);
143 
152 /* SRAM State functions ******************************************************/
153 HAL_SRAM_StateTypeDef HAL_SRAM_GetState(SRAM_HandleTypeDef *hsram);
154 
171 #endif /* FMC_BANK1 */
172 
173 #ifdef __cplusplus
174 }
175 #endif
176 
177 #endif /* __STM32L4xx_HAL_SRAM_H */
178 
179 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
HAL_StatusTypeDef HAL_SRAM_DeInit(SRAM_HandleTypeDef *hsram)
Perform the SRAM device de-initialization sequence.
DMA_HandleTypeDef * hdma
void HAL_SRAM_MspInit(SRAM_HandleTypeDef *hsram)
Initialize the SRAM MSP.
HAL_StatusTypeDef HAL_SRAM_Write_DMA(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint32_t *pSrcBuffer, uint32_t BufferSize)
Write a Word data buffer to SRAM memory using DMA transfer.
HAL_LockTypeDef Lock
DMA handle Structure definition.
HAL_SRAM_StateTypeDef HAL_SRAM_GetState(SRAM_HandleTypeDef *hsram)
Return the SRAM controller state.
HAL_StatusTypeDef HAL_SRAM_Init(SRAM_HandleTypeDef *hsram, FMC_NORSRAM_TimingTypeDef *Timing, FMC_NORSRAM_TimingTypeDef *ExtTiming)
Perform the SRAM device initialization sequence.
void HAL_SRAM_DMA_XferErrorCallback(DMA_HandleTypeDef *hdma)
DMA transfer complete error callback.
FMC_NORSRAM_TypeDef * Instance
HAL_StatusTypeDef HAL_SRAM_Write_16b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint16_t *pSrcBuffer, uint32_t BufferSize)
Write 16-bit buffer to SRAM memory.
FMC NORSRAM Configuration Structure definition.
HAL_StatusTypeDef HAL_SRAM_Read_8b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint8_t *pDstBuffer, uint32_t BufferSize)
Read 8-bit buffer from SRAM memory.
HAL_StatusTypeDef HAL_SRAM_Write_32b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint32_t *pSrcBuffer, uint32_t BufferSize)
Write 32-bit buffer to SRAM memory.
void HAL_SRAM_DMA_XferCpltCallback(DMA_HandleTypeDef *hdma)
DMA transfer complete callback.
FMC NORSRAM Timing parameters structure definition.
SRAM handle Structure definition.
HAL_StatusTypeDef HAL_SRAM_Read_DMA(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint32_t *pDstBuffer, uint32_t BufferSize)
Read a Word data buffer from the SRAM memory using DMA transfer.
HAL_LockTypeDef
HAL Lock structures definition.
FMC_NORSRAM_EXTENDED_TypeDef * Extended
Header file of FMC HAL module.
HAL_StatusTypeDef HAL_SRAM_Read_16b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint16_t *pDstBuffer, uint32_t BufferSize)
Read 16-bit buffer from SRAM memory.
HAL_StatusTypeDef HAL_SRAM_Write_8b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint8_t *pSrcBuffer, uint32_t BufferSize)
Write 8-bit buffer to SRAM memory.
void HAL_SRAM_MspDeInit(SRAM_HandleTypeDef *hsram)
DeInitialize the SRAM MSP.
FMC_NORSRAM_InitTypeDef Init
HAL_StatusTypeDef HAL_SRAM_WriteOperation_Enable(SRAM_HandleTypeDef *hsram)
Enable dynamically SRAM write operation.
HAL_StatusTypeDef HAL_SRAM_WriteOperation_Disable(SRAM_HandleTypeDef *hsram)
Disable dynamically SRAM write operation.
__IO HAL_SRAM_StateTypeDef State
HAL_StatusTypeDef HAL_SRAM_Read_32b(SRAM_HandleTypeDef *hsram, uint32_t *pAddress, uint32_t *pDstBuffer, uint32_t BufferSize)
Read 32-bit buffer from SRAM memory.