阅读:1729回复:8
各位兄弟救命!pxa255+wince系统写入flash无法启动!
是hybus-x方案,前2天调串口驱动,出了一点问题,结果发现,把nk写到flash就无法启动,而在debug下能正常启动,请问有没有遇到这样的问题啊,setting选项选的是2,4,5,,选2,4和2,5都试过,都不行,超级终端信息为:
Src IP 192.168.1.3 Port 0400 Dest IP 192.168.1.1 Port 071C EthDown::TFTPD_OPEN::boot.bin -EbootSendBootmeAndWaitForTftp Download BIN file information: ----------------------------------------------------- [0]: Base Address=0x98380000 Length=0x46E5F0 ****** Downloading operating system image for FLASH target ****** rom_offset=0x0. ------------------------------------------------------------------------------- Writing 0xA00B8000 to flash address 0x98380000 (length=0x46E5F0). Sector=0x400 (Length=0x2373) Block=0x2 (Length=0x12). Handling non-block aligned data... FlashErase: Unlocking flash block(s) [0x2, 0x13] (please wait): Done. Erasing flash block(s) [0x2, 0x13] (please wait): .. Writing 0x80068118 to flash address 0xB8340000 (length=0xA3C). Sent BOOTME to 255.255.255.255 Sector=0x200 (Length=0x6) Block=0x1 (Length=0x1).5 Sent BOOTME to 255 Handling non-block aligned data... Sent BOOTME to 255.255.255 FlashErase: Unlocking flash block(s) [0x1, 0x1] (please wait): Done. Sent BOOTME to 255.255.255.255 Erasing flash block(s) [0x1, 0x1] (please wait): .Done.tion******* Writing to flash (please wait): Done. Writing 0x80068118 to flash address 0xB8340000 (length=0xA3C).mClk = 99.53 MHz R Download successful! Jumping to image at physical 0x81000... *******Beginning System Initialization******* CPU ID = C1 PXA255 SDCLK[1] = MemClk/2 MemClk = 99.53 MHz Run Mode = 4 * MemClk Turbo Mode = Run Mode Mode: RUN ****************************************************** ****************************************************** ****************************************************** ****************************************************** ****************************************************** OEMInitDebugSerial using UART1 Windows CE Kernel for ARM Built on Mar 13 2003 at 22:54:19 ProcessorType=02d0 Revision=6 sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable = 98381e68 Sp=ffffc7cc 然后就没了反应,各位兄弟救命!!!!!!!!!!! |
|
论坛版主
|
沙发#
发布于:2004-08-24 17:34
你的信息好像有些不全,你用debug版本看看,缺了些信息
从输出的信息看,出问题的地方在arminit()之后到kernelinit()之间,但这些都是ce自己的代码,应该没有问题,最可能的问题是虚拟地址出问题了,你看看地址设置对不对,对了,你的代码已经执行过oeninit了,实在不行你重新编译内核,加调试输出来定位出问题的地方 |
|
论坛版主
|
板凳#
发布于:2004-08-24 17:38
对了,加调试信息的地方就在arminit最末和kernelinit的最前,如果你有仿真器直接启动仿真器打断cpu看看pc是不是在正确的地址空间
|
|
论坛版主
|
地板#
发布于:2004-08-24 17:40
你用debug版本的内核库看看能不能输出Windows CE KernelInit这句话
|
|
地下室#
发布于:2004-08-25 09:48
我的debug版本完全没有问题,而且release写入flash后有时候能起来,真是搞不懂了
|
|
论坛版主
|
5楼#
发布于:2004-08-25 12:54
...那个release的os镜像是买板子的时候配套提供的?还有注意一下flash有没有问题,要确定硬件没有问题才行
|
|
6楼#
发布于:2007-05-22 18:06
我也遇到了同样问题,麻烦看一下
版主您好:我现在遇到了一个相似的问题,我在把NK从开发板移植到小板,我的NK在开发板上运行一切正常,但在小板上就会死在kernelinit()函数之后,大板debug版本的正常打印信息如下: sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable = 80117fc0 [VIASOC VT8420] BSP version: 0.91Error Reporting Memory Reserved, dump size = 00 020000 Booting Windows CE version 5.00 for (ARM) &pTOC = 80109c2c, pTOC = 819a21e8, pTOC->ulRamFree = 819da000, MemForPT = 000000 00 Old or invalid version stamp in kernel structures - starting clean! Configuring: Primary pages: 9730, Secondary pages: 0, Filesystem pages = 1408 Booting kernel with clean memory configuration: Memory Sections: [0] : start: 819db000, extension: 00003000, length: 02602000 Sp=ffffc7cc ARMInit done. VT3300DBGMSG: OSTimer Interrupt 0 Windows CE KernelInit <-------小板运行到这里就死掉了 Updated eptr->e32_vsize to = 000a7000 Scheduling the first thread. 0x83fdf024: KernelInit2: pCurThread=83fdf024 hCurThread=03fdf266 hCurProc=03fdf0 02, KernelInit = 80125e1c 0x83fdf024: Detecting VFP...0x83fdf024: VFP Not Found! ..................... 但是硬件部的同事保证了,大板和小板空间的所有物理起始地址(包括内存,flash)、空间大小都相同。那么OEMaddresstable和config.bib应该不用修改吧?然后都是用的同样的CPU. 您能给我几个建议吗?关键KernelInit后面的函数都是Private文件夹下的,觉得不应该有什么问题,现在有点陷入僵局了。 非常感谢!!! |
|
7楼#
发布于:2007-05-22 18:39
向版主请教,同样的问题,能给一点建议吗?
版主您好:我现在遇到了一个相似的问题,我在把NK从开发板移植到小板,我的NK在开发板上运行一切正常,但在小板上就会死在kernelinit()函数之后,大板debug版本的正常打印信息如下: sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable = 80117fc0 [VIASOC VT8420] BSP version: 0.91Error Reporting Memory Reserved, dump size = 00 020000 Booting Windows CE version 5.00 for (ARM) &pTOC = 80109c2c, pTOC = 819a21e8, pTOC->ulRamFree = 819da000, MemForPT = 000000 00 Old or invalid version stamp in kernel structures - starting clean! Configuring: Primary pages: 9730, Secondary pages: 0, Filesystem pages = 1408 Booting kernel with clean memory configuration: Memory Sections: [0] : start: 819db000, extension: 00003000, length: 02602000 Sp=ffffc7cc ARMInit done. VT3300DBGMSG: OSTimer Interrupt 0 Windows CE KernelInit <-------小板运行到这里就死掉了 Updated eptr->e32_vsize to = 000a7000 Scheduling the first thread. 0x83fdf024: KernelInit2: pCurThread=83fdf024 hCurThread=03fdf266 hCurProc=03fdf0 02, KernelInit = 80125e1c 0x83fdf024: Detecting VFP...0x83fdf024: VFP Not Found! ..................... 但是硬件部的同事保证了,大板和小板空间的所有物理起始地址(包括内存,flash)、空间大小都相同。那么OEMaddresstable和config.bib应该不用修改吧?然后都是用的同样的CPU. 您能给我几个建议吗?关键KernelInit后面的函数都是Private文件夹下的,觉得不应该有什么问题,现在有点陷入僵局了。 非常感谢!!! |
|
8楼#
发布于:2007-05-22 22:05
估计是串口冲突了,去掉调试串口看看
|
|