zoukankan      html  css  js  c++  java
  • 基于FPGA的SD卡驱动设计

      最近调试了SD卡,遇到了一些小问题,记录一下,分享一下。

    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软件的右下侧。

      希望对遇到同样问题的学习者有用,有什么不对的地方,恳请大佬们指出。

      奋斗的小孩郝旭帅:18500739518(QQ、微信)。  交流群:173560979

      

  • 相关阅读:
    codevs 3160 最长公共子串(SAM)
    noi2018d2t1
    后缀自动机
    [Scoi2014]方伯伯的玉米田
    【NOI2017】泳池
    【BZOJ2560】串珠子
    POJ 1737 统计有n个顶点的连通图有多少个 (带标号)
    【BZOJ3590】[Snoi2013]Quare 状压DP
    【BZOJ1095】【ZJOI2007】捉迷藏 [动态点分治]
    BZOJ1316: 树上的询问
  • 原文地址:https://www.cnblogs.com/fendoudexiaohai/p/11699719.html
Copyright © 2011-2022 走看看