目前我正在使用ARM DS-5 IDE
开发一个基于arm的目标设备的应用程序以及用于编译的ARM Compiler tool chain RVCT3.1
。
目标设备中使用的线程X RTOS。
在目标设备中加载应用程序后,它会在一段时间后意外崩溃。所以我想知道崩溃的位置。因为我需要堆栈转储或跟踪它。
在目标硬件上使用AT命令,我可以生成堆栈转储,如下所示
+XLOG: Exception Number: 1
Trap Class: 0xBBBB ()
System Stack:
0x00000022
0x502637BC
0x01000022
0x00016001
0xC9FFDF00
0x000022C1
0x50310CC0
0x000022C1
0x00000049
0x5025D740
0x00000002
0x00000000
0x680DCF6E
0x00FF22C0
0x49F70301
0x6A552FFB
0xB104FF3D
0xCA9895C1
0x46F4EBA7
0xAC73DDEA
Date: 2000:1:1
Time: 0:54:10
Register:
r0: 0x00000022 r1: 0x502637BC r2: 0x01000022
r3: 0x00016001 r4: 0xC9FFDF00 r5: 0x000022C1
r6: 0x50310CC0 r7: 0x000022C1 r8: 0x00000049
r9: 0x5025D740 r10: 0x00000002 r11: 0x00000000
r12: 0x680DCF6E r13: 0xFFFF3598 r14: 0x920C10C4
r15: 0x00FF22C0
SPSR: 0x80000073 DFAR: 0x00000000 DFSR: 0x00000000
+XLOG: Exception Number: 2
Trap Class: 0xAAAA ()
System Stack:
0x00000000
0x5029FC8D
0x502637C0
0x00000000
0xC6FFBF00
0x000022C1
0x50310CC0
0x000022C1
0x00000049
0x5025D740
0x00000002
0x00000000
0x5A067AAE
0x50210B2C
0x49F70301
0x6A552FFB
0xB104FF3D
0xCA9895C1
0x46F4EBA7
0xAC73DDEA
Date: 2000:1:1
Time: 1:33:6
Register:
r0: 0x00000000 r1: 0x5029FC8D r2: 0x502637C0
r3: 0x00000000 r4: 0xC6FFBF00 r5: 0x000022C1
r6: 0x50310CC0 r7: 0x000022C1 r8: 0x00000049
r9: 0x5025D740 r10: 0x00000002 r11: 0x00000000
r12: 0x5A067AAE r13: 0xFFFF3598 r14: 0x920C10C4
r15: 0x50210B2C
SPSR: 0x80000053 DFAR: 0xC6FFBF04 DFSR: 0x00000005
如何使用此转储调试问题?如何使用地图文件查找地址?