硬汉嵌入式论坛

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

[RL-FlashFS] 第一次使用RL_FlahFS发现的问题

[复制链接]

1

主题

9

回帖

12

积分

新手上路

积分
12
发表于 2018-12-5 11:56:26 | 显示全部楼层 |阅读模式
硬汉哥, 最近学习了一下RL_FlashFS, 主要是用在SPI Flash上,
之前项目中用了W25Q64, 开始移植过过FATFS,

使用场景是每次保存16个字节左右的数据, 最长30秒保存一次, 发现每次保存会占用很长的时间,

而且, 考虑到实际情况, 每次写16个字节, 都要擦除扇区, 重写扇区, 很耗费芯片的使用次数。

后来就不用文件系统了, 用4M字节的SPI Flash空间保存数据, 每次保存的数据长度一样, 然后记录下 保存次数, 读取地址, 写入地址, 把这4M空间当做一个环形buf来使用,
效果还行, 就是自己管理的比较麻烦, 关机一定要保存好这些关键数据。

后来偶尔看到RL_FlashFS,看它的介绍, 真的是让人眼前一亮啊, 是专门的嵌入式FS, 然后就在我的项目上用了一下,  主要还是用的你的测试代码, 单片机是STM32F103RC,
Flash是W25Q64,  使用bsp_spi_flash的初始化, 可以识别出来是W25Q64,  但是用了RL_FlashFS后, 发现有很大的问题, 现在也不清楚是那个地方的问题, 还请硬汉哥帮忙看一下
指点一下,  感觉是 底层没有移植到位。。。

问题主要是:
1、 格式化flash后, 读取剩余的空间, 速度很慢, 大小还不对。
2、 读取根目录文件, 读到了一大堆文件, 速度很慢。
3、 写入文件, 读出文件,  速度很慢,  读出的时候, 还有一个失败了。


1.png
2.png
3.png
回复

使用道具 举报

1

主题

9

回帖

12

积分

新手上路

积分
12
 楼主| 发表于 2018-12-5 11:57:51 | 显示全部楼层
是在我项目的板子上用了一下。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2018-12-6 01:19:12 | 显示全部楼层
不好意思,楼主,忘了及时回复了。

有个文件是修改实际大小用的,看这个帖子,之前一个网友咨询的
http://www.armbbs.cn/forum.php?mod=viewthread&tid=89388
回复

使用道具 举报

1

主题

9

回帖

12

积分

新手上路

积分
12
 楼主| 发表于 2018-12-10 15:34:47 | 显示全部楼层
eric2013 发表于 2018-12-6 01:19
不好意思,楼主,忘了及时回复了。

有个文件是修改实际大小用的,看这个帖子,之前一个网友咨询的

好的, 谢谢了, 我参考一下。
回复

使用道具 举报

2

主题

29

回帖

35

积分

新手上路

积分
35
发表于 2018-12-19 13:18:55 | 显示全部楼层
请问一下eric2013 ,这个FlashFS文件系统里面,加了fs_time.c里面的2个time和date函数,文件的信息里,时间和日期还是不对,而且这2个函数好像就没有调用过?是哪里有问题么?我看文件系统的头文件里extern也已经有了
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2018-12-19 14:40:17 | 显示全部楼层
housping 发表于 2018-12-19 13:18
请问一下eric2013 ,这个FlashFS文件系统里面,加了fs_time.c里面的2个time和date函数,文件的信息里,时间 ...

论坛置顶帖V4网盘的FlashFS文件夹有对应的时间设置例子,你可以对比下
http://www.armbbs.cn/forum.php?mod=viewthread&tid=11814
回复

使用道具 举报

5

主题

578

回帖

593

积分

版主

Rank: 7Rank: 7Rank: 7

积分
593
发表于 2018-12-19 20:30:30 | 显示全部楼层
你这个应用,只要是每次都是写入这么少量,用文件系统肯定是不合适的,不过你只要不关闭文件,按理来说也不会实际写入,rl_flashfs有一种特别的文件系统格式,你可以研读下帮助文档是不是适合你
回复

使用道具 举报

2

主题

29

回帖

35

积分

新手上路

积分
35
发表于 2018-12-22 18:27:21 | 显示全部楼层
本帖最后由 housping 于 2018-12-22 18:30 编辑
eric2013 发表于 2018-12-19 14:40
论坛置顶帖V4网盘的FlashFS文件夹有对应的时间设置例子,你可以对比下
http://www.armbbs.cn/forum.p ...

我就是参考V4里面的例子,把那个库和fs_time.c都拷贝过来用的(时间和日期写死当前日期)。现在还是不行,文件时间一直是1980年1月1日12点。因为我发现,好像你的其他综合的例子和RTX的例子里面,关于fs_time.c都没有加进去,不知道是什么原因。
请问有V6版开发板上的FlashFS的例程关于文件时间日期属性是可用的例程,可以发我一份测试一下么?我手头只有V6的开发板。987335100@qq.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 04:04 , Processed in 0.187254 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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