不用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
想请教做过的兄弟,看看有没有什么好的建议~~~