CF卡格式化问题

[复制链接]
 楼主| 阿多 发表于 2008-3-11 20:16 | 显示全部楼层 |阅读模式
格式化CF卡后,用WinHEX软件查看,发现在绝对扇区0是MBR数据,是不是CF卡格式化后必须有MBR?在早期的DOS系统下格式化是不是也是这样?有没有方法格式化CF卡,使其没有MBR扇区,而使BPB数据位于绝对扇区0
computer00 发表于 2008-3-12 09:47 | 显示全部楼层

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

  
 楼主| 阿多 发表于 2008-3-12 10:03 | 显示全部楼层

我就是在XP下格式化的

如果我想让它没有MBR扇区,需要用什么格式化工具?多谢00
computer00 发表于 2008-3-12 10:15 | 显示全部楼层

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

有个MBR有什么不好的吗?
xwj 发表于 2008-3-12 10:19 | 显示全部楼层

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

除非你只想用于你的专用设备,那你想怎么放就怎么放<br />否则别人怎么人你的盘???
computer00 发表于 2008-3-12 10:24 | 显示全部楼层

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

  
 楼主| 阿多 发表于 2008-3-12 10:32 | 显示全部楼层

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

在他的文件系统里,读BPB数据的地址是地址0,我读出来一看全是MBR数据,根本不是BPB数据,BPB数据的地址是32扇区才对,不过他的软件是拿来卖的,应是可以用的,是不是我的CF卡格式化有问题,但他的文件系统没有提供格式化函数,所以也不敢肯定
xwj 发表于 2008-3-12 10:35 | 显示全部楼层

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

软件、初始化程序都是针对性设计的<br /><br />而各种通用卡,考虑更多也必须考虑的就是通用性,<br />你要是搞得那个卡只有你的设备能用、或者换张卡就得由厂家程序初始化,那非得被骂死不可.
xwj 发表于 2008-3-12 10:37 | 显示全部楼层

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

  
computer00 发表于 2008-3-12 10:39 | 显示全部楼层

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

设计读卡软件时就要考虑到设备的不同情况。
xwj 发表于 2008-3-12 11:25 | 显示全部楼层

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

移动存储设备是Mass&nbsp;Storage类(海量存储类)。Mass&nbsp;Storage类主要用于软磁盘接口、ATA接口、IDE硬盘接口及Flash存储器等设备建立的USB接口。不同的数据存储载体接口构成了Mass&nbsp;Storage类的子类,UFI即为实现软磁盘接口的Mass&nbsp;Storage类的子类。各个子类都有一套自己的协议,并通过命令的形式实现各种功能。这些命令都是各子类所特有的,与USB没有任何关系,只是在uSB传输时被打包成一系列的命令包进行传输。而真正与Mass&nbsp;Storage的传输方式相关的是其传输协议。<br /><br />U盘有MBR分区的是U_HDD格式,如果是U-ZIP和U_FDD格式就没有分区表了。同时U盘在出厂时要写一些出厂信息,这些信息在U盘要要占用几M的空间,包括U盘的SN号,厂家信息,扇区坏道信息等等。<br /><br /><br />而USB协议的设计本身就很科学,不管你是什么,通过一问一答的不断枚举,不管你是哪一种,只要PC驱动中做了就能有适应的上的<br />就算你是再千奇百怪的USB设备,你自己定做个驱动也能挂上的,但要变成盘符还是得遵守Mass&nbsp;Storage类得规定,只不过它的种类很多罢了<br /><br /><br />而CF卡或别的卡,首先它的界面就限定了卡的类型,想用它你就得用标准读卡器(设备、硬件)去读,当然就得看读卡器支持什么了<br />而它最终能变成盘符,还是得由控制器(读卡器)来做协议转换,别人做的当然是只会考虑正常的状态,而正常状态就是大家统一的分配方式,CF卡就是故意做的模拟硬盘的。<br />一般地读卡器或直接用CF卡的设备也只会把它当HDD格式来用,自然会有HDD格式的相关内容提供<br /><br /><br />当然,如果你自己去直接操作CF卡,当然可以搞个什么老外的文件系统、搞个什么圈圈FS,那别说不要MBR,就算MBR、DBR&nbsp;&nbsp;FAT1&nbsp;&nbsp;FAT2&nbsp;&nbsp;DATA什么的都不要也行:-)<br /><br />
xwj 发表于 2008-3-12 11:34 | 显示全部楼层

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

  
mohanwei 发表于 2008-3-12 11:49 | 显示全部楼层

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

  
aolin 发表于 2008-3-12 16:01 | 显示全部楼层

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

我的一个64MB&nbsp;CF卡就没有MBR呀!<br />物理0扇区的内容,你自己看看是什么BR吧!<br /><br />Offset&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;1&nbsp;&nbsp;2&nbsp;&nbsp;3&nbsp;&nbsp;4&nbsp;&nbsp;5&nbsp;&nbsp;6&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;9&nbsp;&nbsp;A&nbsp;&nbsp;B&nbsp;&nbsp;C&nbsp;&nbsp;D&nbsp;&nbsp;E&nbsp;&nbsp;F<br /><br />00000000&nbsp;&nbsp;&nbsp;EB&nbsp;58&nbsp;90&nbsp;4D&nbsp;53&nbsp;44&nbsp;4F&nbsp;53&nbsp;&nbsp;35&nbsp;2E&nbsp;30&nbsp;00&nbsp;02&nbsp;01&nbsp;22&nbsp;00&nbsp;&nbsp;&nbsp;隭怣SDOS5.0...&quot;.<br />00000010&nbsp;&nbsp;&nbsp;02&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;F8&nbsp;00&nbsp;00&nbsp;&nbsp;3F&nbsp;00&nbsp;FF&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;&nbsp;&nbsp;.....?.?.
PowerAnts 发表于 2008-3-12 16:20 | 显示全部楼层

这不是MBR是什么?

00000000&nbsp;&nbsp;&nbsp;EB&nbsp;58&nbsp;90&nbsp;4D&nbsp;53&nbsp;44&nbsp;4F&nbsp;53&nbsp;&nbsp;35&nbsp;2E&nbsp;30&nbsp;00&nbsp;02&nbsp;01&nbsp;22&nbsp;00&nbsp;&nbsp;&nbsp;隭怣SDOS5.0...&quot;.<br />00000010&nbsp;&nbsp;&nbsp;02&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;F8&nbsp;00&nbsp;00&nbsp;&nbsp;3F&nbsp;00&nbsp;FF&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;00&nbsp;&nbsp;&nbsp;.....?.?.
PowerAnts 发表于 2008-3-12 16:26 | 显示全部楼层

俺弄错了

含有版本信息,是DBR而非MBR
computer00 发表于 2008-3-13 01:18 | 显示全部楼层

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

  
 楼主| 阿多 发表于 2008-3-13 16:49 | 显示全部楼层

多谢楼上的几位

简单修改了一下程序,能够正常读文件了,但写文件还是有问题,继续研究中.....<br />我的CF卡是128M的,物理0扇区是MBR信息,DBR信息在物理32扇区上,奇怪,都是CF卡,怎么还不一样?
computer00 发表于 2008-3-13 20:45 | 显示全部楼层

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

  
 楼主| 阿多 发表于 2008-3-14 17:08 | 显示全部楼层

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

都是128M的大小,在同一台机器下格式化,用WINHEX看,两个卡都没有MBR扇区,CF卡格式化后就有MBR扇区
您需要登录后才可以回帖 登录 | 注册

本版积分规则

56

主题

153

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部