OpenEdv-开源电子网

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

SD卡初始化错误

[复制链接]

5

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2014-4-23
在线时间
0 小时
发表于 2014-8-20 16:22:55 | 显示全部楼层 |阅读模式
5金钱
初始化SD卡时返回 SD_CMD_CRC_FAIL请问各位是哪里的问题?

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2014-8-20 21:40:15 | 显示全部楼层
CRC FAIL....
具体不太清楚了,你用的SDIO,还是SPI?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

5

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2014-4-23
在线时间
0 小时
 楼主| 发表于 2014-8-21 13:25:27 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
用的SDIO,文件mount成功,open的时候返回FR_NO_FILESYSTEM

res = f_mount(0,&fs);
/* Create new file on the drive 0 */
res = f_open(&fnew, "0:fats_test.txt", FA_CREATE_ALWAYS | FA_WRITE );

用WinHex查看只有DBR,没有MBR


QQ图片20140821125156.jpg
回复

使用道具 举报

6

主题

82

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
419
金钱
419
注册时间
2013-12-6
在线时间
46 小时
发表于 2014-8-21 13:40:58 | 显示全部楼层



你打开sd卡的时候,不要选择逻辑驱动器里面的SD卡,选择物理驱动器里面的SD卡。


有人问我会什么?我低头看看我手里的书,我发现我只会用。
回复

使用道具 举报

5

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2014-4-23
在线时间
0 小时
 楼主| 发表于 2014-8-21 13:47:15 | 显示全部楼层
回复【4楼】yqiqi:
---------------------------------
选物理驱动器里的SD卡也是一样的

if (LD_WORD(&fs->win[BS_55AA]) != 0xAA55) /* Check record signature (always placed at offset 510 even if the sector size is >512) */ 
return 2;  
在这个地方就返回了

我发现我的代码读出&fs->win[BS_55AA] == 0000,但用WinHex查看的时候偏移量0x01FE = 55,0x01FF = AA,难道是我的读数据函数出错?同样的代码在另一块开发板上是没有问题的
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2014-8-21 23:58:08 | 显示全部楼层
回复【3楼】taven_song:
---------------------------------
我们 有SDIO的例程,你参考下我们例程试试。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

6

主题

82

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
419
金钱
419
注册时间
2013-12-6
在线时间
46 小时
发表于 2014-8-22 10:59:04 | 显示全部楼层
回复【5楼】taven_song:
---------------------------------
你还没有弄清楚DBR与MBR的区别,DBR是逻辑扇区0,MBR是物理扇区0,如果你弄物理驱动器打开的SD卡,偏移量为0的地方就是MBR,如果你选择逻辑驱动器打开SD卡,偏移量0 的地方就是DBR,对于SD卡来说,DBR是SD卡的文件系统引导扇区,MBR是SD卡的主引导扇区。楼主你用逻辑驱动器打开SD卡,选择引导扇区,看看偏移量0x01FE = 55,0x01FF = AA,是不是对的。
有人问我会什么?我低头看看我手里的书,我发现我只会用。
回复

使用道具 举报

5

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2014-4-23
在线时间
0 小时
 楼主| 发表于 2014-8-22 16:24:24 | 显示全部楼层


逻辑分区0和 物理分区0的数据时一样的
回复

使用道具 举报

13

主题

87

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
421
金钱
421
注册时间
2015-12-3
在线时间
46 小时
发表于 2016-8-9 20:44:45 | 显示全部楼层
楼主解决了吗?我的初始化返回SD_CMD_RSP_TIMEOUT怎么解决啊?
学到老,活到老
回复

使用道具 举报

8

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2016-8-10
在线时间
13 小时
发表于 2016-8-10 22:36:47 | 显示全部楼层
原子哥,你说的那个SDIO读写SD的例程在哪儿呢???我正需要一个例程来学SD卡读写!!!
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2016-8-12 21:35:44 | 显示全部楼层
从零开始0 发表于 2016-8-10 22:36
原子哥,你说的那个SDIO读写SD的例程在哪儿呢???我正需要一个例程来学SD卡读写!!!

我们除了Mini板,其他开发板都是用SDIO。
随便找一款开发板的SD卡实验参考即可。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

8

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2016-8-10
在线时间
13 小时
发表于 2016-8-12 21:41:59 | 显示全部楼层
好的,我已经从你的资源里面找到视屏和代码了。蟹蟹
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-8 04:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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