打印

CF卡格式化问题

[复制链接]
8866|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
阿多|  楼主 | 2008-3-11 20:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
computer00| | 2008-3-12 09:47 | 只看该作者

这要看你所使用的格式化工具了。

使用特权

评论回复
板凳
阿多|  楼主 | 2008-3-12 10:03 | 只看该作者

我就是在XP下格式化的

如果我想让它没有MBR扇区,需要用什么格式化工具?多谢00

使用特权

评论回复
地板
computer00| | 2008-3-12 10:15 | 只看该作者

这个我就不清楚了,不过你可以自己用单片机写个程序给它

有个MBR有什么不好的吗?

使用特权

评论回复
5
xwj| | 2008-3-12 10:19 | 只看该作者

标准磁盘设备肯定得有MBR,不然怎么知道分区参数呢???

除非你只想用于你的专用设备,那你想怎么放就怎么放
否则别人怎么人你的盘???

使用特权

评论回复
6
computer00| | 2008-3-12 10:24 | 只看该作者

很多U盘都是没有MBR的,只有DBR,它们只有一个分区。

使用特权

评论回复
7
阿多|  楼主 | 2008-3-12 10:32 | 只看该作者

在看一个老外写的文件系统

在他的文件系统里,读BPB数据的地址是地址0,我读出来一看全是MBR数据,根本不是BPB数据,BPB数据的地址是32扇区才对,不过他的软件是拿来卖的,应是可以用的,是不是我的CF卡格式化有问题,但他的文件系统没有提供格式化函数,所以也不敢肯定

使用特权

评论回复
8
xwj| | 2008-3-12 10:35 | 只看该作者

U盘不同,因为它是存储芯片和控制芯片对应的专用设备

软件、初始化程序都是针对性设计的

而各种通用卡,考虑更多也必须考虑的就是通用性,
你要是搞得那个卡只有你的设备能用、或者换张卡就得由厂家程序初始化,那非得被骂死不可.

使用特权

评论回复
9
xwj| | 2008-3-12 10:37 | 只看该作者

再说一次:不考虑通用性的话你想怎么放就能怎么放

使用特权

评论回复
10
computer00| | 2008-3-12 10:39 | 只看该作者

晕,U盘只有DBR,也是通用的,操作系统会自动识别

设计读卡软件时就要考虑到设备的不同情况。

使用特权

评论回复
11
xwj| | 2008-3-12 11:25 | 只看该作者

U盘的种类其实非常的多,能兼容那是PC软件做的好、做的全

移动存储设备是Mass Storage类(海量存储类)。Mass Storage类主要用于软磁盘接口、ATA接口、IDE硬盘接口及Flash存储器等设备建立的USB接口。不同的数据存储载体接口构成了Mass Storage类的子类,UFI即为实现软磁盘接口的Mass Storage类的子类。各个子类都有一套自己的协议,并通过命令的形式实现各种功能。这些命令都是各子类所特有的,与USB没有任何关系,只是在uSB传输时被打包成一系列的命令包进行传输。而真正与Mass Storage的传输方式相关的是其传输协议。

U盘有MBR分区的是U_HDD格式,如果是U-ZIP和U_FDD格式就没有分区表了。同时U盘在出厂时要写一些出厂信息,这些信息在U盘要要占用几M的空间,包括U盘的SN号,厂家信息,扇区坏道信息等等。


而USB协议的设计本身就很科学,不管你是什么,通过一问一答的不断枚举,不管你是哪一种,只要PC驱动中做了就能有适应的上的
就算你是再千奇百怪的USB设备,你自己定做个驱动也能挂上的,但要变成盘符还是得遵守Mass Storage类得规定,只不过它的种类很多罢了


而CF卡或别的卡,首先它的界面就限定了卡的类型,想用它你就得用标准读卡器(设备、硬件)去读,当然就得看读卡器支持什么了
而它最终能变成盘符,还是得由控制器(读卡器)来做协议转换,别人做的当然是只会考虑正常的状态,而正常状态就是大家统一的分配方式,CF卡就是故意做的模拟硬盘的。
一般地读卡器或直接用CF卡的设备也只会把它当HDD格式来用,自然会有HDD格式的相关内容提供


当然,如果你自己去直接操作CF卡,当然可以搞个什么老外的文件系统、搞个什么圈圈FS,那别说不要MBR,就算MBR、DBR  FAT1  FAT2  DATA什么的都不要也行:-)

使用特权

评论回复
12
xwj| | 2008-3-12 11:34 | 只看该作者

唉,LZ你也太不会变通了吧? 难道由MBR你就没一点办法了?

使用特权

评论回复
13
mohanwei| | 2008-3-12 11:49 | 只看该作者

协议……关键是双方都要认可

使用特权

评论回复
14
aolin| | 2008-3-12 16:01 | 只看该作者

我的一个64MB CF卡就没有MBR呀!

我的一个64MB CF卡就没有MBR呀!
物理0扇区的内容,你自己看看是什么BR吧!

Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F

00000000   EB 58 90 4D 53 44 4F 53  35 2E 30 00 02 01 22 00   隭怣SDOS5.0...".
00000010   02 00 00 00 00 F8 00 00  3F 00 FF 00 00 00 00 00   .....?.?.

使用特权

评论回复
15
PowerAnts| | 2008-3-12 16:20 | 只看该作者

这不是MBR是什么?

00000000   EB 58 90 4D 53 44 4F 53  35 2E 30 00 02 01 22 00   隭怣SDOS5.0...".
00000010   02 00 00 00 00 F8 00 00  3F 00 FF 00 00 00 00 00   .....?.?.

使用特权

评论回复
16
PowerAnts| | 2008-3-12 16:26 | 只看该作者

俺弄错了

含有版本信息,是DBR而非MBR

使用特权

评论回复
17
computer00| | 2008-3-13 01:18 | 只看该作者

背后的u是无符号整型的意思。如果ul就是无符号长整型

使用特权

评论回复
18
阿多|  楼主 | 2008-3-13 16:49 | 只看该作者

多谢楼上的几位

简单修改了一下程序,能够正常读文件了,但写文件还是有问题,继续研究中.....
我的CF卡是128M的,物理0扇区是MBR信息,DBR信息在物理32扇区上,奇怪,都是CF卡,怎么还不一样?

使用特权

评论回复
19
computer00| | 2008-3-13 20:45 | 只看该作者

倒塌...虽然都是CF卡,但是大家都是存储器啊,数据写哪都行

使用特权

评论回复
20
阿多|  楼主 | 2008-3-14 17:08 | 只看该作者

今天看了下我的SD卡和MMC卡

都是128M的大小,在同一台机器下格式化,用WINHEX看,两个卡都没有MBR扇区,CF卡格式化后就有MBR扇区

使用特权

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

本版积分规则

56

主题

153

帖子

0

粉丝