打印

请教单片机读写SD卡时寻址的问题

[复制链接]
4103|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhongruntian|  楼主 | 2009-8-8 15:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
首先SD卡分普通SD卡和HCSD卡。目前知道2G以下的SD卡在访问内部存储单元时是按实际物理地址来寻址的,比如要读第1000H单元的值,就直接用1000H做相关指令的地址参数来实现。而4G和8G的卡是以BLOCK(512BYTE)为单位来寻址的,同样访问1000H单元,是以1000H/200H做为相关指令的参数来实现。以上这些已经实践证明了是对的,但现在想请教大家的是,16G以上的SD卡好象不是采用这两种方式中的一种,调试证明了前10000H单元可以用BYTE为单位(2G以下卡的方式)访问,但是10000H以后的单元无论用BYTE还是BLOCK(512BYTE)都不能访问到。
      所以想请有这方面经验的朋友说说16G以上的卡是怎么个寻址法。谢谢!

相关帖子

沙发
古道热肠| | 2009-8-9 11:10 | 只看该作者
呵呵,没研究这么大容量的.得问问制卡厂家,东西是他们做的,他们最心中有数.

使用特权

评论回复
板凳
zhongruntian|  楼主 | 2009-8-10 14:42 | 只看该作者
谢谢2楼的回答。
周五给sandisk的亚洲技术支持发了email,不过貌似石沉大海了。

使用特权

评论回复
地板
zhongruntian|  楼主 | 2009-8-13 15:34 | 只看该作者
跟创见公司联系上了,不知道能不能得到想要的资料

使用特权

评论回复
5
zhongruntian|  楼主 | 2009-8-18 18:13 | 只看该作者
跟创见的技术支持通了几封邮件也没得到什么实质性的东西。

按BYTE寻址,32位的地址范围肯定访问不了那么大的卡;如果按BLOCK寻址,为什么前10000H单元又可以按BYTE访问到。郁闷。

使用特权

评论回复
6
zhongruntian|  楼主 | 2009-8-25 11:39 | 只看该作者
问题解决了,竟然是原来那张卡有问题。不知道是使用中坏了还是买到假货了,用软件测试发现只有4G左右的容量可以使用。

使用特权

评论回复
7
古道热肠| | 2009-8-25 11:49 | 只看该作者
SD卡从硬件上来看就是一个SD卡控制器+nandFlash存储器构成,容量是可以自己定义的.前阵子见人拆个SD卡.

使用特权

评论回复
8
1c2k3p| | 2011-10-19 10:21 | 只看该作者
难怪我的4GSD卡读不出来

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

28

帖子

0

粉丝