硬汉嵌入式论坛

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

[SD/SDIO] 【求助】SD卡写入出现FR_DISK_ER!

[复制链接]

10

主题

34

回帖

64

积分

初级会员

积分
64
发表于 2022-11-18 16:26:40 | 显示全部楼层 |阅读模式
背景:需要实现每秒连续写入819280KB数据到SD卡,写入60次(即一分钟)则关闭文件,然后打开新的文件重复上述写入。

错误情况:在多次测试中,有15次写入后出现FR_DISK_ER的,有315次的,有615次的,有13次的,还有1275次的,出现FR_DISK_ERR的时间点比较随机,但是在第15次出现ERR次数最多;

写入方法:f_open一次后,f_write六十次再f_close;

工程配置:关闭Cache,使用SDMMC1,使用FATFS,使用串口打印信息,使用了SDRAM来缓存819280KB数据,然后没有其他外设了,整个工程由cubeMX生成.

尝试过修改很多可能出问题的地方,均无收获。

在此附上工程百度网盘链接,希望大佬可以指点一下迷津!

链接:https://pan.baidu.com/s/1iWClH-Ojd4jKVhBGWPRriA?pwd=h743
提取码:h743


回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
111540
QQ
发表于 2022-11-19 09:06:03 | 显示全部楼层
1、先修改你的代码,全部使用CubeMX生成,特别是Cache和MPU处理部分,所有不是CubeMX生成的全部删掉,用不上,CubeMX都可以接管, 像时钟什么的,都完全可以接管的。

Cache全开,然后关闭AXI SRAM的读Cache和写Cache。
也就是此贴的最低性能配置:https://www.armbbs.cn/forum.php?mod=viewthread&tid=99322


2、不要使用你的SDRAM做输入写入测试,使用AXI RAM开个每次100KB写入测试。
3、4线改成1线试试

image.png
回复

使用道具 举报

10

主题

34

回帖

64

积分

初级会员

积分
64
 楼主| 发表于 2022-11-19 19:49:40 | 显示全部楼层
eric2013 发表于 2022-11-19 09:06
1、先修改你的代码,全部使用CubeMX生成,特别是Cache和MPU处理部分,所有不是CubeMX生成的全部删掉,用不 ...

谢谢硬汉哥回答:
1、工程的关键部分都是由cubeMX生成的,除了led和sdram和rtx内存管理是另外加上去的,由于cache关闭了,所以就没有去配置mpu
2、由于实际工程要求了每次写入要800kb,所以即使在axiram写100kb能成功也没有用。
3、4线改1线写入速度是不是直接除4?因为要求要在一秒内写入,所以写入速度也不能太慢
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
111540
QQ
发表于 2022-11-19 20:26:31 | 显示全部楼层
852050675 发表于 2022-11-19 19:49
谢谢硬汉哥回答:
1、工程的关键部分都是由cubeMX生成的,除了led和sdram和rtx内存管理是另外加上去的, ...

1、还有时钟配置等,所有代码全部CubeMX接管配置,不要搞额外的非CubeMX生成代码操作。
2、我们的目的是排查问题,并不有没有用,你只有锁定了问题方向才能解决问题。
3、这个测试不目的依然是为了锁定问题。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-1 06:55 , Processed in 0.269099 second(s), 36 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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