ziyun
驱动小牛
驱动小牛
  • 注册日期2003-07-28
  • 最后登录2009-05-31
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望109点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
阅读:1721回复:8

各位兄弟救命!pxa255+wince系统写入flash无法启动!

楼主#
更多 发布于:2004-08-24 15:04
是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
然后就没了反应,各位兄弟救命!!!!!!!!!!!
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-08-24 17:34
你的信息好像有些不全,你用debug版本看看,缺了些信息
从输出的信息看,出问题的地方在arminit()之后到kernelinit()之间,但这些都是ce自己的代码,应该没有问题,最可能的问题是虚拟地址出问题了,你看看地址设置对不对,对了,你的代码已经执行过oeninit了,实在不行你重新编译内核,加调试输出来定位出问题的地方
根据地的兄弟们,团结就是力量
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-08-24 17:38
对了,加调试信息的地方就在arminit最末和kernelinit的最前,如果你有仿真器直接启动仿真器打断cpu看看pc是不是在正确的地址空间
根据地的兄弟们,团结就是力量
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-08-24 17:40
你用debug版本的内核库看看能不能输出Windows CE KernelInit这句话
根据地的兄弟们,团结就是力量
ziyun
驱动小牛
驱动小牛
  • 注册日期2003-07-28
  • 最后登录2009-05-31
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望109点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-08-25 09:48
我的debug版本完全没有问题,而且release写入flash后有时候能起来,真是搞不懂了
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-08-25 12:54
...那个release的os镜像是买板子的时候配套提供的?还有注意一下flash有没有问题,要确定硬件没有问题才行
根据地的兄弟们,团结就是力量
yangruihero
驱动牛犊
驱动牛犊
  • 注册日期2006-01-11
  • 最后登录2008-11-26
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望15点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
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文件夹下的,觉得不应该有什么问题,现在有点陷入僵局了。
非常感谢!!!
yangruihero
驱动牛犊
驱动牛犊
  • 注册日期2006-01-11
  • 最后登录2008-11-26
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望15点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
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文件夹下的,觉得不应该有什么问题,现在有点陷入僵局了。
非常感谢!!!
wenzai
驱动中牛
驱动中牛
  • 注册日期2002-04-16
  • 最后登录2011-03-04
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望424点
  • 贡献值0点
  • 好评度309点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2007-05-22 22:05
估计是串口冲突了,去掉调试串口看看
游客

返回顶部