使用H743的板子测试FATFS实验

2019-07-20 05:05发布

最近在用阿波罗H743的开发板测试基于SD卡的FatFS性能,用了光盘里实验42FSTFS实验的代码来测试。当SDIO使用轮询方式时,写SD卡速度如下:
           数据块大小(Byte)         数据块数量                   耗时(ms)                      速度
1.         4096                              100                              340                              1.204MB/s
2.         8192                              100                              344                              2.381MB/s
3.         16384                            100                              402                              4.075MB/s
4.         32768                             100                             544                              6.023MB/s

那第一个问题就是还有办法更快吗?存储数据的buffer已经是4字节对齐了,但是我看有个美国人的帖子,说是可以达到9MB/S。
目前我的SDMMCCLK是25M,尝试过加到50M,速度是一样的,是否有方法可以提高SDIO的有效时钟。

当我将SDIO改为DMA模式时(就是将SD_DMA_MODE这个宏设为1时), 代码会卡在
while(SDCardReadStatus==0){}; 这句,尝试降低时钟到12.5M也时卡在这,就没有走到过HAL_SD_RxCpltCallback()


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
zoe6553
1楼-- · 2019-07-21 00:53
wlq390934605 发表于 2018-10-31 19:04
你忘了文件系统才是速度的关键,H7 主频也就那么高, 想想ARM9也好不到哪去,H7这样已经很高了

是的,我也没办法让速度再上去了,但是H743的SDMMC的DMA你有试过吗?经常会卡死,用轮询不会。
zoe6553
2楼-- · 2019-07-21 01:51
 精彩回答 2  元偷偷看……
wlq390934605
3楼-- · 2019-07-21 02:31
zoe6553 发表于 2018-11-1 09:11
是的,我也没办法让速度再上去了,但是H743的SDMMC的DMA你有试过吗?经常会卡死,用轮询不会。

SD卡最大速度自古以来就是摆设,用不着管, 不过速度高中断阻塞的时间就短, 更少意外, 这点不可否认, ;
正点原子
4楼-- · 2019-07-21 04:35
H7的HAL库驱动SD卡像坨屎, 别说DMA了,正常的轮询都是bug一地。。。官方也没有解决办法。建议就用我们的寄存器版本,轮询方式就完事了。这样最可靠。
zoe6553
5楼-- · 2019-07-21 07:48
 精彩回答 2  元偷偷看……
好风
6楼-- · 2019-07-21 12:06
作为用HAL库入门的新手,备受打击......

一周热门 更多>