硬汉嵌入式论坛

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

[FatFs] 基于SPI Flash的文件系统该如何选择?

[复制链接]

2

主题

42

回帖

48

积分

新手上路

积分
48
发表于 2018-5-25 11:16:40 | 显示全部楼层 |阅读模式
如题,硬件是SPI Flash,目前使用的是FatFs文件系统,之前考虑的是需要USB连接电脑进行文件管理。现在去掉了USB功能,然后看到硬汉推荐的几款嵌入式文件系统,似乎更加适合我的应用。

现在有一些疑问:

1.几款嵌入式文件系统效果怎么样,包括稳定性,易用性。
2.后续硬件升级可能会加入USB,有哪些能兼容FAT格式的。

另外现在在使用FatFs的时候,当Flash存满时,需要删除旧文件来存储新的文件。我现在的做法是,在存储前,先判断剩余空间是否足够,假设1K。若不足,就先删除一个旧文件,再存储。
大家有没有更好的方法?





回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106959
QQ
发表于 2018-5-25 13:11:22 | 显示全部楼层
1、嵌入式文件系统的话,有UFFS,LittleFS,RL-FlashFS等,其中FlashFS用于SPI Flash操作的时候是当嵌入式文件系统用,这种情况是不兼容FAT的,而操作SD卡,NAND等是FAT兼容的。
2、嵌入式文件系统都是不兼容FAT的。如果要兼容FAT得用FatFS操作SPI Flash了。

3、剩余1K有点小了,使用FAT类系统,如果重复创建和删除不同大小的文件,估计会有很多冗余区无法被充分利用,这个是我猜测的,因为我没有深入研究过FAT存储方式。
回复

使用道具 举报

2

主题

42

回帖

48

积分

新手上路

积分
48
 楼主| 发表于 2018-5-25 16:45:32 | 显示全部楼层
eric2013 发表于 2018-5-25 13:11
1、嵌入式文件系统的话,有UFFS,LittleFS,RL-FlashFS等,其中FlashFS用于SPI Flash操作的时候是当嵌入式 ...

感谢硬汉。
我的应用场景是这样的,系统会一直记录数据,当用户操作停止记录时,会生成一个文件。用户再次记录操作,又生成另一个文件。文件的大小是不确定的。1K大小只是假设。我上面说的Flash存满的处理方法具体还没有去验证可行性,不知是否可行。
另外有个问题是FatFS不支持擦写均衡,打算试试RL-FlashFS。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106959
QQ
发表于 2018-5-26 02:34:03 | 显示全部楼层
jj1989 发表于 2018-5-25 16:45
感谢硬汉。
我的应用场景是这样的,系统会一直记录数据,当用户操作停止记录时,会生成一个文件。用户再 ...

对,以实际测试为准
回复

使用道具 举报

2

主题

569

回帖

575

积分

金牌会员

积分
575
发表于 2018-5-26 08:37:18 | 显示全部楼层
eric2013 发表于 2018-5-26 02:34
对,以实际测试为准

RL-FLASHFS没法兼容FAT,也就是说没法通过USB做大容量存储器U盘挂载到电脑了?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106959
QQ
发表于 2018-5-26 09:42:21 | 显示全部楼层
leiyitan 发表于 2018-5-26 08:37
RL-FLASHFS没法兼容FAT,也就是说没法通过USB做大容量存储器U盘挂载到电脑了?

RL-FlashFS是同时支持嵌入式文件系统和FAT类文件系统的。
其中嵌入式文件系统是用于SPI Flash

而FAT类的就是SD卡,NAND等,这个是可以在windows平台模拟U盘的。
回复

使用道具 举报

2

主题

42

回帖

48

积分

新手上路

积分
48
 楼主| 发表于 2018-5-28 16:55:22 | 显示全部楼层
eric2013 发表于 2018-5-26 02:34
对,以实际测试为准

OK。我先试试。
回复

使用道具 举报

36

主题

1445

回帖

1553

积分

至尊会员

积分
1553
发表于 2018-9-10 21:05:28 | 显示全部楼层
eric2013 发表于 2018-5-26 09:42
RL-FlashFS是同时支持嵌入式文件系统和FAT类文件系统的。
其中嵌入式文件系统是用于SPI Flash

有没有办法,使用Flash作为存储介质,使用SD卡或者NAND的接口函数,让FlashFS支持对Flash虚拟U盘呢?我感觉差不多吧?老大,以你的经验,这种方法可行吗?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-11 15:57 , Processed in 0.343884 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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