xsyyhz 发表于 2023-7-12 14:08:57

开贴讨论下RL-FlashFS使用中的注意事项和问题,希望与坛友沟通学下

打算用RL-FlashFS 管理SD、spi nor flash(GD25Q80)和spi nand flash(W25N01),中间使用遇到一些问题,记录下和大家沟通交流,此贴持续更新,希望硬汉哥支持下


一、spi nor flash(GD25Q80)
1.使用fopen时打开返回为null
   调试发现驱动是正常的,可以用使用ffind找到文件,ffree也是不为0,可以fopen已有文件,然后删除一个文件后就可以创建新文件,感觉ffree返回不准

2.使用fdelete删除文件,ffree没有变化
   有时使用fdelete删除文件,ffree没有变化,连续删除好几个才变化,并且删除文件大小和ffree结果不一定一致

3.fwrite写返回与要写数据不一致
   这是时候应该是空间不够,但是删除文件后有空间后再写还是会失败,并行这个文件会关闭失败

二、spi nand flash(W25N01)
   待移植,如果有移植过的坛友方便的话给个例程,目前对下图中的参数有疑惑
data:image/png;base64,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



xsyyhz 发表于 2023-7-13 10:28:39

一、spi nor flash(GD25Q80)
2.使用fdelete删除文件,ffree没有变化
   调试发现删除一两个文件并没有触发block擦除,应该只有擦除了block后ffree才会更新,并且每次都是64K左右,应该就是块擦除。

3.fwrite写返回与要写数据不一致
   一种情况是空间不够,另一种遇到是通过ffree获取的flash大小是个非常大的数,这个时候也写不成功,感觉文件系统受损了

4.当剩余空间小于本次要写的数据量时,fwrite必失败,且该文件删除不了
   写文件前判断剩余空间是否足够

xsyyhz 发表于 2023-7-13 14:24:34

一、spi nor flash(GD25Q80)
4.当剩余空间小于本次要写的数据量时,fwrite必失败,且该文件删除不了
   如果剩余空间小于4K,就删除文件,发现运行一段时间后某一次执行删除文件后(即块擦除)剩余空间尽然小于64K,也在此时发生写错误,目前将4k改为10k继续测试

5.文件一多(起始也就五六十个)使用ffind查询文件非常慢
   刚开始每个文件就一二十ms,到后面多了一个文件要1s多

eric2013 发表于 2023-7-13 15:58:18

非常好的讨论帖子。

删除后,调用fdefrag,然后调用ffree是不是好点


#include <rtl.h>;

void free_space (void){

printf ("\nFree space before defrag: %d bytes.", ffree("F:"));
if (fanalyse("F:") > 50){
   fdefrag ("F:");
}
printf ("\nFree space after defrag: %d bytes.", ffree("F:"));
}

xsyyhz 发表于 2023-7-13 16:37:40

eric2013 发表于 2023-7-13 15:58
非常好的讨论帖子。

删除后,调用fdefrag,然后调用ffree是不是好点

多谢硬汉哥支持,正准备试下,顺便问你几个问题
1.



这个heap memory 就是startup 里面的Heap_Size吗


2.



这个NAND Flash不一定非得是FSMC的,spi也可以,驱动实现就好了 ?

eric2013 发表于 2023-7-14 08:19:49

xsyyhz 发表于 2023-7-13 16:37
多谢硬汉哥支持,正准备试下,顺便问你几个问题
1.



1、单独开的。
/* Memory resources allocated by the Flash File System */
struct iob _iob;

/* Exported Defines to other modules */
U16 const _NFILE   = N_FILES;
U16 const _NDRV    = FS_NDRV;

2、对,是这样的。

xsyyhz 发表于 2023-7-14 08:58:36


一、spi nor flash(GD25Q80)
4.当剩余空间小于本次要写的数据量时,fwrite必失败,且该文件删除不了
   之前10k理解不对,应该自己应用层代码问题,但是写之前还是得必须保证有剩余空间

5.文件一多(起始也就五六十个)使用ffind查询文件非常慢
   这个安装硬汉哥每次删除调用free_space就可以保证查询速度基本不变

6.晚上测试擦除block 1477次,打印日志发现都是每个块轮询擦除,之前在哪看说spi flash不支持均衡算法,应该有误吧

----- 发表于 2023-7-14 09:57:59

我对这个W25N01也蛮有兴趣,之前简单看过RL-Flash里对NAND的支持,看到说不支持SPI NAND就没有继续,使用了RT-Thread里的UFFS。


[*]If your microcontroller device does not have a CMSIS Driver for the NAND (API), you can try to develop your own one based on theCMSIS-Driver Reference documentation.
[*]The page NAND Flash Translation Layer describes additional features specific to these devices.
[*]Using a NAND (API) driver, you can use any NAND Flash device with an 8-/16-bit memory bus interface for data storage.
[*]NAND Flashes with SPI interface (Serial NAND) are currently not supported by the File System Component.
[*]General System Resource Configuration requirements apply.

xsyyhz 发表于 2023-7-14 11:07:53

----- 发表于 2023-7-14 09:57
我对这个W25N01也蛮有兴趣,之前简单看过RL-Flash里对NAND的支持,看到说不支持SPI NAND就没有继续,使用了 ...

目前我这边用的都是旧版的,先试下

xsyyhz 发表于 2023-7-14 12:22:24

----- 发表于 2023-7-14 09:57
我对这个W25N01也蛮有兴趣,之前简单看过RL-Flash里对NAND的支持,看到说不支持SPI NAND就没有继续,使用了 ...

我用的是旧版本,你这段英文也没明确说不支持

xsyyhz 发表于 2023-7-16 10:21:08

eric2013 发表于 2023-7-14 08:19
1、单独开的。
/* Memory resources allocated by the Flash File System */
struct iob _iob ...

硬汉哥,再请教点问题
一、spi nor flash(GD25Q80)
7.用fwrite写每次写1K必须写2Kffree才会变化,什么原因,文件系统难道缓存默认2K才写?

8.第一次使用是否可以用fcheck确认是否是rl-flashfs系统,教程貌似fcheck不正确旧要fformat?

9.上次说的fanalyse好像只适用于 EFS系统,SD卡不会有同样问题?

xsyyhz 发表于 2023-7-16 21:42:00

一、spi nor flash(GD25Q80)
10.当我每次写1020,写两次后ffree大小才更新,更新时确实小了2k,当每次写的数据为200多字节,写很多次ffree一直都不更新,然后每次写完后加fflush后ffree就是刷新大小,但是用在sd卡时fflush好像没效果,文档也貌似这个意思,这样fwrite到底有没有写入效果?

xsyyhz 发表于 2023-7-17 09:06:23

一、spi nor flash(GD25Q80)
11.关于fflush何时调用
    问题10中发现每次写1020时,写两次后系统会自动写入flash,但是每次写200多字节时,不调用fflush,数据就一直无法写入flash,但是每200字节就调用调用一次fflush,貌似会产生太多Allocation Information,这样ffind会超级慢,所以现在每次2K后调用fflush,但是这个2K是rl-flashfs里面的缓存吗?大小在哪配置?

eric2013 发表于 2023-7-17 10:01:20

xsyyhz 发表于 2023-7-16 10:21
硬汉哥,再请教点问题
一、spi nor flash(GD25Q80)
7.用fwrite写每次写1K必须写2Kffree才会变化,什 ...

1、不排除这个free函数不太好用,后面可以考虑测试下MDK5带的FlashFS
2、这个函数我没测试过。
3、SD卡有,不过SD空间非常大,基本不去回收。

littlestone08 发表于 2024-4-11 18:45:40

我用的W25Q64, STM32F103 + KEIL4 + MDK工作非常好,速度也不错,但是换了STM32F407,同样的开发环境,驱动部分基本上不变,就变得非常慢。

littlestone08 发表于 2024-4-11 18:49:58

STM32F103上使用Keil4+MDK4的File_ex1例程,参照写了一个W25Q64的驱动,工作状态良好。

littlestone08 发表于 2024-4-11 19:14:54

本帖最后由 littlestone08 于 2024-4-11 19:40 编辑

使用W25Q64,
KEIL4 +MDK4,使用标准库,照参考的代码写了驱动后,基本上没有遇到什么问题,运行自带的File_ex1例子,状态非常好。
于是,同样的代码换成STM32F407, 单片机,连引脚名都没有换,结果就悲剧了,表现如下:
1 运行"dir"命令时非常慢,文件越大越慢,发现是最终是调用了"ffind"最后到驱动的ReadData函数,似乎是把文件的所有内容都枚举了一遍,最要命的是ReadData读一次只读4字节或8字节,但同样在STM32F103上,也是4字节或8字节的调用,就非常快。经过打印驱动调用过程信息对比,M4的单片机上,似乎枚举了文件的所有内容,而F103上只枚举了需要的部分。
2运行"type"命令(程序中逐个字符读取),同样的情况,F103,瞬间读完1000行文本,而F407则是肉眼可见的慢的速度在打印(使用的是SEGGER RTT,非阻塞SKIP)
3F103建立好1000行的文本,拆下芯片放到F407的板子上,仅读取和列出,速度依然很慢。而F407建立好的文件的芯片,放到F103的板子上,速度也很快,说明不是芯片上存储内容差异引起的,进一步推论F407的驱动的代码应该也是没有问题的,要不然,把W25Q64换到F103的板子上,多少会出现问题。
4 怀疑M3和M4链接的代码不同,但是因为不是开源,也没有办法验证,于是换了KEIL5+RTE+CUBEMX方式,重新实现了一遍,以为能解决问题,折腾好几天,跑通了,在F407上速度与KEIL4上一样的慢。

抓狂了。Q网络上搜索,似乎RL-FLASH +NOR的贴子并不多,更不用说F407指定型号。Q

以上对比是在相同级别的SPI时钟速度上对比,按说,相同的开发环境,库版本,相同的开发环境和驱动,不应该出现这么大的差别。不知道有没有大佬遇到过可以指点一下或讨论下。

如果有需要,我可以贴出代码或以附件的形式给出完整的工程,在此多谢:handshake
------------------------------
上面连续两回复为误操作,按住了CTRL,结果回车就出去了。另发一个主题https://www.armbbs.cn/forum.php?mod=viewthread&tid=123665,可以在这里救我,再次拜谢:handshake
页: [1]
查看完整版本: 开贴讨论下RL-FlashFS使用中的注意事项和问题,希望与坛友沟通学下