STM32H735xx HAL User Manual
|
Header file of MMC HAL module. More...
Go to the source code of this file.
Data Structures | |
struct | HAL_MMC_CardInfoTypeDef |
MMC Card Information Structure definition. More... | |
struct | __MMC_HandleTypeDef |
MMC handle Structure definition. More... | |
struct | HAL_MMC_CardCSDTypeDef |
struct | HAL_MMC_CardCIDTypeDef |
Defines | |
#define | HAL_MMC_CARD_IDLE 0x00000000U |
#define | HAL_MMC_CARD_READY 0x00000001U |
#define | HAL_MMC_CARD_IDENTIFICATION 0x00000002U |
#define | HAL_MMC_CARD_STANDBY 0x00000003U |
#define | HAL_MMC_CARD_TRANSFER 0x00000004U |
#define | HAL_MMC_CARD_SENDING 0x00000005U |
#define | HAL_MMC_CARD_RECEIVING 0x00000006U |
#define | HAL_MMC_CARD_PROGRAMMING 0x00000007U |
#define | HAL_MMC_CARD_DISCONNECTED 0x00000008U |
#define | HAL_MMC_CARD_BUSTEST 0x00000009U |
#define | HAL_MMC_CARD_SLEEP 0x0000000AU |
#define | HAL_MMC_CARD_ERROR 0x000000FFU |
#define | MMC_InitTypeDef SDMMC_InitTypeDef |
#define | MMC_TypeDef SDMMC_TypeDef |
#define | MMC_BLOCKSIZE ((uint32_t)512U) |
#define | HAL_MMC_ERROR_NONE SDMMC_ERROR_NONE |
#define | HAL_MMC_ERROR_CMD_CRC_FAIL SDMMC_ERROR_CMD_CRC_FAIL |
#define | HAL_MMC_ERROR_DATA_CRC_FAIL SDMMC_ERROR_DATA_CRC_FAIL |
#define | HAL_MMC_ERROR_CMD_RSP_TIMEOUT SDMMC_ERROR_CMD_RSP_TIMEOUT |
#define | HAL_MMC_ERROR_DATA_TIMEOUT SDMMC_ERROR_DATA_TIMEOUT |
#define | HAL_MMC_ERROR_TX_UNDERRUN SDMMC_ERROR_TX_UNDERRUN |
#define | HAL_MMC_ERROR_RX_OVERRUN SDMMC_ERROR_RX_OVERRUN |
#define | HAL_MMC_ERROR_ADDR_MISALIGNED SDMMC_ERROR_ADDR_MISALIGNED |
#define | HAL_MMC_ERROR_BLOCK_LEN_ERR SDMMC_ERROR_BLOCK_LEN_ERR |
#define | HAL_MMC_ERROR_ERASE_SEQ_ERR SDMMC_ERROR_ERASE_SEQ_ERR |
#define | HAL_MMC_ERROR_BAD_ERASE_PARAM SDMMC_ERROR_BAD_ERASE_PARAM |
#define | HAL_MMC_ERROR_WRITE_PROT_VIOLATION SDMMC_ERROR_WRITE_PROT_VIOLATION |
#define | HAL_MMC_ERROR_LOCK_UNLOCK_FAILED SDMMC_ERROR_LOCK_UNLOCK_FAILED |
#define | HAL_MMC_ERROR_COM_CRC_FAILED SDMMC_ERROR_COM_CRC_FAILED |
#define | HAL_MMC_ERROR_ILLEGAL_CMD SDMMC_ERROR_ILLEGAL_CMD |
#define | HAL_MMC_ERROR_CARD_ECC_FAILED SDMMC_ERROR_CARD_ECC_FAILED |
#define | HAL_MMC_ERROR_CC_ERR SDMMC_ERROR_CC_ERR |
#define | HAL_MMC_ERROR_GENERAL_UNKNOWN_ERR SDMMC_ERROR_GENERAL_UNKNOWN_ERR |
#define | HAL_MMC_ERROR_STREAM_READ_UNDERRUN SDMMC_ERROR_STREAM_READ_UNDERRUN |
#define | HAL_MMC_ERROR_STREAM_WRITE_OVERRUN SDMMC_ERROR_STREAM_WRITE_OVERRUN |
#define | HAL_MMC_ERROR_CID_CSD_OVERWRITE SDMMC_ERROR_CID_CSD_OVERWRITE |
#define | HAL_MMC_ERROR_WP_ERASE_SKIP SDMMC_ERROR_WP_ERASE_SKIP |
#define | HAL_MMC_ERROR_CARD_ECC_DISABLED SDMMC_ERROR_CARD_ECC_DISABLED |
#define | HAL_MMC_ERROR_ERASE_RESET SDMMC_ERROR_ERASE_RESET |
#define | HAL_MMC_ERROR_AKE_SEQ_ERR SDMMC_ERROR_AKE_SEQ_ERR |
#define | HAL_MMC_ERROR_INVALID_VOLTRANGE SDMMC_ERROR_INVALID_VOLTRANGE |
#define | HAL_MMC_ERROR_ADDR_OUT_OF_RANGE SDMMC_ERROR_ADDR_OUT_OF_RANGE |
#define | HAL_MMC_ERROR_REQUEST_NOT_APPLICABLE SDMMC_ERROR_REQUEST_NOT_APPLICABLE |
#define | HAL_MMC_ERROR_PARAM SDMMC_ERROR_INVALID_PARAMETER |
#define | HAL_MMC_ERROR_UNSUPPORTED_FEATURE SDMMC_ERROR_UNSUPPORTED_FEATURE |
#define | HAL_MMC_ERROR_BUSY SDMMC_ERROR_BUSY |
#define | HAL_MMC_ERROR_DMA SDMMC_ERROR_DMA |
#define | HAL_MMC_ERROR_TIMEOUT SDMMC_ERROR_TIMEOUT |
#define | HAL_MMC_ERROR_INVALID_CALLBACK SDMMC_ERROR_INVALID_PARAMETER |
#define | MMC_CONTEXT_NONE ((uint32_t)0x00000000U) |
#define | MMC_CONTEXT_READ_SINGLE_BLOCK ((uint32_t)0x00000001U) |
#define | MMC_CONTEXT_READ_MULTIPLE_BLOCK ((uint32_t)0x00000002U) |
#define | MMC_CONTEXT_WRITE_SINGLE_BLOCK ((uint32_t)0x00000010U) |
#define | MMC_CONTEXT_WRITE_MULTIPLE_BLOCK ((uint32_t)0x00000020U) |
#define | MMC_CONTEXT_IT ((uint32_t)0x00000008U) |
#define | MMC_CONTEXT_DMA ((uint32_t)0x00000080U) |
#define | MMC_HIGH_VOLTAGE_RANGE 0x80FF8000U |
#define | MMC_DUAL_VOLTAGE_RANGE 0x80FF8080U |
#define | MMC_LOW_VOLTAGE_RANGE 0x80000080U |
#define | EMMC_HIGH_VOLTAGE_RANGE 0xC0FF8000U |
#define | EMMC_DUAL_VOLTAGE_RANGE 0xC0FF8080U |
#define | EMMC_LOW_VOLTAGE_RANGE 0xC0000080U |
#define | MMC_INVALID_VOLTAGE_RANGE 0x0001FF01U |
#define | MMC_LOW_CAPACITY_CARD ((uint32_t)0x00000000U) |
#define | MMC_HIGH_CAPACITY_CARD ((uint32_t)0x00000001U) |
#define | HAL_MMC_ERASE 0x00000000U |
#define | HAL_MMC_TRIM 0x00000001U |
#define | HAL_MMC_DISCARD 0x00000003U |
#define | HAL_MMC_SECURE_ERASE 0x80000000U |
#define | HAL_MMC_SECURE_TRIM_STEP1 0x80000001U |
#define | HAL_MMC_SECURE_TRIM_STEP2 0x80008000U |
#define | IS_MMC_ERASE_TYPE(TYPE) |
#define | HAL_MMC_SRT_ERASE 0x00000001U |
#define | HAL_MMC_SRT_WRITE_CHAR_ERASE 0x00000002U |
#define | HAL_MMC_SRT_WRITE_CHAR_COMPL_RANDOM 0x00000004U |
#define | HAL_MMC_SRT_VENDOR_DEFINED 0x00000008U |
#define | IS_MMC_SRT_TYPE(TYPE) |
#define | __HAL_MMC_RESET_HANDLE_STATE(__HANDLE__) |
Reset MMC handle state. | |
#define | __HAL_MMC_ENABLE_IT(__HANDLE__, __INTERRUPT__) __SDMMC_ENABLE_IT((__HANDLE__)->Instance, (__INTERRUPT__)) |
Enable the MMC device interrupt. | |
#define | __HAL_MMC_DISABLE_IT(__HANDLE__, __INTERRUPT__) __SDMMC_DISABLE_IT((__HANDLE__)->Instance, (__INTERRUPT__)) |
Disable the MMC device interrupt. | |
#define | __HAL_MMC_GET_FLAG(__HANDLE__, __FLAG__) __SDMMC_GET_FLAG((__HANDLE__)->Instance, (__FLAG__)) |
Check whether the specified MMC flag is set or not. | |
#define | __HAL_MMC_CLEAR_FLAG(__HANDLE__, __FLAG__) __SDMMC_CLEAR_FLAG((__HANDLE__)->Instance, (__FLAG__)) |
Clear the MMC's pending flags. | |
#define | __HAL_MMC_GET_IT(__HANDLE__, __INTERRUPT__) __SDMMC_GET_IT((__HANDLE__)->Instance, (__INTERRUPT__)) |
Check whether the specified MMC interrupt has occurred or not. | |
#define | __HAL_MMC_CLEAR_IT(__HANDLE__, __INTERRUPT__) __SDMMC_CLEAR_IT((__HANDLE__)->Instance, (__INTERRUPT__)) |
Clear the MMC's interrupt pending bits. | |
#define | MMC_EXT_CSD_DATA_SEC_SIZE_INDEX 61 |
#define | MMC_EXT_CSD_DATA_SEC_SIZE_POS 8 |
Typedefs | |
typedef uint32_t | HAL_MMC_CardStateTypeDef |
typedef struct __MMC_HandleTypeDef | MMC_HandleTypeDef |
MMC handle Structure definition. | |
typedef void(* | pMMC_CallbackTypeDef )(MMC_HandleTypeDef *hmmc) |
Enumerations | |
enum | HAL_MMC_StateTypeDef { HAL_MMC_STATE_RESET = ((uint32_t)0x00000000U), HAL_MMC_STATE_READY = ((uint32_t)0x00000001U), HAL_MMC_STATE_TIMEOUT = ((uint32_t)0x00000002U), HAL_MMC_STATE_BUSY = ((uint32_t)0x00000003U), HAL_MMC_STATE_PROGRAMMING = ((uint32_t)0x00000004U), HAL_MMC_STATE_RECEIVING = ((uint32_t)0x00000005U), HAL_MMC_STATE_TRANSFER = ((uint32_t)0x00000006U), HAL_MMC_STATE_ERROR = ((uint32_t)0x0000000FU) } |
enum | HAL_MMC_CallbackIDTypeDef { HAL_MMC_TX_CPLT_CB_ID = 0x00U, HAL_MMC_RX_CPLT_CB_ID = 0x01U, HAL_MMC_ERROR_CB_ID = 0x02U, HAL_MMC_ABORT_CB_ID = 0x03U, HAL_MMC_READ_DMA_DBL_BUF0_CPLT_CB_ID = 0x04U, HAL_MMC_READ_DMA_DBL_BUF1_CPLT_CB_ID = 0x05U, HAL_MMC_WRITE_DMA_DBL_BUF0_CPLT_CB_ID = 0x06U, HAL_MMC_WRITE_DMA_DBL_BUF1_CPLT_CB_ID = 0x07U, HAL_MMC_MSP_INIT_CB_ID = 0x10U, HAL_MMC_MSP_DEINIT_CB_ID = 0x11U } |
Functions | |
HAL_StatusTypeDef | HAL_MMC_Init (MMC_HandleTypeDef *hmmc) |
Initializes the MMC according to the specified parameters in the MMC_HandleTypeDef and create the associated handle. | |
HAL_StatusTypeDef | HAL_MMC_InitCard (MMC_HandleTypeDef *hmmc) |
Initializes the MMC Card. | |
HAL_StatusTypeDef | HAL_MMC_DeInit (MMC_HandleTypeDef *hmmc) |
De-Initializes the MMC card. | |
__weak void | HAL_MMC_MspInit (MMC_HandleTypeDef *hmmc) |
Initializes the MMC MSP. | |
__weak void | HAL_MMC_MspDeInit (MMC_HandleTypeDef *hmmc) |
De-Initialize MMC MSP. | |
HAL_StatusTypeDef | HAL_MMC_ReadBlocks (MMC_HandleTypeDef *hmmc, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks, uint32_t Timeout) |
Reads block(s) from a specified address in a card. | |
HAL_StatusTypeDef | HAL_MMC_WriteBlocks (MMC_HandleTypeDef *hmmc, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks, uint32_t Timeout) |
Allows to write block(s) to a specified address in a card. | |
HAL_StatusTypeDef | HAL_MMC_Erase (MMC_HandleTypeDef *hmmc, uint32_t BlockStartAdd, uint32_t BlockEndAdd) |
Erases the specified memory area of the given MMC card. | |
HAL_StatusTypeDef | HAL_MMC_ReadBlocks_IT (MMC_HandleTypeDef *hmmc, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks) |
Reads block(s) from a specified address in a card. | |
HAL_StatusTypeDef | HAL_MMC_WriteBlocks_IT (MMC_HandleTypeDef *hmmc, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks) |
Writes block(s) to a specified address in a card. | |
HAL_StatusTypeDef | HAL_MMC_ReadBlocks_DMA (MMC_HandleTypeDef *hmmc, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks) |
Reads block(s) from a specified address in a card. | |
HAL_StatusTypeDef | HAL_MMC_WriteBlocks_DMA (MMC_HandleTypeDef *hmmc, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks) |
Writes block(s) to a specified address in a card. | |
void | HAL_MMC_IRQHandler (MMC_HandleTypeDef *hmmc) |
This function handles MMC card interrupt request. | |
__weak void | HAL_MMC_TxCpltCallback (MMC_HandleTypeDef *hmmc) |
Tx Transfer completed callbacks. | |
__weak void | HAL_MMC_RxCpltCallback (MMC_HandleTypeDef *hmmc) |
Rx Transfer completed callbacks. | |
__weak void | HAL_MMC_ErrorCallback (MMC_HandleTypeDef *hmmc) |
MMC error callbacks. | |
__weak void | HAL_MMC_AbortCallback (MMC_HandleTypeDef *hmmc) |
MMC Abort callbacks. | |
HAL_StatusTypeDef | HAL_MMC_RegisterCallback (MMC_HandleTypeDef *hmmc, HAL_MMC_CallbackIDTypeDef CallbackId, pMMC_CallbackTypeDef pCallback) |
Register a User MMC Callback To be used instead of the weak (surcharged) predefined callback. | |
HAL_StatusTypeDef | HAL_MMC_UnRegisterCallback (MMC_HandleTypeDef *hmmc, HAL_MMC_CallbackIDTypeDef CallbackId) |
Unregister a User MMC Callback MMC Callback is redirected to the weak (surcharged) predefined callback. | |
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_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_MMC_StateTypeDef | HAL_MMC_GetState (MMC_HandleTypeDef *hmmc) |
return the MMC state | |
uint32_t | HAL_MMC_GetError (MMC_HandleTypeDef *hmmc) |
Return the MMC error code. | |
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. |
Header file of MMC HAL module.
Copyright (c) 2017 STMicroelectronics. All rights reserved.
This software is licensed under terms that can be found in the LICENSE file in the root directory of this software component. If no LICENSE file comes with this software, it is provided AS-IS.
Definition in file stm32h7xx_hal_mmc.h.