硬汉嵌入式论坛

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

[FatFs] 关于SDIO的流控问题

[复制链接]

19

主题

125

回帖

182

积分

初级会员

积分
182
发表于 2023-7-6 03:02:25 | 显示全部楼层 |阅读模式
FREERTOS + FATFS + EMWIN + MSC + SDIO + DMA

SD时钟分频为2M。
先说现象,作为从机,插入电脑,U盘盘符一直不出,后面发现是HAL_SD_STATE_BUSY,然后把流控关掉,盘符也就很快出了。
按道理说,流控是防止SDIO DMA上溢出或下溢出的。

那么这流控到底需要打开不,如果打开,偶尔一次枚举U盘成功,如果关闭,就一直成功。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2023-7-6 09:59:21 | 显示全部楼层
我们的例子一直是使能的。
  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综合
回复

使用道具 举报

19

主题

125

回帖

182

积分

初级会员

积分
182
 楼主| 发表于 2023-7-6 11:59:48 | 显示全部楼层
现在枚举U盘的时候,read10命令不好用,老是出错,感觉要把DMA+SDIO加U盘功能调好,很麻烦。而且盘片也是经过多家厂商轮番筛选下来的,不如一线大厂的TF卡。
回复

使用道具 举报

19

主题

125

回帖

182

积分

初级会员

积分
182
 楼主| 发表于 2023-7-6 12:21:23 | 显示全部楼层
eric2013 发表于 2023-7-6 09:59
我们的例子一直是使能的。
  DMA_FlowControllerConfig(SD_SDIO_DMA_STREAM, DMA_FlowCtrl_Peripheral);
...

有不有HAL库加DMA的版本的?
回复

使用道具 举报

19

主题

125

回帖

182

积分

初级会员

积分
182
 楼主| 发表于 2023-7-6 17:01:43 | 显示全部楼层
如果用了RTOS,生成工程的时候就强制用DMA,用DMA就有地址对齐的问题。这都不是问题。问题是设备上的FATFS都好好的,MSC反而不好用,插上电脑,半天不出盘符。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2023-7-7 09:33:50 | 显示全部楼层
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
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2023-7-7 09:35:53 | 显示全部楼层
ccschen 发表于 2023-7-6 17:01
如果用了RTOS,生成工程的时候就强制用DMA,用DMA就有地址对齐的问题。这都不是问题。问题是设备上的FATFS ...

MSC的接口函数调用不带DMA的API试试
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 02:31 , Processed in 0.235461 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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