首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > WinCE >

2416 2GB NAND FALSH 有部分容量没认出解决思路

2012-05-21 
2416 2GB NAND FALSH 有部分容量没认出FLASH 是K9GAG08U0M,在测试时发现PocketMory MLC Disk的容量是32MBP

2416 2GB NAND FALSH 有部分容量没认出
FLASH 是K9GAG08U0M,在测试时发现PocketMory MLC Disk的容量是32MB PocketMory MLC Disk1的容量是1.54GB,按照2GB计算还有300MB的没有别认出。
以下是注册表的设置:
IF BSP_POCKETMORY
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\FlashDisk]
  "Prefix"="DSK"
  "Dll"="ONDisk.dll"
  "Order"=dword:1
  "Index"=dword:2
  "IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
  "Profile"="FlashDisk"
  "BmlVolumeId"=dword:0 ; BML volume ID = 0
  "BmlPartitionId"=dword:8 ; BML parition ID = PARTITION_ID_FILESYSTEM
  "WMRStartSector"=dword:0
  "WMRNumOfSector"=dword:10000 ; 32MByte
; "Flags"=dword:11000 ; do not load again in boot phase 2 ;
   
  "Flags"=dword:1000
  ;"MountAsBootable"=dword:1 
 
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDisk]
  "DefaultFileSystem"="FATFS"
  "PartitionDriver"="mspart.dll"
  "Name"="PocketMory MLC Disk"
  "Folder"="PocketMory"
  "AutoMount"=dword:1
  "AutoPart"=dword:1
  "AutoFormat"=dword:1
  "MountFlags"=dword:11
; "Ioctl"=dword:4
  "Flags"=dword:1000
; "MountAsBootable"=dword:1
   
[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\FlashDisk]
  "DriverPath"="Drivers\\BuiltIn\\FlashDisk"
  ; LoadFlags 0x01 == load synchronously
  "LoadFlags"=dword:1
  "BootPhase"=dword:0
  "Order"=dword:0 
  "MountFlags"=dword:11
  "Flags"=dword:1000

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDisk\FATFS]
  ;"FriendlyName"="PocketMory FAT FileSystem"
  ;"Dll"="fatfsd.dll"
  "Flags"=dword:00000014 ; FATFS_ENABLE_BACKUP_FAT | FATFS_DISABLE_AUTOSCAN
  ;"Folder"="PocketMory"
  "FormatExfat"=dword:1
"MountFlags"=dword:2
  "FormatTfat"=dword:1 

  "EnableCacheWarm"=dword:0
  "CheckForFormat"=dword:1
  "EnableWriteBack"=dword:1
"EnableCache"=dword:1
  "MountAsBootable"=dword:1
  "CacheSize"=dword:0
; "MountHidden"=dword:1

[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\FlashDisk\Filters\CacheFilt]
  "Dll"="cachefilt.dll"
  "LockIOBuffers"=dword:1

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDisk\FATFS\Filters\CacheFilt]
  "Dll"="cachefilt.dll"
  "LockIOBuffers"=dword:1
  
   
; END HIVE BOOT SECTION


;----------------------------------------
; 2nd FAT Area
;----------------------------------------

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\FlashDisk1]
  "Prefix"="DSK"
  "Dll"="ONDisk.dll"
  "Order"=dword:1
; "Index"=dword:1
  "IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
  "Profile"="FlashDisk1"
  "BmlVolumeId"=dword:0 ; BML volume ID = 0


  "BmlPartitionId"=dword:9 ; BML parition ID = PARTITION_ID_FILESYSTEM1
  "WMRStartSector"=dword:10000
  "WMRNumOfSector"=dword:ffffffff ; last location
; "Flags"=dword:11000 ; do not load again in boot phase 2 ;

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDisk1]
  "DefaultFileSystem"="FATFS"
  "PartitionDriver"="mspart.dll"
  "Name"="PocketMory MLC Disk1"
  ;"Folder"="PocketMory1"
  "AutoMount"=dword:1
  "AutoPart"=dword:1
  "AutoFormat"=dword:1
  ; "MountFlags"=dword:11
; "Ioctl"=dword:4

[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\FlashDisk1]
  "DriverPath"="Drivers\\BuiltIn\\FlashDisk1"
  ; LoadFlags 0x01 == load synchronously
  "LoadFlags"=dword:1
  "BootPhase"=dword:0

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDisk1\FATFS]
  "FriendlyName"="PocketMory FAT FileSystem1"
; "Dll"="fatfsd.dll"
  "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\FlashDisk1\Filters\CacheFilt]
  "Dll"="cachefilt.dll"
  "LockIOBuffers"=dword:1

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDisk1\FATFS\Filters\CacheFilt]
  "Dll"="cachefilt.dll"
  "LockIOBuffers"=dword:1

ENDIF BSP_POCKETMORY


那位给指点下迷津。吧余下的300MB 划分到PocketMory MLC Disk1

[解决办法]
LZ还有BinFS分区没算在内吧。
[解决办法]
你的NK,TCBOOT都是占着flash空间的,剩下的才是你系统启动后看到的
[解决办法]

探讨

你的NK,TCBOOT都是占着flash空间的,剩下的才是你系统启动后看到的

[解决办法]
你的mlc采用的是啥管理方式,whimory???不过你这种情况多半年是少算了那个reseve区域
[解决办法]
是呀,楼上的都基本说到了。看看你的image_cfg.h,就知道你的镜像及bootloader占去多少了。还有你是否分了很多分区呀?

热点排行