STM32 Bootloader
Customizable Bootloader for STM32 microcontrollers
sdmmc.h
Go to the documentation of this file.
1 
17 #ifndef BSP_SDMMC_H
18 #define BSP_SDMMC_H
19 
20 #ifdef __cplusplus
21 extern "C" {
22 #endif
23 
33 /* Includes ------------------------------------------------------------------*/
34 #include "mcu_hal.h"
35 
36 #include <stdbool.h>
37 #include <stdint.h>
38 
39 /* Type definitions ----------------------------------------------------------*/
41 typedef HAL_SD_CardInfoTypeDef SdCardInfo;
42 
44 typedef void (*Callback)(void);
45 
46 /* Functions------------------------------------------------------------------*/
47 
53 bool SdmmcInit(void);
54 
58 void SdmmcDeInit(void);
59 
68 bool SdmmcGetCardInfo(SdCardInfo* const cardInfo);
69 
76 
87 bool SdmmcReadBlocks(uint8_t* const data,
88  const uint32_t blockAddress,
89  const uint32_t numOfBlocks,
90  const uint32_t timeout);
91 
102 bool SdmmcWriteBlocks(const uint8_t* const data,
103  const uint32_t blockAddress,
104  const uint32_t numOfBlocks,
105  const uint32_t timeout);
106 
117 bool SdmmcReadBlocksDma(uint8_t* const data,
118  const uint32_t blockAddress,
119  const uint32_t numOfBlocks);
120 
131 bool SdmmcWriteBlocksDma(const uint8_t* const data,
132  const uint32_t blockAddress,
133  const uint32_t numOfBlocks);
134 
141 
148 
155 #ifdef __cplusplus
156 }
157 #endif
158 
159 #endif
bool SdmmcInit(void)
Initialize the SDMMC peripheral and the SD card.
Definition: sdmmc.c:62
bool SdmmcGetCardInfo(SdCardInfo *const cardInfo)
Get the SD card information (capacity, block size, etc.).
Definition: sdmmc.c:127
void SdmmcRegisterRxCompleteCallback(Callback callback)
Register a callback for the DMA receive complete event.
Definition: sdmmc.c:314
bool SdmmcWriteBlocks(const uint8_t *const data, const uint32_t blockAddress, const uint32_t numOfBlocks, const uint32_t timeout)
Write blocks to the SD card in blocking mode.
Definition: sdmmc.c:146
bool SdmmcReadBlocks(uint8_t *const data, const uint32_t blockAddress, const uint32_t numOfBlocks, const uint32_t timeout)
Read blocks from the SD card in blocking mode.
Definition: sdmmc.c:137
bool SdmmcReadBlocksDma(uint8_t *const data, const uint32_t blockAddress, const uint32_t numOfBlocks)
Read blocks from the SD card using DMA.
Definition: sdmmc.c:172
void SdmmcDeInit(void)
De-initialize the SDMMC peripheral.
Definition: sdmmc.c:115
void(* Callback)(void)
Definition: sdmmc.h:44
void SdmmcRegisterTxCompleteCallback(Callback callback)
Register a callback for the DMA transmit complete event.
Definition: sdmmc.c:319
bool SdmmcWriteBlocksDma(const uint8_t *const data, const uint32_t blockAddress, const uint32_t numOfBlocks)
Write blocks to the SD card using DMA.
Definition: sdmmc.c:191
HAL_SD_CardInfoTypeDef SdCardInfo
Definition: sdmmc.h:41
bool SdmmcIsCardInTransferState(void)
Check if the SD card is in the transfer state.
Definition: sdmmc.c:132
This file includes the microcontroller-specific HAL header files.