野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 27258|回复: 8

FATFS新建文件写入数据死机

[复制链接]
发表于 2014-3-2 00:47:27 | 显示全部楼层 |阅读模式
小弟使用SDIO驱动SD卡,移植FATFS文件系统,使用的就是火哥的程序,但是偶尔会出现新建文件写入数据失败的情况,新建的文件名字正确,大小显示是零字节,但重新上电后SD卡可以正常操作。最近却是新建文件成功,但往该文件写入数据时却会死机,程序死循环在了读SD卡状态的地方,SD卡返回来的都是SD_CARD_PROGRAMMING,并且重新上电后,再次操作,还是相同的问题。如果把卡格式化了后,可以存入文件并写入数据,但存入几个之后就又出现这个问题了,请教各位大神有没有遇到过这个问题。不知道这个是否和sd出现坏块有关系。假如在新建文件并写入数据的过程中出现了问题,如何操作可以避免SD卡不被损坏呢?

回复

使用道具 举报

发表于 2014-3-2 11:10:17 | 显示全部楼层
应该不是坏块的问题,坏块在格式化的时候会处理的吧
回复 支持 反对

使用道具 举报

发表于 2014-3-2 11:10:52 | 显示全部楼层
你进行其它的sd卡操作有没有问题?比如读文件什么的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-2 11:20:04 | 显示全部楼层
缑萱彤 发表于 2014-3-2 11:10
你进行其它的sd卡操作有没有问题?比如读文件什么的

读文件时没问题的,我感觉我的问题跟这个帖子里的问题相似http://www.firebbs.cn/forum.php?mod=viewthread&tid=511,还希望您能帮帮我。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-2 11:21:04 | 显示全部楼层
吕一瑾 发表于 2014-3-2 11:10
应该不是坏块的问题,坏块在格式化的时候会处理的吧

这个我也不知道,只是猜测而已,就是不清楚他为什么会卡在while(SD_GetStatus() != SD_TRANSFER_OK);这句话这。
回复 支持 反对

使用道具 举报

发表于 2014-3-2 11:57:24 | 显示全部楼层
llb126yx 发表于 2014-3-2 11:21
这个我也不知道,只是猜测而已,就是不清楚他为什么会卡在while(SD_GetStatus() != SD_TRANSFER_OK);这句 ...

你用的是什么板子?野火ISO板子的mp3例程里有sd卡创建新文件并写入数据的操作的,用这个例程测试一下,如果正常那可能就是你这个程序有bug了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-2 16:26:38 | 显示全部楼层
吕一瑾 发表于 2014-3-2 11:57
你用的是什么板子?野火ISO板子的mp3例程里有sd卡创建新文件并写入数据的操作的,用这个例程测试一下,如 ...

我用的是STM32F407,整个程序大致是可以正常工作,新建文件,读写等等。最初调通之后,偶尔会出现新建文件写入数据死机的情况,关机重启之后再次新建是正常的。现在的情况是,新建文件写入数据卡死,关机重启之后回读SD卡的文件,发现之前建立的文件已经成功建立,不过大小却为零。而且再次新建写入数据依然会死,情况一样。
回复 支持 反对

使用道具 举报

发表于 2014-3-2 18:26:44 | 显示全部楼层
llb126yx 发表于 2014-3-2 16:26
我用的是STM32F407,整个程序大致是可以正常工作,新建文件,读写等等。最初调通之后,偶尔会出现新建文件 ...

估计火哥的程序与f407有点不兼容。另外,楼主你移植的时候有没有把stm32f10x_it.c文件里的中断服务函数也修改了?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-6 00:33:28 | 显示全部楼层
祁羽彤 发表于 2014-3-2 18:26
估计火哥的程序与f407有点不兼容。另外,楼主你移植的时候有没有把stm32f10x_it.c文件里的中断服务函数也 ...

您指的是哪个函数?该修改的我都改了的。问题是这样的,一张新的SD卡,绝大多情况下存储是正常的,但有时候第一次开机存储时,会存死,我加了时间溢出的判断,超时之后会自动结束本次操作,之后继续存储还是可以的。但有时候就会出现一旦第一次存死了之后,SD卡就无法访问了,插电脑上也显示SD卡是RAW格式的,容量为0.我觉得这时候的存储死机应该不是卡在了while(SD_GetStatus() != SD_TRANSFER_OK)这句话,我现在的疑惑是到底什么导致了SD卡变成的raw格式
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-9-22 15:36 , Processed in 0.049082 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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