本帖最后由 120742915 于 2017-3-23 17:22 编辑 在下用freerots+sdio驱动tf卡,出了不少问题 1.读取数据经常卡死 解决方式:由4位模式改为1位模式。稳定性倒是上去了,但公司要求速度,于是找另外的方式,发现sd_diskio.c里面没有使用dma传输, 于是改为dma传输,稳定性和速度都看似解决了。 2.大数据操作出错 现象:问题1说了,问题看似解决了,但实际还有问题,加入以512个数据长度进行操作很稳定,数据也没错误,但如果超过512进行操作就会 偶尔出问题,这个偶尔是只也有正确的,也有不正确的,并且不正确始终就是那几个不正确,且每次都一样。 如果我改回1位非dma方式就没有错误。也就是说问题应该出在dma上,这下完全不知道怎么解决了。 é误æ°æ® æ£ç¡®æ°æ® 请看上图(部分数据),读取少了两个数据,但最后结果长度是一样的,因为在后面某个地方又会添加两个数据,那两个数据并不是丢的这两个数据。 哪位高手有遇到过没,帮帮忙,不胜感激 |
不懂帮顶
相关函数也是基于这个约定写的。
评分
查看全部评分
是dma模式限制的?
为何用非dma方式却又是正常的?