STM32 H750+SDMMC+FatFs文件系统使用方法

        最近在使用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。

        123

2.SDMMC配置:

        配置SDMMC为4线模式,选择全默认选项,因为之前时钟频率已经配置为24MHz,故这里的时钟配置选项选择不分频。

        SDMMC中断需要打开,优先级不用很高

        其余配置内容均默认。

3.DMA配置:

        MDMA需要添加一个通道,MDMA Request选择为" sdmmc1 data end ",其余项默认

4.FatFs配置:

        本来大家都习惯是打开长文件名以及支持中文名的选项,但是这里我使用的H750内部flash只有128k,所以这里没有勾选这两个选项," Set Defines "页内均为默认项。

      

        随后在" Advanced Settings "页面内,打开dma使能

        "Platform Setting"页面中本来要配置SD卡插入检测引脚,这里选择"Undefine",也就是不配置,在生成代码时会弹出如下警告框,无视即可。

        至此,STM32H750VBT6 SDMMC+DMA配置FatFs文件系统完成,烧录到板子上后运行成功

        感谢:STM32H743+FATFS+SDMMC1_stm32h743 fatfs-CSDN博客

        拓展:STM32H7的SDMMC总线应用之SD卡移植FatFs文件系统

                   STM32H7的SDMMC总线应用之SD卡移植FatFs文件系统

                ​​​​​​​   基于SD卡的FatFs文件系统

作者:大射四方诸侯

物联沃分享整理
物联沃-IOTWORD物联网 » STM32 H750+SDMMC+FatFs文件系统使用方法

发表回复