WebRadioApp  0.1
bsp_driver_sd.h
Go to the documentation of this file.
1 
20 /* Define to prevent recursive inclusion -------------------------------------*/
21 #ifndef __STM32H7_SD_H
22 #define __STM32H7_SD_H
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
28 /* Includes ------------------------------------------------------------------*/
29 #include "stm32h7xx_hal.h"
30 #include "fatfs_platform.h"
31 
32 /* Exported types --------------------------------------------------------*/
36 #define BSP_SD_CardInfo HAL_SD_CardInfoTypeDef
37 
38 /* Exported constants --------------------------------------------------------*/
42 #define MSD_OK ((uint8_t)0x00)
43 #define MSD_ERROR ((uint8_t)0x01)
44 #define MSD_ERROR_SD_NOT_PRESENT ((uint8_t)0x02)
45 
49 #define SD_TRANSFER_OK ((uint8_t)0x00)
50 #define SD_TRANSFER_BUSY ((uint8_t)0x01)
51 
52 #define SD_PRESENT ((uint8_t)0x01)
53 #define SD_NOT_PRESENT ((uint8_t)0x00)
54 #define SD_DATATIMEOUT ((uint32_t)100000000)
55 
56 /* USER CODE BEGIN BSP_H_CODE */
57 #define SD_DetectIRQHandler() HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_8)
58 
59 /* Exported functions --------------------------------------------------------*/
60 uint8_t BSP_SD_Init(void);
61 uint8_t BSP_SD_ITConfig(void);
62 uint8_t BSP_SD_ReadBlocks(uint32_t *pData, uint32_t ReadAddr,
63  uint32_t NumOfBlocks, uint32_t Timeout);
64 uint8_t BSP_SD_WriteBlocks(uint32_t *pData, uint32_t WriteAddr,
65  uint32_t NumOfBlocks, uint32_t Timeout);
66 uint8_t BSP_SD_ReadBlocks_DMA(uint32_t *pData, uint32_t ReadAddr,
67  uint32_t NumOfBlocks);
68 uint8_t BSP_SD_WriteBlocks_DMA(uint32_t *pData, uint32_t WriteAddr,
69  uint32_t NumOfBlocks);
70 uint8_t BSP_SD_Erase(uint32_t StartAddr, uint32_t EndAddr);
71 uint8_t BSP_SD_GetCardState(void);
72 void BSP_SD_GetCardInfo(BSP_SD_CardInfo *CardInfo);
73 uint8_t BSP_SD_IsDetected(void);
74 
75 /* These functions can be modified in case the current settings (e.g. DMA
76  stream) need to be changed for specific application needs */
77 void BSP_SD_AbortCallback(void);
78 void BSP_SD_WriteCpltCallback(void);
79 void BSP_SD_ReadCpltCallback(void);
80 /* USER CODE END BSP_H_CODE */
81 
82 #ifdef __cplusplus
83 }
84 #endif
85 
86 #endif /* __STM32H7_SD_H */
87 
88 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
NMI_Handler
void NMI_Handler(void)
This function handles Non maskable interrupt.
Definition: stm32h7xx_it.c:97
hhcd_USB_OTG_HS
HCD_HandleTypeDef hhcd_USB_OTG_HS
Definition: usbh_conf.c:44
EwBspInOutEventHandler
void EwBspInOutEventHandler(int aEventId)
The function EwBspInOutEventHandler is called from the touch screen driver in case of an input event.
Definition: ew_bsp_inout.c:108
SD_TRANSFER_BUSY
#define SD_TRANSFER_BUSY
Definition: bsp_driver_sd.h:50
SD_TRANSFER_OK
#define SD_TRANSFER_OK
SD transfer state definition.
Definition: bsp_driver_sd.h:49
BSP_SD_ReadBlocks_DMA
__weak 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.
Definition: bsp_driver_sd.c:142
SysTick_Handler
void SysTick_Handler(void)
This function handles System tick timer.
Definition: stm32h7xx_it.c:205
ew_bsp_inout.h
ewrte.h
BSP_PlatformIsDetected
uint8_t BSP_PlatformIsDetected(void)
Definition: fatfs_platform.c:20
DebugMon_Handler
void DebugMon_Handler(void)
This function handles Debug monitor.
Definition: stm32h7xx_it.c:181
BSP_SD_IsDetected
__weak uint8_t BSP_SD_IsDetected(void)
Detects if SD card is correctly plugged in the memory slot or not.
Definition: bsp_driver_sd.c:291
OTG_HS_IRQHandler
void OTG_HS_IRQHandler(void)
This function handles USB On The Go HS global interrupt.
Definition: stm32h7xx_it.c:290
BSP_SD_Init
__weak uint8_t BSP_SD_Init(void)
Initializes the SD card device.
Definition: bsp_driver_sd.c:44
HAL_SD_RxCpltCallback
void HAL_SD_RxCpltCallback(SD_HandleTypeDef *hsd)
Rx Transfer completed callback.
Definition: bsp_driver_sd.c:258
BSP_SD_GetCardState
__weak uint8_t BSP_SD_GetCardState(void)
Gets the current SD card data status.
Definition: bsp_driver_sd.c:212
BSP_SD_GetCardInfo
void BSP_SD_GetCardInfo(BSP_SD_CardInfo *CardInfo)
PendSV_Handler
void PendSV_Handler(void)
This function handles PendSVC exception.
Definition: stm32h7xx_it.c:198
BSP_SD_IsDetected
uint8_t BSP_SD_IsDetected(void)
Detects if SD card is correctly plugged in the memory slot or not.
Definition: bsp_driver_sd.c:291
BSP_SD_ReadCpltCallback
__weak void BSP_SD_ReadCpltCallback(void)
BSP Rx Transfer completed callback.
Definition: bsp_driver_sd.c:283
BSP_SD_WriteBlocks_DMA
__weak 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.
Definition: bsp_driver_sd.c:166
BSP_SD_ReadBlocks_DMA
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.
Definition: bsp_driver_sd.c:142
BSP_SD_WriteBlocks
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.
Definition: bsp_driver_sd.c:119
EXTI15_10_IRQHandler
void EXTI15_10_IRQHandler(void)
This function handles EXTI15_10 IRQ.
Definition: stm32h7xx_it.c:247
BSP_SD_Erase
uint8_t BSP_SD_Erase(uint32_t StartAddr, uint32_t EndAddr)
Erases the specified memory area of the given SD card.
Definition: bsp_driver_sd.c:189
HAL_SD_AbortCallback
void HAL_SD_AbortCallback(SD_HandleTypeDef *hsd)
SD Abort callbacks.
Definition: bsp_driver_sd.c:238
heth
ETH_HandleTypeDef heth
Definition: ethernetif.c:115
BSP_SD_WriteBlocks_DMA
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.
Definition: bsp_driver_sd.c:166
hsd1
SD_HandleTypeDef hsd1
Definition: main.cpp:25
BSP_SD_Init
uint8_t BSP_SD_Init(void)
Initializes the SD card device.
Definition: bsp_driver_sd.c:44
UsageFault_Handler
void UsageFault_Handler(void)
This function handles Undefined instruction or illegal state.
Definition: stm32h7xx_it.c:155
BSP_SD_GetCardInfo
__weak void BSP_SD_GetCardInfo(HAL_SD_CardInfoTypeDef *CardInfo)
Get SD information about specific SD card.
Definition: bsp_driver_sd.c:224
MSD_ERROR_SD_NOT_PRESENT
#define MSD_ERROR_SD_NOT_PRESENT
Definition: bsp_driver_sd.h:44
EwPrint
void EwPrint(const char *aFormat,...)
ew_bsp_clock.h
haudio_out_sai
SAI_HandleTypeDef haudio_out_sai
SD_PRESENT
#define SD_PRESENT
Definition: bsp_driver_sd.h:52
BSP_SD_ITConfig
uint8_t BSP_SD_ITConfig(void)
Configures Interrupt mode for SD detection pin.
Definition: bsp_driver_sd.c:72
BSP_SD_WriteBlocks
__weak 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.
Definition: bsp_driver_sd.c:119
HardFault_Handler
void HardFault_Handler(void)
This function handles Hard fault interrupt.
Definition: stm32h7xx_it.c:110
AUDIO_OUT_SAIx_DMAx_IRQHandler
void AUDIO_OUT_SAIx_DMAx_IRQHandler(void)
Definition: stm32h7xx_it.c:302
BSP_SD_Erase
__weak uint8_t BSP_SD_Erase(uint32_t StartAddr, uint32_t EndAddr)
Erases the specified memory area of the given SD card.
Definition: bsp_driver_sd.c:189
BSP_SD_ReadCpltCallback
void BSP_SD_ReadCpltCallback(void)
BSP Rx Transfer completed callback.
Definition: bsp_driver_sd.c:283
SDMMC1_IRQHandler
void SDMMC1_IRQHandler(void)
This function handles SDMMC1 global interrupt.
Definition: stm32h7xx_it.c:262
BusFault_Handler
void BusFault_Handler(void)
This function handles Pre-fetch fault, memory access fault.
Definition: stm32h7xx_it.c:140
htim1
TIM_HandleTypeDef htim1
Definition: main.cpp:26
MemManage_Handler
void MemManage_Handler(void)
This function handles Memory management fault.
Definition: stm32h7xx_it.c:125
BSP_SD_ReadBlocks
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.
Definition: bsp_driver_sd.c:94
BSP_SD_CardInfo
#define BSP_SD_CardInfo
SD Card information structure.
Definition: bsp_driver_sd.h:36
SD_NOT_PRESENT
#define SD_NOT_PRESENT
Definition: bsp_driver_sd.h:53
haudio_in_sai
SAI_HandleTypeDef haudio_in_sai
hsd1
SD_HandleTypeDef hsd1
Definition: main.cpp:25
bsp_driver_sd.h
This file contains the common defines and functions prototypes for the bsp_driver_sd....
SVC_Handler
void SVC_Handler(void)
This function handles SVCall exception.
Definition: stm32h7xx_it.c:174
MSD_ERROR
#define MSD_ERROR
Definition: bsp_driver_sd.h:43
BSP_SD_WriteCpltCallback
__weak void BSP_SD_WriteCpltCallback(void)
BSP Tx Transfer completed callback.
Definition: bsp_driver_sd.c:276
fatfs_platform.h
: fatfs_platform header file
MSD_OK
#define MSD_OK
SD status structure definition.
Definition: bsp_driver_sd.h:42
BSP_SD_ReadBlocks
__weak 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.
Definition: bsp_driver_sd.c:94
BSP_SD_AbortCallback
void BSP_SD_AbortCallback(void)
BSP SD Abort callback.
Definition: bsp_driver_sd.c:269
ETH_IRQHandler
void ETH_IRQHandler(void)
This function handles Ethernet global interrupt.
Definition: stm32h7xx_it.c:276
EwBspClockTickIncrement
void EwBspClockTickIncrement(void)
The function EwBspClockTickIncrement increments the millisecond counter, which is used by the Runtime...
Definition: ew_bsp_clock.c:232
BSP_SD_AbortCallback
__weak void BSP_SD_AbortCallback(void)
BSP SD Abort callback.
Definition: bsp_driver_sd.c:269
BSP_SD_WriteCpltCallback
void BSP_SD_WriteCpltCallback(void)
BSP Tx Transfer completed callback.
Definition: bsp_driver_sd.c:276
BSP_SD_GetCardState
uint8_t BSP_SD_GetCardState(void)
Gets the current SD card data status.
Definition: bsp_driver_sd.c:212
BSP_SD_ITConfig
__weak uint8_t BSP_SD_ITConfig(void)
Configures Interrupt mode for SD detection pin.
Definition: bsp_driver_sd.c:72
HAL_SD_TxCpltCallback
void HAL_SD_TxCpltCallback(SD_HandleTypeDef *hsd)
Tx Transfer completed callback.
Definition: bsp_driver_sd.c:248
TIM1_UP_IRQHandler
void TIM1_UP_IRQHandler(void)
This function handles TIM1 update interrupt.
Definition: stm32h7xx_it.c:231