OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4439|回复: 5

文件系统f_open执行时间不一样

[复制链接]

1

主题

5

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2017-6-14
在线时间
3 小时
发表于 2017-6-14 19:14:00 | 显示全部楼层 |阅读模式
1金钱
小白求助各位大大。
我在移植原子大大的文件系统操作SD卡例程时,进行了如下操作
unsigned char LevelTablePath[]="0:/CH1/00000.bin\0";
fftemp=(FIL*)mymalloc(SRAMIN,sizeof(FIL));                    //·ÖÅäÄú′æ       
res = f_open(fftemp,(const TCHAR*)LevelTablePath,FA_OPEN_EXISTING|FA_READ);//′ò¿aòѾ-′æÔúμÄÎļt

……(后续省略)
其中路径名是根据程序中的一个变量改变而改变的,实际运行中发现,读取"0:/CH1/010000.bin”和读取"0:/CH1/100000.bin"两个文件时,f_open函数执行时间不一样,请问各位英豪有没有碰到过类似现象?能否帮小弟解惑~

最佳答案

查看完整内容[请看2#楼]

这是很正常的事情,SD卡访问时间,是有不确定性的。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-6-14 19:14:01 | 显示全部楼层
这是很正常的事情,SD卡访问时间,是有不确定性的。
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2017-6-14
在线时间
3 小时
 楼主| 发表于 2017-6-14 20:08:03 | 显示全部楼层
仿真中观察运行时间,发现两个路径在follow_path函数时执行时间不一样,根据仿真结果看好像是该函数回调参数时间不一样。求指教=。=
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2017-6-14
在线时间
3 小时
 楼主| 发表于 2017-6-15 08:48:47 | 显示全部楼层
正点原子 发表于 2017-6-14 19:14
这是很正常的事情,SD卡访问时间,是有不确定性的。

谢谢原子大大回答。
我现在如果打开01000.bin这个文件,用时时间一直很短,估计几十ms的样子。但是打开10000.bin文件就是几百ms。
我手上有十张左右不同速度不同厂家的SD卡,其中只有一张SD卡我打开这两个文件的时间是相同的。而这张SD卡同一批次型号的其他SD卡又不行了。现象全部一样,01000.bin很快10000.bin慢了一个量级。
我文件夹内大约有4000多个bin文件。我也尝试过把前面的都删掉只留一个10000.bin,打开该文件还是很慢。
如果是速度不确定导致的,为何固定这个文件名的文件打开就是很慢呢?
回复

使用道具 举报

2

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
80
金钱
80
注册时间
2017-6-13
在线时间
10 小时
发表于 2017-6-15 15:28:32 | 显示全部楼层
你试着把卡格式化掉,然后只放这两个文件试试,文件多了在打开文件的时候会有好多查询操作,一般是最早建立的文件打开时间最短。
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2017-6-14
在线时间
3 小时
 楼主| 发表于 2017-6-15 19:25:39 | 显示全部楼层
335920284 发表于 2017-6-15 15:28
你试着把卡格式化掉,然后只放这两个文件试试,文件多了在打开文件的时候会有好多查询操作,一般是最早建立 ...

多谢指导!
确实如您所说,文件多了到后面的文件读写速度瞬间变慢一个量级。我现在测试一个文件夹内放100个文件,分了四十个文件夹,问题解决了!
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-17 03:33

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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