关于 SD卡如何识别分区

coolbi5   2009-5-12 11:36 楼主
啊,我是菜鸟,最近想弄了个驱动是是SD卡的,现在只能支持2G大小的SD,现在有2个问题在这里请教下:1,这个驱动只能读一个分区(如果给他2个分区,后面的无法挂在),呵呵,怎么样让他能读其他分区。2,怎样让他能读4G以上的SD卡:)谢谢大家了

回复评论 (9)

自己顶,,,大家加帮帮忙哦
点赞  2009-5-12 13:22
顶哦:)
点赞  2009-5-13 09:13

4楼 wcs 

建议看FAT16文件系统,需要修改驱动程序,是文件系统去识别,或者说是文件系统管理SD卡存储资源的方式,难度比较大。
点赞  2009-5-13 10:23
好我去看看~!
点赞  2009-5-15 14:54
帮顶....
点赞  2009-5-18 00:50
现在资料主要是在 三星,大都是说移植,,但是我这的驱动感觉跟他们不对路,,移植有点问题,恩,想请大虾在
给仔细说说谢谢了
点赞  2009-5-18 08:12
路过,看看
点赞  2009-5-18 17:28
顶顶
点赞  2009-5-20 08:47
第一步你得要你的SD协议软件支持2.0高容量卡
    SD卡有三种:
        SD1.0-SD1.1大致相同,SD1.1比SD1.0增加了点命令,例如CMD6
       SD2.0标准卡
        SD2.0高容量卡
    它们的初始化和识别方式有些不一样,具体过程需要查询SD物理层协议文档

2G以上的卡应该是2.0的高容量SD卡,这时候的SD的协议必须按照SD2.0的方式来访问SD。针对2.0高容量卡,读写命令的参数单位是sector,而1.x的SD和2.0的标准卡读写命令的单位是字节。另外它们的初始化方式也不一样。

第二步就是要增加软件对卡上的分区信息进行识别
就是读取MBR信息,把分区的起始点和大小识别出来

第三步就是将不同的分区挂载倒文件系统上,让文件系统对这些分区进行管理

标准来说
fat12最大支持到128M
fat16支持的范围是2M-2G,windows把fat16的cluster扩展到了128个sector,所以windows的fat16也可以管理4G的分区
fat32的支持范围是32M-32G

所以得根据它们能支持的容量来选择相应的文件系统进行管理
点赞  2009-5-26 14:07
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复