积极答复者
2410的BSP

问题
-
在用CE6弄2410的BSP,出现这样的问题。
EBOOT下载NK成功后,运行,出现错误,提示:
Booting kernel with clean memory configuration:
Memory Sections:
[0] : start: 803f8000, extension: 00008000, length: 03aeb000
[1] : start: 94000000, extension: 00018000, length: 0bfe8000
NK Kernel: DEBUGCHK failed in file D:\yamafp-1\private\winceos\COREOS\nk\kernel\nknormal\..\vm.c at line 3378上面一样的NK,有时运行时到这里又停止了,
Booting kernel with clean memory configuration:
Memory Sections:
[0] : start: 803f8000, extension: 00008000, length: 03aeb000
[1] : start: 94000000, extension: 00018000, length: 0bfe8000
NKStartup done, starting up kernel.
Windows CE KernelInit弄了几天,都没找到原因,急呀!
多谢大家帮忙!
答案
-
在WinCE6.0中确实提供了2410的BSP,不过我更觉得这是用于ARM Emulator的。你现在想把这个BSP用于你的板子,所以出现问题了。
从你最开始描述问题来看,EBOOT没有问题,下载以后运行死机,那问题应该是在OAL中了,调试OAL有时是比较难,因为它会被内核调用,有时候不知道死在哪里?从你的打印信息来看,我想你可以检查一下内存的相关设置。
结合你的板子的内存的大小,检查你的config.bib的内存配置,你的NK的大小,以及在OAL中和内存相关的函数。希望对你有帮助。
- 已标记为答案 微软中文技术论坛Moderator 2009年6月12日 6:52
全部回复
-
基于 CE6 安装附带的 DEVICEEMULATOR 的文件夹中的BSP 开发适用于自己平台的 2410BSP。
下面为详细的串口信息:
......
上面省略
Completed file(s):
-------------------------------------------------------------------------------
[0]: Address=0x80070000 Length=0x340590 Name="" Target=RAM
ROMHDR at Address 80070044h
Got EDBG_CMD_JUMPIMG
Got EDBG_CMD_CONFIG, flags:0x00000000
AM29LV800_EraseFlash: Requested 0x20 bytes, Erasing 0x1 sectors (0x10000 bytes) (offset 0xf0000 bytes)...
AM29LV800_WriteFlash: Writing 0x20 bytes from 0x80067f00 to flash (offset 0xf0000 bytes)...
INFO: OEMLaunch: Jumping to Physical Address 0x30076068h (Virtual Address 0x80076068h)...CWindows CE Kernel for ARM (Thumb Enabled) Built on Sep 30 2007 at 22:35:41
ProcessorType=0920 Revision=0
OEMAddressTable = 80075f48
INFOALLogSetZones: dpCurSettings.ulZoneMask: 0xb
DCache: 8 sets, 64 ways, 32 line size, 16384 size
ICache: 8 sets, 64 ways, 32 line size, 16384 size
Invalid BSP_ARGS.Using active KITL
+InitDMAKitl
+InitializeDMATransportKITL Using DMA channel index 0
vInputBuffer = 0x910F0000
vOutputBuffer = 0x910F1000
channel[x].vPFlags = 0x910F2000
vInputPB = 0x910F2010
vOutputPB = 0x910F201CinputBuffer = 0x500F0000
outputBuffer = 0x500F1000
channel[x].pFlags = 0x500F2000
inputPB = 0x500F2010
outputPB = 0x500F201C
Write DMA_KITL_HANDSHAKE (DMA_GLOBAL_REG = 0x910F2080)
Write DMA_KITL_HANDSHAKE OK
Read DMA_KITL_HANDSHAKE...
-InitializeDMATransport*********************************************
* *
* This image uses KITL-over-DMA *
* *
* PB Connectivity Options must be set to: *
* Download: "Device Emulator (DMA)" *
* Transport: "Device Emulator (DMA)" *
* *
*********************************************-InitDMAKitl
Setting up softlog at 0x83eeb000 for 0x800 entries
Booting Windows CE version 6.00 for (ARM)
&pTOC = 803f1c1c, pTOC = 801564a0, pTOC->ulRamFree = 803f6000, MemForPT = 00001000Old or invalid version stamp in kernel structures - starting clean!
OEMGetExtensionDRAM: found 0x0c000000 bytes of ram at 0x94000000
OEMGetExtensionDRAM: returning 0x0c000000 bytes of ram at 0x94000000
Configuring: Primary pages: 15083, Secondary pages: 49128, Filesystem pages = 32105Booting kernel with clean memory configuration:
Memory Sections:
[0] : start: 803f8000, extension: 00008000, length: 03aeb000
[1] : start: 94000000, extension: 00018000, length: 0bfe8000
NK Kernel: DEBUGCHK failed in file D:\yamafp-1\private\winceos\COREOS\nk\kernel\nknormal\..\vm.c at line 3378 -
在WinCE6.0中确实提供了2410的BSP,不过我更觉得这是用于ARM Emulator的。你现在想把这个BSP用于你的板子,所以出现问题了。
从你最开始描述问题来看,EBOOT没有问题,下载以后运行死机,那问题应该是在OAL中了,调试OAL有时是比较难,因为它会被内核调用,有时候不知道死在哪里?从你的打印信息来看,我想你可以检查一下内存的相关设置。
结合你的板子的内存的大小,检查你的config.bib的内存配置,你的NK的大小,以及在OAL中和内存相关的函数。希望对你有帮助。
- 已标记为答案 微软中文技术论坛Moderator 2009年6月12日 6:52