OpenEdv-开源电子网

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

FATFS移植有问题请教原子哥,出现未定义函

[复制链接]

19

主题

88

帖子

0

精华

初级会员

Rank: 2

积分
184
金钱
184
注册时间
2013-7-15
在线时间
0 小时
发表于 2013-10-27 10:06:00 | 显示全部楼层 |阅读模式
     原子哥,在FATFS移植的时候,使用的SDIO模式,然后SDIO读写是正常的,在没有建立文件系统的时候,简单的读写会破坏SD的结构,所以在
插入电脑是会提示先要格式化磁盘,然后格式化成FAT32之后,再插入到装有FATFS文件系统程序里运行,读写失败
    问题1:是不是因为在插入是的函数初始化已经把FAT32和破坏掉了,所以FATFS不能正常读取
    问题2:如果是这样子的话,是不是在运行的时候先执行   f_mkfs这个函数把磁盘格式化掉
   问题3:我想用  f_mkfs这个函数把磁盘格式化掉时,发现我在主程序里面调用 f_mkfs编译的时候总是出错,说我没有定义f_mkfs这个函数,可是我
            已经把ff.h和diskio.h包含进来了,检查了ff.h和diskio.h里面的函数,f_mkfs是存在的啊,而且调用f_open这个函数又是正常的,这是什么原因??
S4W6$X}Q~MK9WK`1AE2NI`O.jpg
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

36

主题

100

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
265
金钱
265
注册时间
2013-8-3
在线时间
0 小时
发表于 2013-10-27 10:19:16 | 显示全部楼层
回复【楼主位】和平清风:
---------------------------------
我也在弄这个,我的是不能f_open,查看了下,res==fr_exist,这个什么情况,我是用SPI写的
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-10-27 11:20:39 | 显示全部楼层
初始化函数不会破话FAT32的。
SDIO 的FATFS例程,我就发过,在论坛,你搜索:SDIO   即可找到。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

19

主题

88

帖子

0

精华

初级会员

Rank: 2

积分
184
金钱
184
注册时间
2013-7-15
在线时间
0 小时
 楼主| 发表于 2013-10-27 13:17:55 | 显示全部楼层
我想搞懂原因,另外问一个问题,为什么SDIO写数据的时候总是会下溢错误呢,就是这个SDIO_FLAG_TXUNDERR
????
回复 支持 反对

使用道具 举报

19

主题

88

帖子

0

精华

初级会员

Rank: 2

积分
184
金钱
184
注册时间
2013-7-15
在线时间
0 小时
 楼主| 发表于 2013-10-27 13:18:05 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
我想搞懂原因,另外问一个问题,为什么SDIO写数据的时候总是会下溢错误呢,就是这个SDIO_FLAG_TXUNDERR 
????
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-10-27 14:34:02 | 显示全部楼层
我也不知道为啥...
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

19

主题

88

帖子

0

精华

初级会员

Rank: 2

积分
184
金钱
184
注册时间
2013-7-15
在线时间
0 小时
 楼主| 发表于 2013-10-27 15:32:03 | 显示全部楼层
回复【6楼】正点原子:

我也不知道为啥...

---------------------------------

我想用  f_mkfs这个函数把磁盘格式化掉时,发现我在主程序里面调用 f_mkfs编译的时候总是出错,说我没有定义f_mkfs这个函数,可是我
            已经把ff.h和diskio.h包含进来了,检查了ff.h和diskio.h里面的函数,f_mkfs是存在的啊,而且调用f_open这个函数又是正常的,这是什么原因
回复 支持 反对

使用道具 举报

19

主题

88

帖子

0

精华

初级会员

Rank: 2

积分
184
金钱
184
注册时间
2013-7-15
在线时间
0 小时
 楼主| 发表于 2013-10-27 15:56:42 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
当直接在电脑上格式化成FAT32系统之后,然后使用FATFS打开一个文件,发现说我FR_NO_FILESYSTEM 磁盘上没有有效地FAT卷。这是怎么回事
回复 支持 反对

使用道具 举报

19

主题

88

帖子

0

精华

初级会员

Rank: 2

积分
184
金钱
184
注册时间
2013-7-15
在线时间
0 小时
 楼主| 发表于 2013-10-28 09:23:21 | 显示全部楼层
终于找到“我想用  f_mkfs这个函数把磁盘格式化掉时,发现我在主程序里面调用 f_mkfs编译的时候总是出错,说我没有定义f_mkfs这个函数,可是我
            已经把ff.h和diskio.h包含进来了,检查了ff.h和diskio.h里面的函数,f_mkfs是存在的啊,而且调用f_open这个函数又是正常的,这是什么原因??”
这个原因了,是因为FATFS默认是#define _USE_MKFS 0的,而很多函数是需要#define _USE_MKFS 1的,所以要配置成1,这样就可以编译了,留个记号,希望大家不要重复我的路
但是磁盘单块读写只能读128个字节的问题还是没有找到
回复 支持 反对

使用道具 举报

19

主题

88

帖子

0

精华

初级会员

Rank: 2

积分
184
金钱
184
注册时间
2013-7-15
在线时间
0 小时
 楼主| 发表于 2013-10-28 09:23:59 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
终于找到“我想用  f_mkfs这个函数把磁盘格式化掉时,发现我在主程序里面调用 f_mkfs编译的时候总是出错,说我没有定义f_mkfs这个函数,可是我 
            已经把ff.h和diskio.h包含进来了,检查了ff.h和diskio.h里面的函数,f_mkfs是存在的啊,而且调用f_open这个函数又是正常的,这是什么原因??” 
这个原因了,是因为FATFS默认是#define _USE_MKFS  0的,而很多函数是需要#define _USE_MKFS  1的,所以要配置成1,这样就可以编译了,留个记号,希望大家不要重复我的路 
但是磁盘单块读写只能读128个字节的问题还是没有找到??还是希望原子哥解答,测试了你的程序,貌似也会
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-10-28 18:23:40 | 显示全部楼层
回复【10楼】和平清风:
---------------------------------
哦哦
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-10-28 18:24:34 | 显示全部楼层
回复【10楼】和平清风:
---------------------------------
不会吧,我当时测试代码,就是新建个文本文件,然后写入一点字节,完全没出现死机啊,而且电脑也能打开,这样肯定不是一次操作多扇区了...因为我写入的也就几十个字节!
所以...估计你的测试方法有问题.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

19

主题

88

帖子

0

精华

初级会员

Rank: 2

积分
184
金钱
184
注册时间
2013-7-15
在线时间
0 小时
 楼主| 发表于 2013-10-28 18:38:13 | 显示全部楼层
回复【12楼】正点原子:

回复【10楼】和平清风:
---------------------------------
在使用外部FLASH的时候,为什么我格式化返回成功了,然后新建文件,再打开文件,告诉我说,没有有效的FAT卷,这是什么情况??我已经格式化返回成功了
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-10-28 18:47:45 | 显示全部楼层
这我也不知道了...
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-9 19:00

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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