zoukankan      html  css  js  c++  java
  • 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-实践者 

     
     
     
  • 相关阅读:
    CentOS下Varnish实现动静分离
    Varnish语法
    Varnish日志切割+参数优化
    阿里云CentOS7下部署Django+uwsgi+pip3+pytz+python3
    搭建Hadoop伪分布式环境
    [Linux]-gitlab安装
    pyspider安装
    阿里云ECS搭建SVN
    在Ubuntu18.04安装Adobe Flash Player插件
    从SQL的视角用powershell
  • 原文地址:https://www.cnblogs.com/LittleTiger/p/3941013.html
Copyright © 2011-2022 走看看