硬汉嵌入式论坛

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

[Mbed OS] Mbed OS 5.7中开始继续完善的嵌入式文件系统LittleFS,动态擦写均衡额掉电保护更给力

  [复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2018-1-2 09:14:03 | 显示全部楼层 |阅读模式
嵌入式文件系统的最大特点就是不兼容FAT,他这个LitteFS应该是之前RL-FlashFS中嵌入式文件系统部分的升级版。而RL-FlashFS是嵌入式文件系统和FAT类都支持的。原始地址:
1. https://os.mbed.com/blog/entry/littlefs-high-integrity-embedded-fs/
2. https://os.mbed.com/docs/v5.7/reference/littlefilesystem.html
===============================================
FatFS和littleFS的对比
(1)ROM和RAM
littlefs1.png
(2)掉电保护测试
4.gif
(3)擦写均衡测试
littlefs4.gif



回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
 楼主| 发表于 2018-1-3 00:57:23 | 显示全部楼层
补充GitHub地址:https://github.com/ARMmbed/mbed- ... filesystem/littlefs
另外,如果是在Linux端,可以通过libfuse来加载littlefs查看设备内容:https://github.com/geky/littlefs-fuse

ps:再补充个地址链接
回复

使用道具 举报

1

主题

73

回帖

76

积分

初级会员

积分
76
发表于 2018-1-3 18:44:21 | 显示全部楼层
楼主有没有实际测试过,目前看官方介绍资料太少,没有给出驱动测试代码
回复

使用道具 举报

2

主题

103

回帖

109

积分

初级会员

积分
109
发表于 2018-3-14 08:14:53 | 显示全部楼层
我移植过,可以在spi flash上读写文件,但是配合上usb msc,插电脑上不识别...
本来是想可以通过电脑端直接往里拷贝文件的,结果没成功~~~
回复

使用道具 举报

9

主题

160

回帖

187

积分

初级会员

积分
187
发表于 2018-3-14 22:40:43 | 显示全部楼层
sblpp 发表于 2018-3-14 08:14
我移植过,可以在spi flash上读写文件,但是配合上usb msc,插电脑上不识别...
本来是想可以通过电脑端直 ...

这是当然的,电脑端不支持这个文件系统,你需要做对应转换,把他映射到虚拟的FAT32上,例如Linux上的虚拟文件系统
回复

使用道具 举报

2

主题

103

回帖

109

积分

初级会员

积分
109
发表于 2018-3-15 18:46:30 | 显示全部楼层
avita 发表于 2018-3-14 22:40
这是当然的,电脑端不支持这个文件系统,你需要做对应转换,把他映射到虚拟的FAT32上,例如Linux上的虚拟 ...

请问在win10 下如何转换呢?能让PC识别出littlefs的文件。
回复

使用道具 举报

9

主题

160

回帖

187

积分

初级会员

积分
187
发表于 2018-3-15 23:07:24 | 显示全部楼层
sblpp 发表于 2018-3-15 18:46
请问在win10 下如何转换呢?能让PC识别出littlefs的文件。

没有弄过,你参考一下Linux的VFS层,Linux支持不同的文件系统就是VFS层实现的. VFS虚拟文件系统将文件接口抽象化,映射转换不同的文件系统

或者直接编写windows程序,识别littlefs文件系统
回复

使用道具 举报

6

主题

636

回帖

654

积分

金牌会员

积分
654
QQ
发表于 2018-3-22 14:29:54 | 显示全部楼层
sblpp 发表于 2018-3-14 08:14
我移植过,可以在spi flash上读写文件,但是配合上usb msc,插电脑上不识别...
本来是想可以通过电脑端直 ...

请问移植到SPI/FLASH上,以下几个底层驱动函数你是怎么写的,是否可以提供下
// 读数据
int user_provided_block_device_read(const struct lfs_config *c, lfs_block_t block,
            lfs_off_t off, void *buffer, lfs_size_t size)
{
        return -1;
}

// 写数据
int user_provided_block_device_prog(const struct lfs_config *c, lfs_block_t block,
            lfs_off_t off, const void *buffer, lfs_size_t size)
{
        return -1
}

// 擦除数据
int user_provided_block_device_erase(const struct lfs_config *c, lfs_block_t block)
{
        return -1;
}

// 同步数据
int user_provided_block_device_sync(const struct lfs_config *c)
{
        return -1;
}
回复

使用道具 举报

7

主题

102

回帖

123

积分

初级会员

积分
123
发表于 2018-4-2 11:11:31 | 显示全部楼层
sblpp 发表于 2018-3-15 18:46
请问在win10 下如何转换呢?能让PC识别出littlefs的文件。

这种情况还不如自己写个FTL(就是自己做磨损均衡部分的转换层)。我之前也简单做过一个。
回复

使用道具 举报

16

主题

148

回帖

196

积分

初级会员

积分
196
发表于 2020-9-5 22:21:38 | 显示全部楼层
老哥 对比过uC-FS吗
回复

使用道具 举报

36

主题

2039

回帖

2147

积分

至尊会员

积分
2147
发表于 2020-9-7 11:13:16 | 显示全部楼层
dyhfaily 发表于 2020-9-5 22:21
老哥 对比过uC-FS吗

我也在找
Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better.
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 06:12 , Processed in 0.189178 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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