ST / BSP_DISCO_L4R9I

Dependents:   DISCO_L4R9I-LCD-demo

Embed: (wiki syntax)

« Back to documentation index

stm32l4r9i_discovery_sd.c File Reference

stm32l4r9i_discovery_sd.c File Reference

This file includes the uSD card driver. More...

Go to the source code of this file.

Functions

uint8_t BSP_SD_Init (void)
 Initializes the SD card device.
uint8_t BSP_SD_DeInit (void)
 DeInitializes the SD card device.
uint8_t BSP_SD_ITConfig (void)
 Configures Interrupt mode for SD detection pin.
uint8_t BSP_SD_IsDetected (void)
 Detects if SD card is correctly plugged in the memory slot or not.
uint8_t BSP_SD_ReadBlocks (uint32_t *pData, uint32_t ReadAddr, uint32_t NumOfBlocks, uint32_t Timeout)
 Reads block(s) from a specified address in an SD card, in polling mode.
uint8_t BSP_SD_WriteBlocks (uint32_t *pData, uint32_t WriteAddr, uint32_t NumOfBlocks, uint32_t Timeout)
 Writes block(s) to a specified address in an SD card, in polling mode.
uint8_t BSP_SD_ReadBlocks_DMA (uint32_t *pData, uint32_t ReadAddr, uint32_t NumOfBlocks)
 Reads block(s) from a specified address in an SD card, in DMA mode.
uint8_t BSP_SD_WriteBlocks_DMA (uint32_t *pData, uint32_t WriteAddr, uint32_t NumOfBlocks)
 Writes block(s) to a specified address in an SD card, in DMA mode.
uint8_t BSP_SD_Erase (uint32_t StartAddr, uint32_t EndAddr)
 Erases the specified memory area of the given SD card.
uint8_t BSP_SD_GetCardState (void)
 Gets the current SD card data status.
void BSP_SD_GetCardInfo (BSP_SD_CardInfo *CardInfo)
 Get SD information about specific SD card.
__weak void BSP_SD_MspInit (SD_HandleTypeDef *hsd, void *Params)
 Initializes the SD MSP.
__weak void BSP_SD_MspDeInit (SD_HandleTypeDef *hsd, void *Params)
 De-Initializes the SD MSP.
__weak void BSP_SD_AbortCallback (void)
 BSP SD Abort callback.
__weak void BSP_SD_WriteCpltCallback (void)
 BSP Tx Transfer completed callback.
__weak void BSP_SD_ReadCpltCallback (void)
 BSP Rx Transfer completed callback.
void HAL_SD_AbortCallback (SD_HandleTypeDef *hsd)
 SD Abort callbacks.
void HAL_SD_TxCpltCallback (SD_HandleTypeDef *hsd)
 Tx Transfer completed callback.
void HAL_SD_RxCpltCallback (SD_HandleTypeDef *hsd)
 Rx Transfer completed callback.

Detailed Description

This file includes the uSD card driver.

Author:
MCD Application Team
  ==============================================================================
                     ##### How to use this driver #####
  ==============================================================================
  (#) This driver is used to drive the micro SD external card mounted on STM32L4R9I_DISCOVERY
     evaluation board.

  (#) This driver does not need a specific component driver for the micro SD device
     to be included with.

  (#) Initialization steps:
       (++) Initialize the micro SD card using the BSP_SD_Init() function. This
            function includes the MSP layer hardware resources initialization (BSP_SD_MspInit())
            and the SDMMC1 interface configuration to interface with the external micro SD. It
            also includes the micro SD initialization sequence.
       (++) To check the SD card presence you can use the function BSP_SD_IsDetected() which
            returns the detection status.
       (++) If SD presence detection interrupt mode is desired, you must configure the
            SD detection interrupt mode by calling the functions BSP_SD_ITConfig().
            The interrupt is generated as an external interrupt whenever the
            micro SD card is plugged/unplugged in/from the evaluation board. The SD detection
            is managed by MFX, so the SD detection interrupt has to be treated by MFX_IRQOUT
            gpio pin IRQ handler.
       (++) The function BSP_SD_GetCardInfo() is used to get the micro SD card information
            which is stored in the structure "HAL_SD_CardInfoTypedef".

  (#) Micro SD card operations
       (++) The micro SD card can be accessed with read/write block(s) operations once
            it is reay for access. The access can be performed whether using the polling
            mode by calling the functions BSP_SD_ReadBlocks()/BSP_SD_WriteBlocks(),
            or by DMA transfer using the functions BSP_SD_ReadBlocks_DMA()/BSP_SD_WriteBlocks_DMA().
       (++) The DMA transfer complete is used with interrupt mode. Once the SD transfer
            is complete, the DMA Tx/Rx transfer complete are handled using the
            BSP_SD_WriteCpltCallback()/BSP_SD_ReadCpltCallback() user callback functions implemented
            by the user at application level.
       (++) The SD erase block(s) is performed using the function BSP_SD_Erase() with specifying
            the number of blocks to erase.
       (++) The SD runtime status is returned when calling the function BSP_SD_GetStatus().
   [..]
  
Attention:

© Copyright (c) 2017 STMicroelectronics. All rights reserved.

This software component is licensed by ST under BSD 3-Clause license, the "License"; You may not use this file except in compliance with the License. You may obtain a copy of the License at: opensource.org/licenses/BSD-3-Clause

Definition in file stm32l4r9i_discovery_sd.c.