OpenEdv-开源电子网

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

关于FATFS文件系统的问题

[复制链接]

14

主题

57

帖子

0

精华

初级会员

Rank: 2

积分
181
金钱
181
注册时间
2016-9-3
在线时间
70 小时
发表于 2017-12-16 13:34:40 | 显示全部楼层 |阅读模式
20金钱
  最近我在移植FATFS文件系统的时候,碰到几个问题,希望知道解决办法的朋友不吝赐教。在下感激不尽。
        1.文件系统是不是必须要有内存管理,我是否可以先声明一个数组,然后再将这个数组强制转换为fatfs 结构体空间,以此来达到申请空间的效果。
        2.我移植FATFS到SPI FLASH是的时候,可以挂载成功,也能够打开文件,但是在写入文件时总是出错,最后关闭文件的时候也会在串口上输出一些奇怪的字符,我调试的时候发现f_close的时候,会跑到硬件中断,不知道为什么,我的数据或者指针我检查都没有错误。
        3.我挂载SD卡成功以后,如果直接按复位键,连续大概3次左右,SD卡会初始化错误,返回值显示为SD_INVALID_VOLTRANGE,只能重新上电,不知道怎么回事,
        4.对于问题3,我猜测是因为我SD卡挂载后,复位之前没有卸载,于是我先挂载,然后又执行卸载,这样我一直按复位也可以正常初始化。是不是不用的时候必须要有卸载这一步,但是有的时候并不能保证复位的时候,也就是说你无法确定什么时候要卸载,这个问题要怎么解决呢?



希望有朋友能够回答,谢谢了。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2017-12-16 20:39:25 | 显示全部楼层
1,不是。
2, 将SPI FLASH全片擦除,然后重新格式化试试。
3,没事别这么干,容易整坏SD卡。
4,你3的操作就不符合规范。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

14

主题

57

帖子

0

精华

初级会员

Rank: 2

积分
181
金钱
181
注册时间
2016-9-3
在线时间
70 小时
 楼主| 发表于 2017-12-16 22:08:30 | 显示全部楼层
正点原子 发表于 2017-12-16 20:39
1,不是。
2, 将SPI FLASH全片擦除,然后重新格式化试试。
3,没事别这么干,容易整坏SD卡。

谢谢原子哥的解答,不过对于问题3,在断电或者复位之前需要先卸载SD卡吗?但是有时并不知道什么时候复位。有什么好的解决办法吗。
回复

使用道具 举报

50

主题

1805

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6662
金钱
6662
注册时间
2016-5-29
在线时间
910 小时
发表于 2017-12-17 08:19:00 | 显示全部楼层
本论坛有原子哥的一个STM32 U盘的例程.你看了后,一定可以帮到你.
回复

使用道具 举报

14

主题

57

帖子

0

精华

初级会员

Rank: 2

积分
181
金钱
181
注册时间
2016-9-3
在线时间
70 小时
 楼主| 发表于 2017-12-17 13:10:04 | 显示全部楼层
操作系统 发表于 2017-12-17 08:19
本论坛有原子哥的一个STM32 U盘的例程.你看了后,一定可以帮到你.

好的我去看看,谢谢啦,不过我现在又遇到了一个新的问题,就是我用f_read读一个文本文件,读回来的数据是间隔着的,比如说文本里面的是nihao,读回来的就是iao,而n和h没有读到
回复

使用道具 举报

14

主题

57

帖子

0

精华

初级会员

Rank: 2

积分
181
金钱
181
注册时间
2016-9-3
在线时间
70 小时
 楼主| 发表于 2017-12-17 13:12:28 | 显示全部楼层
操作系统 发表于 2017-12-17 08:19
本论坛有原子哥的一个STM32 U盘的例程.你看了后,一定可以帮到你.

好的我去看看,谢谢啦,不过我现在又遇到了一个新的问题,就是我用f_read读一个文本文件,读回来的数据是间隔着的,比如说文本里面的是nihao,读回来的就是iao,而n和h没有读到
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-19 17:07

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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