FPGA SD卡驱动调试问题记录

FPGA SD卡驱动调试问题记录,第1张

最近调试了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软件的右下侧。

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

       责任编辑:zl

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2536462.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-05
下一篇 2022-08-05

发表评论

登录后才能评论

评论列表(0条)

保存