[STM32G0] fatfs挂载

[复制链接]
1812|25
 楼主| powerantone 发表于 2024-8-27 10:37 | 显示全部楼层 |阅读模式
各位大佬好,使用的是stm32g070芯片,fatfs的版本是R0.12C。移植fatfs时,sd卡初始化可以成功 ,但是挂载出现问题。单步调试发现在disk_read里卡死,SPI收不到数据。该文件系统驱动驱动移植到stm32f103c8t6上,可以正常挂载,创建和读取文件。有大佬遇到过类似的问题吗?
别乱了阵脚 发表于 2024-10-8 21:33 | 显示全部楼层
在使用STM32G070芯片移植FatFS时,如果SD卡初始化成功但挂载失败,并且在disk_read函数中卡死,可能是SPI配置问题导致的,确保SPI配置正确,特别是时钟频率、数据位宽、极性和相位等参数
suncat0504 发表于 2024-10-8 22:43 | 显示全部楼层
f103虽然性能上对比现在的单片机不好,但流行了好长时间,确实好用,实例也多。
光辉梦境 发表于 2024-10-9 02:00 | 显示全部楼层
其实可以检查SPI的初始化代码,确保配置与SD卡的要求一致。尝试降低SPI的时钟频率,例如从18 MHz降低到4 MHz,看看是否能解决问题

暖了夏天蓝了海 发表于 2024-10-9 03:00 | 显示全部楼层
确保SD卡的片选(CS)引脚配置正确,并且在读写操作时正确拉低和拉高

江河千里 发表于 2024-10-9 04:00 | 显示全部楼层
SPI通信的时序可能与SD卡的要求不匹配,导致通信失败。在SPI传输前后添加适当的延时

冰春彩落下 发表于 2024-10-9 05:00 | 显示全部楼层
确保FatFS的配置与SD卡的物理特性一致。检查FatFS的配置文件ffconf.h,确保配置正确

淡漠安然 发表于 2024-10-9 06:00 | 显示全部楼层
STM32G070STM32F103在硬件上有一些差异,可能导致在某些情况下无法正常工作。

三生万物 发表于 2024-10-9 07:00 | 显示全部楼层
检查STM32G070的硬件手册,确保所有配置符合要求。尝试使用不同的SD卡,排除SD卡本身的问题

chenqianqian 发表于 2024-10-9 07:46 来自手机 | 显示全部楼层
初始化成功不一定代表配置都是OK的
一秒落纱 发表于 2024-10-9 08:00 | 显示全部楼层
通过检查SPI配置、GPIO配置、时序问题、FatFS配置以及硬件兼容性,你应该能够找到并解决disk_read函数卡死的问题。如果问题仍然存在,建议逐步调试SPI通信过程,确保每个步骤都能正确执行。

夜阑风雨 发表于 2024-10-9 09:00 | 显示全部楼层
其实可以仿真一下,看看程序在哪儿停下来的

远山寻你 发表于 2024-10-9 10:00 | 显示全部楼层
可以考虑更换一个存储卡,也许会OK很多

略略u 发表于 2024-10-11 21:51 来自手机 | 显示全部楼层
单步调试发现在disk_read里卡死
tpgf 发表于 2024-10-12 09:16 | 显示全部楼层
在调用f_mount函数时,如果栈空间不足,可能会导致程序卡死或崩溃
Stahan 发表于 2024-10-13 19:59 | 显示全部楼层
调试一下看看
公羊子丹 发表于 2025-2-5 09:24 | 显示全部楼层
看起来可能是SPI配置上的问题。你有没有确认过STM32G070的SPI时钟和参数配置?STM32F103和STM32G070的硬件差异可能导致SPI的工作不正常。
周半梅 发表于 2025-2-5 09:27 | 显示全部楼层
我之前也遇到过类似的问题,最终是因为SPI时钟配置不对导致通信不稳定。你可以检查一下SPI波特率、时钟极性和相位等设置。
帛灿灿 发表于 2025-2-5 09:28 | 显示全部楼层
可能是DMA配置的问题,STM32G070的DMA控制方式可能和F103不同。你可以尝试关闭DMA,改用轮询模式看问题是否解决。
童雨竹 发表于 2025-2-5 09:30 | 显示全部楼层
你在SD卡初始化成功后,有没有检查过SPI总线的状态?有时候SPI初始化成功但传输时因为某些配置错误而不稳定,最好检查一下SPI的传输状态。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

679

主题

4005

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部