HYYYYY 发表于 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格式的吗

HYYYYY 发表于 2022-11-23 20:51:41

1、还有问题就是,听说F103的nandflash也支持DMA,大家用过吗,我看手册上没有说支持nand,也没有说用的DMA几通道几

eric2013 发表于 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、对,这个短文件名,还有长文件名的库

eric2013 发表于 2022-11-24 01:19:42

HYYYYY 发表于 2022-11-23 20:51
1、还有问题就是,听说F103的nandflash也支持DMA,大家用过吗,我看手册上没有说支持nand,也没有说用的DMA ...

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

HYYYYY 发表于 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不同的文件,这个时候速度就会变慢不知道是否是这个原因

HYYYYY 发表于 2022-11-24 02:51:27

1、一直不太理解就是:我用fatfs的f_unlink单纯的把文件名给删除掉,其实nand的数据还在
2、比如512M的flash,第1次创建一个文件300M,然后删除这个文件;第2次再创建一个文件往里面再写300M,由于第1次文件虽然删除了但是nand里面还是有数据,那么第2次是不是不能写300M了,理论上只能写212M了?

eric2013 发表于 2022-11-25 09:52:54

HYYYYY 发表于 2022-11-24 02:44
谢谢硬汉哥,我这边知道我那个fatfs的速度为啥太慢了,我这边是这样的情况,不知道RL-FlashFs会不会有这样 ...
应该是你的NTFL的(N转换层,NAND Flash Translation LayerL)实现有点问题。你这个是不是网上找了个开源项目使用的。

eric2013 发表于 2022-11-25 09:54:42

HYYYYY 发表于 2022-11-24 02:51
1、一直不太理解就是:我用fatfs的f_unlink单纯的把文件名给删除掉,其实nand的数据还在
2、比如512M的fla ...

这个可以的再次写入新的300,就跟你电脑上操作U盘删除文件,再重新复制文件一样的。
页: [1]
查看完整版本: 文件管理系统的几个问题