ST / BSP_DISCO_L496AG

Dependents:   DISCO_L496AG-LCD-prova_1 DISCO_L496AG-LCD-prova_2 DISCO_L496AG-LCD-demo DISCO_L496AG-SRAM-demo

Embed: (wiki syntax)

« Back to documentation index

stm32l496g_discovery_sd.c File Reference

stm32l496g_discovery_sd.c File Reference

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

Go to the source code of this file.

Functions

static void SD_Detect_MspInit (void)
 Initializes the SD Detect pin MSP.
static void SD_Detect_MspDeInit (void)
 Initializes the SD Detect pin MSP.
static HAL_StatusTypeDef SD_DMAConfigRx (SD_HandleTypeDef *hsd)
 Configure the DMA to receive data from the SD card.
static HAL_StatusTypeDef SD_DMAConfigTx (SD_HandleTypeDef *hsd)
 Configure the DMA to transmit data to the SD card.
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.
void BSP_SD_IRQHandler (void)
 Handles SD card interrupt request.
void BSP_SD_DMA_Tx_IRQHandler (void)
 Handles SD DMA Tx transfer interrupt request.
void BSP_SD_DMA_Rx_IRQHandler (void)
 Handles SD DMA Rx transfer interrupt request.
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 callback.
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 STM32L496G-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 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.
       (++) 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 cand 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 SD interrupt is handeled using the function BSP_SD_IRQHandler(),
            the DMA Tx/Rx transfer complete are handeled using the functions
            BSP_SD_DMA_Tx_IRQHandler()/BSP_SD_DMA_Rx_IRQHandler(). The corresponding user callbacks
            are 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 stm32l496g_discovery_sd.c.