Page 1 of 1

如何格式化FAT文件系统?

Posted: Sat Jan 05, 2019 3:50 am
by YxWang
各位开发者,你们好:

我使用wear_level api来安装fat文件系统。
在使用过程中发现,在向该地址中写入文件的时候断电,将导致这份文件之后无法操作,还会占用一个文件位置。当这样的情况出现多次,占用的文件位置过多后,将导致无法再向该文件地址中写新的文件,也就是无法操作该文件系统。所以我想格式化这个文件系统,可是找不到接口去做这个操作,请各位指教!

谢谢各位

Eason Wang

Re: 如何格式化FAT文件系统?

Posted: Sat Jan 05, 2019 4:36 pm
by ESP_@In逍遥子
你可以参照这里的做法进行格式化

Re: 如何格式化FAT文件系统?

Posted: Sat Jan 05, 2019 4:51 pm
by ESP_@In逍遥子
可以使用 “安全模式” 去避免这种情况,menuconfig 中配置 CONFIG_WL_SECTOR_MODE

Re: 如何格式化FAT文件系统?

Posted: Mon Jan 07, 2019 3:02 am
by YxWang
@In逍遥子 wrote:
Sat Jan 05, 2019 4:36 pm
你可以参照这里的做法进行格式化
您好,

我认为您提供的代码实际上是挂载fat区的api, 我并没有发现该函数有在哪里调用格式化的部分。感谢您不吝赐教,还希望您能够指出如何格式化的代码,我确实没有找到,非常感谢您。

Re: 如何格式化FAT文件系统?

Posted: Mon Jan 07, 2019 3:18 am
by YxWang
@In逍遥子 wrote:
Sat Jan 05, 2019 4:51 pm
可以使用 “安全模式” 去避免这种情况,menuconfig 中配置 CONFIG_WL_SECTOR_MODE
您好,

不知为何,我所使用的IDF的menuconfiguer的该位置并没有该选项,也仅仅是有设置wl大小的选项。请问您知道为什么吗?

Re: 如何格式化FAT文件系统?

Posted: Mon Jan 07, 2019 3:27 am
by ESP_@In逍遥子
这一段有进行格式化的代码请仔细分析代码。

menuconfig 中先选择 WL_SECTOR_SIZE_512,之后选择 CONFIG_WL_SECTOR_MODE

Re: 如何格式化FAT文件系统?

Posted: Thu Jan 10, 2019 9:05 am
by YxWang
@In逍遥子 wrote:
Mon Jan 07, 2019 3:27 am
这一段有进行格式化的代码请仔细分析代码。

menuconfig 中先选择 WL_SECTOR_SIZE_512,之后选择 CONFIG_WL_SECTOR_MODE
非常感谢您的耐心解答! 我最后是使用esp_partition_erase_range()来擦除分区后再esp_vfs_fat_spiflash_mount()上fat分区。
参考:http://bbs.esp32.com/viewtopic.php?f=13 ... 5652ba7c28

因为个人能力问题,在您提示下仅能找到f_mkfs()大概是作为文件格式化部分。而在使用wearLevel的安全模式下,依旧会产生锁死的文件。我使用的是IDF3.1.2stable的版本。

再次感谢您的耐心解答!