硬汉嵌入式论坛

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

[有问必答] 移植到STM32F1上,SD卡初始化成功,f_mount挂载返回值为1,请问怎么解决

[复制链接]

2

主题

8

回帖

14

积分

新手上路

积分
14
发表于 2024-11-1 08:58:22 | 显示全部楼层 |阅读模式
移植到STM32F1上,SD卡初始化成功,f_mount挂载返回值为1,请问怎么解决?
回复

使用道具 举报

2

主题

8

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2024-11-1 08:59:54 | 显示全部楼层
本帖最后由 一个一夕台 于 2024-11-1 09:54 编辑

移植的是V4-107a_FatFS文件系统例程(SD卡)这个例程。
回复

使用道具 举报

2

主题

8

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2024-11-1 11:13:25 | 显示全部楼层
不知道咋搞得,现在是卡死在f_mount里了
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2024-11-1 11:38:24 | 显示全部楼层
测试的那部分代码,贴这部分代码看下,这个例子的fmount仅仅还是文件系统初始化,还没有涉及到硬件。这个都失败的话,是还没有移植成功。
回复

使用道具 举报

2

主题

8

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2024-11-1 14:11:26 | 显示全部楼层
主函数测试代码:
        printf("\r\n****** FATFS test start !!! ******\r\n");
       
        printf("sd init: %d\r\n", SD_Init());
//        printf("sd State: %d\r\n", SD_GetState());

        IWDG_FED_CTL();   //看门狗   喂狗控制
        res_sd = f_mount(&fs, FS_VOLUME_SD, 1);
        printf("f_mount: %d\r\n", res_sd);
main里是这样的,其他的BSP_SDIO_SD.C什么的文件都是例程里的没有改,串口打印信息如下
****** FATFS test start !!! ******
SD_PowerON: 0
SD_InitializeCards: 0
SD_GetCardInfo: 0
sd init: 0
SD_PowerON: 0
SD_InitializeCards: 0
SD_GetCardInfo: 0
f_mount: 1
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2024-11-2 09:37:10 | 显示全部楼层
一个一夕台 发表于 2024-11-1 14:11
主函数测试代码:
        printf("\r\n****** FATFS test start !!! ******\r\n");
       

你这个第3个参数设置为了1,这种情况会初始化底层。返回值是1的话,是这个错误

"FR_DISK_ERR:底层硬件错误",                      /* (1) A hard error occurred in the low level disk I/O layer */

说明你的底层驱动确实有问题,优先使用SD卡联盟的小软件格式下你的SD卡,还是不行再换两个正规卡试试。
之后再排查软件
回复

使用道具 举报

2

主题

8

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2024-11-4 11:36:40 | 显示全部楼层
应该是SD卡驱动那里的问题,我移植了正点的试了一下没问题。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2024-11-4 13:39:37 | 显示全部楼层
一个一夕台 发表于 2024-11-4 11:36
应该是SD卡驱动那里的问题,我移植了正点的试了一下没问题。

虽然我们的F1板子停产10年了,但是这个SD卡的这个例子我是有印象的。这个bsp_sido_sd,c驱动跟我们没关系,是ST官方设计的。

虽然这个驱动兼容一般,但不至于挂载都挂载不上,可以试试我们做的FlashFS驱动,这个绝对没问题。驱动要好很多。

1、使用这个小软件格式化下
https://forum.anfulai.cn/forum.php? ... t=SD%2B%C1%AA%C3%CB

2、然后使用这个RL-FlashFS的SD卡例子测试下





此贴和你同样的问题。


STM32-V4板子TF卡无法识别
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=126055



回复

使用道具 举报

2

主题

8

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2024-11-8 11:11:46 | 显示全部楼层
我手里的板子是基于正点的开发板画的,SD的9脚是悬空的。你们的还有野火的9脚是上拉的,移植程序把检测这个引脚的程序屏蔽了就可以了。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2024-11-8 11:30:11 | 显示全部楼层
一个一夕台 发表于 2024-11-8 11:11
我手里的板子是基于正点的开发板画的,SD的9脚是悬空的。你们的还有野火的9脚是上拉的,移植程序把检测这个 ...

这个SD卡插拔检测用的。这是标准设计,F1系列的这个驱动里面有监测卡是否存在的判断。

23455.png
回复

使用道具 举报

2

主题

8

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2024-11-11 09:52:06 | 显示全部楼层
我现在移植USB读卡器又有点问题,打印信息一直显示USB NotConfigured,然后设备管理器上显示未知USB设备(设备描述符请求失败),求教是哪里出了问题,官方的USB驱动程序有点看不懂。。。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2024-11-12 09:59:36 | 显示全部楼层
一个一夕台 发表于 2024-11-11 09:52
我现在移植USB读卡器又有点问题,打印信息一直显示USB NotConfigured,然后设备管理器上显示未知USB设 ...

模拟U盘? 特别注意USB时钟正确配置。
回复

使用道具 举报

2

主题

8

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2024-11-12 15:59:38 | 显示全部楼层
时钟没设置错,现在是不知道怎么调试也不知道哪出了问题,请问有什么好的调试方法吗
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2024-11-13 10:01:09 | 显示全部楼层
一个一夕台 发表于 2024-11-12 15:59
时钟没设置错,现在是不知道怎么调试也不知道哪出了问题,请问有什么好的调试方法吗

找个USB抓包工具,抓包下,看看是那里的设置问题。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-12 02:45 , Processed in 0.050500 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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