不用multi-bin的方式,通过PB是可以下载nk.bin的,使用multi-bin系统启动不来,下面是启动时的串口信息:
Jumping to image at virtual address 0x8C201000h
::: Physical Launch Address: 0x30201000h
Windows CE Kernel for ARM (Thumb Enabled) Built on Aug 4 2008 at 18:38:38
ProcessorType=0920 Revision=0
sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable = 8c201480
OEM Initilize:finish display.
SDMMC config Init Done.
INFO: LCD backlight initialize success for Low.
INFO: Initialize system bank configuration
INFO: OEMInit Done...
Sp=ffffc7cc
FMD: ReadID (Mfg=ec, Dev=f1)
FMD_Init: finished successful
+FMD_GetInfo.
<>FMD_GetInfo:pFlashInfo->wDataBytesPerSector = 0x800.
<>FMD_GetInfo:pFlashInfo->dwNumBlocks = 0x400.
<>FMD_GetInfo:pFlashInfo->wSectorsPerBlock = 0x40.
<>FMD_GetInfo:pFlashInfo->dwBytesPerBlock = 0x20000.
-FMD_GetInfo.
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
想请教做过的兄弟,看看有没有什么好的建议~~~