打印
[ZLG-ARM]

向SD卡某块写数据时,是否要先擦除该块,还是直接写啊?

[复制链接]
9000|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jstu023123|  楼主 | 2008-2-29 15:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
zlgarm| | 2008-2-29 15:23 | 只看该作者

sd卡

jstu023123 您好!
    sd卡内部有控制器,用户只需要对其进行读写操作。
                                  on duty zlgarm_lijintao

使用特权

评论回复
板凳
jstu023123|  楼主 | 2008-2-29 15:27 | 只看该作者

谢谢zlgarm。。。

使用特权

评论回复
地板
jstu023123|  楼主 | 2008-2-29 16:53 | 只看该作者

SD

   如果写入的数据大小不是块(1块512Bytes)大小的整数倍,有的块就没写满,那未写的部分还能利用吗?

使用特权

评论回复
5
wlsui| | 2008-2-29 23:08 | 只看该作者

Re jstu023123 :

1、向SD卡块写数据时,不需要先擦除该块然后再写数据啊,直接写就行了,会自动将原来的数据覆盖,但是如果先擦除再写,可以获得更高的写速度---不过一般没必要这么做。
2、不论是读取数据还是写入数据,都是以块为单位(如512字节),也就是说,至少要写入512字节。如果通过文件系统往SD卡写入的文件小于512字节,则SD卡低层驱动仍然会往SD卡写入512字节,只是后面的字节数是无意义的。也就是说, 如果写入的数据大小不是块(1块512Bytes)大小的整数倍,那未写的部分不能再利用。实际上不会存在未写的部分,因为低层驱动读写SD卡都是以块为单位,只是多余的字节被上层驱动,也就是文件系统屏蔽了
                                          by zlgarm_wulongsui

使用特权

评论回复
6
jstu023123|  楼主 | 2008-3-1 08:42 | 只看该作者

哦,明白咯。。。谢啦

使用特权

评论回复
7
tubie| | 2008-3-1 22:33 | 只看该作者

老大用的是哪款ARM啊?我也正在寻支持SD的arm。

谢谢!

使用特权

评论回复
8
phoenixmy| | 2008-3-1 22:35 | 只看该作者

2378上貌似有专门的SD/MMC接口

使用特权

评论回复
9
wlsui| | 2008-3-2 18:53 | 只看该作者

是的

LPC2378上有专门的SD/MMC接口

使用特权

评论回复
10
jstu023123|  楼主 | 2008-3-3 09:57 | 只看该作者

有SPI就可以了吧。。。

  一般的都可以用的吧,我用的是2214的,SD卡配置成SPI模式不就行了嘛,慢了点,凑合着吧。。。对速度要求不高

使用特权

评论回复
11
jstu023123|  楼主 | 2008-3-4 10:35 | 只看该作者

SD卡现可读写了,但还是有个小问题。。。

   在成功写完一块数据后,欲读取该块数据,发CMD17命令后,等待response,一直等到置超时标志没有response。。。而数据已经写到该块里了(把写部分屏蔽掉,再直接读取)。也就是写好写,读也好读,加一块儿就不行了。。。是不是读写转换间要处理下啊?
   

使用特权

评论回复
12
jstu023123|  楼主 | 2008-3-4 10:54 | 只看该作者

好了额

   在发CMD17之前,我先发了8个clock,然后就正常了。。。

使用特权

评论回复
13
tubie| | 2008-3-4 18:33 | 只看该作者

关于SD卡的调试有没有比较好的入门教程啊?

我都不知道怎么才算成功操作了,是不是写入一个扇区,读回来对了就是弄好了?SD的协议哪里有啊?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

40

主题

93

帖子

0

粉丝