OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6470|回复: 9

fatfs文件系统问题,不能成功创建文件、文件夹。gd芯片

[复制链接]

1

主题

7

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2021-11-16
在线时间
8 小时
发表于 2022-2-10 16:26:23 | 显示全部楼层 |阅读模式
11金钱
本帖最后由 Yeo 于 2022-2-10 16:28 编辑

如题、图。fatfs文件系统返回创建成功,却实际没有创建的问题。

创建文件夹、文件、写入内容返回的值都是0(FR_OK),但下面紧跟的打开文件夹、文件却返回错误路径。已经挂载成功,返回了OK。
运行在FreeRTOS下的。
存储介质:W25Q128FVSIG
芯片:GD32F303RC
fatfs版本:R0.14b

硬件是没有问题的,各位佬觉得问题大概出在了哪里,是移植的问题吗?
image_2022-02-10_16-21-21.png






最佳答案

查看完整内容[请看2#楼]

有可能是你的diskio.c对接相关函数存在bug,即出现了错误也返回正确的结果。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2022-2-10 16:26:24 | 显示全部楼层
Yeo 发表于 2022-2-14 10:39
堆栈够大,已经把三者改为全局变量。问题仍会出现。  

直接操作SPIFlash,可写可读,现已排除是底层函 ...

有可能是你的diskio.c对接相关函数存在bug,即出现了错误也返回正确的结果。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

4

主题

896

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4305
金钱
4305
注册时间
2019-9-4
在线时间
896 小时
发表于 2022-2-11 10:29:28 | 显示全部楼层
帮顶,用FATFS创建返回成功,读取返回失败。如果没有正常创建的话,猜测可能FATFS没移植好,或者SPI FLASH有损坏。可以试下直接操作SPIFLASH看看坏没坏,以及用FATFS创建后直接通过SPI读取看看有没有数据被写进去。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2022-2-13 19:18:03 | 显示全部楼层
你这个局部变量有点多啊,堆栈设置够大么? 建议把  fil, dp, rtext设置成全局变量再试试。
回复

使用道具 举报

1

主题

7

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2021-11-16
在线时间
8 小时
 楼主| 发表于 2022-2-14 10:39:16 | 显示全部楼层
本帖最后由 Yeo 于 2022-2-14 10:59 编辑
正点原子 发表于 2022-2-13 19:18
你这个局部变量有点多啊,堆栈设置够大么? 建议把  fil, dp, rtext设置成全局变量再试试。

堆栈够大,已经把三者改为全局变量。问题仍会出现。  

直接操作SPIFlash,可写可读,现已排除是底层函数SPIFlash里的问题了。问题应该还是出在文件系统里。
回复

使用道具 举报

1

主题

7

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2021-11-16
在线时间
8 小时
 楼主| 发表于 2022-2-14 10:41:52 | 显示全部楼层
A571157242 发表于 2022-2-11 10:29
帮顶,用FATFS创建返回成功,读取返回失败。如果没有正常创建的话,猜测可能FATFS没移植好,或者SPI FLASH ...

你好。 我屏蔽fatfs,直接对SPIFlash指定地址进行读写是没问题的,可写可读。

但您说的这个,用Fatfs创建后,怎么再通过SPI读?我不知道文件系统把数据放在哪里的地址,如何直接用SPI看?
回复

使用道具 举报

1

主题

7

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2021-11-16
在线时间
8 小时
 楼主| 发表于 2022-3-4 09:12:16 | 显示全部楼层
各位,这两天问题已经解决了,
原因在错误的diskio.c里调用的底层函数错误,具体是哪里错了我也不知道,只是替换了那些底层函数,文件系统就正常了。感谢两位佬的解答。
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2022-3-22
在线时间
9 小时
发表于 2022-3-28 12:48:23 | 显示全部楼层
Yeo 发表于 2022-3-4 09:12
各位,这两天问题已经解决了,
原因在错误的diskio.c里调用的底层函数错误,具体是哪里错了我也不知道,只 ...

您好,我想请问一下是哪些底层函数呢
回复

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2022-3-22
在线时间
2 小时
发表于 2022-4-16 16:47:03 | 显示全部楼层
这个对我很有帮助,谢谢
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2021-3-26
在线时间
8 小时
发表于 2022-4-19 14:01:47 | 显示全部楼层
本帖最后由 fireHe 于 2022-11-3 10:50 编辑

谢谢分享
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-25 21:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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