阅读:1358回复:6
file system 的 base address 如何设置?
请问各位大侠:
文件系统的基地址在BSP中应如何设置,也就是BSP怎样告诉OS文件系统的起始地址? 文件通过以太网下载后运行,在文件系统初始化时出错,系统报异常,不再向下运行(具体错误信息记不清了,明天贴上来)。所以想知道文件系统的基地址应该怎样在BSP中设置。 |
|
沙发#
发布于:2004-11-18 09:40
PB 的 Debug 输出的最后几行如下:
Loaded symbols for 'E:\WINCE420\PUBLIC\DEBUG_STEPBYSTEP\RELDIR\BVDMAIN-271DEBUG\FSDMGR.DLL' 4294769575 PID:985c3522 TID:985c6e5a 0x985c32e4: InitSharedHeap: 42100000 10000 c 4294769577 PID:985c3522 TID:985c6e5a 0x985c32e4: InitSharedHeap: return 42100050 4294769584 PID:985c3522 TID:985c6e5a 0x985c32e4: NK Kernel: DEBUGCHK failed in file d:\mckendric\private\winceos\coreos\nk\kernel\kmisc.c at line 3762 串口打印输出为: KITL Creating IST KITL Interrupt thread started (hTh: 0xD85C8DA2, pTh: 0x985C8B64), using SYSINTR 32 Enabling adapter ints... 调试很急,请各位大侠帮忙啊! |
|
板凳#
发布于:2004-11-18 17:05
请各位高手帮忙看一下PB的debug输出,分析一把问题出在哪里,谢谢!焦急中...
以下是PB输出的全部debug信息,最后几行是代码停下来后继续点击go和单步执行后的输出: 0 PID:0 TID:0 XSCDBG:Trace initialized: CFG:97671c44 Buffer: 976705e8, 14f0 0 PID:0 TID:0 Booting Windows CE version 4.20 for (ARM) 0 PID:0 TID:0 &pTOC = 96cc1cfc, pTOC = 971fd0e4, pTOC->ulRamFree = 9768c000, MemForPT = 00000000 0 PID:0 TID:0 Old or invalid version stamp in kernel structures - starting clean! 0 PID:0 TID:0 Configuring: Primary pages: 3954, Secondary pages: 0, Filesystem pages = 1977 0 PID:0 TID:0 Booting kernel with clean memory configuration: 0 PID:0 TID:0 Memory Sections: 0 PID:0 TID:0 [0] : start: 9768d000, extension: 00001000, length: 00f72000 0 PID:0 TID:0 Sp=ffffc7cc 2 PID:0 TID:0 Windows CE KernelInit 4294767296 PID:185ff002 TID:185ff262 Updated eptr->e32_vsize to = 000b6000 4294767297 PID:185ff002 TID:185ff262 Scheduling the first thread. 4294767299 PID:185ff002 TID:185ff262 0x985ff024: KernelInit2: pCurThread=985ff024 hCurThread=185ff262 hCurProc=185ff002, KernelInit = 96cdc70c 4294767300 PID:185ff002 TID:185ff262 0x985ff024: Detecting VFP... 4294767301 PID:185ff002 TID:185ff262 0x985ff024: VFP Not Found! 4294767302 PID:185ff002 TID:185ff262 0x985ff024: Updated eptr->e32_vsize to = 00016000 4294767304 PID:185ff002 TID:185ff262 0x985ff024: >>> Loading module NK.EXE at address 0x96CB8000-0x96D6E000 (RW data at 0x97656000-0x976848E3) Kernel debugger connected (KDBG stream opened). Kernel Version 1169 loaded at 0x96cb8000, data relocated at 0x97656000 Debugger connection established (Target CPU is ARM). Loaded symbols for 'E:\WINCE420\PUBLIC\DEBUG_STEPBYSTEP\RELDIR\BVDMAIN-271DEBUG\NK.EXE' Loaded symbols for 'E:\WINCE420\PUBLIC\DEBUG_STEPBYSTEP\RELDIR\BVDMAIN-271DEBUG\KD.DLL' Finished re-loading kernel modules. Loaded symbols for 'E:\WINCE420\PUBLIC\DEBUG_STEPBYSTEP\RELDIR\BVDMAIN-271DEBUG\COREDLL.DLL' Loaded symbols for 'E:\WINCE420\PUBLIC\DEBUG_STEPBYSTEP\RELDIR\BVDMAIN-271DEBUG\FILESYS.EXE' Loaded symbols for 'E:\WINCE420\PUBLIC\DEBUG_STEPBYSTEP\RELDIR\BVDMAIN-271DEBUG\FSDMGR.DLL' 4294767308 PID:185ff002 TID:185ff262 0x985ff024: first = 01f80000, last = 02000000, SharedDllBase = 03750000 4294767342 PID:185ff002 TID:185ff262 0x985ff024: >>> Loading module coredll.dll at address 0x03F30000-0x03FF9000 (RW data at 0x01FFF000-0x01FFFAB0) 4294767458 PID:985e623e TID:985ebfca 0x985e6000: >>> Loading module filesys.exe at address 0x04010000-0x04088000 4294767466 PID:985e623e TID:985ebfca 0x985e6000: FileSystem Starting - starting with clean file system 4294768205 PID:985e623e TID:985ebfca 0x985e6000: >>> Loading module fsdmgr.dll at address 0x03DE0000-0x03DFC000 (RW data at 0x01FF1000-0x01FF1754) 4294768210 PID:985e623e TID:985ebfca 0x985e6000: InitSharedHeap: 44000000 10000 c 4294768211 PID:985e623e TID:985ebfca 0x985e6000: InitSharedHeap: return 44000050 4294768212 PID:985e623e TID:985ebfca 0x985e6000: NK Kernel: DEBUGCHK failed in file d:\mckendric\private\winceos\coreos\nk\kernel\kmisc.c at line 3762 4294768218 PID:985e623e TID:985ebfca 0x985e6000: NK Kernel: DEBUGCHK failed in file d:\mckendric\private\winceos\coreos\nk\kernel\kmisc.c at line 3769 4294768221 PID:985e623e TID:985ebfca 0x985e6000: NK Kernel: DEBUGCHK failed in file d:\mckendric\private\winceos\coreos\nk\kernel\kmisc.c at line 3771 4294768224 PID:985e623e TID:985ebfca 0x985e6000: Data Abort: Thread=985e6000 Proc=9767ad78 'filesys.exe' 4294768224 PID:985e623e TID:985ebfca 0x985e6000: AKY=00000003 PC=03f81384 RA=03f812fc BVA=04000000 FSR=00000007 4294768228 PID:985e623e TID:985ebfca 0x985e6000: Filesys faulted trying to initialize registry dirty, trying clean... |
|
地板#
发布于:2004-11-18 19:38
偶也想知道,有没有大侠回答一下!
|
|
论坛版主
|
地下室#
发布于:2004-11-22 14:26
刚才给你回邮件了;)
多问一句,你这个地方过去了?你邮件给我的怎么都到kitlsend了? |
|
5楼#
发布于:2004-11-22 15:35
多谢!我也有邮件回复给您!
上次这个问题解决了,是因为我把SDRAM由64M改为32M,需要再次裁减OS,使编译出的image小一些,不小心把NLS模块剪掉了,致使这次的错误。 所以还想请问大哥,dll加载,加载的顺序在哪里控制,如何控制?还有,创建Platform时,在Custom Device的配置方面有没有最基本的配置模块之说,也就是说是否某些Feature必须添加?我是基于Display based devices 的 Custom 的 platform。 还有,正如您所怀疑,我的以太网中断有问题,后来我返回中断类型为EDBG_SYSINTR_NOINTR,让系统在以太网继续pool方式,不再Enabling adapter ints,代码逐渐走下去... 这样做有什么问题么,对于以太网调试?而且,内核我也重新编译过一部分(文件系统)。 |
|
论坛版主
|
6楼#
发布于:2004-11-22 15:55
你说的dll加载指的是驱动吗?驱动加载顺序可以在注册表里面用order来控制,数字越小越先,但注意有些驱动依赖其它驱动,就必须在所依赖驱动之后启动。
ce在用ide编译时他做了好多摸版,你只能按它的额度进行裁减,不是最精简的,最精简的hlbase可以设备也没有,只有一个kernel和一个filesys.exe.编译出来可以跑的最小的部分大小300,os没事做就在oemidle里面转 至于Iabase其实也可以只要一个lcd就可以跑起来,可以显示出桌面,如果要有最基本的交互你可以加入touch panel,这样出来的os image也不大,release的话2M左右吧(我记不清了,我刚找我记的自己做的数据没找到,你要哪天可以给你) 你的网卡在调试中使用的就是查询方式,不是中断方式,如果你要两种用途都使用的话就需要小心了,不过你先在暂时用poll就可以了 |
|