硬汉嵌入式论坛

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

[FatFs] stm32f103c8t6 使用usb读取w25q64模拟U盘,并且移植fatfs文件系统过程中出现的问题

[复制链接]

1

主题

4

回帖

7

积分

新手上路

积分
7
发表于 2024-3-18 10:11:03 | 显示全部楼层 |阅读模式
请问各位前辈,我现在做一个小项目,1.使用主控芯片通过USB接口将SPIW25Q64模拟成U盘,此步骤单独移植已经实现。2.继续移植fatfs文件系统,使之能够用程序实现对U盘内内容的读取和写入,此步骤单独移植也好像能成功。

现在碰到的主要问题是,我将这两项一起移植的时候,烧录后就会识别不到U盘。按复位键,会显示文件系统创建成功。如图内容。然后我将fatfs测试程序注释掉后,重新烧录,系统就可以识别到U盘,但是不能再创建文件系统了。
   请问各位前辈,这是什么问题?找了好久,优先级什么的都试过了,还是没有解决。
企业微信截图_17107277251558.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106746
QQ
发表于 2024-3-18 15:49:49 | 显示全部楼层
设置NVIC优先级分组为4,

调整USB和SDIO优先级试试,USB比SDIO高测试下,反之也测试下。
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
 楼主| 发表于 2024-3-19 08:28:32 | 显示全部楼层
eric2013 发表于 2024-3-18 15:49
设置NVIC优先级分组为4,

调整USB和SDIO优先级试试,USB比SDIO高测试下,反之也测试下。

您好,硬汉哥,我尝试了一下,还是不行。并且我的工程里面好像没有开启sdio,我大概过程是用hal库开启了USB和FATFS,配置SPI读取flash,然后用串口打印信息。移植了网上对fatfs里面diskio.c的内容和一些相关配置,还有usbd.storage_if.c里面的相关配置。现在问题还是没有解决。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106746
QQ
发表于 2024-3-19 15:31:08 | 显示全部楼层
1144697597 发表于 2024-3-19 08:28
您好,硬汉哥,我尝试了一下,还是不行。并且我的工程里面好像没有开启sdio,我大概过程是用hal库开启了U ...

看错了,你的是SPI Flash。

可以这样试试,在USB的基础上,先仅添加FatFS,底层文件diskio.c不做接口处理,看看正常不。
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
 楼主| 发表于 2024-3-20 08:24:47 | 显示全部楼层
eric2013 发表于 2024-3-19 15:31
看错了,你的是SPI Flash。

可以这样试试,在USB的基础上,先仅添加FatFS,底层文件diskio.c不做接口 ...

您好,我试过了,好像没有修改那个文件也能使用文件系统,好奇怪,但是就是识别不了U盘。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106746
QQ
发表于 2024-3-22 09:36:43 | 显示全部楼层
1144697597 发表于 2024-3-20 08:24
您好,我试过了,好像没有修改那个文件也能使用文件系统,好奇怪,但是就是识别不了U盘。

那只能笨办法了,逐步移植添加了。移植点验证一次,看看是那部分代码导致的。
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
 楼主| 发表于 2024-3-25 09:17:00 | 显示全部楼层
eric2013 发表于 2024-3-22 09:36
那只能笨办法了,逐步移植添加了。移植点验证一次,看看是那部分代码导致的。

硬汉哥您好,我重新移植并调试,发现单独移植fatfs文件系统能够成功在w25q64flash中创建写入读取文件了,但是后来移植模拟U盘的时候,虽然可以识别到U盘了,但是U盘内却并没有我通过fatfs文件系统创建的文件夹。读也读取不出来,会显示没有文件,这是怎么回事呢?   (我模拟U盘的代码中加的接口都是w25q64的读写函数)
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
 楼主| 发表于 2024-3-25 10:51:24 | 显示全部楼层
1144697597 发表于 2024-3-25 09:17
硬汉哥您好,我重新移植并调试,发现单独移植fatfs文件系统能够成功在w25q64flash中创建写入读取文件了, ...

已经解决了,谢谢硬汉哥。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106746
QQ
发表于 2024-3-26 10:52:11 | 显示全部楼层
1144697597 发表于 2024-3-25 10:51
已经解决了,谢谢硬汉哥。

最终原因是什么
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 2024-4-10 12:27:06 | 显示全部楼层
就是解决了,然后没有下文了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-3 17:56 , Processed in 0.205241 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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