如何格式化FAT文件系统?

YxWang
Posts: 23
Joined: Sat Oct 20, 2018 1:13 am

如何格式化FAT文件系统?

Postby YxWang » Sat Jan 05, 2019 3:50 am

各位开发者,你们好:

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

谢谢各位

Eason Wang

ESP_@In逍遥子
Posts: 132
Joined: Thu Nov 15, 2018 2:06 am

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

Postby ESP_@In逍遥子 » Sat Jan 05, 2019 4:36 pm

你可以参照这里的做法进行格式化

ESP_@In逍遥子
Posts: 132
Joined: Thu Nov 15, 2018 2:06 am

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

Postby ESP_@In逍遥子 » Sat Jan 05, 2019 4:51 pm

可以使用 “安全模式” 去避免这种情况,menuconfig 中配置 CONFIG_WL_SECTOR_MODE

YxWang
Posts: 23
Joined: Sat Oct 20, 2018 1:13 am

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

Postby YxWang » Mon Jan 07, 2019 3:02 am

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

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

YxWang
Posts: 23
Joined: Sat Oct 20, 2018 1:13 am

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

Postby YxWang » Mon Jan 07, 2019 3:18 am

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

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

ESP_@In逍遥子
Posts: 132
Joined: Thu Nov 15, 2018 2:06 am

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

Postby ESP_@In逍遥子 » Mon Jan 07, 2019 3:27 am

这一段有进行格式化的代码请仔细分析代码。

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

YxWang
Posts: 23
Joined: Sat Oct 20, 2018 1:13 am

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

Postby YxWang » Thu Jan 10, 2019 9:05 am

@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的版本。

再次感谢您的耐心解答!

Who is online

Users browsing this forum: No registered users and 171 guests