OpenEdv-开源电子网

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

江湖救急。。。。移植FATFS时f_mount()出现硬件fault。。。。

[复制链接]

2

主题

6

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2016-3-23
在线时间
4 小时
发表于 2016-3-23 13:35:58 | 显示全部楼层 |阅读模式
f_mount的时候fs_check()函数调用了move_window()函数,move_window()函数总调用了disk_read().....结果read完就出现了硬件fault。。。。求大神们帮帮忙。。。。初学者。。。

小图的断点是发生硬件fault的地方。。。不合理啊。。。我SPI_FLASH_Read()单独调用的时候没问题的。

f_mount调用

f_mount调用
QQ截图20160323133226.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

26

主题

261

帖子

1

精华

高级会员

Rank: 4

积分
734
金钱
734
注册时间
2013-11-1
在线时间
28 小时
发表于 2016-3-23 16:27:25 | 显示全部楼层
你是不是把内部的flash当做U盘来使用啊 ,那需要先格式化再挂载的
回复 支持 反对

使用道具 举报

2

主题

6

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2016-3-23
在线时间
4 小时
 楼主| 发表于 2016-3-23 16:34:04 | 显示全部楼层
zhao305149619 发表于 2016-3-23 16:27
你是不是把内部的flash当做U盘来使用啊 ,那需要先格式化再挂载的

是通过mkfs函数进行格式化吗?
回复 支持 反对

使用道具 举报

26

主题

261

帖子

1

精华

高级会员

Rank: 4

积分
734
金钱
734
注册时间
2013-11-1
在线时间
28 小时
发表于 2016-3-23 16:36:19 | 显示全部楼层
是的
回复 支持 反对

使用道具 举报

26

主题

261

帖子

1

精华

高级会员

Rank: 4

积分
734
金钱
734
注册时间
2013-11-1
在线时间
28 小时
发表于 2016-3-23 16:36:28 | 显示全部楼层
luckywangwang 发表于 2016-3-23 16:34
是通过mkfs函数进行格式化吗?

是的
回复 支持 反对

使用道具 举报

2

主题

6

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2016-3-23
在线时间
4 小时
 楼主| 发表于 2016-3-23 16:39:44 | 显示全部楼层

唔。。。f_mount()之前调用了f_mkfs()但是返回了FR_NOT_ENABLED。。。。。
回复 支持 反对

使用道具 举报

26

主题

261

帖子

1

精华

高级会员

Rank: 4

积分
734
金钱
734
注册时间
2013-11-1
在线时间
28 小时
发表于 2016-3-23 16:44:41 | 显示全部楼层
要有逻辑号
回复 支持 反对

使用道具 举报

26

主题

261

帖子

1

精华

高级会员

Rank: 4

积分
734
金钱
734
注册时间
2013-11-1
在线时间
28 小时
发表于 2016-3-23 16:45:29 | 显示全部楼层
luckywangwang 发表于 2016-3-23 16:39
唔。。。f_mount()之前调用了f_mkfs()但是返回了FR_NOT_ENABLED。。。。。

其次要保证你的flash的驱动是正常的
回复 支持 反对

使用道具 举报

2

主题

6

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2016-3-23
在线时间
4 小时
 楼主| 发表于 2016-3-23 16:59:52 | 显示全部楼层

还是FR_NOT_ENABLED....这样调用对吗?

res = f_mkfs("0:", 0, 4096);
printf("\r\n  return of f_mkfs : %d\n", res);
回复 支持 反对

使用道具 举报

2

主题

6

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2016-3-23
在线时间
4 小时
 楼主| 发表于 2016-3-23 17:02:00 | 显示全部楼层
zhao305149619 发表于 2016-3-23 16:45
其次要保证你的flash的驱动是正常的

不加文件系统单独调用SPI-Flash是正常的,可以说明驱动是正常的吗?
回复 支持 反对

使用道具 举报

26

主题

261

帖子

1

精华

高级会员

Rank: 4

积分
734
金钱
734
注册时间
2013-11-1
在线时间
28 小时
发表于 2016-3-23 17:33:30 | 显示全部楼层
luckywangwang 发表于 2016-3-23 16:59
还是FR_NOT_ENABLED....这样调用对吗?

res = f_mkfs("0:", 0, 4096);

你这明显不对啊
回复 支持 反对

使用道具 举报

26

主题

261

帖子

1

精华

高级会员

Rank: 4

积分
734
金钱
734
注册时间
2013-11-1
在线时间
28 小时
发表于 2016-3-23 17:42:03 | 显示全部楼层

res = f_mkfs(0, 1, 4096);
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-19 17:49

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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