基于spi FLASH的嵌入式文件系统 littlefs 测试代码

2019-12-09 13:48发布

LittleFS  - 一个高度完整的嵌入式文件系统
特性
a.        断电恢复能力 - 要求文件系统保持一致,并将数据刷新到底层存储。
b.        平均磨损 - 通常情况下,存储支持每块数量有限的擦除,因此使用整个存储设备对于可靠性非常重要。
c.        微小的占地面积 - 物联网设备受到ROM和RAM的限制。
跟spiffs相比:
SPIFFS在4kB Block的时候效率不高, 推荐也是64kB为最小擦除单位,但是64kB 擦除时间典型值为150ms,偏长了一点。
LittleFS的默认block就是4kB,而且LittleFS只有4个文件,看起来更简单一点。

LittleFS: 4 files and 100kB
  68K  lfs.c
  15K  lfs.h
1.4K  lfs_util.c
5.5K  lfs_util.h
SPIFFS: 8 files and 296kB
9.8K  spiffs_cache.c
  45K  spiffs_check.c
  14K  spiffs_config.h
  26K  spiffs_gc.c
  28K  spiffs.h
  41K  spiffs_hydrogen.c
  87K  spiffs_nucleus.c
  25K  spiffs_nucleus.h
----------------------
这个系统短小精悍,但网上资料不多,并且是英文的,许多人望而却步。
其实底层移植非常简单,已经有网友发布了 (注:编译器必须支持c99标准)
LittleFS SPI FLASH 例程基于W25Q64 STM32F103 Lifflefs移植例程(测试OK).rar (4.91 MB, 下载次数: 1194) 2018-9-24 19:50 上传 点击文件名下载附件
LittleFS SPI FLASH 例程基于W25Q64 STM32F103 Lifflefs移植例程


源代码   littlefs-master 2018-9.zip (60.84 KB, 下载次数: 174) 2018-9-24 19:50 上传 点击文件名下载附件
littlefs-master 9月份更新代码


littlefs-master ests 下面有许多测试例子(电脑测试用的)

源代码网址
https://github.com/ARMmbed/littlefs

祝大家中秋快乐!








友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
68条回答
ST_ATMEL_NXP
1楼-- · 2019-12-15 16:10
谢谢楼主分享......
ZXF_CUG
2楼-- · 2019-12-15 21:44
 精彩回答 2  元偷偷看……
yanghuanchun
3楼-- · 2019-12-16 03:14
标记,这个文件系统很适合小型设备。
qmsolo2004
4楼-- · 2019-12-16 06:57
谢谢分享!
68336016
5楼-- · 2019-12-16 09:58
试着能跑起来了,在ubuntu下也可以用littlefs-fuse将SPI FLASH模拟的U盘挂载上识别出来。
但有点不明白,压缩包的工程,是W25Q64,block_count应该是8192KB/4KB=2048吧?代码里的block_count为什么是1024呢?

搜狗截图19年01月19日0932_2.jpg (118.34 KB, 下载次数: 0)

下载附件

2019-1-19 09:32 上传

soga238
6楼-- · 2019-12-16 10:43
有空试试看

一周热门 更多>