硬汉嵌入式论坛

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

[SD/SDIO] 请教STM32H7的SDMMC

[复制链接]

2

主题

75

回帖

81

积分

初级会员

积分
81
发表于 2023-11-6 11:19:11 | 显示全部楼层 |阅读模式
基于STM32H723VG的SDMMC1外设想读写TF卡,目前配置信息如下:
SDMMC外设时钟源PLL2R,频率100MHz
SDMMC1时钟分频系数2
单片机的IO走线没有连错,且做了等长设计。

调试的时候有时能够成功读取TF卡内的文件,有时不能读取,不能读TF卡时,HAL_SD_Init一直返回错误,经排查,发现SD_SendSDStatus函数中,由于SDMMC_FLAG_DTIMEOUT置位导致该函数返回Data timeout的错误。
同时发现,插入TF卡后等待5-10秒钟复位MCU,能够保证读取TF卡成功,似乎TF卡需要很长的初始化时间。有朋友了解这个问题的吗?感觉比较奇怪。



回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2023-11-6 12:41:13 | 显示全部楼层
主要有三个问题
1、SDMMC1仅支持AXI SRAM空间,不支持TCM空间,使用要注意。
2、注意Cache配置
3、特别注意这个配置,非常重要

新版HAL库V1.9.0的SD卡驱动问题解决了,买了一批SD卡测试之后发现是宏定义USE_SD_TRANSCEIVER忘了注释掉了
https://www.armbbs.cn/forum.php? ... 3426&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

2

主题

75

回帖

81

积分

初级会员

积分
81
 楼主| 发表于 2023-11-6 18:33:09 | 显示全部楼层
eric2013 发表于 2023-11-6 12:41
主要有三个问题
1、SDMMC1仅支持AXI SRAM空间,不支持TCM空间,使用要注意。
2、注意Cache配置

谢谢大哥的指点。前两点我之前考虑过了。目前没有使用Cache和TCM/SRAM2,HAL初始化SD外设的时候也不涉及读写内存。
第三点之前没有看到,不过我用的是HAL V1.11,测试注销这个宏定义也没有效果。
我先再分析分析
回复

使用道具 举报

2

主题

75

回帖

81

积分

初级会员

积分
81
 楼主| 发表于 2023-11-6 22:40:33 | 显示全部楼层
eric2013 发表于 2023-11-6 12:41
主要有三个问题
1、SDMMC1仅支持AXI SRAM空间,不支持TCM空间,使用要注意。
2、注意Cache配置

问题解决了,不是这三个原因之一。
第一个原因,部分断点影响了SD读写信号的连续性,导致FileX上层文件读取死锁,去除断点后解决。
第二个原因,需要上电后第一次HAL_SD_Init失败后复位HAL_SD_Init才能成功,这个是因为SDIO总线没有上拉,启用GPIO的上拉后解决。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2023-11-7 08:15:00 | 显示全部楼层
eggplant886 发表于 2023-11-6 22:40
问题解决了,不是这三个原因之一。
第一个原因,部分断点影响了SD读写信号的连续性,导致FileX上层文件 ...

谢谢告知最终原因。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 16:30 , Processed in 0.183961 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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