wince的nand分区做u盘被pc识别问题?

xuefeng_baggio 2009-12-03 02:33:43
各位大侠好,小弟想请教个问题。就是我现在想把wince的nand的fat分区做为u盘能在pc下显示出来。现在已经可以显示在"我的电脑"中了。但是没办法打开,显示让我格式化,格式化到最后爆一个提示框 ''window无法完成格式化"。而这个时候wince设备上的分区号"NAND FLASH"也没有了。小弟对wince文件系统还不是很懂。看了版里大侠们文章更郁闷?很请各位指点下迷津???下面是我的注册表给大家看看。
===========================================================
;BINFS
===========================================================
IF BSP_NONANDFS !
[HKEY_LOCAL_MACHINE\init\BootVars]
"SYSTEMHIVE"="Documents and Settings\\system.hv"
"PROFILEDIR"="Documents and Settings"
"Start DevMgr"=dword:1
"DefaultUser"="default"
"Flags"=dword:1000
"RegistryFlags"=dword:1

[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\MSFlash]
"DriverPath"="Drivers\\BlockDevice\\MSFlash"
"LoadFlags"=dword:1
"MountHidden"=dword:1
"MountAsROM"=dword:1
"BootPhase"=dword:0
"Flags"=dword:1000
"Order"=dword:0

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MSFlash]
"DefaultFileSystem"="BINFS"
"PartitionDriver"="mspart.dll"
"AutoFormat"=dword:1
"AutoMount"=dword:1
"AutoPart"=dword:1
"MountAsBootable"=dword:1
"MountAsROM"=dword:1
"MountAsHidden"=dword:0
"Folder"="Flash Disk"
"Name"="FLASH Disk Block Device"
"BootPhase"=dword:0
"Flags"=dword:1000


; Keep FATFS from trying to shadow \Windows
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MSFlash\FATFS]
"FriendlyName"="FAT FileSystem"
"Dll"="fatfsd.dll"
"Flags"=dword:00280014
"Paging"=dword:1
"CacheSize"=dword:0
"EnableCacheWarm"=dword:0
"EnableCache"=dword:1
"MountAsBootable"=dword:1
"MountAsRom"=dword:1


[HKEY_LOCAL_MACHINE\Drivers\BlockDevice\MSFlash]
"Profile"="MSFlash"
"IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
"Order"=dword:1
"FriendlyName"="MSFLASH Driver"
"Dll"="smflash.dll"
"Prefix"="DSK"
;"Index"=dword:1
"BootPhase"=dword:0
"Flags"=dword:1000
ENDIF ; BSP_NONANDFS
=======================================================================
;FATS
=======================================================================

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\FlashDisk]
"Prefix"="DSK"
"Dll"="smflash.dll"
"Order"=dword:1
"Index"=dword:1
"IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
"Profile"="FlashDisk"
"FriendlyName"="NAND FLASH Driver"
"BmlVolumeId"=dword:0 ; BML volume ID = 0
"BmlPartitionId"=dword:8 ; BML parition ID = PARTITION_ID_FILESYSTEM
"WMRStartSector"=dword:0
"WMRNumOfSector"=dword:ffffffff ; last location
"Flags"=dword:11000 ; do not load again in boot phase 2 ;
;"Flags"=dword:1000 ; do not load again in boot phase 2 ;


[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDisk]
"DriverPath"="Drivers\\BuiltIn\\FlashDisk"
"DefaultFileSystem"="FATFS"
"PartitionDriver"="mspart.dll"
"Name"="NAND FLASH"
"Folder"="NAND FLASH"
"AutoMount"=dword:1
"AutoPart"=dword:1
"AutoFormat"=dword:1
"MountAsBootable"=dword:1

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDisk\FATFS]
"FriendlyName"="NANDFLASH FAT FileSystem"
;"Dll"="fatfsd.dll"
"Flags"=dword:00000014 ; FATFS_ENABLE_BACKUP_FAT | FATFS_DISABLE_AUTOSCAN
"FormatTfat"=dword:1
"EnableCacheWarm"=dword:0
...全文
330 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuEvan 2010-11-15
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 xuefeng_baggio 的回复:]
没有帮我顶吗?现在我的wince设备可以设备成u盘了,并且可以读写文件,文件系统也正常了,但是有个问题?版里也有人遇到了。我讲下就是我在插入usb之前wince设备中会显示我的fats分区盘符名称为"NAND FLASH",但是我插入usb后这个盘符就没有了。然后在pc上会显示"TFAT(H)"盘,我对这个盘可以正常读写文件,但是奇怪的是我拔出usb后。pc的盘符消失了,但是wince设备的盘符也……
[/Quote]

PC提示格式化,你是怎么搞定的啊?
我现在也遇到这个问题,请教下,你是怎么解决的?谢谢
xuefeng_baggio 2009-12-04
  • 打赏
  • 举报
回复
想请教下楼上的你nand是分几个区?具体怎么分的呢??
wsbighead 2009-12-04
  • 打赏
  • 举报
回复
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\FlashDrv]
"Dll"="FLASHDRV.dll"
"Prefix"="DSK"
"Index" =dword:1
"Order"=dword:0
"Profile"="FlashDrv"
"IClass"="{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
"MountFlags"=dword:10
"BootPhase"=dword:0
这是和FLASH有关的项,实际上USBMSFN.DLL的openstore就是通过FLASHDRV.DLL来打开的,所以这里的INDEX一定要和Mass_Storage_Class里的DeviceName一致
xuefeng_baggio 2009-12-04
  • 打赏
  • 举报
回复
wsbighead兄,你能把你的flash那也给我看看嘛??我现在就是怀疑那块我没弄好?我不知道你的默认是什么样的??
wsbighead 2009-12-04
  • 打赏
  • 举报
回复
xuefeng_baggio:
哈哈,你碰到的问题和我的一样. 拔USB的时候你需要发一个NOTIFY到MDD层重新MOUNT一下DISK就可以了,检测USB被拔除需要改硬件(连线到外部中断口)就可以了,我现在已经弄好了
wsbighead 2009-12-04
  • 打赏
  • 举报
回复
3个区, BOOT, WINCE(BinFS), EXT(FAT)
xuefeng_baggio 2009-12-04
  • 打赏
  • 举报
回复
没人回答了!我今晚下班前结贴!
xuefeng_baggio 2009-12-04
  • 打赏
  • 举报
回复
没有帮我顶吗?现在我的wince设备可以设备成u盘了,并且可以读写文件,文件系统也正常了,但是有个问题?版里也有人遇到了。我讲下就是我在插入usb之前wince设备中会显示我的fats分区盘符名称为"NAND FLASH",但是我插入usb后这个盘符就没有了。然后在pc上会显示"TFAT(H)"盘,我对这个盘可以正常读写文件,但是奇怪的是我拔出usb后。pc的盘符消失了,但是wince设备的盘符也没有恢复,更奇怪的是我复位后他就有显示了,并且我在pc端创建的文件也在里面,那就是说文件得到保存了。这里的原理我不是很明白?有哪位能给小弟讲讲的??这是什么原因??
wsbighead 2009-12-03
  • 打赏
  • 举报
回复
我的那几项都没改,用默认的就好了.我改了以下几项:
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SC2410USBFN]
"Dll"="sc2410usbfn.dll"
"Prefix"="UFN"
"Priority256"=dword:64
"IoBase"=dword:B1200000
"IoLen"=dword:1000 ; Use one page
"Irq"=dword:C
"BusIoctl"=dword:2a0048
"IClass"=multi_sz:"{E2BDC372-598F-4619-BC50-54B3F7848D35}=%b","{6F40791D-300E-44E4-BC38-E0E63CA8375C}=%b"

;[HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers]
; "DefaultClientDriver"=- ; erase previous default
; "DefaultClientDriver"="RNDIS"

;[HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers]
; "DefaultClientDriver"=- ; erase previous default
; "DefaultClientDriver"="Serial_Class"

[HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers]
"DefaultClientDriver"=- ; erase previous default;
"DefaultClientDriver"="Mass_Storage_Class"

[HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\Mass_Storage_Class]
"Dll"="usbmsfn.dll"
"InterfaceSubClass"=dword:06
"InterfaceProtocol"=dword:50
"DeviceName"="DSK1:"
"FriendlyName"="Mass Storage"
"idVendor"=dword:045E
"Manufacturer"="Generic Manufacturer (PROTOTYPE--Remember to change idVendor)"
"idProduct"=dword:FFFF
"Product"="Generic Mass Storage (PROTOTYPE--Remember to change idVendor)"
"bcdDevice"=dword:0

xuefeng_baggio 2009-12-03
  • 打赏
  • 举报
回复
这个问题确实很多人在搞,但是没有人说出解决方法,或者比较系统整理下。我有这个想法呀?但是我的问题还没出来?奇怪既然都识别了,为什么不能打开呢??
ProgrammerNO1 2009-12-03
  • 打赏
  • 举报
回复
坛子里有相关贴,,可以找找,呵~~~

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧