关于SDIO的流控问题
FREERTOS + FATFS + EMWIN + MSC + SDIO + DMASD时钟分频为2M。
先说现象,作为从机,插入电脑,U盘盘符一直不出,后面发现是HAL_SD_STATE_BUSY,然后把流控关掉,盘符也就很快出了。
按道理说,流控是防止SDIO DMA上溢出或下溢出的。
那么这流控到底需要打开不,如果打开,偶尔一次枚举U盘成功,如果关闭,就一直成功。
我们的例子一直是使能的。
DMA_FlowControllerConfig(SD_SDIO_DMA_STREAM, DMA_FlowCtrl_Peripheral);
https://www.armbbs.cn/forum.php?mod=viewthread&tid=17658
V6-349-FreeRTOS实验_FreeRTOS+STemWin+FatFS+USB Devicet综合
现在枚举U盘的时候,read10命令不好用,老是出错,感觉要把DMA+SDIO加U盘功能调好,很麻烦。而且盘片也是经过多家厂商轮番筛选下来的,不如一线大厂的TF卡。 eric2013 发表于 2023-7-6 09:59
我们的例子一直是使能的。
DMA_FlowControllerConfig(SD_SDIO_DMA_STREAM, DMA_FlowCtrl_Peripheral);
...
有不有HAL库加DMA的版本的? 如果用了RTOS,生成工程的时候就强制用DMA,用DMA就有地址对齐的问题。这都不是问题。问题是设备上的FATFS都好好的,MSC反而不好用,插上电脑,半天不出盘符。 ccschen 发表于 2023-7-6 12:21
有不有HAL库加DMA的版本的?
HAL的是独立的一个fatfs例子。
https://www.armbbs.cn/forum.php?mod=viewthread&tid=93255
filex做了个带USB的
https://www.armbbs.cn/forum.php?mod=viewthread&tid=108546
ccschen 发表于 2023-7-6 17:01
如果用了RTOS,生成工程的时候就强制用DMA,用DMA就有地址对齐的问题。这都不是问题。问题是设备上的FATFS ...
MSC的接口函数调用不带DMA的API试试
页:
[1]