硬汉嵌入式论坛

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

[FatFs] 文件管理系统的几个问题

[复制链接]

1

主题

6

回帖

9

积分

新手上路

积分
9
发表于 2022-11-23 20:48:31 | 显示全部楼层 |阅读模式
情况:
1、现在有个项目,用的是雅特力的芯片,ST的库和启动文件,主频设置到72MHZ,项目用到nandflash的管理,其他功能基本完善就是nand的写速度太慢
2、我现在用的nand方法是:fatfs+ftl+nand+freertos管理,我现在传输文件是网口传文件然后再写进flash,实测大概写2k数据需要50ms,传输完20M文件大概是8-9分钟
3、对比竞品完全一样的硬件,传输20M文件却只要3分钟
4、因为我用的是fatfs先调用ftl,然后ftl再调用nand的读写,感觉这一块速度拉慢了好多。听说RL-FlashFs速度比较快而且自带nand的坏块管理,读写均衡,所以想用RL-FlashFs对比一下

问题:
1、RL-FlashFs是否真的比我上述的方法快很多?有对比过的小伙伴吗?
2、RL-FlashFs第一次使用,能否单独RL-FlashFs脱离MDK组件,独立把相应的.c、.h,.lib放在一个文件夹底下放到我的自己的工程底下?
3、如果能的话,我应该是移植那一版的RL-FlashFs?那一版的bug会比较少点,经过量产的?
4、我目前想移植4.7版本的不知道是否可以(听说5版本和MDK组件绑定在一起的所以不能单独移植?),移植4.7版本的需要移植那些文件,我下面的截图对吗?
5、还有FSN是短文件名库吗,短文件名是所谓的8.3格式的吗
image.png image.png
回复

使用道具 举报

1

主题

6

回帖

9

积分

新手上路

积分
9
 楼主| 发表于 2022-11-23 20:51:41 | 显示全部楼层
1、还有问题就是,听说F103的nandflash也支持DMA,大家用过吗,我看手册上没有说支持nand,也没有说用的DMA几通道几
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106826
QQ
发表于 2022-11-24 01:19:19 | 显示全部楼层
1、快很多,写速度2-3MB/S
2、可以的,使用早期的老版FlashFS。
3、https://www.armbbs.cn/forum.php?mod=viewthread&tid=87118
4、同上
5、对,这个短文件名,还有长文件名的库
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106826
QQ
发表于 2022-11-24 01:19:42 | 显示全部楼层
HYYYYY 发表于 2022-11-23 20:51
1、还有问题就是,听说F103的nandflash也支持DMA,大家用过吗,我看手册上没有说支持nand,也没有说用的DMA ...

没问题,就是简单的数据复制粘贴。
回复

使用道具 举报

1

主题

6

回帖

9

积分

新手上路

积分
9
 楼主| 发表于 2022-11-24 02:44:08 | 显示全部楼层
谢谢硬汉哥,我这边知道我那个fatfs的速度为啥太慢了,我这边是这样的情况,不知道RL-FlashFs会不会有这样的情况:
1、我初次把nand全擦除后重新建立fat,第一次建立一个文件比如1.txt,写20M文件只需要3分钟,然后我把1.txt用fatfs自带的f_unlink函数把1.txt给删除掉,其实nand里面的数据并没有给删除掉
2、然后第2次我又建立一个文件,名字还是1.txt,然后我再次往里面写20M不同的文件,这个时候速度就会变慢不知道是否是这个原因
回复

使用道具 举报

1

主题

6

回帖

9

积分

新手上路

积分
9
 楼主| 发表于 2022-11-24 02:51:27 | 显示全部楼层
1、一直不太理解就是:我用fatfs的f_unlink单纯的把文件名给删除掉,其实nand的数据还在
2、比如512M的flash,第1次创建一个文件300M,然后删除这个文件;第2次再创建一个文件往里面再写300M,由于第1次文件虽然删除了但是nand里面还是有数据,那么第2次是不是不能写300M了,理论上只能写212M了?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106826
QQ
发表于 2022-11-25 09:52:54 | 显示全部楼层
HYYYYY 发表于 2022-11-24 02:44
谢谢硬汉哥,我这边知道我那个fatfs的速度为啥太慢了,我这边是这样的情况,不知道RL-FlashFs会不会有这样 ...

应该是你的NTFL的(N转换层,NAND Flash Translation LayerL)实现有点问题。你这个是不是网上找了个开源项目使用的。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106826
QQ
发表于 2022-11-25 09:54:42 | 显示全部楼层
HYYYYY 发表于 2022-11-24 02:51
1、一直不太理解就是:我用fatfs的f_unlink单纯的把文件名给删除掉,其实nand的数据还在
2、比如512M的fla ...

这个可以的再次写入新的300,就跟你电脑上操作U盘删除文件,再重新复制文件一样的。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-6 02:56 , Processed in 0.190786 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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