硬汉嵌入式论坛

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

SDIO+DMA报Transmit FIFO underrun

[复制链接]

85

主题

781

回帖

1036

积分

至尊会员

积分
1036
发表于 2023-6-17 23:24:35 | 显示全部楼层 |阅读模式
使用FreeRTOS+FatFS读写SD卡,使用DMA写的时候出现Transmit FIFO underrun报错,有人遇到过吗?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115653
QQ
发表于 2023-6-18 08:19:33 | 显示全部楼层
SDIO的硬件流控制开了吧,别的就是SD卡兼容问题,还有就是使用最新的SDIO驱动。
回复

使用道具 举报

85

主题

781

回帖

1036

积分

至尊会员

积分
1036
 楼主| 发表于 2023-6-18 15:08:22 | 显示全部楼层
eric2013 发表于 2023-6-18 08:19
SDIO的硬件流控制开了吧,别的就是SD卡兼容问题,还有就是使用最新的SDIO驱动。

用的硬汉用HAL库做的V6的BSP库里面的SDIO驱动,没加FreeRTOS测试是OK的,加了FreeRTOS之后不行了,降低SDIO速度的话情况会好一点。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115653
QQ
发表于 2023-6-19 09:21:15 | 显示全部楼层
庄永 发表于 2023-6-18 15:08
用的硬汉用HAL库做的V6的BSP库里面的SDIO驱动,没加FreeRTOS测试是OK的,加了FreeRTOS之后不行了,降低SD ...

那得排查下是那里的问题导致的,正常情况下应该没有影响。

可以先试试你这个整合功能先不要启动FreeRTOS,直接在main函数里面测试SDIO是否正常,正常后,再开启FreeRTOS,并且仅创建一个任务试试。
回复

使用道具 举报

85

主题

781

回帖

1036

积分

至尊会员

积分
1036
 楼主| 发表于 2023-6-19 09:30:30 | 显示全部楼层
eric2013 发表于 2023-6-19 09:21
那得排查下是那里的问题导致的,正常情况下应该没有影响。

可以先试试你这个整合功能先不要启动FreeRT ...

怀疑是FreeRTOS使用外部SDRAM做堆,在FreeRTOS里面使用Fatfs的时候用到了SDRAM的空间,另外SDRAM也用着显示屏的显存,出现了DMA2D和DMA同时访问导致的问题。
回复

使用道具 举报

5

主题

144

回帖

159

积分

初级会员

积分
159
发表于 2024-8-29 15:32:06 | 显示全部楼层
庄永 发表于 2023-6-19 09:30
怀疑是FreeRTOS使用外部SDRAM做堆,在FreeRTOS里面使用Fatfs的时候用到了SDRAM的空间,另外SDRAM也用着显 ...

找到原因了吗?我也遇到了,SD卡偶发出错
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-9 22:04 , Processed in 0.424394 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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