Page 1 of 1

Formatting SD card

Posted: Tue Apr 30, 2019 10:22 am
by Humam Helfawi
Hi,

Is it possible to format an SD card as FAT32 at runtime using ESP-IDF ?

Thanks!

Re: Formatting SD card

Posted: Wed May 01, 2019 9:38 am
by chegewara
/**
* @brief Configuration arguments for esp_vfs_fat_sdmmc_mount and esp_vfs_fat_spiflash_mount functions
*/
typedef struct {
/**
* If FAT partition can not be mounted, and this parameter is true,
* create partition table and format the filesystem.
*/
bool format_if_mount_failed;
int max_files; ///< Max number of open files
/**
* If format_if_mount_failed is set, and mount fails, format the card
* with given allocation unit size. Must be a power of 2, between sector
* size and 128 * sector size.
* For SD cards, sector size is always 512 bytes. For wear_levelling,
* sector size is determined by CONFIG_WL_SECTOR_SIZE option.
*
* Using larger allocation unit size will result in higher read/write
* performance and higher overhead when storing small files.
*
* Setting this field to 0 will result in allocation unit set to the
* sector size.
*/
size_t allocation_unit_size;
} esp_vfs_fat_mount_config_t;

// Compatibility definition
typedef esp_vfs_fat_mount_config_t esp_vfs_fat_sdmmc_mount_config_t;

Re: Formatting SD card

Posted: Fri May 03, 2019 11:58 am
by Humam Helfawi
chegewara wrote:
Wed May 01, 2019 9:38 am
/**
* @brief Configuration arguments for esp_vfs_fat_sdmmc_mount and esp_vfs_fat_spiflash_mount functions
*/
typedef struct {
/**
* If FAT partition can not be mounted, and this parameter is true,
* create partition table and format the filesystem.
*/
bool format_if_mount_failed;
int max_files; ///< Max number of open files
/**
* If format_if_mount_failed is set, and mount fails, format the card
* with given allocation unit size. Must be a power of 2, between sector
* size and 128 * sector size.
* For SD cards, sector size is always 512 bytes. For wear_levelling,
* sector size is determined by CONFIG_WL_SECTOR_SIZE option.
*
* Using larger allocation unit size will result in higher read/write
* performance and higher overhead when storing small files.
*
* Setting this field to 0 will result in allocation unit set to the
* sector size.
*/
size_t allocation_unit_size;
} esp_vfs_fat_mount_config_t;

// Compatibility definition
typedef esp_vfs_fat_mount_config_t esp_vfs_fat_sdmmc_mount_config_t;
Thank you very muhc!

Re: Formatting SD card

Posted: Thu Feb 18, 2021 12:31 pm
by A32-1000
Still not really understand how to get it to format on runtime.
Having such a thing in an unreachable esp32cam would be great, when the data corrupts. (it happened..)

this is 'if mount fails'..

Re: Formatting SD card

Posted: Fri Feb 19, 2021 1:25 am
by chegewara