目前系统已经能够正常挂载和失败BINFS分区,当BINFS分区中只有一个文件时(比如放置NORFLASH驱动),系统能够启动且正确加载NORFLASH驱动。下面是启动日志
Booting kernel with clean memory configuration:
Memory Sections:
[0] : start: 8e784000, extension: 00002000, length: 0187a000
Sp=ffffc7cc
ARMInit done.
Windows CE KernelInit
OpenADll hd.dll
OpenADll osaxst0.dll
OpenADll osaxst1.dll
OpenADll kd.dll
OpenADll kcover.dll
OpenADll CeLog.dll
OpenADll coredll.dll
OpenADll shimeng.dll
OpenADll LMemDebug.DLL
OpenADll CertMod.dll
OpenADll EVENTLOG.DLL
OpenADll fsdmgr.dll
OpenADll FLASHDRV.dll
FMD::FMD_Init
NAND controller 0xb0000,0xb0008,0xb000c,0xb0010,0xb0020,0xb002c
nand flash id 0xec,0xf1
FMD_GetInfo 0x400,0x40,0x800 !
OpenADll mspart.dll
OpenADll binfs.dll
BINFS: FSD_UnmountDisk
但是但我制作最小系统时,系统就无法起来了,我的XIP中含有如下文件
MODULES ---------------------------------------
5/26/2009 06:10:58 294912 nk.exe
5/26/2009 06:12:22 558592 coredll.dll
5/26/2009 06:12:20 221184 filesys.exe
5/25/2009 03:41:40 67072 fatfsd.dll
5/25/2009 03:41:42 9728 diskcache.dll
5/26/2009 06:12:20 36352 fatutil.dll
5/25/2009 03:41:42 17408 binfs.dll
5/25/2009 03:41:40 79872 fsdmgr.dll
5/25/2009 03:41:44 19456 mspart.dll
5/25/2009 03:39:30 13824 ceddk.dll
5/26/2009 06:12:22 32256 eventlog.dll
5/26/2009 06:12:22 4096 eventlogMsgs.dll
5/26/2009 06:11:14 23040 FLASHDRV.DLL
Couldn't locate Files data
Done.
系统的启动日志为
Booting kernel with clean memory configuration:
Memory Sections:
[0] : start: 8c986000, extension: 00004000, length: 03676000
Sp=ffffc7cc
ARMInit done.
Windows CE KernelInit
OpenADll hd.dll
OpenADll osaxst0.dll
OpenADll osaxst1.dll
OpenADll kd.dll
OpenADll kcover.dll
OpenADll CeLog.dll
OpenADll coredll.dll
OpenADll shimeng.dll
OpenADll LMemDebug.DLL
OpenADll CertMod.dll
OpenADll EVENTLOG.DLL
Data Abort: Thread=8ffe6000 Proc=8c826170 'filesys.exe'
AKY=00000003 PC=03f9e9d0(coredll.dll+0x0002e9d0) RA=03f9e9a8(coredll.dll+0x0002e9a8) BVA=04000000 FSR=00000007
Data Abort: Thread=8ffe6000 Proc=8c826170 'filesys.exe'
主要的文件好像都已经包含了,不知道还缺少了什么东西?(另:没有采用HIVE注册表)
若不加 Device Manager, 则 flash driver 无法加载.
Paul, Chao @ Techware
搞定了,是少加了几个配置文件。我FLASH驱动是由存储管理器来加载的,不是通过设备管理器,所以这里不用加载设备管理器。
现在又碰到问题了。。。如果不采用HIVE注册表,系统能够正常启动,但采用HIVE时就起不来了,也是死在同样的地方
OpenADll osaxst0.dll
OpenADll osaxst1.dll
OpenADll kd.dll
OpenADll kcover.dll
OpenADll CeLog.dll
OpenADll coredll.dll
OpenADll shimeng.dll
OpenADll LMemDebug.DLL
OpenADll CertMod.dll
OpenADll EVENTLOG.DLL
Data Abort: Thread=8ffe6000 Proc=8c826170 'filesys.exe'
AKY=00000003 PC=03f9e9d0(coredll.dll+0x0002e9d0) RA=03f9e9a8(coredll.dll+0x0002e9a8) BVA=04000000 FSR=00000007
Data Abort: Thread=8ffe6000 Proc=8c826170 'filesys.exe'
XIP中包含的模块有:
MODULES ---------------------------------------
5/27/2009 00:19:58 294912 nk.exe
5/27/2009 00:22:50 558592 coredll.dll
5/27/2009 00:22:50 221184 filesys.exe
5/25/2009 03:41:40 67072 fatfsd.dll
5/25/2009 03:41:42 9728 diskcache.dll
5/27/2009 00:22:50 36352 fatutil.dll
5/26/2009 06:47:42 14848 binfs.dll
5/25/2009 03:41:40 79872 fsdmgr.dll
5/25/2009 03:41:44 19456 mspart.dll
5/25/2009 03:39:30 13824 ceddk.dll
5/27/2009 00:20:16 23040 FLASHDRV.DLL
FILES ----------------------------------------
5/27/2009 01:53:42 CHRS 3833 20840 initobj.dat (ROM 0x8C32A0F8)
5/27/2009 01:53:42 CHRS 5122 36864 boot.hv (ROM 0x8C33A4DC)
5/27/2009 01:53:42 CHRS 2229 7450 initdb.ini (ROM 0x8C2C535C)
Done.
而FLASH,BINFS,FAT等相关注册表项都已经包含在BOOT.HV里面了。不知道是缺少了什么?
还有wince 5.0 有没有'filesys.exe' 的源码?
我现在选择的是RAM AND ROM FILE SYSTEM。不知道这个有影响没?
没影响。。。hive-base出现的问题,大多是注册表没配置好,仔细检查一下吧。
可以了。。
A clean rebuild is necessary.