|
CE6+6410 Nandflash当U盘问题
[复制链接]
平台:S3c6410 + winCE6.0
BSP:三星官方BSP(七月的)
我要实现的功能是Nandflash当U盘功能,现在把SD卡当U盘是没有问题的,在实现U盘功能时
USB驱动的注册表要给
[HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\Mass_Storage_Class]
下面的子键DeviceName指定要当U盘的分区名,例如: "DeviceName"="DSK1:"
问题:我的nandflash挂载起来的盘,并没有DSK3 DSK4这样的标识,在根目录上可以看到
PocketMory 和 PocketMory1 ,在存储管理器中它们的标识为:FDSK PocketMory MLC Disk 和
FDSK1 PocketMory MLC Disk1 ,根本就没有DSK1: DSK2:这样的标识,
PocketMory ---- FDSK PocketMory MLC Disk ---- Part00 * ----类型0x04
PocketMory1 --- FDSK1 PocketMory MLC Disk1 -- Part00 * ----类型0x0B
在Eboot里只分了一个分区是binfs格式的。
所以我不知给 DeviceName 子键指派什么名字好,
试过"DeviceName"="FDSK1" 不成功
"DeviceName"="PocketMory1" 不成功
我现在想把PocketMory1当作U盘,因为它有700多MB,请各位高手指点迷津。
下面为我现在用的注册表:
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\FDSK]
"Prefix"="DSK"
"Dll"="ONDisk.dll"
"Order"=dword:1
; "Index"=dword:1
"IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
"Profile"="FDSK"
"BmlVolumeId"=dword:0 ; BML volume ID = 0
"BmlPartitionId"=dword:8 ; BML parition ID = PARTITION_ID_FILESYSTEM
"WMRStartSector"=dword:0
"WMRNumOfSector"=dword:10000 ; 32MByte
"ONDSectorShift"=dword:2 ; (512 << 2) : 2K Page
IF IMGHIVEREG
"Flags"=dword:1000
ENDIF IMGHIVEREG
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FDSK]
"DefaultFileSystem"="FATFS"
"PartitionDriver"="mspart.dll"
"Name"="PocketMory MLC Disk"
; "Folder"="PocketMory"
"AutoMount"=dword:1
"AutoPart"=dword:1
"AutoFormat"=dword:1
; "MountFlags"=dword:0
; "Ioctl"=dword:4
[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\FDSK]
"DriverPath"="Drivers\\BuiltIn\\FDSK"
; LoadFlags 0x01 == load synchronously
"LoadFlags"=dword:1
"BootPhase"=dword:1
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FDSK\FATFS]
"FriendlyName"="PocketMory FAT FileSystem"
"Flags"=dword:00000014 ; FATFS_ENABLE_BACKUP_FAT | FATFS_DISABLE_AUTOSCAN
"Folder"="PocketMory"
"FormatExfat"=dword:1
; "EnableCacheWarm"=dword:0
"CheckForFormat"=dword:1
"EnableWriteBack"=dword:1
"MountAsRoot"=dword:1 ; for ROM-only file system
"DisableAutoScan"=dword:1
IF IMGHIVEREG
"MountAsBootable"=dword:1
ENDIF IMGHIVEREG
[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\FDSK\Filters\CacheFilt]
"Dll"="cachefilt.dll"
"LockIOBuffers"=dword:1
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FDSK\FATFS\Filters\CacheFilt]
"Dll"="cachefilt.dll"
"LockIOBuffers"=dword:1
;----------------------------------------------------------------------------
; 2nd FAT Area
;----------------------------------------------------------------------------
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\FDSK1]
"Prefix"="DSK"
"Dll"="ONDisk.dll"
"Order"=dword:1
; "Index"=dword:1
"IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
"Profile"="FDSK1"
"BmlVolumeId"=dword:0 ; BML volume ID = 0
"BmlPartitionId"=dword:9 ; BML parition ID = PARTITION_ID_FILESYSTEM1
"WMRStartSector"=dword:10000
"WMRNumOfSector"=dword:ffffffff ; last location
"ONDSectorShift"=dword:2 ; (512 << 2) : 2K Page
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FDSK1]
"DefaultFileSystem"="FATFS"
"PartitionDriver"="mspart.dll"
"Name"="PocketMory MLC Disk1"
"AutoMount"=dword:1
"AutoPart"=dword:1
"AutoFormat"=dword:1
[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\FDSK1]
"DriverPath"="Drivers\\BuiltIn\\FDSK1"
"LoadFlags"=dword:1
"BootPhase"=dword:1
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FDSK1\FATFS]
"FriendlyName"="PocketMory FAT FileSystem1"
"Flags"=dword:00000014 ; FATFS_ENABLE_BACKUP_FAT | FATFS_DISABLE_AUTOSCAN
"Folder"="PocketMory1"
"FormatExfat"=dword:1
; "EnableCacheWarm"=dword:0
"CheckForFormat"=dword:1
"EnableWriteBack"=dword:1
[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\FDSK1\Filters\CacheFilt]
"Dll"="cachefilt.dll"
"LockIOBuffers"=dword:1
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FDSK1\FATFS\Filters\CacheFilt]
"Dll"="cachefilt.dll"
"LockIOBuffers"=dword:1
ENDIF BSP_POCKETMORY
ENDIF BSP_IROM_SDMMC_CH1_BOOT !
ENDIF BSP_IROM_SDMMC_CH0_BOOT !
; END HIVE BOOT SECTION
; @CESYSGEN ENDIF CE_MODULES_FSDMGR
;-------------------------------------------------------------------------
|
|