PXA310复位重启后不正常
我们的平台在调试的时候经常会碰到一个问题,就是使用HJTAG的PC软件复位系统,WINCE启动后会发生异常,表现是刚启动准备进入桌面的时候死机,屏幕为黑色(有背光但没显示),或者启动后能进桌面,但是弹出对话框“serviced.exe(或者explorer.exe)发生严重错误”,然后可能就死机了,串口打印信息提示发生异常中止,类似如下信息,只是每次的地址和值不完全一样:
Exception 'Prefetch Abort'(3) Thread-Id=05bf0002(pth=870db534) PC=8004c118 BVA=d25d0000, dwInfo = 00000400
R0=0000003a R1=870db534 R2=6000001f R3=ffffc800
R4=c0129880 R5=87c8715c R6=82171e90 R7=00000001
R8=00000000 R9=00000000 R10=00000000 R11=00000000
R12=8004c118 SP=d4aefc48 Lr=8004c118 Psr=6000001f
Exception 'Prefetch Abort'(3) Thread-Id=05bf0002(pth=ffffc674) PC=ffff000c BVA=d25d0000, dwInfo = 00000400
R0=00000000 R1=d4aefe60 R2=0013ff00 R3=f101ffb0
R4=00b40703 R5=00000030 R6=00000000 R7=00000000
R8=00000003 R9=0013fc64 R10=0013fc5c R11=00000000
R12=40026a10 SP=ffff1000 Lr=ffffc7fc Psr=60000097
Exception 'Prefetch Abort' (3): Thread-Id=05bf0002(pth=870db534), Proc-Id=059f0002(pprc=87170240) 'servicesd.exe', VM-active=059f0002(pprc=87170240) 'servicesd.exe'
PC=ffff000c(???+0xffff000c) RA=ffffc7fc(???+0xffffc7fc) SP=ffff1000, BVA=ffff000c
Exception 'Prefetch Abort'(3) Thread-Id=058d0002(pth=87178b4c) PC=80029b98 BVA=d25d0000, dwInfo = 00000400
R0=00072800 R1=d25d0000 R2=00000070 R3=00000000
R4=d0610a60 R5=00000001 R6=00000090 R7=00000000
R8=00000000 R9=c0328560 R10=d4abfa5c R11=d4abf9ec
R12=d4abf9ec SP=d4abf93c Lr=c003a6ac Psr=2000001f
Exception 'Prefetch Abort'(3) Thread-Id=058d0002(pth=ffffc524) PC=ffff0018 BVA=d25d0000, dwInfo = 00000400
R0=700218c0 R1=00000000 R2=00000000 R3=f100bb6c
R4=f101ff88 R5=00000000 R6=0006faec R7=00000000
R8=0000104d R9=c0239670 R10=700218c0 R11=d4abf9f0
R12=400251fc SP=ffff0800 Lr=40025214 Psr=20000092
Exception 'Prefetch Abort' (3): Thread-Id=058d0002(pth=87178b4c), Proc-Id=058c0002(pprc=87178714) 'explorer.exe', VM-active=058c0002(pprc=87178714) 'explorer.exe'
PC=ffff0018(???+0xffff0018) RA=40025214(coredll.dll+0x00015214) SP=ffff0800, BVA=ffff0018
我看了下,HJTAG复位是对310的硬复位和JTAG复位引脚进行复位,我也单独尝试过手工对硬复位引脚复位,结果是一样的,很容易在进入系统的时候出问题。但是这种情况只发生在复位重启的时候,如果是整个电路板断电后再上电,系统启动就从来不会出现这种问题。
请问有没有同仁碰到过类似的问题?难道是复位有问题?但是310的设计说明指出硬复位会清除所有寄存器值和内存数据,这样就应该和断电上电类似了啊?
使用的平台是 PXA310 + WINCE 6.0 R1
[解决办法]
复位重启和开机做的处理有点不一样,你要看看你这两部分的*.s的那个处理,应该是复位重新初始化有问题导致的