硬汉嵌入式论坛

 找回密码
 立即注册
查看: 8410|回复: 12
收起左侧

[技术讨论] 关于fatfs格式化的几种模式

[复制链接]

96

主题

297

回帖

585

积分

金牌会员

123

积分
585
发表于 2020-7-30 14:20:41 | 显示全部楼层 |阅读模式
本帖最后由 ssssssss 于 2020-7-30 17:20 编辑

1.f_mkfs 格式化函数的一个参数是  opt
FM_FAT        0X01
FM_FAT32    0X02
FM_EXFAT    0X04
FM_ANY       0X07
FM_SFD       0X08
我目前选择的是FM_EXFAT    0X04,不知道通常大家选哪个?而且我只能选FM_EXFAT    0X04 FM_ANY       0X07这两个才能格式化成功,其他的模式都格式化不成功,是为啥?

2,au参数我选的4096,是不是ok?


回复

使用道具 举报

6

主题

641

回帖

659

积分

金牌会员

积分
659
QQ
发表于 2020-7-30 15:47:43 | 显示全部楼层
FM_ANY+FF_MAX_SS(512)
其实也就只是用来升级,感觉挺浪费的
回复

使用道具 举报

96

主题

297

回帖

585

积分

金牌会员

123

积分
585
 楼主| 发表于 2020-7-30 16:13:15 | 显示全部楼层
yklstudent 发表于 2020-7-30 15:47
FM_ANY+FF_MAX_SS(512)
其实也就只是用来升级,感觉挺浪费的

代表啥意思,不是很懂
回复

使用道具 举报

96

主题

297

回帖

585

积分

金牌会员

123

积分
585
 楼主| 发表于 2020-7-30 17:24:54 | 显示全部楼层
yklstudent 发表于 2020-7-30 15:47
FM_ANY+FF_MAX_SS(512)
其实也就只是用来升级,感觉挺浪费的

我只能选FM_EXFAT    0X04 FM_ANY       0X07这两个才能格式化成功,其他的模式都格式化不成功,是为啥?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107031
QQ
发表于 2020-7-31 08:41:43 | 显示全部楼层
让他根据你的实际大小去指定比较方便,我一般用这个函数都是不配置

res = f_mkfs(“,0,work,sizeof work);
回复

使用道具 举报

96

主题

297

回帖

585

积分

金牌会员

123

积分
585
 楼主| 发表于 2020-7-31 08:52:33 | 显示全部楼层
本帖最后由 ssssssss 于 2020-7-31 09:15 编辑
eric2013 发表于 2020-7-31 08:41
让他根据你的实际大小去指定比较方便,我一般用这个函数都是不配置

res = f_mkfs(“,0,work,sizeof  ...

u8 work[512];
_MAX_SS=512

res = f_mkfs(“0:”,0,4096,work,_MAX_SS);
1,你那里少一个参数(au簇大小)啊,fatfs版本:R0.12a、、、,2opt选择0,他会根据sd卡大小来自适应?
3,这个4096和work数组的大小有关系吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107031
QQ
发表于 2020-7-31 09:31:32 | 显示全部楼层
回复

使用道具 举报

96

主题

297

回帖

585

积分

金牌会员

123

积分
585
 楼主| 发表于 2020-7-31 10:14:50 | 显示全部楼层
eric2013 发表于 2020-7-31 09:31
http://elm-chan.org/fsw/ff/doc/mkfs.html

u8 work[512];
_MAX_SS=512
res_flash = f_mkfs("0:",0, 0, work,_MAX_SS);
这样应该ok吧?你的workbuff是多大?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107031
QQ
发表于 2020-7-31 10:46:25 | 显示全部楼层
ssssssss 发表于 2020-7-31 10:14
u8 work[512];
_MAX_SS=512
res_flash = f_mkfs("0:",0, 0, work,_MAX_SS);

上面的链接末尾有举例。
回复

使用道具 举报

96

主题

297

回帖

585

积分

金牌会员

123

积分
585
 楼主| 发表于 2020-7-31 18:51:30 | 显示全部楼层
eric2013 发表于 2020-7-31 10:46
上面的链接末尾有举例。

刚试了一下32G的sd卡,我咋样变 f_mkfs参数都没办法格式化,都格式化失败了,不知道是哪里出现问题
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107031
QQ
发表于 2020-8-1 08:12:16 | 显示全部楼层
ssssssss 发表于 2020-7-31 18:51
刚试了一下32G的sd卡,我咋样变 f_mkfs参数都没办法格式化,都格式化失败了,不知道是哪里出现问题

自带的实在是不好用的话,就别用自带的功能格式化了。

使用专门的格式化软件试试:

SD卡联盟发布的SD/SDHC/SDXC格式化小软件V5.0.1
http://www.armbbs.cn/forum.php?m ... 6181&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

96

主题

297

回帖

585

积分

金牌会员

123

积分
585
 楼主| 发表于 2020-8-1 23:39:49 | 显示全部楼层
eric2013 发表于 2020-8-1 08:12
自带的实在是不好用的话,就别用自带的功能格式化了。

使用专门的格式化软件试试:

硬汉大神,你用函数格式化过32Gsd卡,成功过没?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107031
QQ
发表于 2020-8-2 09:00:44 | 显示全部楼层
ssssssss 发表于 2020-8-1 23:39
硬汉大神,你用函数格式化过32Gsd卡,成功过没?

我基本不用fatfs的格式化功能,来格式化SD,用于SPI Flash,我倒是经常用。

这个我得后面搞个大容量卡专门测试下。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-14 21:14 , Processed in 0.319291 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表