最近在使用STM32H750VBT6做读写内存卡的操作,配置文件系统卡了将近半个月,方法是根据视频教程进行的,但并没有成功。几经波折才配置成功。
跟随视频教程配置之后,挂载SD卡出现了FR_DISK_ERROR的错误,该错误是指底层IO配置出现问题所导致的,但是仅配置SDMMC并使用"HAL_SD_GetCardCID"、"HAL_SD_GetCardState"等函数获取SD卡信息是正常的。故确定SD卡以及硬件设备是OK的,最后排查一波之后确认是配置问题导致的。在配置FatFs文件系统的时候,使能DMA就不能挂载,不使能DMA就正常,随后从DMA方向向下排查最后挂载成功,这里做一记录。
Cube MX软件配置内容:
1.时钟树:
HC卡的最高通讯速率为24MHz,故最终输出时钟速率不能超过24MHz(但测试过程中有过50MHz也能正常通讯的情况,但未进行读取写入测试)。这边配置的是时钟树SDMMC速率直接为24MHz。
2.SDMMC配置:
配置SDMMC为4线模式,选择全默认选项,因为之前时钟频率已经配置为24MHz,故这里的时钟配置选项选择不分频。