CubeMx+SDIO+Fatfs 无法挂载或初始化失败问题

STM32CubeMx,硬件选择SDIO接口和FatFS文件系统然后生成的代码,文件系统挂载失败。

调试发现1: 提示 BSP_SD_Init() 中的 

HAL_SD_ConfigWideBusOperation(&hsd, SDIO_BUS_WIDE_4B)

初始化失败。

调试发现2:Cubemx生成的代码,总线宽度参数错误,正确应该是SDIO_BUS_WIDE_1B(修改后正常)(原理是SDIO先用1位宽的总线完成初始化,再使能和切换到4位宽总线)。

验证旧版本Cubemx没这个问题,最新版6.8.1有这个问题。

不清楚为什么这样,,,,,USER CODE部分把位宽强制改成1bus即可。

FatFS是一款适用于嵌入式系统的可移植的文件系统,它可以支持通过SDIO接口连接的TF存储卡。 首先,SDIO(Secure Digital Input Output)是一种用于嵌入式系统的高速串行接口标准,可用于连接外部存储设备,如TF(TransFlash)存储卡。SDIO接口具有较高的数据传输速度和较小的尺寸,因此在嵌入式系统中广泛应用。 TF存储卡(也称为MicroSD卡)是一种小巧的存储介质,常用于移动设备和嵌入式系统。它可以提供可靠的非易失性存储,并且容量可根据需求进行扩展。 FatFS是一种轻量级的文件系统模块,可以在嵌入式系统中运行,提供对TF存储卡的访问能力。它可以管理存储卡上的文件和目录,并提供了常见的文件操作功能,如创建、删除、读取和写入文件等。这使得嵌入式系统可以方便地使用TF存储卡作为额外的存储介质,实现数据的存储和交换。 使用FatFS进行TF存储卡访问的过程主要包括初始化文件系统、打开、读取和写入文件等步骤。首先,需要通过SDIO接口将TF存储卡与嵌入式系统连接。然后,初始化FatFS文件系统并挂载TF存储卡上的文件系统。接下来,就可以使用FatFS提供的API函数来打开、读取和写入TF存储卡上的文件了。在完成文件操作后,必须正确地关闭文件和卸载文件系统。 总之,FatFS通过使用SDIO接口连接TF存储卡,为嵌入式系统提供了一个便捷的文件系统访问解决方案。通过使用FatFS,嵌入式系统可以轻松地管理和操作TF存储卡上的文件和目录。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猪熊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值