STM32H735xx HAL User Manual
Functions
Peripheral Control functions
MMC Exported Functions

management functions More...

Functions

HAL_StatusTypeDef HAL_MMC_GetCardCID (MMC_HandleTypeDef *hmmc, HAL_MMC_CardCIDTypeDef *pCID)
 Returns information the information of the card which are stored on the CID register.
HAL_StatusTypeDef HAL_MMC_GetCardCSD (MMC_HandleTypeDef *hmmc, HAL_MMC_CardCSDTypeDef *pCSD)
 Returns information the information of the card which are stored on the CSD register.
HAL_StatusTypeDef HAL_MMC_GetCardInfo (MMC_HandleTypeDef *hmmc, HAL_MMC_CardInfoTypeDef *pCardInfo)
 Gets the MMC card info.
HAL_StatusTypeDef HAL_MMC_GetCardExtCSD (MMC_HandleTypeDef *hmmc, uint32_t *pExtCSD, uint32_t Timeout)
 Returns information the information of the card which are stored on the Extended CSD register.
HAL_StatusTypeDef HAL_MMC_ConfigWideBusOperation (MMC_HandleTypeDef *hmmc, uint32_t WideMode)
 Enables wide bus operation for the requested card if supported by card.
HAL_StatusTypeDef HAL_MMC_ConfigSpeedBusOperation (MMC_HandleTypeDef *hmmc, uint32_t SpeedMode)
 Configure the speed bus mode.
HAL_MMC_CardStateTypeDef HAL_MMC_GetCardState (MMC_HandleTypeDef *hmmc)
 Gets the current mmc card data state.
HAL_StatusTypeDef HAL_MMC_Abort (MMC_HandleTypeDef *hmmc)
 Abort the current transfer and disable the MMC.
HAL_StatusTypeDef HAL_MMC_Abort_IT (MMC_HandleTypeDef *hmmc)
 Abort the current transfer and disable the MMC (IT mode).
HAL_StatusTypeDef HAL_MMC_EraseSequence (MMC_HandleTypeDef *hmmc, uint32_t EraseType, uint32_t BlockStartAdd, uint32_t BlockEndAdd)
 Perform specific commands sequence for the different type of erase.
HAL_StatusTypeDef HAL_MMC_Sanitize (MMC_HandleTypeDef *hmmc)
 Perform sanitize operation on the device.
HAL_StatusTypeDef HAL_MMC_ConfigSecRemovalType (MMC_HandleTypeDef *hmmc, uint32_t SRTMode)
 Configure the Secure Removal Type (SRT) in the Extended CSD register.
HAL_StatusTypeDef HAL_MMC_GetSupportedSecRemovalType (MMC_HandleTypeDef *hmmc, uint32_t *SupportedSRT)
 Gets the supported values of the the Secure Removal Type (SRT).
HAL_StatusTypeDef HAL_MMC_SleepDevice (MMC_HandleTypeDef *hmmc)
 Switch the device from Standby State to Sleep State.
HAL_StatusTypeDef HAL_MMC_AwakeDevice (MMC_HandleTypeDef *hmmc)
 Switch the device from Sleep State to Standby State.

Detailed Description

management functions

  ==============================================================================
                      ##### Peripheral Control functions #####
  ==============================================================================
  [..]
    This subsection provides a set of functions allowing to control the MMC card
    operations and get the related information


Function Documentation

HAL_StatusTypeDef HAL_MMC_Abort ( MMC_HandleTypeDef hmmc)

Abort the current transfer and disable the MMC.

Parameters:
hmmc,:pointer to a MMC_HandleTypeDef structure that contains the configuration information for MMC module.
Return values:
HALstatus

Definition at line 2693 of file stm32h7xx_hal_mmc.c.

References __HAL_MMC_CLEAR_FLAG, __HAL_MMC_DISABLE_IT, __MMC_HandleTypeDef::Context, __MMC_HandleTypeDef::ErrorCode, HAL_MMC_CARD_RECEIVING, HAL_MMC_CARD_SENDING, HAL_MMC_ERROR_NONE, HAL_MMC_GetCardState(), HAL_MMC_STATE_READY, __MMC_HandleTypeDef::Instance, MMC_CONTEXT_NONE, and __MMC_HandleTypeDef::State.

HAL_StatusTypeDef HAL_MMC_Abort_IT ( MMC_HandleTypeDef hmmc)

Abort the current transfer and disable the MMC (IT mode).

Parameters:
hmmc,:pointer to a MMC_HandleTypeDef structure that contains the configuration information for MMC module.
Return values:
HALstatus

Definition at line 2730 of file stm32h7xx_hal_mmc.c.

References __HAL_MMC_CLEAR_FLAG, __HAL_MMC_DISABLE_IT, __MMC_HandleTypeDef::AbortCpltCallback, __MMC_HandleTypeDef::ErrorCode, HAL_MMC_AbortCallback(), HAL_MMC_CARD_RECEIVING, HAL_MMC_CARD_SENDING, HAL_MMC_ERROR_NONE, HAL_MMC_GetCardState(), HAL_MMC_STATE_READY, __MMC_HandleTypeDef::Instance, and __MMC_HandleTypeDef::State.

HAL_StatusTypeDef HAL_MMC_AwakeDevice ( MMC_HandleTypeDef hmmc)
HAL_StatusTypeDef HAL_MMC_ConfigSecRemovalType ( MMC_HandleTypeDef hmmc,
uint32_t  SRTMode 
)

Configure the Secure Removal Type (SRT) in the Extended CSD register.

Note:
This API should be followed by a check on the card state through HAL_MMC_GetCardState().
Parameters:
hmmcPointer to MMC handle
SRTModeSpecifies the type of erase to be performed This parameter can be one of the following values:
  • HAL_MMC_SRT_ERASE Information removed by an erase
  • HAL_MMC_SRT_WRITE_CHAR_ERASE Information removed by an overwriting with a character followed by an erase
  • HAL_MMC_SRT_WRITE_CHAR_COMPL_RANDOM Information removed by an overwriting with a character, its complement then a random character
  • HAL_MMC_SRT_VENDOR_DEFINED Information removed using a vendor defined
Return values:
HALstatus

Definition at line 3028 of file stm32h7xx_hal_mmc.c.

References __HAL_MMC_CLEAR_FLAG, assert_param, __MMC_HandleTypeDef::ErrorCode, HAL_MMC_ERROR_NONE, HAL_MMC_GetSupportedSecRemovalType(), HAL_MMC_STATE_BUSY, HAL_MMC_STATE_READY, __MMC_HandleTypeDef::Instance, IS_MMC_SRT_TYPE, __MMC_HandleTypeDef::MmcCard, HAL_MMC_CardInfoTypeDef::RelCardAdd, and __MMC_HandleTypeDef::State.

HAL_StatusTypeDef HAL_MMC_ConfigSpeedBusOperation ( MMC_HandleTypeDef hmmc,
uint32_t  SpeedMode 
)

Configure the speed bus mode.

Parameters:
hmmc,:Pointer to the MMC handle
SpeedMode,:Specifies the MMC card speed bus mode This parameter can be one of the following values:
  • SDMMC_SPEED_MODE_AUTO: Max speed mode supported by the card
  • SDMMC_SPEED_MODE_DEFAULT: Default Speed (MMC @ 26MHz)
  • SDMMC_SPEED_MODE_HIGH: High Speed (MMC @ 52 MHz)
  • SDMMC_SPEED_MODE_DDR: High Speed DDR (MMC DDR @ 52 MHz)
Return values:
HALstatus

Definition at line 2514 of file stm32h7xx_hal_mmc.c.

References assert_param, __MMC_HandleTypeDef::ErrorCode, __MMC_HandleTypeDef::Ext_CSD, HAL_GetTick(), HAL_MMC_CARD_TRANSFER, HAL_MMC_ERROR_NONE, HAL_MMC_ERROR_PARAM, HAL_MMC_ERROR_TIMEOUT, HAL_MMC_ERROR_UNSUPPORTED_FEATURE, HAL_MMC_GetCardState(), HAL_MMC_STATE_BUSY, HAL_MMC_STATE_READY, __MMC_HandleTypeDef::Instance, MMC_DDR_Mode(), MMC_HighSpeed(), and __MMC_HandleTypeDef::State.

HAL_StatusTypeDef HAL_MMC_ConfigWideBusOperation ( MMC_HandleTypeDef hmmc,
uint32_t  WideMode 
)

Enables wide bus operation for the requested card if supported by card.

Parameters:
hmmc,:Pointer to MMC handle
WideMode,:Specifies the MMC card wide bus mode This parameter can be one of the following values:
  • SDMMC_BUS_WIDE_8B: 8-bit data transfer
  • SDMMC_BUS_WIDE_4B: 4-bit data transfer
  • SDMMC_BUS_WIDE_1B: 1-bit data transfer
Return values:
HALstatus

Definition at line 2393 of file stm32h7xx_hal_mmc.c.

References __HAL_MMC_CLEAR_FLAG, assert_param, __MMC_HandleTypeDef::ErrorCode, HAL_MMC_ERROR_NONE, HAL_MMC_ERROR_PARAM, HAL_MMC_STATE_BUSY, HAL_MMC_STATE_READY, __MMC_HandleTypeDef::Init, __MDMA_HandleTypeDef::Init, __MMC_HandleTypeDef::Instance, MMC_PwrClassUpdate(), __MMC_HandleTypeDef::MmcCard, HAL_MMC_CardInfoTypeDef::RelCardAdd, and __MMC_HandleTypeDef::State.

Referenced by HAL_MMC_Init().

HAL_StatusTypeDef HAL_MMC_EraseSequence ( MMC_HandleTypeDef hmmc,
uint32_t  EraseType,
uint32_t  BlockStartAdd,
uint32_t  BlockEndAdd 
)

Perform specific commands sequence for the different type of erase.

Note:
This API should be followed by a check on the card state through HAL_MMC_GetCardState().
Parameters:
hmmcPointer to MMC handle
EraseTypeSpecifies the type of erase to be performed This parameter can be one of the following values:
  • HAL_MMC_TRIM Erase the write blocks identified by CMD35 & 36
  • HAL_MMC_ERASE Erase the erase groups identified by CMD35 & 36
  • HAL_MMC_DISCARD Discard the write blocks identified by CMD35 & 36
  • HAL_MMC_SECURE_ERASE Perform a secure purge according SRT on the erase groups identified by CMD35 & 36
  • HAL_MMC_SECURE_TRIM_STEP1 Mark the write blocks identified by CMD35 & 36 for secure erase
  • HAL_MMC_SECURE_TRIM_STEP2 Perform a secure purge according SRT on the write blocks previously identified
BlockStartAddStart Block address
BlockEndAddEnd Block address
Return values:
HALstatus

Definition at line 2786 of file stm32h7xx_hal_mmc.c.

References __HAL_MMC_CLEAR_FLAG, __HAL_MMC_GET_FLAG, assert_param, HAL_MMC_CardInfoTypeDef::CardType, HAL_MMC_CardInfoTypeDef::Class, __MMC_HandleTypeDef::ErrorCode, __MMC_HandleTypeDef::Ext_CSD, HAL_GetTick(), HAL_MMC_ERROR_ADDR_MISALIGNED, HAL_MMC_ERROR_ADDR_OUT_OF_RANGE, HAL_MMC_ERROR_LOCK_UNLOCK_FAILED, HAL_MMC_ERROR_NONE, HAL_MMC_ERROR_PARAM, HAL_MMC_ERROR_REQUEST_NOT_APPLICABLE, HAL_MMC_ERROR_TIMEOUT, HAL_MMC_SECURE_ERASE, HAL_MMC_SECURE_TRIM_STEP2, HAL_MMC_STATE_BUSY, HAL_MMC_STATE_READY, __MMC_HandleTypeDef::Instance, IS_MMC_ERASE_TYPE, HAL_MMC_CardInfoTypeDef::LogBlockNbr, MMC_EXT_CSD_DATA_SEC_SIZE_INDEX, MMC_EXT_CSD_DATA_SEC_SIZE_POS, MMC_HIGH_CAPACITY_CARD, __MMC_HandleTypeDef::MmcCard, and __MMC_HandleTypeDef::State.

HAL_StatusTypeDef HAL_MMC_GetCardCID ( MMC_HandleTypeDef hmmc,
HAL_MMC_CardCIDTypeDef pCID 
)

Returns information the information of the card which are stored on the CID register.

Parameters:
hmmc,:Pointer to MMC handle
pCID,:Pointer to a HAL_MMC_CIDTypedef structure that contains all CID register parameters
Return values:
HALstatus

Definition at line 2098 of file stm32h7xx_hal_mmc.c.

References __MMC_HandleTypeDef::CID, HAL_MMC_CardCIDTypeDef::CID_CRC, HAL_MMC_CardCIDTypeDef::ManufactDate, HAL_MMC_CardCIDTypeDef::ManufacturerID, HAL_MMC_CardCIDTypeDef::OEM_AppliID, HAL_MMC_CardCIDTypeDef::ProdName1, HAL_MMC_CardCIDTypeDef::ProdName2, HAL_MMC_CardCIDTypeDef::ProdRev, HAL_MMC_CardCIDTypeDef::ProdSN, HAL_MMC_CardCIDTypeDef::Reserved1, and HAL_MMC_CardCIDTypeDef::Reserved2.

HAL_StatusTypeDef HAL_MMC_GetCardCSD ( MMC_HandleTypeDef hmmc,
HAL_MMC_CardCSDTypeDef pCSD 
)

Returns information the information of the card which are stored on the CSD register.

Parameters:
hmmc,:Pointer to MMC handle
pCSD,:Pointer to a HAL_MMC_CardCSDTypeDef structure that contains all CSD register parameters
Return values:
HALstatus

< Reserved

Definition at line 2131 of file stm32h7xx_hal_mmc.c.

References __HAL_MMC_CLEAR_FLAG, HAL_MMC_CardInfoTypeDef::BlockNbr, HAL_MMC_CardInfoTypeDef::BlockSize, HAL_MMC_CardCSDTypeDef::CardComdClasses, HAL_MMC_CardInfoTypeDef::CardType, HAL_MMC_CardCSDTypeDef::ContentProtectAppli, HAL_MMC_CardCSDTypeDef::CopyFlag, __MMC_HandleTypeDef::CSD, HAL_MMC_CardCSDTypeDef::CSD_CRC, HAL_MMC_CardCSDTypeDef::CSDStruct, HAL_MMC_CardCSDTypeDef::DeviceSize, HAL_MMC_CardCSDTypeDef::DeviceSizeMul, HAL_MMC_CardCSDTypeDef::DSRImpl, HAL_MMC_CardCSDTypeDef::ECC, HAL_MMC_CardCSDTypeDef::EraseGrMul, HAL_MMC_CardCSDTypeDef::EraseGrSize, __MMC_HandleTypeDef::ErrorCode, HAL_MMC_CardCSDTypeDef::FileFormat, HAL_MMC_CardCSDTypeDef::FileFormatGroup, HAL_MMC_ERROR_UNSUPPORTED_FEATURE, HAL_MMC_STATE_READY, HAL_MMC_CardInfoTypeDef::LogBlockNbr, HAL_MMC_CardInfoTypeDef::LogBlockSize, HAL_MMC_CardCSDTypeDef::ManDeflECC, HAL_MMC_CardCSDTypeDef::MaxBusClkFrec, HAL_MMC_CardCSDTypeDef::MaxRdCurrentVDDMax, HAL_MMC_CardCSDTypeDef::MaxRdCurrentVDDMin, HAL_MMC_CardCSDTypeDef::MaxWrBlockLen, HAL_MMC_CardCSDTypeDef::MaxWrCurrentVDDMax, HAL_MMC_CardCSDTypeDef::MaxWrCurrentVDDMin, MMC_HIGH_CAPACITY_CARD, MMC_LOW_CAPACITY_CARD, MMC_ReadExtCSD(), __MMC_HandleTypeDef::MmcCard, HAL_MMC_CardCSDTypeDef::NSAC, HAL_MMC_CardCSDTypeDef::PartBlockRead, HAL_MMC_CardCSDTypeDef::PermWrProtect, HAL_MMC_CardCSDTypeDef::RdBlockLen, HAL_MMC_CardCSDTypeDef::RdBlockMisalign, HAL_MMC_CardCSDTypeDef::Reserved1, HAL_MMC_CardCSDTypeDef::Reserved2, HAL_MMC_CardCSDTypeDef::Reserved3, HAL_MMC_CardCSDTypeDef::Reserved4, __MMC_HandleTypeDef::State, HAL_MMC_CardCSDTypeDef::SysSpecVersion, HAL_MMC_CardCSDTypeDef::TAAC, HAL_MMC_CardCSDTypeDef::TempWrProtect, HAL_MMC_CardCSDTypeDef::WrBlockMisalign, HAL_MMC_CardCSDTypeDef::WriteBlockPaPartial, HAL_MMC_CardCSDTypeDef::WrProtectGrEnable, HAL_MMC_CardCSDTypeDef::WrProtectGrSize, and HAL_MMC_CardCSDTypeDef::WrSpeedFact.

Referenced by MMC_InitCard().

HAL_StatusTypeDef HAL_MMC_GetCardExtCSD ( MMC_HandleTypeDef hmmc,
uint32_t *  pExtCSD,
uint32_t  Timeout 
)

Returns information the information of the card which are stored on the Extended CSD register.

Parameters:
hmmcPointer to MMC handle
pExtCSDPointer to a memory area (512 bytes) that contains all Extended CSD register parameters
TimeoutSpecify timeout value
Return values:
HALstatus

Definition at line 2271 of file stm32h7xx_hal_mmc.c.

References __HAL_MMC_CLEAR_FLAG, __HAL_MMC_GET_FLAG, __MMC_HandleTypeDef::ErrorCode, HAL_GetTick(), HAL_MMC_ERROR_DATA_CRC_FAIL, HAL_MMC_ERROR_DATA_TIMEOUT, HAL_MMC_ERROR_NONE, HAL_MMC_ERROR_PARAM, HAL_MMC_ERROR_RX_OVERRUN, HAL_MMC_ERROR_TIMEOUT, HAL_MMC_STATE_BUSY, HAL_MMC_STATE_READY, __MMC_HandleTypeDef::Instance, and __MMC_HandleTypeDef::State.

Referenced by MMC_InitCard().

HAL_StatusTypeDef HAL_MMC_GetCardInfo ( MMC_HandleTypeDef hmmc,
HAL_MMC_CardInfoTypeDef pCardInfo 
)

Gets the MMC card info.

Parameters:
hmmc,:Pointer to MMC handle
pCardInfo,:Pointer to the HAL_MMC_CardInfoTypeDef structure that will contain the MMC card status information
Return values:
HALstatus

Definition at line 2249 of file stm32h7xx_hal_mmc.c.

References HAL_MMC_CardInfoTypeDef::BlockNbr, HAL_MMC_CardInfoTypeDef::BlockSize, HAL_MMC_CardInfoTypeDef::CardType, HAL_MMC_CardInfoTypeDef::Class, HAL_MMC_CardInfoTypeDef::LogBlockNbr, HAL_MMC_CardInfoTypeDef::LogBlockSize, __MMC_HandleTypeDef::MmcCard, and HAL_MMC_CardInfoTypeDef::RelCardAdd.

Gets the current mmc card data state.

Parameters:
hmmc,:pointer to MMC handle
Return values:
Cardstate

Definition at line 2670 of file stm32h7xx_hal_mmc.c.

References __MMC_HandleTypeDef::ErrorCode, HAL_MMC_ERROR_NONE, and MMC_SendStatus().

Referenced by HAL_MMC_Abort(), HAL_MMC_Abort_IT(), HAL_MMC_AwakeDevice(), HAL_MMC_ConfigSpeedBusOperation(), and HAL_MMC_SleepDevice().

HAL_StatusTypeDef HAL_MMC_GetSupportedSecRemovalType ( MMC_HandleTypeDef hmmc,
uint32_t *  SupportedSRT 
)

Gets the supported values of the the Secure Removal Type (SRT).

Parameters:
hmmcpointer to MMC handle
SupportedSRTpointer for supported SRT value This parameter is a bit field of the following values:
  • HAL_MMC_SRT_ERASE Information removed by an erase
  • HAL_MMC_SRT_WRITE_CHAR_ERASE Information removed by an overwriting with a character followed by an erase
  • HAL_MMC_SRT_WRITE_CHAR_COMPL_RANDOM Information removed by an overwriting with a character, its complement then a random character
  • HAL_MMC_SRT_VENDOR_DEFINED Information removed using a vendor defined
Return values:
HALstatus

Definition at line 3134 of file stm32h7xx_hal_mmc.c.

References __MMC_HandleTypeDef::Ext_CSD, HAL_MMC_STATE_BUSY, HAL_MMC_STATE_READY, and __MMC_HandleTypeDef::State.

Referenced by HAL_MMC_ConfigSecRemovalType().

HAL_StatusTypeDef HAL_MMC_Sanitize ( MMC_HandleTypeDef hmmc)

Perform sanitize operation on the device.

Note:
This API should be followed by a check on the card state through HAL_MMC_GetCardState().
Parameters:
hmmcPointer to MMC handle
Return values:
HALstatus

Definition at line 2917 of file stm32h7xx_hal_mmc.c.

References __HAL_MMC_CLEAR_FLAG, __HAL_MMC_GET_FLAG, __MMC_HandleTypeDef::ErrorCode, HAL_GetTick(), HAL_MMC_ERROR_NONE, HAL_MMC_ERROR_TIMEOUT, HAL_MMC_STATE_BUSY, HAL_MMC_STATE_READY, __MMC_HandleTypeDef::Instance, __MMC_HandleTypeDef::MmcCard, HAL_MMC_CardInfoTypeDef::RelCardAdd, and __MMC_HandleTypeDef::State.

HAL_StatusTypeDef HAL_MMC_SleepDevice ( MMC_HandleTypeDef hmmc)