wince5.0 multi-bin 系统起不来,求助!

cocojy   2010-5-19 09:47 楼主
不用multi-bin的方式,通过PB是可以下载nk.bin的,使用multi-bin系统启动不来,下面是启动时的串口信息:


  1. Jumping to image at virtual address 0x8C201000h

  2. ::: Physical Launch Address: 0x30201000h
  3. Windows CE Kernel for ARM (Thumb Enabled) Built on Aug  4 2008 at 18:38:38
  4. ProcessorType=0920  Revision=0
  5. sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable = 8c201480
  6. OEM Initilize:finish display.
  7. SDMMC config Init Done.
  8. INFO: LCD backlight initialize success for Low.
  9. INFO: Initialize system bank configuration
  10. INFO: OEMInit Done...
  11. Sp=ffffc7cc
  12. FMD: ReadID (Mfg=ec, Dev=f1)
  13. FMD_Init: finished successful
  14. +FMD_GetInfo.
  15. <>FMD_GetInfo:pFlashInfo->wDataBytesPerSector = 0x800.
  16. <>FMD_GetInfo:pFlashInfo->dwNumBlocks = 0x400.
  17. <>FMD_GetInfo:pFlashInfo->wSectorsPerBlock = 0x40.
  18. <>FMD_GetInfo:pFlashInfo->dwBytesPerBlock = 0x20000.
  19. -FMD_GetInfo.
  20. FMD::FMD_OEMIoControl = 0x71c24

已经确定kernel.bin中包含系统所必须的dll;在网上查了相关的资料,可能是因为注册表配置的不对,下面是我的注册表设置:
; HIVE BOOT SECTION ;jackie1201
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; NANDFLASH
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Support BINFS Section
IF IMGMULTIBIN
; Add BinFS to partition table
[HKEY_LOCAL_MACHINE\System\StorageManager\PartitionTable]
        "21"="BINFS"

[HKEY_LOCAL_MACHINE\System\StorageManager\BINFS]
    "Folder"="BINFS"
    "FriendlyName"="Bin FileSystem"
    "Dll"="binfs.dll"
    "Paging"=dword:1
; MountFlags:
; 0x10 specifies that this file system is to be mounted as an external
;      ROM filesystem shadowing the \windows directory
; 0x1 specifies that the mountpoint \BINFS is to be hidden
;
    "MountFlags"=dword:10
    "BootPhase"=dword:0
ENDIF

[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\FlashDrv]
        "DriverPath"="Drivers\\BlockDevice\\FlashDrv"
        "LoadFlags"=dword:1
;        "BootPhase"=dword:1
        "BootPhase"=dword:0        ;modified by lihao for binfs
        "Order"=dword:0 ;add 1105
        "Flags"=dword:1000 ;jackie1201

[HKEY_LOCAL_MACHINE\Drivers\BlockDevice\FlashDrv]
;    "FSD"="fatfsd.dll"        ;delete by lihao
;        "FSD"="binfs.dll"
    "Prefix"="DSK"
    "Dll"="FLASHDRV.DLL"
    "Order"=dword:1
    "Index"=dword:0
    "Ioctl"=dword:4
    "Profile"="NandFlash"
    "FriendlyName"="NAND FLASH Device Driver"
    "MountAsROM"=dword:1 ;add 1105
        "Flags"=dword:1000 ;jackie1201
        "BootPhase"=dword:0        ;modified by lihao for binfs

IF IMGMULTIBIN
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\NandFlash]
        "Name"="Flash"
        "Folder"="Flash"
        "DefaultFileSystem"="BINFS"       
        "PartitionDriver"="mspart.dll"
        "AutoMount"=dword:1
        "AutoPart"=dword:1
        "AutoFormat"=dword:1
    "MountAsHidden"=dword:1        ;add by lihao
        "MountAsROM"=dword:1
        "Flags"=dword:1000 ;jackie1201
;   "MountFlags"=dword:2 ;jackie1201, to save system.hv in flash folder.
    "BootPhase"=dword:0        ;add by lihao
        "MountFlags"=dword:11 ;add by lihao

ELSE
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\NandFlash]
        "Name"="Flash"
        "Folder"="Flash"
        "DefaultFileSystem"="FATFS"
        "PartitionDriver"="mspart.dll"
;        "AutoMount"=dword:1
        "AutoPart"=dword:1
        "AutoFormat"=dword:1
        "MountAsROM"=dword:1
        "Flags"=dword:1000 ;jackie1201
    "MountFlags"=dword:2 ;jackie1201, to save system.hv in flash folder.
ENDIF


IF IMGMULTIBIN
; Keep FATFS from trying to shadow \Windows
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDrv\FATFS]
        "MountFlags"=dword:0
ELSE
; Keep FATFS from trying to shadow \Windows
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDrv\FATFS]
        "MountFlags"=dword:0
ENDIF


[HKEY_LOCAL_MACHINE\System\StorageManager\FATFS]
        "MountFlags"=dword:0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; NANDFLASH
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;END HIVE BOOT SECTION

想请教做过的兄弟,看看有没有什么好的建议~~~

回复评论 (12)

兄弟,这个是5.0还是6.0啊?
http://bbs.driverdevelop.com/read.php?tid-105700.html
这个可以参考一下,当时弄5.0就是按照这个来的。
点赞  2010-5-19 10:01
引用: 引用 1 楼 kacyquan 的回复:
兄弟,这个是5.0还是6.0啊?
http://bbs.driverdevelop.com/read.php?tid-105700.html
这个可以参考一下,当时弄5.0就是按照这个来的。

我也看过这篇文章,但是这篇文章的注册表配置很少~~我按照他的方式不行~可能还是哪里出现问题了吧,又没有kitl调试,基本是盲调,很郁闷~~
点赞  2010-5-19 10:04
引用: 引用 2 楼 hao507 的回复:
引用 1 楼 kacyquan 的回复:
兄弟,这个是5.0还是6.0啊?
http://bbs.driverdevelop.com/read.php?tid-105700.html
这个可以参考一下,当时弄5.0就是按照这个来的。

我也看过这篇文章,但是这篇文章的注册表配置很少~~我按照他的方式不行~可能还是哪里出现问题了吧,又没有kitl调试,基本是盲调,很郁闷~~


还有这个文章,当时是参考了这两个文章一起,弄出来的。
http://bbs.driverdevelop.com/read.php?tid-104597.html
点赞  2010-5-19 10:27
恩,好的,我参考下!谢谢啦~
点赞  2010-5-19 10:34
顶起来~
点赞  2010-5-19 15:44
系统有添加BINFS吗?
点赞  2010-5-19 15:50
引用: 引用 6 楼 veabol 的回复:
系统有添加BINFS吗?

有的,而且也支持Hive-based Registry
点赞  2010-5-19 16:13
那也可能是Hive-based Registry和MULTI-BIN结合出现的问题。
boot.hv都放到XIPKERNEL里了?
点赞  2010-5-19 17:42
建议先去掉Hive-based Registry功能试下
点赞  2010-5-19 17:42
引用: 引用 8 楼 veabol 的回复:
那也可能是Hive-based Registry和MULTI-BIN结合出现的问题。
boot.hv都放到XIPKERNEL里了?

恩,用viewbin -r xipkernel.bin查看,确定boot.hv添加进去了
点赞  2010-5-19 18:49
顶个。

学习。。
点赞  2010-5-19 23:16
引用: 引用 11 楼 macrozhang001 的回复:
顶个。

学习。。

谢谢~~~
点赞  2010-5-20 08:43
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复