not_at_all 发表于 2018-9-24 19:57:21

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

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

LittleFS: 4 files and 100kB
68Klfs.c
15Klfs.h
1.4Klfs_util.c
5.5Klfs_util.h
SPIFFS: 8 files and 296kB
9.8Kspiffs_cache.c
45Kspiffs_check.c
14Kspiffs_config.h
26Kspiffs_gc.c
28Kspiffs.h
41Kspiffs_hydrogen.c
87Kspiffs_nucleus.c
25Kspiffs_nucleus.h
----------------------
这个系统短小精悍,但网上资料不多,并且是英文的,许多人望而却步。
其实底层移植非常简单,已经有网友发布了 (注:编译器必须支持c99标准)


源代码

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

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

祝大家中秋快乐!








hongyancl 发表于 2018-9-24 20:22:58

不错不错

get500wan 发表于 2018-9-24 20:28:27

谢谢分享,中秋快乐!

sunshulin 发表于 2018-9-24 20:35:50

已收藏谢谢

ordinary 发表于 2018-9-24 20:37:23

谢谢分享,中秋快乐

rainyuoko 发表于 2018-9-24 20:51:09

谢谢分享,中秋快乐

wuzhujian 发表于 2018-9-24 20:59:00

谢谢分享,中秋快乐!!!

Trylin 发表于 2018-9-24 21:14:23

谢谢分享,中秋快乐

fcmer2016 发表于 2018-9-24 21:42:41

怎么用法?

a105 发表于 2018-9-25 09:11:08

没有例程吗?

greenflyqqq 发表于 2018-9-25 09:31:56

谢谢分享!

w35boz 发表于 2018-9-25 09:39:54


谢谢分享!

fsmcu 发表于 2018-9-25 09:41:00

不错,多个选择,收藏了

cloudboy 发表于 2018-9-25 09:56:12

啥也不说了,加星

shiva_shiva 发表于 2018-9-25 10:16:50

断电恢复能力 - 要求文件系统保持一致,并将数据刷新到底层存储。

这个是什么原理?

Excellence 发表于 2018-9-25 10:59:46

谢谢楼主无私分享。。。。。。。

hell-prototypes 发表于 2018-9-25 13:36:28

谢谢楼主分享。

ysu_er 发表于 2018-9-25 13:39:14

和fatfs功能类似吧

hyz_avr 发表于 2018-9-25 13:43:20

ysu_er 发表于 2018-9-25 13:39
和fatfs功能类似吧

a,b两个功能fatfs都没有.

enthier 发表于 2018-9-25 13:50:59

SPI FLASH 文件系统。

kinsno 发表于 2018-9-25 13:52:38

littile fatfs 文件系统, 值得推荐, 尝试。。

yanyanyan168 发表于 2018-9-25 13:52:45

SPI FLASH 文件系统。 多谢分享

qq854149876 发表于 2018-9-25 14:00:35


littile fatfs 文件系统
SPI FLASH 文件系统。 多谢分享

wx85105157 发表于 2018-9-25 17:13:14

shiva_shiva 发表于 2018-9-25 10:16
断电恢复能力 - 要求文件系统保持一致,并将数据刷新到底层存储。

这个是什么原理? ...

修改后的数据写入别的扇区,确定写入正常后再把链表改过去,这样就算断电,之前的数据还在,不会损坏。

not_at_all 发表于 2018-9-25 17:53:44

shiva_shiva 发表于 2018-9-25 10:16
断电恢复能力 - 要求文件系统保持一致,并将数据刷新到底层存储。

这个是什么原理? ...

愿意研究英文的话,可以看看这份文件 DESIGN.md , 整个设计原理都有描述.

zkaifa 发表于 2018-9-25 19:43:57


SPI FLASH 文件系统。 多谢分享

leiyitan 发表于 2018-9-25 20:21:53

本帖最后由 leiyitan 于 2018-9-25 20:27 编辑

正苦于SPI flash 没法磨损均衡。Eric 2013做了flash fs的例程并做了大量测试,但是SPI FLASH没法挂载USB 大容量存储器,楼主这个可以做USB插电脑出U盘么?如果不能挂载到PC上导出导入数据的话,除了磨损均衡,有没有文件系统这个概念都不重要的,反正都是读写数据,还不如做成数据库。armink大神搞的一个东西还真不错!

heimareed 发表于 2018-9-27 09:45:51

多谢分享。之前还想入手SPIFFS的,还没来得及。ARMINK的EasyFlash试过,没用到实际项目中使用过。回头一并测试下。

size327948964 发表于 2018-9-27 10:02:53

标记一下

lirizhi 发表于 2018-10-9 12:46:26

标记一下

zqy517 发表于 2018-10-9 12:54:04

谢谢分享,

chenqi 发表于 2018-10-9 13:08:18

感谢分享

xiaomu 发表于 2018-10-9 13:37:30

感谢分享

qzh 发表于 2018-10-9 21:39:46

以前用SPIFFS,感觉挺好的,但只能用到一半的FLASH容量,这个对软硬件要求也挺低的!

miaoxun206 发表于 2018-10-9 21:51:00

好东西,感谢分享

mypc16888 发表于 2018-10-10 07:02:24

好东西,感谢分享

lmhtz 发表于 2018-10-10 07:25:42

已收藏谢谢

hy317 发表于 2018-10-10 08:25:10

谢谢分享!

yy8047 发表于 2018-10-10 08:25:33

谢谢分享!

ericw2012 发表于 2018-10-11 20:21:27

MARK 一下

liurangzhou 发表于 2018-10-11 20:24:25

mark,正需要

minier 发表于 2018-10-11 21:45:25

不错,先试试

LCH201328 发表于 2018-10-12 06:49:18

谢谢分享,有机会试试

zhq0571 发表于 2018-10-12 07:29:17

mark.      

小溪 发表于 2018-10-12 08:35:33

感谢分享,学习一下

stm32_bldc 发表于 2018-10-12 10:28:23

mark,有空学习下,有机会用到实际项目中去

开始 发表于 2018-10-15 08:49:35

谢谢 。。。。。

ST_ATMEL_NXP 发表于 2018-10-15 09:17:22

谢谢楼主分享......

ZXF_CUG 发表于 2018-10-15 10:12:10

谢谢分享~

yanghuanchun 发表于 2019-1-12 17:07:55

标记,这个文件系统很适合小型设备。

qmsolo2004 发表于 2019-1-13 11:27:50

谢谢分享!

68336016 发表于 2019-1-19 09:38:23

试着能跑起来了,在ubuntu下也可以用littlefs-fuse将SPI FLASH模拟的U盘挂载上识别出来。
但有点不明白,压缩包的工程,是W25Q64,block_count应该是8192KB/4KB=2048吧?代码里的block_count为什么是1024呢?

soga238 发表于 2019-1-19 12:37:36

有空试试看

ljc 发表于 2019-2-26 16:45:39

感谢大神分享

HalenYU 发表于 2019-3-25 10:08:46

好好移植一个版本试试

xad74 发表于 2019-4-16 10:23:44

此系统的稳定性如何,有实际用在项目中的吗

dragonbbc 发表于 2019-4-16 10:38:55

markmark,空了研究研究

jackem 发表于 2019-6-24 20:01:34

littleFlash和EasyFlash有的一拼!

aohu_2012 发表于 2019-6-24 20:25:39

感谢楼主分享{:handshake:}

xiangbin099 发表于 2019-7-1 08:10:27

谢谢分享!

freshen 发表于 2019-11-17 12:07:38

谢谢分享,很好的资料

STM32LOU 发表于 2019-11-17 23:13:58

谢谢分享,最近正在搞,可参考下

aozima 发表于 2019-11-17 23:28:10

顺便链接一下镜像打包工具lfsdisk
https://www.amobbs.com/thread-5721616-1-1.html

sinc_mark 发表于 2019-11-18 08:32:46

mark ,SPI flash littfs

qmsolo2004 发表于 2019-11-18 10:20:17

谢谢分享!

formatme 发表于 2019-11-19 08:24:19

Mark,谢谢,

security 发表于 2019-11-19 10:09:01

aozima 发表于 2019-11-17 23:28
顺便链接一下镜像打包工具lfsdisk
https://www.amobbs.com/thread-5721616-1-1.html

多谢分享!

SUPER_CRJ 发表于 2022-1-27 16:52:03

68336016 发表于 2019-1-19 09:38
试着能跑起来了,在ubuntu下也可以用littlefs-fuse将SPI FLASH模拟的U盘挂载上识别出来。
但有点不明白,压 ...

看样子应该错了。
或者保用到了其中的4MB。
您使用LiiileFS感觉怎么样?网上能找到移植教程,但是不多!
页: [1]
查看完整版本: 基于spi FLASH的嵌入式文件系统 littlefs 测试代码