请选择 进入手机版 | 继续访问电脑版

硬汉嵌入式论坛

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

[RL-FlashFS] 关于RL-FlashFs的一些问题

[复制链接]

8

主题

104

回帖

138

积分

初级会员

积分
138
发表于 2021-6-1 18:08:44 | 显示全部楼层 |阅读模式
最近在使用RL-FlashFS,一开始觉得很稀奇就尝试使用了一下,因为配合自带的 USB MSC开发工作一下子减少了,但是好景不长用了1个月了,
说说我最近遇到的很多问题吧。

1.长明文件和短名文件,在使用 RL-FlashFS 自带的设置文件时间的函数时,会莫名其妙的将文件名长压缩为 4字节+ ~ +一个字节 例如 Test000001.txt   = Test~1.txt
这个问题我找了很久,以为是我的配置问题,然后把 论坛的 例程配置下下来对比,配置成一样。版本也设置为  MDK-Pro 版本 用的都是 Release版本。结果还是这样
最后做减法,把所有关于文件系统的函数一个一个排除才发现。


2. 这个问题是我最最最最最最最最最最最最最最最最最最最最无语,郁闷,不可置信,不知所措的问题。就是在f_open('w');创建文件之后,它竟然会出现 同名文件
我在Windows上模拟了很多次都没法实现创建同名文件,我就无语 这为什么能创建出来,而且最重要的是,文件内容 竟然是不一样的。(由于需要记录unix时间和其它的)。
出现这个问题之后,f_open('r'); 永远打不开这个文件,下面是截图,还有更离谱,我记录文件 创建了20多个同名的。


微信图片_20210601174808.png


这些问题,我都单独使用 一个线程测试,就是什么都不做,单写入,然后单独取,也会出现这个问题。
USB MSC,在usb 连接之前,我都会把 文件系统 unmount掉。
我还用论坛里专用的TF卡格式工具格式化了TF卡。4G fat32 4096 8192都试过。
如果只是我这样,那我只能说电脑有毒。

最后我还是换回了Fatfs,本来想着用 Azure FileX,项目经不起折腾了就保守点,最后也没出现过这个问题了。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105914
QQ
发表于 2021-6-1 18:26:49 | 显示全部楼层
文件名这块有bug,上周的升级还修改了两个。

QQ截图20210601182805.png
回复

使用道具 举报

8

主题

104

回帖

138

积分

初级会员

积分
138
 楼主| 发表于 2021-6-1 19:39:08 | 显示全部楼层
eric2013 发表于 2021-6-1 18:26
文件名这块有bug,上周的升级还修改了两个。

我估计他们还没有 发现第二个问题的BUG      
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105914
QQ
发表于 2021-6-1 19:46:20 | 显示全部楼层
由崎星空 发表于 2021-6-1 19:39
我估计他们还没有 发现第二个问题的BUG

第2个问题怎么复现,我试试
回复

使用道具 举报

8

主题

104

回帖

138

积分

初级会员

积分
138
 楼主| 发表于 2021-6-1 20:22:07 | 显示全部楼层
eric2013 发表于 2021-6-1 19:46
第2个问题怎么复现,我试试

我也没有怎么操作,就是频繁的 fopen('ab+') ,写入数据,然后fclose;  就是频繁,其实说频繁也不是很频繁,我都不是很频繁,
但是这个文件是在 第二层文件夹下,就是根目录文件夹/第二文件夹/file.txt 这样的。

可以试试哇。遇到这种是真没办法
回复

使用道具 举报

8

主题

104

回帖

138

积分

初级会员

积分
138
 楼主| 发表于 2021-6-1 20:31:00 | 显示全部楼层
eric2013 发表于 2021-6-1 19:46
第2个问题怎么复现,我试试

我去ARM 官网搜,也有这个问题,是不过是 OverWrite ,相同的是 都是用的 f_open("ab+");  
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105914
QQ
发表于 2021-6-2 11:50:09 | 显示全部楼层
由崎星空 发表于 2021-6-1 20:22
我也没有怎么操作,就是频繁的 fopen('ab+') ,写入数据,然后fclose;  就是频繁,其实说频繁也不是很频 ...

翻了一下我早期的一个项目例子。

我用的是fout = fopen ("N0:\\record.csv", "a");

记录了几百万条信息,正常。你也可以试试
回复

使用道具 举报

8

主题

104

回帖

138

积分

初级会员

积分
138
 楼主| 发表于 2021-6-3 10:32:09 | 显示全部楼层
eric2013 发表于 2021-6-2 11:50
翻了一下我早期的一个项目例子。

我用的是fout = fopen ("N0:\\record.csv", "a");

有没有使用过 fopen(”folder//file.ext,“rb+”)呢,我用这个也出现过 在用这个之前我还用了ffind
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105914
QQ
发表于 2021-6-3 10:32:58 | 显示全部楼层
由崎星空 发表于 2021-6-3 10:32
有没有使用过 fopen(”folder//file.ext,“rb+”)呢,我用这个也出现过  在用这个之前我还用了ff ...

用我这个,我这个是经过实战验证的。
回复

使用道具 举报

8

主题

104

回帖

138

积分

初级会员

积分
138
 楼主| 发表于 2021-6-3 10:34:07 | 显示全部楼层
eric2013 发表于 2021-6-3 10:32
用我这个,我这个是经过实战验证的。

因为特殊需要,修改某些文件的内容,所以还用了 fopen(rb+),去修改这个文件内的某一段数据,所以没法只用 fopen(a)
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105914
QQ
发表于 2021-6-3 10:36:51 | 显示全部楼层
由崎星空 发表于 2021-6-3 10:34
因为特殊需要,修改某些文件的内容,所以还用了 fopen(rb+),去修改这个文件内的某一段数据,所以没法只 ...

修改内容不靠谱,建议换方法,不要死磕这个。
回复

使用道具 举报

4

主题

37

回帖

49

积分

初级会员

积分
49
发表于 2021-6-8 10:24:48 | 显示全部楼层
由崎星空 发表于 2021-6-3 10:34
因为特殊需要,修改某些文件的内容,所以还用了 fopen(rb+),去修改这个文件内的某一段数据,所以没法只 ...

这个问题我也遇到了,这个百分之百是这个文件系统库的问题。我也是和你一样把所有的东西都屏蔽了,只测文件系统,只要在非根目录调用ffind查找就会出现。这个就是他的文件名cache miss。换文件系统吧。
回复

使用道具 举报

1

主题

35

回帖

38

积分

新手上路

积分
38
发表于 2021-6-12 11:56:32 | 显示全部楼层
我遇到的是文件名重复,但是不是你这种情况。我也是一直追加数据,然后打开SD卡后发现,有一些文件的名字变成了两个,但是这两个文件一样大,而且打开后的数据也是连续的。也就是两个完全一样的文件。不知道是啥问题。而且这两个文件都是可以打开,可以修改的。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-28 21:58 , Processed in 0.205292 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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