[应用相关] SD卡格式化出错

[复制链接]
2376|23
 楼主| elephant00 发表于 2025-1-3 13:31 | 显示全部楼层 |阅读模式
SD卡, DM, MM, TI, DMA, ma

在进**格式化的时候,会报错FR_DISK_ERR,具体原因是在写函数中在

if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT))
{
  __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT);

  return SDMMC_ERROR_CMD_RSP_TIMEOUT;
}
里面退出了,返回了SDMMC_ERROR_CMD_RSP_TIMEOUT,查手册,这一位代表的是SDMMC->STA寄存器的第4位,

Bit 4 TXUNDERR: Transmit FIFO underrun error
Note: If DMA is used to fill SDMMC FIFO (DMAEN bit is set in SDMMC_DCTRL register),
user software should disable DMA stream, and then write DMAEN with ‘0’ (to disable
DMA request generation).
有大佬遇到过这个问题吗?怎么解决呢?
 楼主| elephant00 发表于 2025-1-3 14:58 | 显示全部楼层
两只袜子 发表于 2025-1-3 14:59 | 显示全部楼层
估计SD卡坏了
powerantone 发表于 2025-1-3 16:12 | 显示全部楼层
DMA配置有误?
stormwind123 发表于 2025-1-3 17:16 | 显示全部楼层
检查与SD卡通信的命令序列是否正确
jcky001 发表于 2025-1-3 20:00 | 显示全部楼层
在不同的设备或读卡器上格式化SD卡,看是否能成功。
cr315 发表于 2025-1-3 21:00 | 显示全部楼层
可能是硬件连接
probedog 发表于 2025-1-3 21:00 | 显示全部楼层
对SD卡或整个SD卡控制器进行硬件复位,看是否能解决问题。
laocuo1142 发表于 2025-1-3 21:26 | 显示全部楼层
更新驱动和固件
flycamelaaa 发表于 2025-1-3 22:00 | 显示全部楼层
驱动和固件可能与硬件不兼容导致的
classroom 发表于 2025-1-3 23:00 | 显示全部楼层
编写一个简单的测试程序,只尝试进行基本的读写操作,以排除复杂应用逻辑的影响。
xionghaoyun 发表于 2025-1-4 08:40 | 显示全部楼层
先插在电脑看看
lemonboard 发表于 2025-1-4 19:58 | 显示全部楼层
命令之间添加些延时处理。
如果仍然不行,可能就是SD卡坏掉了
WK520077778 发表于 2025-1-5 22:01 | 显示全部楼层
物理损坏
公羊子丹 发表于 2025-2-8 09:00 | 显示全部楼层
这个TXUNDERR错误确实头疼,之前遇到过,是DMA数据传输跟不上导致的,你可以试试降低SDMMC的时钟频率看看。
周半梅 发表于 2025-2-8 09:02 | 显示全部楼层
可能是DMA配置的问题,确认一下DMAEN位是不是正确设置了?还有传输缓冲区大小也要注意。
帛灿灿 发表于 2025-2-8 09:03 | 显示全部楼层
我记得有个方案是直接手动关闭DMA再重新初始化,貌似能解决这种FIFO underrun错误。
童雨竹 发表于 2025-2-8 09:04 | 显示全部楼层
建议检查一下SD卡的兼容性,有时候卡本身性能不足也会导致这种问题。
万图 发表于 2025-2-8 09:05 | 显示全部楼层
看你的描述,可能是写速率和卡的实际能力不匹配,试着调慢数据传输速率?
Wordsworth 发表于 2025-2-8 09:06 | 显示全部楼层
我之前遇到这个问题是因为写操作没有对齐,建议检查一下写入地址是否对齐到块边界。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1031

主题

3946

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部