40楼#
发布于:2007-09-20 15:01
求救
Windows CE Kernel for ARM (Thumb Enabled) Built on Feb 8 2007 at 23:36:51 ProcessorType=0920 Revision=0 sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable = 8c2013bc Windows CE Firmware Init INFO: Initializing system interrupts... INFO: Initializing system clock(s)... INFO: Initializing driver globals area... -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- VBPD=14 Lcd_init_reg SDMMC config set rGPGCON: 146a9aa OEMInit Done... 死在这里了。 MEMORY pdwXIPLoc 00000000 8C3FF000 FIXUPVAR XIPKERNEL 8C200000 001FF000 RAMIMAGE CHAIN 8C3FF000 00001000 RESERVED NK 8C400000 01E00000 NANDIMAGE RAM 8E200000 07C00000 RAM ; RAM 8C400000 07C00000 RAM FLASH 9E000000 00100000 RESERVED 两个RAM设置都不行。 |
|
|
41楼#
发布于:2007-09-20 15:56
牛啊!
我技术太烂,做的系统目前只是死板的把NAND中的NK.NB0搬到SDRAM去运行的,也不管真正用的大小,所以启动时间一般都要20到30秒。看来有很大的改进空间啊,而且还可以留出很多内存,一举两得,爽哉!! 过一段时间,我也试试,先保存方法先。呵呵。 |
|
42楼#
发布于:2007-09-20 22:54
引用第40楼shuiii于2007-09-20 15:01发表的 : 首先问你,你的SDRAM的SIZE是多大。。。。 |
|
43楼#
发布于:2007-09-21 08:57
king_sundi!!!实在是对不住啊。是64M的。改成
MEMORY pdwXIPLoc 00000000 8C3FF000 FIXUPVAR XIPKERNEL 8C200000 001FF000 RAMIMAGE CHAIN 8C3FF000 00001000 RESERVED NK 8C400000 01E00000 NANDIMAGE RAM 8E200000 02000000 RAM ; RAM 8C400000 03E00000 RAM FLASH 90200000 00100000 RESERVED 多打印了一行出来。 Windows CE Kernel for ARM (Thumb Enabled) Built on Feb 8 2007 at 23:36:51 ProcessorType=0920 Revision=0 sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable = 8c2013bc Windows CE Firmware Init INFO: Initializing system interrupts... INFO: Initializing system clock(s)... INFO: Initializing driver globals area... -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- VBPD=14 Lcd_init_reg SDMMC config set rGPGCON: 146a9aa OEMInit Done... Sp=ffffc7cc |
|
|
44楼#
发布于:2007-09-21 09:13
是不是binfs的问题呢???
这是我的注册表。 ; @CESYSGEN IF FILESYS_FSREGHIVE ; HIVE BOOT SECTION ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Support BINFS Section ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; 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" ; 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 ; ; Entries to load the block driver that BINFS uses ; This is dependent on what device is used ; ; Valid Bits for Flags registry value ; If no flags are set, the hive will be stored in the object store. ; ; 0x00000001 Start storage manager in boot phase 1 for hive-based registry ; 0x00000002 Start device manager in boot phase 1 for hive-based registry ; 0x00000004 Start storage manager in boot phase 1 for registry in ; external ROM (such as BINFS) ; 0x00000008 Start device manager in boot phase 1 for registry in ; external ROM (such as BINFS) [HKEY_LOCAL_MACHINE\init\BootVars] "SystemHive"="system.hv" "DefaultUser"="default" "Flags"=dword:3 "RegistryFlags"=dword:0 [HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\FlashDrv] "DriverPath"="Drivers\\BuiltIn\\FlashDrv" "LoadFlags"=dword:1 "BootPhase"=dword:0 "Flags"=dword:1000 [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\FlashDrv] "Prefix"="DSK" "Dll"="FLASHDRV.dll" "Order"=dword:0 "Index"=dword:2 "Ioctl"=dword:4 "Profile"="FlashDrv" "FriendlyName"="MS Flash Driver" "IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}" ; Bind BINFS to the block driver [HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDrv] "DefaultFileSystem"="BINFS" "PartitionDriver"="mspart.dll" "AutoMount"=dword:1 "AutoPart"=dword:1 "AutoFormat"=dword:1 "MountAsBootable"=dword:1 "Flags"=dword:1000 "Folder"="ResidentFlash" "Name"="Microsoft Flash Disk" "BootPhase"=dword:0 ; Keep FATFS from trying to shadow \Windows [HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDrv\FATFS] "Flags"=dword:00000024 "EnableCacheWarm"=dword:0 [HKEY_LOCAL_MACHINE\System\StorageManager\FATFS] "FriendlyName"="FAT FileSystem" "Dll"="fatfsd.dll" "Flags"=dword:00000064 "Paging"=dword:1 "EnableCache"=dword:1 "CacheSize"=dword:0 IF TODO [HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\Relfsd] "Dll"="relfsd.dll" "Paging"=dword:0 "LoadFlags"=dword:1 ENDIF TODO ; END HIVE BOOT SECTION ; @CESYSGEN ENDIF FILESYS_FSREGHIVE |
|
|
45楼#
发布于:2007-09-21 09:18
出现停在Sp=ffffc7cc,不继续通常是你的RAM SIZE分配不对,系统没法加载正确的配置,导致程序停止。
你尝试使用: RAM 8C400000 03C00000 RAM 03C00000 折合起来就是60M,毕竟你的显存啥的要占了2M多,你分配03E00000,也就是62M,这么满打满算,这样肯定是不行的。 先小后大,一步一步来。 |
|
46楼#
发布于:2007-09-21 09:42
果然是牛人啊。。。佩服!!。。改成03c00000就跑过来了。不过又出新的错了。
Data Abort: Thread=8ffe6000 Proc=8c426170 'filesys.exe' AKY=00000003 PC=03f9ea40(coredll.dll+0x0002ea40) RA=03f9ea18(coredll.dll+0x0002ea18) BVA=04000000 FSR=00000007 Data Abort: Thread=8ffe6000 Proc=8c426170 'filesys.exe' AKY=00000003 PC=03f9ea40(coredll.dll+0x0002ea40) RA=03f9ea18(coredll.dll+0x0002ea18) BVA=04000000 FSR=00000007 Data Abort: Thread=8ffe6000 Proc=8c426170 'filesys.exe' AKY=ffffffff PC=8c21ac80(NK.EXE+0x0001ac80) RA=8c21ac58(NK.EXE+0x0001ac58) BVA=03f01450 FSR=00000007 RaiseException: Thread=8ffe6000 Proc=8c426170 'filesys.exe' AKY=00000003 PC=8c208100(NK.EXE+0x00008100) RA=8c205638(NK.EXE+0x00005638) BVA=00000001 FSR=00000001 Exception 'RaiseException' Thread=8ffe6000 AKY=00000003 PC=00000000 BVA=00000001 R0=0003f034 R1=00000001 R2=0406f9c8 R3=00000000 R4=8c4251a0 R5=00000000 R6=33edd000 R7=03aaf000 |
|
|
47楼#
发布于:2007-09-21 09:46
这个时候nand的驱动已经加载完成功了。因为我在nandflash初始化后就写了一个logo图片,现在已经可以显示这个图片了了。
|
|
|
48楼#
发布于:2007-09-21 11:10
楼上,你确认你加了HIVE组件。。。。
你的是不是已经支持HIVE注册表了。 |
|
49楼#
发布于:2007-09-21 12:58
确认加了。因为没有做XIP之前都是可以的。注册表可以永久保存。
是不是因为缺秒boot.hv。。。。 我看我工程目录下找不到这个文件?是不是makeimg的时候这个文件才生成的? FILES boot.hv E:\WINCE500\PBWorkspaces\s3c2440_07\RelDir\smdk2440_ARMV4I_Release\boot.hv XIPKERNEL SH default.hv E:\WINCE500\PBWorkspaces\s3c2440_07\RelDir\smdk2440_ARMV4I_Release\default.hv XIPKERNEL SH user.hv E:\WINCE500\PBWorkspaces\s3c2440_07\RelDir\smdk2440_ARMV4I_Release\user.hv XIPKERNEL SH |
|
|
50楼#
发布于:2007-09-21 13:07
这3个文件的属性是隐藏的。你当然看不到拉。
我给你的设置是CE.BIB里的, 要改XIPKERNEL的话,你要在common.bib里将BOOT.HV设置为xipkernel。。。 |
|
51楼#
发布于:2007-09-21 16:42
我是说在这个目录下就看不到。
E:\WINCE500\PBWorkspaces\s3c2440_07\RelDir\smdk2440_ARMV4I_Release\ 这是电脑上的目录。这时候就隐身了吗??? 我在project.bib里面将BOOT.HV设置为xipkernel也是一样的吧。 而且common.bib里面相应的语句都注释掉了。 |
|
|
52楼#
发布于:2007-09-22 08:54
引用第51楼shuiii于2007-09-21 16:42发表的 : 我不知道你的所谓隐身是怎么理解的。 我的意思是boot.hv, user.hv,default.hv这三个文件本身属性是隐藏的。如果你找不到的话,你先尝试用显示隐藏文件的方法来查看,如果也没有的话,请确认你的HIVE注册表是否是真正实现。 因为从你的打印信息里知道你的filesys.exe加载不成功。情况有两个,一个是boot.hv根本存在(这个可能性比较大),另外一个就是你的FLASH驱动没加到XIPKERNEL里去,如果是的,请查看BINFS文件系统需要那些组件(这个你应该知道用PB的帮助吧)。 另外请注意:ce.bib这个文件是所以bib文件的集合体,在那里面是不需要我们去修改的。 你把common.bib的boot.hv注释掉了。系统怎么会加载 boot.hv呢。 大概就分析到这里。 等你好消息。 |
|
53楼#
发布于:2007-09-22 16:31
刚学, 总是出错,弱弱的问下,有关XIPkernel的设置,即
MODULES ; Name Path Memory Type ; -------------- --------------------------------------------- ----------- nk.exe D:\WINCE500\PBWorkspaces\SMDK2440\RelDir\SMDK2440_ARMV4I_Release\kern.exe XIPKERNEL SH coredll.dll D:\WINCE500\PBWorkspaces\SMDK2440\RelDir\SMDK2440_ARMV4I_Release\coredll.dll XIPKERNEL SH filesys.exe D:\WINCE500\PBWorkspaces\SMDK2440\RelDir\SMDK2440_ARMV4I_Release\filesys.exe XIPKERNEL SH fatfsd.dll D:\WINCE500\PBWorkspaces\SMDK2440\RelDir\SMDK2440_ARMV4I_Release\fatfsd.dll XIPKERNEL SH diskcache.dll D:\WINCE500\PBWorkspaces\SMDK2440\RelDir\SMDK2440_ARMV4I_Release\diskcache.dll XIPKERNEL SH fatutil.dll D:\WINCE500\PBWorkspaces\SMDK2440\RelDir\SMDK2440_ARMV4I_Release\fatutil.dll XIPKERNEL SH binfs.dll D:\WINCE500\PBWorkspaces\SMDK2440\RelDir\SMDK2440_ARMV4I_Release\binfs.dll XIPKERNEL SH fsdmgr.dll D:\WINCE500\PBWorkspaces\SMDK2440\RelDir\SMDK2440_ARMV4I_Release\fsdmgr.dll XIPKERNEL SH mspart.dll D:\WINCE500\PBWorkspaces\SMDK2440\RelDir\SMDK2440_ARMV4I_Release\mspart.dll XIPKERNEL SH ceddk.dll D:\WINCE500\PBWorkspaces\SMDK2440\RelDir\SMDK2440_ARMV4I_Release\ceddk.dll XIPKERNEL SH smflash.dll D:\WINCE500\PBWorkspaces\SMDK2440\RelDir\SMDK2440_ARMV4I_Release\smflash.dll XIPKERNEL SH FILES boot.hv D:\WINCE500\PBWorkspaces\SMDK2440\RelDir\SMDK2440_ARMV4I_Release\boot.hv XIPKERNEL SH default.hv D:\WINCE500\PBWorkspaces\SMDK2440\RelDir\SMDK2440_ARMV4I_Release\default.hv XIPKERNEL SH user.hv D:\WINCE500\PBWorkspaces\SMDK2440\RelDir\SMDK2440_ARMV4I_Release\user.hv XIPKERNEL SH 就是这些,是在哪里设置的?program.bib?还是common.bib? 谢谢,需要将有关 *.dll path NK SH 的都注视掉吗? |
|
54楼#
发布于:2007-09-22 16:34
求助“;
我的总是出现这个错误,实在不知道怎么做了,希望指导我一下:) makeimg: Change directory to F:\WINCE500. makeimg: run command: cmd /C F:\WINCE500\PBWorkspaces\YL_64\RelDir\smdk2440a_ARMV4I_Release\PreRomImage.bat romimage F:\WINCE500\PBWorkspaces\YL_64\RelDir\smdk2440a_ARMV4I_Release\ce.bib F:\WINCE500>F:\WINCE500\PBWorkspaces\YL_64\RelDir\smdk2440a_ARMV4I_Release\processbib open file F:\WINCE500\PBWorkspaces\YL_64\RelDir\smdk2440a_ARMV4I_Release\ce_orig.bib open file F:\WINCE500\PBWorkspaces\YL_64\RelDir\smdk2440a_ARMV4I_Release\ce.bib makeimg: run command: romimage F:\WINCE500\PBWorkspaces\YL_64\RelDir\smdk2440a_ARMV4I_Release\ce.bib Windows CE ROM Image Builder v4.0.000 Copyright (c) Microsoft Corporation Built: Jun 16 2004 15:09:27 Error: Incorrect number of tokens found parsing file found: 'nk.exe' 'D:\WINCE500\PBWorkspaces\SMDK2440\RelDir\SMDK2440_ARMV4I_Release\kern.exe' 'XIPKERNEL' 'SH' 'coredll.dll' 'D:\WINCE500\PBWorkspaces\SMDK2440\RelDir\SMDK2440_ARMV4I_Release\coredll.dll' 'XIPKERNEL' 'SH' 'filesys.exe' 'D:\W INCE500\PBWorkspaces\SMDK2440\RelDir\SMDK2440_ARMV4I_Release\filesys.exe' 'XIPKERNEL' 'SH' 'fatfsd.dll' 'D:\WINCE500\PBWorkspaces\SMDK2440\RelDir\SMDK2440_ARMV4I_Release\fatfsd.dll' 'XIPKERNEL' 'SH' 'diskcache.dll' 'D:\WINCE500\PBWorkspaces\ SMDK2440\RelDir\SMDK2440_ARMV4I_Release\diskcache.dll' 'XIPKERNEL' 'SH' 'fatutil.dll' 'D:\WINCE500\PBWorkspaces\SMDK2440\RelDir\SMDK2440_ARMV4I_Release\fatutil.dll' 'XIPKERNEL' 'SH' 'binfs.dll' 'D:\WINCE500\PBWorkspaces\SMDK2440\RelDir\SMDK2 440_ARMV4I_Release\binfs.dll' 'XIPKERNEL' 'SH' 'fsdmgr.dll' 'D:\WINCE500\PBWorkspaces\SMDK2440\RelDir\SMDK2440_ARMV4I_Release\fsdmgr.dll' 'XIPKERNEL' 'SH' 'mspart.dll' 'D:\WINCE500\PBWorkspaces\SMDK2440\RelDir\SMDK2440_ARMV4I_Release\mspart. dll' 'XIPKERNEL' 'SH' 'ceddk.dll' 'D:\WINCE500\PBWorkspaces\SMDK2440\RelDir\SMDK2440_ARMV4I_Release\ceddk.dll' 'XIPKERNEL' 'SH' 'smflash.dll' 'D:\WINCE500\PBWorkspaces\SMDK2440\RelDir\SMDK2440_ARMV4I_Release\smflash.dll' 'XIPKERNEL' 'SH' nk.exe D:\WINCE500\PBWorkspaces\SMDK2440\RelDir\SMDK2440_ARMV4I_Release\kern.exe XIPKERNEL SH coredll.dll D:\WINCE500\PBWorkspaces\SMDK2440\RelDir\SMDK2440_ARMV4I_Release\coredll.dll XIPKERNEL SH filesys.exe D:\WINCE500\PBWorkspaces\SMDK2440\RelDir\ SMDK2440_ARMV4I_Release\filesys.exe XIPKERNEL SH fatfsd.dll D:\WINCE500\PBWorkspaces\SMDK2440\RelDir\SMDK2440_ARMV4I_Release\fatfsd.dll XIPKERNEL SH diskcache.dll D:\WINCE500\PBWorkspaces\SMDK2440\RelDir\SMDK2440_ARMV4I_Release\diskcache.dll XIPKERN EL SH fatutil.dll D:\WINCE500\PBWorkspaces\SMDK2440\RelDir\SMDK2440_ARMV4I_Release\fatutil.dll XIPKERNEL SH binfs.dll D:\WINCE500\PBWorkspaces\SMDK2440\RelDir\SMDK2440_ARMV4I_Release\binfs.dll XIPKERNEL SH fsdmgr.dll D:\WINCE500\PBWorkspaces\SMDK244 0\RelDir\SMDK2440_ARMV4I_Release\fsdmgr.dll XIPKERNEL SH mspart.dll D:\WINCE500\PBWorkspaces\SMDK2440\RelDir\SMDK2440_ARMV4I_Release\mspart.dll XIPKERNEL SH ceddk.dll D:\WINCE500\PBWorkspaces\SMDK2440\RelDir\SMDK2440_ARMV4I_Release\ceddk.dll XIPKERN EL SH smflash.dll D:\WINCE500\PBWorkspaces\SMDK2440\RelDir\SMDK2440_ARMV4I_Release\smflash.dll XIPKERNEL SH Error: failed setting line makeimg: FATAL ERROR: Command returned non-zero exit code 1 (dec). makeimg: FATAL ERROR: Command returned non-zero exit code 1 (dec). BLDDEMO: YL_64 build complete. YL_64 - 4 error(s), 1 warning(s 哪里的问题,不太明白。。希望跟我说详细点,谢谢 |
|
55楼#
发布于:2007-09-24 10:17
引用第52楼king_sundi于2007-09-22 08:54发表的 : 首先多谢king_sundi大侠的回贴了!!!还是没有成功啊。再麻烦看一下我的分析了。 boot.hv, user.hv,default.hv这三个文件我已经用viewbin工具看到了,说明这三个文件已经打包进xip.bin里面了。我的OEMINIT初始化完成之后就会初始化NAND了,而NAND初始化完成之后就显示LOGO图片,现在LOGO图也已经显示出来了。说明NAND驱动也加载好了。然后是查看BINFS文件系统需要的组件,全部都有了。其实这个地方我觉得是只要加了binfs这个组件,其它一些它依靠的组件就会进动加进去了。所以这种可能性不大。 |
|
|
56楼#
发布于:2007-09-24 15:08
还是觉得binfs的问题。
要说一下的事,我是没有用EBOOT的,但是对NAND有做BINFS分区了,就是EBOOT的菜单下做的。XIP.BIN运行是通过USB直接下载的内存里面运行的。 |
|
|
57楼#
发布于:2007-09-25 11:18
强烈支持,楼主真是好人,本人正想实现这功能,或许还有请教楼主的地方,在这先谢咯。
|
|
58楼#
发布于:2007-09-27 10:46
引用第56楼shuiii于2007-09-24 15:08发表的 : 我的情况和你一样: Windows CE Firmware Init INFO: Initializing system interrupts... INFO: Initializing system clock(s)... INFO: Initializing driver globals area... SPI initialize now start...... SPI initialize Done! LCD initialize Done! SDMMC config set rGPGCON: ff94ffba OEMInit Done... Sp=ffffc7cc FMD::FMD_Init FMD::FMD_Init Done FMD::FMD_OEMIoControl = 0x71c24 Data Abort: Thread=8ffed5d0 Proc=8c3a8b58 'filesys.exe' AKY=00000003 PC=03f98374 RA=03f98348 BVA=04000000 FSR=00000007 Data Abort: Thread=8ffed5d0 Proc=8c3a8b58 'filesys.exe' AKY=00000003 PC=03f98374 RA=03f98348 BVA=04000000 FSR=00000007 RaiseException: Thread=8ffed5d0 Proc=8c3a8b58 'filesys.exe' AKY=00000003 PC=8c22c658 RA=8c22a168 BVA=00000001 FSR=00000001 Exception 'RaiseException' Thread=8ffed5d0 AKY=00000003 PC=effd6a42 BVA=00000001 R0=effed80e R1=0405f928 R2=8c230e98 R3=8c3aa8a0 R4=00000000 R5=8ffb889c R6=8c22b75c R7=00000000 R8=8c23346c R9=effb889e R10=0405f974 R11=8ffd6a40 R12=8c22b75c SP=effd6a42 Lr=8c22c260 Psr=8000001f |
|
59楼#
发布于:2007-09-28 15:50
强,顶一下
|
|