STM32F769IDiscovery  1.00
uDANTE Audio Networking with STM32F7 DISCO board
stm32f769i_discovery_sd.h
Go to the documentation of this file.
1 
39 /* Define to prevent recursive inclusion -------------------------------------*/
40 #ifndef __STM32F769I_DISCOVERY_SD_H
41 #define __STM32F769I_DISCOVERY_SD_H
42 
43 #ifdef __cplusplus
44  extern "C" {
45 #endif
46 
47 /* Includes ------------------------------------------------------------------*/
48 #include "stm32f769i_discovery.h"
49 
69 #define SD_CardInfo HAL_SD_CardInfoTypedef
70 
77 #define MSD_OK ((uint8_t)0x00)
78 #define MSD_ERROR ((uint8_t)0x01)
79 #define MSD_ERROR_SD_NOT_PRESENT ((uint8_t)0x02)
80 
84 #define SD_PRESENT ((uint8_t)0x01)
85 #define SD_NOT_PRESENT ((uint8_t)0x00)
86 
87 #define SD_DATATIMEOUT ((uint32_t)100000000)
88 
89 /* DMA definitions for SD DMA transfer */
90 #define __DMAx_TxRx_CLK_ENABLE __HAL_RCC_DMA2_CLK_ENABLE
91 #define SD_DMAx_Tx_CHANNEL DMA_CHANNEL_11
92 #define SD_DMAx_Rx_CHANNEL DMA_CHANNEL_11
93 #define SD_DMAx_Tx_STREAM DMA2_Stream5
94 #define SD_DMAx_Rx_STREAM DMA2_Stream0
95 #define SD_DMAx_Tx_IRQn DMA2_Stream5_IRQn
96 #define SD_DMAx_Rx_IRQn DMA2_Stream0_IRQn
97 #define BSP_SDMMC_IRQHandler SDMMC2_IRQHandler
98 #define BSP_SDMMC_DMA_Tx_IRQHandler DMA2_Stream5_IRQHandler
99 #define BSP_SDMMC_DMA_Rx_IRQHandler DMA2_Stream0_IRQHandler
100 #define SD_DetectIRQHandler() HAL_GPIO_EXTI_IRQHandler(SD_DETECT_PIN)
101 
102 
117 uint8_t BSP_SD_Init(void);
118 uint8_t BSP_SD_DeInit(void);
119 uint8_t BSP_SD_ITConfig(void);
120 
121 
122 uint8_t BSP_SD_ReadBlocks(uint32_t *pData, uint64_t ReadAddr, uint32_t BlockSize, uint32_t NumOfBlocks);
123 uint8_t BSP_SD_WriteBlocks(uint32_t *pData, uint64_t WriteAddr, uint32_t BlockSize, uint32_t NumOfBlocks);
124 uint8_t BSP_SD_ReadBlocks_DMA(uint32_t *pData, uint64_t ReadAddr, uint32_t BlockSize, uint32_t NumOfBlocks);
125 uint8_t BSP_SD_WriteBlocks_DMA(uint32_t *pData, uint64_t WriteAddr, uint32_t BlockSize, uint32_t NumOfBlocks);
126 uint8_t BSP_SD_Erase(uint64_t StartAddr, uint64_t EndAddr);
129 uint8_t BSP_SD_IsDetected(void);
130 
131 /* These __weak function can be surcharged by application code in case the current settings (e.g. DMA stream)
132  need to be changed for specific needs */
133 void BSP_SD_MspInit(SD_HandleTypeDef *hsd, void *Params);
134 void BSP_SD_Detect_MspInit(SD_HandleTypeDef *hsd, void *Params);
135 void BSP_SD_MspDeInit(SD_HandleTypeDef *hsd, void *Params);
136 
153 #ifdef __cplusplus
154 }
155 #endif
156 
157 #endif /* __STM32F769I_DISCOVERY_SD_H */
158 
159 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
void BSP_SD_MspInit(SD_HandleTypeDef *hsd, void *Params)
Initializes the SD MSP.
uint8_t BSP_SD_ReadBlocks(uint32_t *pData, uint64_t ReadAddr, uint32_t BlockSize, uint32_t NumOfBlocks)
Reads block(s) from a specified address in an SD card, in polling mode.
void BSP_SD_Detect_MspInit(SD_HandleTypeDef *hsd, void *Params)
Initializes the SD Detect pin MSP.
uint8_t BSP_SD_DeInit(void)
DeInitializes the SD card device.
This file contains definitions for STM32F769I-Discovery LEDs, push-buttons hardware resources...
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.
HAL_SD_TransferStateTypedef BSP_SD_GetStatus(void)
Gets the current SD card data status.
uint8_t BSP_SD_ReadBlocks_DMA(uint32_t *pData, uint64_t ReadAddr, uint32_t BlockSize, uint32_t NumOfBlocks)
Reads block(s) from a specified address in an SD card, in DMA mode.
uint8_t BSP_SD_Init(void)
Initializes the SD card device.
HAL_SD_TransferStateTypedef
uint8_t BSP_SD_WriteBlocks_DMA(uint32_t *pData, uint64_t WriteAddr, uint32_t BlockSize, uint32_t NumOfBlocks)
Writes block(s) to a specified address in an SD card, in DMA mode.
void BSP_SD_GetCardInfo(HAL_SD_CardInfoTypedef *CardInfo)
Get SD information about specific SD card.
uint8_t BSP_SD_WriteBlocks(uint32_t *pData, uint64_t WriteAddr, uint32_t BlockSize, uint32_t NumOfBlocks)
Writes block(s) to a specified address in an SD card, in polling mode.
void BSP_SD_MspDeInit(SD_HandleTypeDef *hsd, void *Params)
DeInitializes the SD MSP.
uint8_t BSP_SD_Erase(uint64_t StartAddr, uint64_t EndAddr)
Erases the specified memory area of the given SD card.