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

[复制链接]
5009|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 | 显示全部楼层
跟创见公司联系上了,不知道能不能得到想要的资料
 楼主| zhongruntian 发表于 2009-8-18 18:13 | 显示全部楼层
跟创见的技术支持通了几封邮件也没得到什么实质性的东西。

按BYTE寻址,32位的地址范围肯定访问不了那么大的卡;如果按BLOCK寻址,为什么前10000H单元又可以按BYTE访问到。郁闷。
 楼主| zhongruntian 发表于 2009-8-25 11:39 | 显示全部楼层
问题解决了,竟然是原来那张卡有问题。不知道是使用中坏了还是买到假货了,用软件测试发现只有4G左右的容量可以使用。
古道热肠 发表于 2009-8-25 11:49 | 显示全部楼层
SD卡从硬件上来看就是一个SD卡控制器+nandFlash存储器构成,容量是可以自己定义的.前阵子见人拆个SD卡.
1c2k3p 发表于 2011-10-19 10:21 | 显示全部楼层
难怪我的4GSD卡读不出来
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

28

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部