118 #if defined(FMC_Bank1) || defined(FSMC_Bank1)
124 #ifdef HAL_SRAM_MODULE_ENABLED
186 hsram->Lock = HAL_UNLOCKED;
188 #if (USE_HAL_SRAM_REGISTER_CALLBACKS == 1)
189 if (hsram->MspInitCallback == NULL)
197 hsram->MspInitCallback(hsram);
212 hsram->Init.ExtendedMode);
215 __FMC_NORSRAM_ENABLE(hsram->Instance, hsram->Init.NSBank);
231 #if (USE_HAL_SRAM_REGISTER_CALLBACKS == 1)
232 if (hsram->MspDeInitCallback == NULL)
238 hsram->MspDeInitCallback(hsram);
351 __IO uint8_t *psramaddress = (uint8_t *)pAddress;
352 uint8_t *pdestbuff = pDstBuffer;
365 for (size = BufferSize; size != 0U; size--)
367 *pdestbuff = *psramaddress;
373 hsram->State = state;
399 __IO uint8_t *psramaddress = (uint8_t *)pAddress;
400 uint8_t *psrcbuff = pSrcBuffer;
412 for (size = BufferSize; size != 0U; size--)
414 *psramaddress = *psrcbuff;
446 __IO uint32_t *psramaddress = pAddress;
447 uint16_t *pdestbuff = pDstBuffer;
461 limit = (((BufferSize % 2U) != 0U) ? 1U : 0U);
464 for (size = BufferSize; size != limit; size -= 2U)
466 *pdestbuff = (uint16_t)((*psramaddress) & 0x0000FFFFU);
468 *pdestbuff = (uint16_t)(((*psramaddress) & 0xFFFF0000U) >> 16U);
476 *pdestbuff = (uint16_t)((*psramaddress) & 0x0000FFFFU);
480 hsram->State = state;
506 __IO uint32_t *psramaddress = pAddress;
507 uint16_t *psrcbuff = pSrcBuffer;
520 limit = (((BufferSize % 2U) != 0U) ? 1U : 0U);
523 for (size = BufferSize; size != limit; size -= 2U)
525 *psramaddress = (uint32_t)(*psrcbuff);
527 *psramaddress |= ((uint32_t)(*psrcbuff) << 16U);
535 *psramaddress = ((uint32_t)(*psrcbuff) & 0x0000FFFFU) | ((*psramaddress) & 0xFFFF0000U);
565 __IO uint32_t *psramaddress = pAddress;
566 uint32_t *pdestbuff = pDstBuffer;
579 for (size = BufferSize; size != 0U; size--)
581 *pdestbuff = *psramaddress;
587 hsram->State = state;
613 __IO uint32_t *psramaddress = pAddress;
614 uint32_t *psrcbuff = pSrcBuffer;
626 for (size = BufferSize; size != 0U; size--)
628 *psramaddress = *psrcbuff;
659 HAL_StatusTypeDef status;
674 hsram->hdma->XferCpltCallback = SRAM_DMACplt;
678 hsram->hdma->XferCpltCallback = SRAM_DMACpltProt;
680 hsram->hdma->XferErrorCallback = SRAM_DMAError;
683 status =
HAL_DMA_Start_IT(hsram->hdma, (uint32_t)pAddress, (uint32_t)pDstBuffer, (uint32_t)BufferSize);
708 HAL_StatusTypeDef status;
720 hsram->hdma->XferCpltCallback = SRAM_DMACplt;
721 hsram->hdma->XferErrorCallback = SRAM_DMAError;
724 status =
HAL_DMA_Start_IT(hsram->hdma, (uint32_t)pSrcBuffer, (uint32_t)pAddress, (uint32_t)BufferSize);
737 #if (USE_HAL_SRAM_REGISTER_CALLBACKS == 1)
752 HAL_StatusTypeDef status = HAL_OK;
755 if (pCallback == NULL)
760 state = hsram->State;
766 hsram->MspInitCallback = pCallback;
769 hsram->MspDeInitCallback = pCallback;
800 HAL_StatusTypeDef status = HAL_OK;
803 state = hsram->State;
863 pSRAM_DmaCallbackTypeDef pCallback)
865 HAL_StatusTypeDef status = HAL_OK;
868 if (pCallback == NULL)
876 state = hsram->State;
882 hsram->DmaXferCpltCallback = pCallback;
885 hsram->DmaXferErrorCallback = pCallback;
1019 return hsram->State;
1044 __HAL_DMA_DISABLE(hdma);
1049 #if (USE_HAL_SRAM_REGISTER_CALLBACKS == 1)
1050 hsram->DmaXferCpltCallback(hdma);
1066 __HAL_DMA_DISABLE(hdma);
1071 #if (USE_HAL_SRAM_REGISTER_CALLBACKS == 1)
1072 hsram->DmaXferCpltCallback(hdma);
1088 __HAL_DMA_DISABLE(hdma);
1093 #if (USE_HAL_SRAM_REGISTER_CALLBACKS == 1)
1094 hsram->DmaXferErrorCallback(hdma);
HAL_StatusTypeDef HAL_DMA_Start_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t DataLength)
Start the DMA Transfer with interrupt enabled.
FMC NORSRAM Timing parameters structure definition.
HAL_StatusTypeDef FMC_NORSRAM_DeInit(FMC_NORSRAM_TypeDef *Device, FMC_NORSRAM_EXTENDED_TypeDef *ExDevice, uint32_t Bank)
DeInitialize the FMC_NORSRAM peripheral.
HAL_StatusTypeDef FMC_NORSRAM_Init(FMC_NORSRAM_TypeDef *Device, FMC_NORSRAM_InitTypeDef *Init)
Initialize the FMC_NORSRAM device according to the specified control parameters in the FMC_NORSRAM_In...
HAL_StatusTypeDef FMC_NORSRAM_Timing_Init(FMC_NORSRAM_TypeDef *Device, FMC_NORSRAM_TimingTypeDef *Timing, uint32_t Bank)
Initialize the FMC_NORSRAM Timing according to the specified parameters in the FMC_NORSRAM_TimingType...
HAL_StatusTypeDef FMC_NORSRAM_Extended_Timing_Init(FMC_NORSRAM_EXTENDED_TypeDef *Device, FMC_NORSRAM_TimingTypeDef *Timing, uint32_t Bank, uint32_t ExtendedMode)
Initialize the FMC_NORSRAM Extended mode Timing according to the specified parameters in the FMC_NORS...
HAL_StatusTypeDef FMC_NORSRAM_WriteOperation_Disable(FMC_NORSRAM_TypeDef *Device, uint32_t Bank)
Disables dynamically FMC_NORSRAM write operation.
HAL_StatusTypeDef FMC_NORSRAM_WriteOperation_Enable(FMC_NORSRAM_TypeDef *Device, uint32_t Bank)
Enables dynamically FMC_NORSRAM write operation.
__weak void HAL_SRAM_DMA_XferCpltCallback(DMA_HandleTypeDef *hdma)
DMA transfer complete callback.
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.
__weak void HAL_SRAM_DMA_XferErrorCallback(DMA_HandleTypeDef *hdma)
DMA transfer complete error callback.
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.
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.
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_MSP_DEINIT_CB_ID
@ HAL_SRAM_DMA_XFER_ERR_CB_ID
@ HAL_SRAM_DMA_XFER_CPLT_CB_ID
@ HAL_SRAM_MSP_INIT_CB_ID
This file contains all the functions prototypes for the HAL module driver.
DMA handle Structure definition.