硬汉嵌入式论坛

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

[SD/SDIO] FatFS文件系统快速进入文件夹操作,eMMC卡驱动会卡在HAL_MMC_ReadBlocks函数中返回HAL_TIMEOUT

[复制链接]

1

主题

3

回帖

6

积分

新手上路

积分
6
发表于 2025-10-13 11:13:52 | 显示全部楼层 |阅读模式
DRESULT MMC_read(BYTE lun, BYTE *pBuff, DWORD dwSector, DWORD dwCount)
{
if(Wait_MMCCARD_Ready() != MMC_OK)
    {
        return RES_ERROR;
    }

    //读取数据块
    Result = BSP_MMC_ReadBlocks((DWORD *)pBuff, (DWORD)(dwSector), dwCount, MMC_TIMEOUT);

    if(Result == RES_OK)
    {
        //等待传输完成
        Result = Wait_MMCCARD_Ready();
    }
    // //等待传输完成
    // if(Result == RES_OK)
    // {
    //     Result = HAL_MMC_CheckReadOperation(&hmmc, Timeout);
    // }

#endif
    return Result;
}
快速操作进入文件夹会卡在BSP_MMC_ReadBlocks这个函数里返回超时,并且后续问价夹都无法读取,但是操作慢一点就不会出现这个问题
最后定位到是BSP_MMC_ReadBlocks函数的SDMMC_FLAG_RXFIFOHF这个标志不会置位,无法读取后续数据
if (__HAL_MMC_GET_FLAG(hmmc, SDMMC_FLAG_RXFIFOHF) && (dataremaining >= SDMMC_FIFO_SIZE))
请大神指点一下




回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
119430
QQ
发表于 2025-10-13 13:00:09 | 显示全部楼层
如果是h7系列,不要将tcm ram分配给sdio使用,不支持dma。还有就是如果用的sdio1,仅支持axi sram
回复

使用道具 举报

1

主题

3

回帖

6

积分

新手上路

积分
6
 楼主| 发表于 2025-10-13 13:50:30 | 显示全部楼层
eric2013 发表于 2025-10-13 13:00
如果是h7系列,不要将tcm ram分配给sdio使用,不支持dma。还有就是如果用的sdio1,仅支持axi sram

感谢回复,你好,是H743芯片,我这边目前没有用到DMA方式读、写操作eMMC,就是做了一个文件系统和界面,创建一个多级目录,如果快速进入文件夹文件操作就会报一个磁盘错误,最后查到是EMMC驱动问题C:\Users\13054\Desktop\Snipaste_2025-10-13_13-47-46.png
回复

使用道具 举报

1

主题

3

回帖

6

积分

新手上路

积分
6
 楼主| 发表于 2025-10-13 13:53:26 | 显示全部楼层
eric2013 发表于 2025-10-13 13:00
如果是h7系列,不要将tcm ram分配给sdio使用,不支持dma。还有就是如果用的sdio1,仅支持axi sram

这个是界面图片
Snipaste_2025-10-13_13-47-46.png
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
119430
QQ
发表于 2025-10-14 08:51:02 | 显示全部楼层
LiuSy 发表于 2025-10-13 13:50
感谢回复,你好,是H743芯片,我这边目前没有用到DMA方式读、写操作eMMC,就是做了一个文件系统和界面, ...

如果是eMMC驱动问题的话,之前版本的HAL库是有bug的,建议i使用新版HAL驱动。

还有就是你的eMMC主RAM最好使用AXI SRAM
回复

使用道具 举报

1

主题

3

回帖

6

积分

新手上路

积分
6
 楼主| 发表于 2025-10-14 09:21:02 | 显示全部楼层
eric2013 发表于 2025-10-14 08:51
如果是eMMC驱动问题的话,之前版本的HAL库是有bug的,建议i使用新版HAL驱动。

还有就是你的eMMC主RAM ...

好的,我试试,谢谢
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-22 04:11 , Processed in 0.045714 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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