原子的SD卡驱动,卡死在while (DMA_GetCmdStatus(DMA2_Stream3) != DISABLE){}

2019-07-20 22:21发布

为了测下下原子SD卡驱动的稳定性,对探索者开发板对测试程序不断复位运行,复位运行,然后就卡在了stm32f4xx_dma.c下的

跳出程序就是在sdio_sdcard.c下的

不太明白原因为啥,版主求解
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
24条回答
ldh45
1楼-- · 2019-07-22 03:39
dop101 发表于 2016-5-10 09:27
用查询方式解决了。虽然速度慢了一点点不影响的

我用查询方式的话,速度达不到要求,存的数据会丢,所以只能用DMA模式才行!!
dop101
2楼-- · 2019-07-22 08:22
 精彩回答 2  元偷偷看……
ldh45
3楼-- · 2019-07-22 13:18
dop101 发表于 2016-5-10 15:52
你DMA写速度多少?我用查询速度260K/S,我的写的数据还比较少,就几十兆。没发现丢数现象

DMA速度我不知道,你用查询速度可以达到这么大?
dop101
4楼-- · 2019-07-22 16:03
 精彩回答 2  元偷偷看……
szn1423
5楼-- · 2019-07-22 18:06
请问不停复位运行程序的目的是什么?
是在仿真中复位运行还是使用复位按键复位呢?
谢谢
dop101
6楼-- · 2019-07-22 22:53
szn1423 发表于 2016-5-16 17:17
请问不停复位运行程序的目的是什么?
是在仿真中复位运行还是使用复位按键复位呢?
谢谢

目的是为了测试程序的稳定性,比如出现卡死。就是看驱动有问题没。如果你把程序烧到片子里面。出现了断电。恢复上电后可能出现的情况。不断的复位运行就是模拟这个情况。
是在仿真中实现的。不用按板子上的复位键

一周热门 更多>