SD 卡调试问题分享

时间:2019-11-12
  1.    SD 卡 卡槽旁边的一个小开关
  我们平时见过的 SD 卡都是小的 SD 卡,可以放在手机上的。现在大多数的开发板上也是小的 SD 卡的卡槽,插入后,正好可以使用。但是如果想要用 PC 向里存储一定的东西,还是需要一个读卡器。读卡器有 USB 型的,同时也有一个大大的 SD 卡卡槽,就是扩展成为一个大的 SD 卡。大的 SD 卡在笔记本上有专门的插槽(笔者的有)。但是在 SD 卡卡槽的一侧有一个小的开关,这个小的开关是一个写保护开关。一般情况下,以金属接触点向上为正方向。向上推,是可读写。向下推是,是只读。这个在某些 U 盘上也有。
  如果 PC 写不进去,说是被写保护。先不要怀疑 SD 卡(U 盘)坏了,首先考虑这个硬件写保护。
  原理是:这个开关是一个机械性的开关,如果里面两个金属触点接触,就可以写。否则,不能写。
  2.     SD 卡的区分
  SD,SDHC,SDXC 这三个都是 SD 卡,以容量区分。在进行地址读写,有一定的区别。
  SD 卡,按照字节地址去写(一般情况)。SDHC,SDXC 卡,按照扇区地址进行读写(一般情况)。按照扇区还是字节地址和驱动协议也有一定的关系。
  一个扇区的大小为 512 字节。
  3.    SD 读取不对的问题
  我们可以用控制器进行读写 SD 卡,地址就是按照自己的设计就可以。
  很多时候,我们需要用 PC 将一些数据放入到 SD 卡,然后通过控制器进行读取。读取时,需要知道数据存储的地址。利用 winhex 软件可以查到数据存放的地址。我们用控制器进行读写 SD 卡,利用 winhex 软件查到的地址,有时读出来的数据不正确。
  经过不断的查找资料,发现利用 winhxe 软件查询数据存放地址时,可以有两个地址:物理地址和逻辑地址。winhex 软件直接显示的逻辑地址。
  控制器直接进行 SD 卡读写时,是按照物理地址进行读写的。所以需要利用 winhex 中的逻辑地址。
  winhex 显示逻辑地址一般在 winhex 软件的右下侧。
  希望对遇到同样问题的学习者有用,有什么不对的地方,恳请大佬们指出。
上一篇:基于AP2911电源IC替换到车灯应用中的方法解析
下一篇:三元锂离子电池高温存储性能衰退机理

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料