MTK.U8类型导致手机死机(data_abort)
大致代码如下:
static U8 Path1[256] = {0};
static U8 Path2[256] = {0};
static U8 Path3[256] = {0};
static U8 Path4[256] = {0};
static U8 thisvar = 0;
U8 IsOk(void)
{
return thisvar;
}
其他有2处地方分别对thisvar这个变量赋值0和1
int invoke(void)
{
//对Path1数组的操作,copy。
if(IsOk())//这里死机
{
//do some thing
}
}
程序运行到if(IsOk())就挂了,后来把thisvar修改成int就不会挂了。别的c文件也有 if(IsOk())这样的调用。
求解释啊!是否和arm一些优化规则有关系啊,什么原因导致死机的啊,期待高手解释。。。谢谢!
注:用U8类型在mtk6252.10A版本运行正常,在mtk6235.10A上运行死机,改成int后正常。
死机的log如下:
901 901 : 901 [Trace] 12:50:16:000 2011/08/08 MOD_NIL, TRACE_ERROR "[1] fatal error (4): Data_abort - MMI"
901 901 : 901 [Trace] 12:50:16:000 2011/08/08 MOD_NIL, TRACE_ERROR "Exception type: data abort"
901 901 : 901 [Trace] 12:50:16:000 2011/08/08 MOD_NIL, TRACE_ERROR "software version: W10.32.MP.V9"
901 901 : 901 [Trace] 12:50:16:015 2011/08/08 MOD_NIL, TRACE_ERROR "boot mode: normal mode"
901 901 : 901 [Trace] 12:50:16:015 2011/08/08 MOD_NIL, TRACE_ERROR "rtc sec = 50, rtc min = 20, rtc hour = 0"
901 901 : 901 [Trace] 12:50:16:015 2011/08/08 MOD_NIL, TRACE_ERROR "rtc day = 1, rtc mon = 1, rtc wday = 1, rtc year = 4"
901 901 : 901 [Trace] 12:50:16:015 2011/08/08 MOD_NIL, TRACE_ERROR "execution unit: MMIEC_T"
901 901 : 901 [Trace] 12:50:16:031 2011/08/08 MOD_NIL, TRACE_ERROR "status: 0x00000000"
901 901 : 901 [Trace] 12:50:16:031 2011/08/08 MOD_NIL, TRACE_ERROR "stack pointer: 0xF173F6FC"
901 901 : 901 [Trace] 12:50:16:031 2011/08/08 MOD_NIL, TRACE_ERROR "stack dump:"
901 901 : 901 [Trace] 12:50:16:031 2011/08/08 MOD_NIL, TRACE_ERROR " 0x00000045"
901 901 : 901 [Trace] 12:50:16:031 2011/08/08 MOD_NIL, TRACE_ERROR " 0x006D7EF9"
901 901 : 901 [Trace] 12:50:16:031 2011/08/08 MOD_NIL, TRACE_ERROR " 0x006C0FAD"
901 901 : 901 [Trace] 12:50:16:031 2011/08/08 MOD_NIL, TRACE_ERROR " 0x000D0A31"
901 901 : 901 [Trace] 12:50:16:031 2011/08/08 MOD_NIL, TRACE_ERROR " 0x000D079B"
901 901 : 901 [Trace] 12:50:16:046 2011/08/08 MOD_NIL, TRACE_ERROR " 0x006F55B5"
901 901 : 901 [Trace] 12:50:16:046 2011/08/08 MOD_NIL, TRACE_ERROR " 0x006D7F0D"
901 901 : 901 [Trace] 12:50:16:046 2011/08/08 MOD_NIL, TRACE_ERROR " 0x006C1047"
901 901 : 901 [Trace] 12:50:16:046 2011/08/08 MOD_NIL, TRACE_ERROR " 0x00000007"
901 901 : 901 [Trace] 12:50:16:062 2011/08/08 MOD_NIL, TRACE_ERROR " 0x007FEC49"
901 901 : 901 [Trace] 12:50:16:062 2011/08/08 MOD_NIL, TRACE_ERROR "number of messages in the external queue: 0"
901 901 : 901 [Trace] 12:50:16:062 2011/08/08 MOD_NIL, TRACE_ERROR "messages in the external queue:"
901 901 : 901 [Trace] 12:50:16:062 2011/08/08 MOD_NIL, TRACE_ERROR " MSG_ID_INVALID_TYPE"
901 901 : 901 [Trace] 12:50:16:062 2011/08/08 MOD_NIL, TRACE_ERROR " MSG_ID_INVALID_TYPE"
901 901 : 901 [Trace] 12:50:16:062 2011/08/08 MOD_NIL, TRACE_ERROR " MSG_ID_INVALID_TYPE"
901 901 : 901 [Trace] 12:50:16:062 2011/08/08 MOD_NIL, TRACE_ERROR " MSG_ID_INVALID_TYPE"
901 901 : 901 [Trace] 12:50:16:062 2011/08/08 MOD_NIL, TRACE_ERROR " MSG_ID_INVALID_TYPE"
901 901 : 901 [Trace] 12:50:16:062 2011/08/08 MOD_NIL, TRACE_ERROR " MSG_ID_INVALID_TYPE"
901 901 : 901 [Trace] 12:50:16:078 2011/08/08 MOD_NIL, TRACE_ERROR " MSG_ID_INVALID_TYPE"
901 901 : 901 [Trace] 12:50:16:078 2011/08/08 MOD_NIL, TRACE_ERROR " MSG_ID_INVALID_TYPE"
901 901 : 901 [Trace] 12:50:16:078 2011/08/08 MOD_NIL, TRACE_ERROR " MSG_ID_INVALID_TYPE"
901 901 : 901 [Trace] 12:50:16:078 2011/08/08 MOD_NIL, TRACE_ERROR " MSG_ID_INVALID_TYPE"
901 901 : 901 [Trace] 12:50:16:078 2011/08/08 MOD_NIL, TRACE_ERROR " MSG_ID_INVALID_TYPE"
901 901 : 901 [Trace] 12:50:16:078 2011/08/08 MOD_NIL, TRACE_ERROR " MSG_ID_INVALID_TYPE"
901 901 : 901 [Trace] 12:50:16:093 2011/08/08 MOD_NIL, TRACE_ERROR " MSG_ID_INVALID_TYPE"
901 901 : 901 [Trace] 12:50:16:093 2011/08/08 MOD_NIL, TRACE_ERROR " MSG_ID_INVALID_TYPE"
901 901 : 901 [Trace] 12:50:16:093 2011/08/08 MOD_NIL, TRACE_ERROR " MSG_ID_INVALID_TYPE"
901 901 : 901 [Trace] 12:50:16:093 2011/08/08 MOD_NIL, TRACE_ERROR " MSG_ID_INVALID_TYPE"
901 901 : 901 [Trace] 12:50:16:093 2011/08/08 MOD_NIL, TRACE_ERROR " MSG_ID_INVALID_TYPE"
901 901 : 901 [Trace] 12:50:16:093 2011/08/08 MOD_NIL, TRACE_ERROR " MSG_ID_INVALID_TYPE"
901 901 : 901 [Trace] 12:50:16:093 2011/08/08 MOD_NIL, TRACE_ERROR " MSG_ID_INVALID_TYPE"
901 901 : 901 [Trace] 12:50:16:093 2011/08/08 MOD_NIL, TRACE_ERROR " MSG_ID_INVALID_TYPE"
901 901 : 901 [Trace] 12:50:16:109 2011/08/08 MOD_NIL, TRACE_ERROR "interrupt mask: 0x00000000 0x00000000"
901 901 : 901 [Trace] 12:50:16:109 2011/08/08 MOD_NIL, TRACE_ERROR "processing_lisr: 0x00000000"
901 901 : 901 [Trace] 12:50:16:109 2011/08/08 MOD_NIL, TRACE_ERROR "lr: 0x000D079B"
901 901 : 901 [Trace] 12:50:16:109 2011/08/08 MOD_NIL, TRACE_ERROR "diagnosis: healthy"
901 901 : 901 [Trace] 12:50:16:125 2011/08/08 MOD_NIL, TRACE_ERROR "owner: "
901 901 : 901 [Trace] 12:50:16:125 2011/08/08 MOD_NIL, TRACE_ERROR "timing check: 0 0 0 0 0 0"
901 901 : 901 [Trace] 12:50:16:125 2011/08/08 MOD_NIL, TRACE_ERROR "fatal error code 1: 0x00000004"
901 901 : 901 [Trace] 12:50:16:125 2011/08/08 MOD_NIL, TRACE_ERROR "fatal error code 2: 0x000D079B"
901 901 : 901 [Trace] 12:50:16:125 2011/08/08 MOD_NIL, TRACE_ERROR "CPSR = 0xA0000033"
901 901 : 901 [Trace] 12:50:16:125 2011/08/08 MOD_NIL, TRACE_ERROR "R0 = 0xF18E2789"
901 901 : 901 [Trace] 12:50:16:125 2011/08/08 MOD_NIL, TRACE_ERROR "R1 = 0x00000045"
901 901 : 901 [Trace] 12:50:16:125 2011/08/08 MOD_NIL, TRACE_ERROR "R2 = 0x0000000A"
901 901 : 901 [Trace] 12:50:16:125 2011/08/08 MOD_NIL, TRACE_ERROR "R3 = 0x006D7EF9"
901 901 : 901 [Trace] 12:50:16:140 2011/08/08 MOD_NIL, TRACE_ERROR "R4 = 0xF17177EC"
901 901 : 901 [Trace] 12:50:16:140 2011/08/08 MOD_NIL, TRACE_ERROR "R5 = 0xF17176EC"
901 901 : 901 [Trace] 12:50:16:140 2011/08/08 MOD_NIL, TRACE_ERROR "R6 = 0x00000008"
901 901 : 901 [Trace] 12:50:16:140 2011/08/08 MOD_NIL, TRACE_ERROR "R7 = 0x006C0FAD"
901 901 : 901 [Trace] 12:50:16:156 2011/08/08 MOD_NIL, TRACE_ERROR "R8 = 0x00000000"
901 901 : 901 [Trace] 12:50:16:156 2011/08/08 MOD_NIL, TRACE_ERROR "R9 = 0x00000000"
901 901 : 901 [Trace] 12:50:16:156 2011/08/08 MOD_NIL, TRACE_ERROR "R10 = 0xF173E1E0"
901 901 : 901 [Trace] 12:50:16:156 2011/08/08 MOD_NIL, TRACE_ERROR "R11 = 0xF173F9E0"
901 901 : 901 [Trace] 12:50:16:171 2011/08/08 MOD_NIL, TRACE_ERROR "R12 = 0x000D0A31"
901 901 : 901 [Trace] 12:50:16:171 2011/08/08 MOD_NIL, TRACE_ERROR "R13 = 0xF173F748"
901 901 : 901 [Trace] 12:50:16:171 2011/08/08 MOD_NIL, TRACE_ERROR "R14 = 0x000D079B"
901 901 : 901 [Trace] 12:50:16:171 2011/08/08 MOD_NIL, TRACE_ERROR "R15 = 0x000A22D4"
901 901 : 901 [Trace] 12:50:16:171 2011/08/08 MOD_NIL, TRACE_ERROR ""
901 901 : 901 [Trace] 12:50:16:171 2011/08/08 MOD_NIL, TRACE_ERROR ""
901 901 : 901 [Trace] 12:50:16:171 2011/08/08 MOD_NIL, TRACE_ERROR ""
901 901 : 901 [Trace] 12:50:16:171 2011/08/08 MOD_NIL, TRACE_ERROR ""
901 901 : 901 [Trace] 12:50:16:171 2011/08/08 MOD_NIL, TRACE_ERROR ""
901 901 : 901 [Trace] 12:50:16:171 2011/08/08 MOD_NIL, TRACE_ERROR ""
901 901 : 901 [Trace] 12:50:16:187 2011/08/08 MOD_NIL, TRACE_ERROR ""
901 901 : 901 [Trace] 12:50:16:187 2011/08/08 MOD_NIL, TRACE_ERROR ""
901 901 : 901 [Trace] 12:50:16:187 2011/08/08 MOD_NIL, TRACE_ERROR ""
901 901 : 901 [Trace] 12:50:16:187 2011/08/08 MOD_NIL, TRACE_ERROR ""
901 901 : 901 [Trace] 12:50:16:187 2011/08/08 MOD_NIL, TRACE_ERROR ""
901 901 : 901 [Trace] 12:50:16:203 2011/08/08 MOD_NIL, TRACE_ERROR ""
901 901 : 901 [Trace] 12:50:16:203 2011/08/08 MOD_NIL, TRACE_ERROR ""
901 901 : 901 [Trace] 12:50:16:203 2011/08/08 MOD_NIL, TRACE_ERROR ""
901 901 : 901 [Trace] 12:50:16:203 2011/08/08 MOD_NIL, TRACE_ERROR ""
901 901 : 901 [Trace] 12:50:16:203 2011/08/08 MOD_NIL, TRACE_ERROR ""
901 901 : 901 [Trace] 12:50:16:203 2011/08/08 MOD_NIL, TRACE_ERROR ""
901 901 : 901 [Trace] 12:50:16:203 2011/08/08 MOD_NIL, TRACE_ERROR ""
如需其他信息请回复告知。