Formatting SD card

Humam Helfawi
Posts: 19
Joined: Tue May 29, 2018 10:24 pm

Formatting SD card

Postby Humam Helfawi » Tue Apr 30, 2019 10:22 am

Hi,

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

Thanks!

chegewara
Posts: 2375
Joined: Wed Jun 14, 2017 9:00 pm

Re: Formatting SD card

Postby chegewara » 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;

Humam Helfawi
Posts: 19
Joined: Tue May 29, 2018 10:24 pm

Re: Formatting SD card

Postby Humam Helfawi » Fri May 03, 2019 11:58 am

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!

A32-1000
Posts: 2
Joined: Thu Feb 18, 2021 12:29 pm

Re: Formatting SD card

Postby A32-1000 » Thu Feb 18, 2021 12:31 pm

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'..

chegewara
Posts: 2375
Joined: Wed Jun 14, 2017 9:00 pm

Re: Formatting SD card

Postby chegewara » Fri Feb 19, 2021 1:25 am


Who is online

Users browsing this forum: No registered users and 441 guests