Function esp_idf_svc::sys::esp_vfs_fat_sdmmc_mount

source ·
pub unsafe extern "C" fn esp_vfs_fat_sdmmc_mount(
    base_path: *const i8,
    host_config: *const sdmmc_host_t,
    slot_config: *const c_void,
    mount_config: *const esp_vfs_fat_mount_config_t,
    out_card: *mut *mut sdmmc_card_t,
) -> i32
Expand description

@brief Convenience function to get FAT filesystem on SD card registered in VFS

This is an all-in-one function which does the following:

  • initializes SDMMC driver or SPI driver with configuration in host_config
  • initializes SD card with configuration in slot_config
  • mounts FAT partition on SD card using FATFS library, with configuration in mount_config
  • registers FATFS library with VFS, with prefix given by base_prefix variable

This function is intended to make example code more compact. For real world applications, developers should implement the logic of probing SD card, locating and mounting partition, and registering FATFS in VFS, with proper error checking and handling of exceptional conditions.

@note Use this API to mount a card through SDSPI is deprecated. Please call esp_vfs_fat_sdspi_mount() instead for that case.

@param base_path path where partition should be registered (e.g. “/sdcard”) @param host_config Pointer to structure describing SDMMC host. When using SDMMC peripheral, this structure can be initialized using SDMMC_HOST_DEFAULT() macro. When using SPI peripheral, this structure can be initialized using SDSPI_HOST_DEFAULT() macro. @param slot_config Pointer to structure with slot configuration. For SDMMC peripheral, pass a pointer to sdmmc_slot_config_t structure initialized using SDMMC_SLOT_CONFIG_DEFAULT. @param mount_config pointer to structure with extra parameters for mounting FATFS @param[out] out_card if not NULL, pointer to the card information structure will be returned via this argument @return - ESP_OK on success - ESP_ERR_INVALID_STATE if esp_vfs_fat_sdmmc_mount was already called - ESP_ERR_NO_MEM if memory can not be allocated - ESP_FAIL if partition can not be mounted - other error codes from SDMMC or SPI drivers, SDMMC protocol, or FATFS drivers