SD卡读写扇区注意事项(转)

源:http://blog.163.com/zhaojun_xf/blog/static/30050580201151410635516/

       在调试SD卡时,大家都喜欢使用扇区进行验证。也就是说,一般都是通过读写扇区数据进行比较,或者读取第0扇区的数据,在通过WinHex软件打开启动扇区进行比较。这种方法对于1G的SD卡或部分2G的SD卡可能是对的,但是对于有些2G的SD卡和大于2G的SD卡来说就不一定对了。

      对于小容量的SD卡来说,一般没有MBR,所以读第0扇区就是在WinHex软件里边查看的启动扇区,所以很容易进行验证。但是对于大容量的SD卡来说,由于里边有MBR,而一般读取第0扇区,读出的就是MBR的内容;而在WinHex里边一般都隐藏了MBR部分,而直接显示启动扇区。所以读取的第0扇区和启动扇区的数据当然是不对的,所以容易让实验者认为读取是数据有误。

1. 那么怎样使用WinHex软件查看SD卡有没有MBR呢:

SD卡读写扇区主要事项 - 我心永恒 - ARM-实践者

       如果打开磁盘时选择的是逻辑驱动器,那么是看不到MBR的,只能看到数据从启动扇区开始的信息;如果采用物理磁盘方式打开,就可以查看分区信息了。

2. 打开一张Kingston 2G的SD卡的MBR

SD卡读写扇区主要事项 - 我心永恒 - ARM-实践者

       我们需要注意的是画线的64个字节数据,一个有4个分区表,但是除了第1个分区外,其他数据为零,也就是说只有一个分区。这个分区的启动扇区在上图棕色方框里,即:0x0000003F的地方,所以,我们读取0x0000003F就能读取启动扇区了。

3. 打开启动扇区

SD卡读写扇区主要事项 - 我心永恒 - ARM-实践者

    用SD卡读取0x0000003F扇区进行比较就可以了。SDReadSingleBolck(0x3F, SDBuf); 读取的数据如下:

SD卡读写扇区主要事项 - 我心永恒 - ARM-实践者

 4. 打开一个Kingston 1G SD卡,从图可以看出,此卡没有MBR,第0扇区就是启动扇区。

SD卡读写扇区注意事项 - 我心永恒 - ARM-实践者 

 
 
上一页 1... -1-1-1-1-1-1-1... -1下一页
 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值