分享到:
之前在W25Q128上移植了FATFS,使用也正常,后来研究发现FATFS不支持写磨损均衡,不支持坏块管理,产品运行N后就有坏掉的风险,于是找到了SPIFFS,开源的,感觉很不错,移植不难,目前已经跑起来,拿出来分享
https://github.com/pellepl/spiffs
1、简介
SPIFFS是一个文件系统,用于嵌入式产品中的SPI NOR flash器件。
SPIFFS的设计意图具有以下特点:
•小的(嵌入式)产品,少的内存,没有堆(heap)
•只有大数据(块)可以擦除
•擦除将重置块中的所有位
•写入是将位从1写为0
•从0写为1只能靠块擦除实现
•磨损平衡
2、特点
SPIFFS能做什么:
•专为低内存使用
•使用静态分配大小的内存缓冲区,独立的文件数量
•类POSIX的API,如:关闭,读,写,寻道,状态等
•它可以运行在任何NOR闪存,不仅仅是SPI Flash,理论上也对任何MCU的嵌入式Flash可行
•同一产品中可以运行多种SPIFFS的配置,即使只有一个SPI Flash器件
•实现静态磨损均衡
•内置文件系统一致性检查
SPIFFS不能做什么:
•目前来说,不支持目录。它会产生一个扁平结构。要创建一个带路径的文件“tmp/myfile.txt”,将创建一个文件“tmp/myfile.txt
”,而不是目录“tmp”下的“myfiletxt”。
•它不是一个实时堆栈。一个写操作可能需要比其它文件系统更长的时间。
•规模小。SPIFFS是为小存储设备设计的,通常为SPI Flash这类器件的大小。小于~128MB也许是个坏主意。尽可能使用小内存是设计目
标的一个副作用。
•目前,它没有检测或处理坏块。
在STM32上的移植代码在附件中
(0 )
(0 )


-
- 0000000000000000
-
1888 发帖7917 回复34980 积分
- 私信他 +关注
回复于 2018-12-26
5#
感谢分享!!需要机器人(工业,服务)的设计方案;自动化设备改造(螺丝机,点胶机等)以及个电子相关的新产品研发(微信调控暖手宝温度等)。
(0 )
发表回复
块
导
航
举报
请选择举报类别
- 广告垃圾
- 违规内容
- 恶意灌水
- 重复发帖