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呢:
如果打开磁盘时选择的是逻辑驱动器,那么是看不到MBR的,只能看到数据从启动扇区开始的信息;如果采用物理磁盘方式打开,就可以查看分区信息了。
2. 打开一张Kingston 2G的SD卡的MBR
我们需要注意的是画线的64个字节数据,一个有4个分区表,但是除了第1个分区外,其他数据为零,也就是说只有一个分区。这个分区的启动扇区在上图棕色方框里,即:0x0000003F的地方,所以,我们读取0x0000003F就能读取启动扇区了。
3. 打开启动扇区
用SD卡读取0x0000003F扇区进行比较就可以了。SDReadSingleBolck(0x3F, SDBuf); 读取的数据如下:
4. 打开一个Kingston 1G SD卡,从图可以看出,此卡没有MBR,第0扇区就是启动扇区。
最新文章
- MVVM框架下 WPF隐藏DataGrid一列
- 如何在Windows Server 2008 上添加RD (远程桌面)会话主机配置的远程桌面授权服务器
- HTML 表单和输入<;form>;<;input>;
- js获取上传的文件并用ajax提交
- hiveserver2
- js 与ios 交互的三种方法
- selenium python (十四)上传文件的处理
- (5)jvm垃圾回收器相关垃圾回收算法
- 轻松学习Ionic (一) 搭建开发环境,并创建工程
- Android拍照与相册选取图片
- Java Class类以及获取Class实例的三种方式
- 以正确的姿势实现一棵JavaScript菜单树
- VR全景智慧城市常诚:信息技术点亮“智慧城市”
- BZOJ_4813_[Cqoi2017]小Q的棋盘_dfs
- 洛古 P2568 莫比乌斯+暴力
- 【转】snprintf()函数使用方法
- smali注入常用代码
- 【转】iOS学习之iOS禁止Touch事件
- OAF 交互式列车 上一步 下一步的简单使用
- 在 macOS 中激活 Astash Professional