elephant00 发表于 2025-1-3 13:31

SD卡格式化出错


在进**格式化的时候,会报错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

{:smile:}

两只袜子 发表于 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

我之前遇到这个问题是因为写操作没有对齐,建议检查一下写入地址是否对齐到块边界。
页: [1] 2
查看完整版本: SD卡格式化出错