我使用C6657开发,使用双核,加载相同的out文件。目前core0正常运行程序 core1只是使用了线程跑cpu和内存状态信息获取以及一个Task_sleep(10)
如果先运行core1,再运行core0,不会有崩溃,如果先运行core0再运行core1,则core1会崩溃在Task_sleep函数中,
A0=0x800bb150 A1=0x1
A2=0x1 A3=0x800c8dc8
A4=0x8005f8c0 A5=0x1a5398
A6=0x803240 A7=0x0
A8=0x8005bd20 A9=0x39
A10=0x3b9aca00 A11=0x800c8f70
A12=0x1 A13=0x0
A14=0x0 A15=0x0
A16=0x800600b0 A17=0x0
A18=0x8005fd1a A19=0x390
A20=0x51489604 A21=0x41
A22=0x32440806 A23=0xe36022e0
A24=0xb00d A25=0x54303002
A26=0x96001482 A27=0x7869013
A28=0x41010301 A29=0x10
A30=0x10 A31=0x200
B0=0x80060068 B1=0x0
B2=0x0 B3=0x0
B4=0x0 B5=0x8005d8
B6=0x177 B7=0x1
B8=0x802b88 B9=0x3a
B10=0x0 B11=0x640
B12=0x800c8c50 B13=0x640
B14=0x804320 B15=0x800bb180
B16=0x30 B17=0x8005fc64
B18=0xc499ca3a B19=0x8004c0
B20=0x0 B21=0x69
B22=0xffffffff B23=0xfffffff7
B24=0x8004c4 B25=0xa51c
B26=0x40000643 B27=0x827a0a2c
B28=0xf47fa92b B29=0xb740492
B30=0x960fff7c B31=0x8006006c
NTSR=0x1000e
ITSR=0xd
IRP=0x800147da
SSR=0x0
AMR=0x0
RILC=0x0
ILC=0x0
Exception at 0x0
EFR=0x2 NRP=0x0
Internal exception: IERR=0x1
Instruction fetch exception
ti.sysbios.family.c64p.Exception: line 255: E_exceptionMin: pc = 0x00000000, sp = 0x800bb180.
To see more exception detail, use ROV or set 'ti.sysbios.family.c64p.Exception.enablePrint = true;'
xdc.runtime.Error.raise: terminating execution
下面是涉及到的汇编代码
1135 {
UmpTaskDelay:
80027554: 31F7 STW.D2T2 B3,*B15–[2]
80027556: AC45 STW.D2T1 A4,*B15[1]
1145 Task_sleep(dwMseconds);
80027558: 103D6012 CALLP.S2 ti_sysbios_knl_Task_sleep__E (PC+125696 = 0x80046040),B3
8002755c: E6800000 .fphead n, l, W, BU, nobr, nosat, 0110100b
1166 }
ti_sysbios_knl_Task_sleep__E:
80046040: 2777 STW.D2T1 A14,*B15–[2]
80046042: 0246 || MV.L1 A4,A0
80046044: 01C6E429 || MVK.S1 0xffff8dc8,A3
80046048: 1213 || MVK.S2 16,B4
8004604a: 9577 STDW.D2T2 B11:B10,*B15–[1]
8004604c: 01C00669 || MVKH.S1 0x800c0000,A3
80046050: 02C6E22B || MVK.S2 0xffff8dc4,B5
80046054: 65C7 || MV.L2 B3,B11
80046056: 8677 STDW.D2T1 A13:A12,*B15–[1]
80046058: 02C0066A || MVKH.S2 0x800c0000,B5
8004605c: E4A00823 .fphead n, l, W, BU, nobr, nosat, 0100101b
80046060: 053C35C4 STDW.D2T1 A11:A10,*B15–[1]
80046064: 068C0264 LDW.D1T1 *+A3[0],A13
80046068: 05100FD8 MV.L1 A4,A10
8004606c: D0F34120 [!A0] BNOP.S1 $C$RL64 (PC+972 = 0x8004642c),2
80046070: 02349F7A AND.L2X B4,A13,B4
80046074: 07FFE052 ADDK.S2 -64,B15
80046078: 05901FD8 MV.L1X B4,A11
8004607c: 0746E629 MVK.S1 0xffff8dcc,A14
80046080: 061402E4 || LDW.D2T1 *+B5[0],A12
80046084: 002C1FDB MV.L2X A11,B0
80046088: 07400668 || MVKH.S1 0x800c0000,A14
8004608c: 304A8121 [!B0] BNOP.S1 $C$RL59 (PC+296 = 0x800461a8),4
80046090: 22380264 || [ B0] LDW.D1T1 *+A14[0],A4
80046094: 00337F08 EXTU.S1 A12,27,31,A0
80046098: D1900204 [!A0] LDHU.D1T1 *+A4[0],A3
8004609c: 0246C62A MVK.S2 0xffff8d8c,B4
800460a0: 0240066A MVKH.S2 0x800c0000,B4
800460a4: 2C6E NOP 2
800460a6: 2866 [ A0] MVK.L1 1,A0
800460a8: D00F7F08 || [!A0] EXTU.S1 A3,27,31,A0
800460ac: C31002E7 [ A0] LDW.D2T2 *+B4[0],B6
800460b0: D0002413 || [!A0] B.S2 $C$L73 (PC+288 = 0x800461c0)
800460b4: C1FFF7A9 || [ A0] MVK.S1 0xffffffef,A3
800460b8: 00800FD8 || MV.L1 A0,A1
800460bc: E0400008 .fphead n, l, W, BU, nobr, nosat, 0000010b
800460c0: 9200A35B [!A1] MVK.L2 0,B4
800460c4: 92ECF02B || [!A1] MVK.S2 0xffffd9e0,B5
800460c8: 91BC9058 || [!A1] ADD.L1X 4,B15,A3
800460cc: C1800068 [ A0] MVKH.S1 0x0000,A3
800460d0: 92C002EA [!A1] MVKH.S2 0x80050000,B5
800460d4: 923E82D6 [!A1] STH.D2T2 B4,*+B15[20]
800460d8: 00181FD8 MV.L1X B6,A0
800460dc: 01806F78 AND.L1 A3,A0,A3
800460e0: D1800429 [!A0] MVK.S1 0x0008,A3
800460e4: 21C6 || MV.L1 A3,A1
800460e6: 68E6 [!A0] MVK.L1 1,A1
800460e8: 90001291 [!A1] B.S1 $C$L70 (PC+148 = 0x80046174)
800460ec: 800D89B1 || [ A1] AND.D1 A12,A3,A0
800460f0: 40C6 || MV.L1 A1,A2
800460f2: 10C7 MV.L2X A1,B0
800460f4: 808DAF78 || [ A1] AND.L1 A13,A3,A1
800460f8: B184A358 [!A2] MVK.L1 1,A3
800460fc: E2400200 .fphead n, l, W, BU, nobr, nosat, 0010010b
80046100: 327CA358 [!B0] MVK.L1 -1,A4
80046104: 32114A78 [!B0] CMPEQ.L1 A10,A4,A4
80046108: 30106F78 [!B0] AND.L1 A3,A4,A0
8004610c: 90000C91 [!A1] B.S1 $C$L67 (PC+100 = 0x80046164)
80046110: 9000A359 || [!A1] MVK.L1 0,A0
80046114: 91800040 || [!A1] MVK.D1 0,A3
80046118: C0000D90 [ A0] B.S1 $C$L68 (PC+108 = 0x8004616c)
8004611c: 901C6120 [!A1] BNOP.S1 $C$L69 (PC+112 = 0x80046170),3
80046120: C27FFFA9 [ A0] MVK.S1 0xffffffff,A4
80046124: D2100205 || [!A0] LDHU.D1T1 *+A4[0],A4
80046128: 29E6 || [ A0] MVK.L1 1,A3
8004612a: 6608 AND.L1 A3,A4,A0
8004612c: C0000D13 [ A0] B.S2 $C$L71 (PC+104 = 0x80046188)
80046130: C27CA359 || [ A0] MVK.L1 -1,A4
80046134: 404E || MV.S1 A0,A2
80046136: 29F6 || [ A0] MVK.D1 1,A3
80046138: C2114A79 [ A0] CMPEQ.L1 A10,A4,A4
8004613c: E4900400 .fphead p, l, W, BU, nobr, nosat, 0100100b
80046140: A2C78E2B [ A2] MVK.S2 0xffff8f1c,B5
80046144: A200A35B || [ A2] MVK.L2 0,B4
80046148: A300F828 || [ A2] MVK.S1 0x01f0,A6
8004614c: C0106F79 [ A0] AND.L1 A3,A4,A0
80046150: A2C0066A || [ A2] MVKH.S2 0x800c0000,B5
80046154: B004A358 [!A2] MVK.L1 1,A0
80046158: D0202120 [!A0] BNOP.S1 $C$L73 (PC+128 = 0x800461c0),1
8004615c: 000C6121 BNOP.S1 $C$L69 (PC+48 = 0x80046170),3
80046160: 0180A358 || MVK.L1 0,A3
$C$L67:
80046164: 027CA358 MVK.L1 -1,A4
80046168: 02114A78 CMPEQ.L1 A10,A4,A4
$C$L68:
8004616c: 02114A78 CMPEQ.L1 A10,A4,A4
$C$L69:
80046170: 00106F78 AND.L1 A3,A4,A0
$C$L70:
80046174: D0000C11 [!A0] B.S1 $C$L73 (PC+96 = 0x800461c0)
80046178: 02C78E2A || MVK.S2 0xffff8f1c,B5
8004617c: 02C0066B MVKH.S2 0x800c0000,B5
80046180: 0300F829 || MVK.S1 0x01f0,A6
80046184: 0200A35A || MVK.L2 0,B4
$C$L71:
80046188: D200A35B [!A0] MVK.L2 0,B4
8004618c: D2ECF02B || [!A0] MVK.S2 0xffffd9e0,B5
80046190: D1BC9059 || [!A0] ADD.L1X 4,B15,A3
80046194: C02B0C10 || [ A0] B.S1 xdc_runtime_Assert_raise__I (PC+88160 = 0x8005b9e0)
80046198: C2140284 [ A0] LDHU.D2T1 *+B5[0],A4
8004619c: D23E82D6 [!A0] STH.D2T2 B4,*+B15[20]
800461a0: D2C002EA [!A0] MVKH.S2 0x80050000,B5
800461a4: 01822162 ADDKPC.S2 $C$RL59 (PC+8 = 0x800461a8),B3,1
$C$L72, $C$RL59:
800461a8: 02ECF02B MVK.S2 0xffffd9e0,B5
800461ac: 0200A35A || MVK.L2 0,B4
800461b0: 02C002EB MVKH.S2 0x80050000,B5
800461b4: 023E82D7 || STH.D2T2 B4,*+B15[20]
800461b8: 01BC9059 || ADD.L1X 4,B15,A3
800461bc: 00000000 || NOP
$C$L73:
800461c0: 030403E3 MVC.S2 CSR,B6
800461c4: FD55 || STW.D2T2 B5,*B15[11]
800461c6: BD45 STW.D2T2 B4,*B15[9]
800461c8: 01BD82F4 STW.D2T1 A3,*+B15[12]
800461cc: 053CE2F5 STW.D2T1 A10,*+B15[7]
800461d0: 10004000 || DINT
800461d4: 01C68028 MVK.S1 0xffff8d00,A3
800461d8: 01C00668 MVKH.S1 0x800c0000,A3
800461dc: E0400000 .fphead n, l, W, BU, nobr, nosat, 0000010b
800461e0: 018C0264 LDW.D1T1 *+A3[0],A3
800461e4: 0202862A MVK.S2 0x050c,B4
800461e8: 0200406A MVKH.S2 0x800000,B4
800461ec: 043E8942 ADD.D2 B15,0x14,B8
800461f0: A7B7 ADDAW.D2 B15,0x5,B7
800461f2: 91C1 ADD.L2X B4,A3,B4
800461f4: BCC5 STW.D2T2 B4,*B15[5]
800461f6: 305D LDW.D2T2 *B4[1],B5
800461f8: 6C6E NOP 4
800461fa: DCD5 STW.D2T2 B5,*B15[6]
800461fc: EE000000 .fphead n, l, W, BU, nobr, nosat, 1110000b
80046200: 305D LDW.D2T2 *B4[1],B5
80046202: 6C6E NOP 4
80046204: 041402F6 STW.D2T2 B8,*+B5[0]
80046208: 039022F6 STW.D2T2 B7,*+B4[1]
8004620c: 009803A2 MVC.S2 B6,CSR
80046210: 050403E3 MVC.S2 CSR,B10
80046214: A637 || ADDAW.D2 B15,0x5,B4
80046216: 9CC5 STW.D2T2 B4,*B15[4]
80046218: 10004000 || DINT
8004621c: E4200800 .fphead n, l, W, BU, nobr, nosat, 0100001b
80046220: 00337F09 EXTU.S1 A12,27,31,A0
80046224: 002C1FDA || MV.L2X A11,B0
80046228: 3088A121 [!B0] BNOP.S1 $C$RL60 (PC+272 = 0x80046330),5
8004622c: 21B80264 || [ B0] LDW.D1T1 *+A14[0],A3
80046230: D20C0204 [!A0] LDHU.D1T1 *+A3[0],A4
80046234: 6C6E NOP 4
80046236: 2866 [ A0] MVK.L1 1,A0
80046238: D0137F08 || [!A0] EXTU.S1 A4,27,31,A0
8004623c: E4000800 .fphead n, l, W, BU, nobr, nosat, 0100000b
80046240: D0002213 [!A0] B.S2 $C$L77 (PC+272 = 0x80046350)
80046244: 0246CA29 || MVK.S1 0xffff8d94,A4
80046248: 4046 || MV.L1 A0,A2
8004624a: 2056 || MV.D1 A0,A1
8004624c: 02400669 MVKH.S1 0x800c0000,A4
80046250: 827FF7AB || [ A1] MVK.S2 0xffffffef,B4
80046254: B284A358 || [!A2] MVK.L1 1,A5
80046258: B182BC29 [!A2] MVK.S1 0x0578,A3
8004625c: E0800010 .fphead n, l, W, BU, nobr, nosat, 0000100b
80046260: C0100265 [ A0] LDW.D1T1 *+A4[0],A0
80046264: 8200006A || [ A1] MVKH.S2 0x0000,B4
80046268: B1804068 [!A2] MVKH.S1 0x800000,A3
8004626c: B0221811 [!A2] B.S1 ti_sysbios_knl_Task_blockI__E (PC+69824 = 0x80057320)
80046270: B20C8264 || [!A2] LDW.D1T1 *+A3[4],A4
80046274: B58C0204 [!A2] LDHU.D1T1 *+A3[0],A11
80046278: 00000000 NOP
8004627c: 02009F7A AND.L2X B4,A0,B4
80046280: D200042B [!A0] MVK.S2 0x0008,B4
80046284: 0247 || MV.L2 B4,B0
80046286: 6867 [!A0] MVK.L2 1,B0
80046288: 30000E91 [!B0] B.S1 $C$L74 (PC+116 = 0x800462f4)
8004628c: 4047 || MV.L2 B0,B2
8004628e: 204F || MV.S2 B0,B1
80046290: 20919F79 || [ B0] AND.L1X A12,B4,A1
80046294: 203499B2 || [ B0] AND.D2X B4,A13,B0
80046298: 7202BC2B [!B2] MVK.S2 0x0578,B4
8004629c: E14000C0 .fphead n, l, W, BU, nobr, nosat, 0001010b
800462a0: 5004A35A [!B1] MVK.L2 1,B0
800462a4: 30001211 [!B0] B.S1 $C$RL60 (PC+144 = 0x80046330)
800462a8: 7200406A || [!B2] MVKH.S2 0x800000,B4
800462ac: 70100286 [!B2] LDHU.D2T2 *+B4[0],B0
800462b0: 7182AA28 [!B2] MVK.S1 0x0554,A3
800462b4: 71804068 [!B2] MVKH.S1 0x800000,A3
800462b8: 00002000 NOP 2
800462bc: 918C0204 [!A1] LDHU.D1T1 *+A3[0],A3
800462c0: 8004A35A [ A1] MVK.L2 1,B0
800462c4: 00004000 NOP 3
800462c8: 900C9F7A [!A1] AND.L2X B4,A3,B0
800462cc: 30001011 [!B0] B.S1 $C$L76 (PC+128 = 0x80046340)
800462d0: 2202BC2B || [ B0] MVK.S2 0x0578,B4
800462d4: 2047 || MV.L2 B0,B1
800462d6: 3046 MV.L1X B0,A1
800462d8: 2200406B || [ B0] MVKH.S2 0x800000,B4
800462dc: E4000800 .fphead n, l, W, BU, nobr, nosat, 0100000b
800462e0: 4182AA28 [ B1] MVK.S1 0x0554,A3
800462e4: 9182BC28 [!A1] MVK.S1 0x0578,A3
800462e8: 20100286 [ B0] LDHU.D2T2 *+B4[0],B0
800462ec: 91804068 [!A1] MVKH.S1 0x800000,A3
800462f0: 41804068 [ B1] MVKH.S1 0x800000,A3
$C$L74:
800462f4: 02C78E2A MVK.S2 0xffff8f1c,B5
800462f8: 0200A35A MVK.L2 0,B4
800462fc: 308C0204 [!B0] LDHU.D1T1 *+A3[0],A1
80046300: 03001FDA MV.L2X A0,B6
80046304: 02C0066A MVKH.S2 0x800c0000,B5
80046308: A8E6 [ B0] MVK.L1 1,A1
8004630a: 2427 MVK.L2 1,B0
8004630c: 8000A35A [ A1] MVK.L2 0,B0
80046310: 20000810 [ B0] B.S1 $C$L76 (PC+64 = 0x80046340)
80046314: 302ADC10 [!B0] B.S1 xdc_runtime_Assert_raise__I (PC+87776 = 0x8005b9e0)
80046318: 32140284 [!B0] LDHU.D2T1 *+B5[0],A4
8004631c: E0800000 .fphead n, l, W, BU, nobr, nosat, 0000100b
80046320: 0300FFA8 MVK.S1 0x01ff,A6
80046324: 2182BC28 [ B0] MVK.S1 0x0578,A3
80046328: 21804068 [ B0] MVKH.S1 0x800000,A3
8004632c: 01840162 ADDKPC.S2 $C$RL60 (PC+16 = 0x80046330),B3,0
$C$L75, $C$RL60:
80046330: 0182BC28 MVK.S1 0x0578,A3
80046334: 01804069 MVKH.S1 0x800000,A3
80046338: 00000001 || NOP
8004633c: 00000000 || NOP
$C$L76:
80046340: 020C8265 LDW.D1T1 *+A3[4],A4
80046344: 0021FC11 || B.S1 ti_sysbios_knl_Task_blockI__E (PC+69600 = 0x80057320)
80046348: 0284A358 || MVK.L1 1,A5
8004634c: 058C0204 LDHU.D1T1 *+A3[0],A11
$C$L77:
80046350: 028C0254 STH.D1T1 A5,*+A3[0]
80046354: 01882162 ADDKPC.S2 $C$RL61 (PC+32 = 0x80046360),B3,1
80046358: 023C62F5 STW.D2T1 A4,*+B15[3]
8004635c: 00000000 || NOP
$C$RL61:
80046360: 10239013 CALLP.S2 ti_sysbios_knl_Clock_startI__E (PC+72832 = 0x80057fe0),B3
80046364: 8CCD || LDW.D2T1 *B15[4],A4
80046366: FC5D LDW.D2T2 *B15[3],B5
80046368: 0FBC805A || ADD.L2 4,B15,B31
8004636c: 023C805A ADD.L2 4,B15,B4
80046370: 0F3C805A ADD.L2 4,B15,B30
80046374: 023C42F6 STW.D2T2 B4,*+B15[2]
80046378: 0FBC22F6 STW.D2T2 B31,*+B15[1]
8004637c: E0400008 .fphead n, l, W, BU, nobr, nosat, 0000010b
80046380: 0F14C2F7 STW.D2T2 B30,*+B5[6]
80046384: 00A803A2 || MVC.S2 B10,CSR
80046388: 01C79029 MVK.S1 0xffff8f20,A3
8004638c: 0246DA2A || MVK.S2 0xffff8db4,B4
80046390: 0240066B MVKH.S2 0x800c0000,B4
80046394: 01C00668 || MVKH.S1 0x800c0000,A3
80046398: 000C0205 LDHU.D1T1 *+A3[0],A0
8004639c: 021002E6 || LDW.D2T2 *+B4[0],B4
800463a0: 00006000 NOP 4
800463a4: 00B49F7B AND.L2X B4,A13,B1
800463a8: D0000F90 || [!A0] B.S1 $C$RL63 (PC+124 = 0x8004641c)
800463ac: D084A35B [!A0] MVK.L2 1,B1
800463b0: C03097E2 || [ A0] AND.S2X B4,A12,B0
800463b4: 501F6120 [!B1] BNOP.S1 $C$RL63 (PC+124 = 0x8004641c),3
800463b8: 00002000 NOP 2
800463bc: 31B80264 [!B0] LDW.D1T1 *+A14[0],A3
800463c0: 02C6EA2A MVK.S2 0xffff8dd4,B5
800463c4: 02C0066A MVKH.S2 0x800c0000,B5
800463c8: 00002000 NOP 2
800463cc: 318C0204 [!B0] LDHU.D1T1 *+A3[0],A3
800463d0: 6C6E NOP 4
800463d2: A86F [ B0] MVK.S2 1,B0
800463d4: 300C9F7A || [!B0] AND.L2X B4,A3,B0
800463d8: 229402E7 [ B0] LDW.D2T2 *+B5[0],B5
800463dc: E2000200 .fphead n, l, W, BU, nobr, nosat, 0010000b
800463e0: 21C78E29 [ B0] MVK.S1 0xffff8f1c,A3
800463e4: 24C6EC2A || [ B0] MVK.S2 0xffff8dd8,B9
800463e8: 233C62E7 [ B0] LDW.D2T2 *+B15[3],B6
800463ec: 21C00669 || [ B0] MVKH.S1 0x800c0000,A3
800463f0: 24C0066A || [ B0] MVKH.S2 0x800c0000,B9
800463f4: 230C0204 [ B0] LDHU.D1T1 *+A3[0],A6
800463f8: 30112121 [!B0] BNOP.S1 $C$L79 (PC+68 = 0x80046424),1
800463fc: 222402E4 || [ B0] LDW.D2T1 *+B9[0],A4
80046400: 302CD410 [!B0] B.S1 ti_sysbios_knl_Task_restore__E (PC+91808 = 0x8005caa0)
80046404: 20140362 [ B0] B.S2 B5
80046408: 241942E4 [ B0] LDW.D2T1 *+B6[10],A8
8004640c: 00000000 NOP
80046410: 04281FDA MV.L2X A10,B8
80046414: 0500A358 MVK.L1 0,A10
80046418: 01870162 ADDKPC.S2 $C$RL63 (PC+28 = 0x8004641c),B3,0
$C$L78, $C$RL63:
8004641c: 002CD410 B.S1 ti_sysbios_knl_Task_restore__E (PC+91808 = 0x8005caa0)
80046420: 00004000 NOP 3
$C$L79:
80046424: 022C0FD8 MV.L1 A11,A4
80046428: 01830162 ADDKPC.S2 $C$RL64 (PC+12 = 0x8004642c),B3,0
$C$L80, $C$RL64:
8004642c: 07802052 ADDK.S2 64,B15
80046430: C577 LDDW.D2T1 *++B15[1],A11:A10
80046432: C677 LDDW.D2T1 *++B15[1],A13:A12
80046434: 6587 || MV.L2 B11,B3
80046436: D577 LDDW.D2T2 *++B15[1],B11:B10
80046438: 01EF || BNOP.S2 B3,0
8004643a: 6777 LDW.D2T1 *++B15[2],A14
8004643c: EE000A00 .fphead n, l, W, BU, nobr, nosat, 1110000b
80046440: 00006000 NOP 4
80046444: 00000000 NOP
80046448: 00000000 NOP
8004644c: 00000000 NOP
80046450: 00000000 NOP
80046454: 00000000 NOP
80046458: 00000000 NOP
8004645c: 00000000 NOP
求助各位帮忙看下
Allen35065:
一般是共享的内存或者栈溢出引起的,建议检查代码
Allen35065:
回复 Allen35065:
NRP=0x0 说明你的PC指针指向了0x0位置,这很明显是由于内存溢出改写代码段的问题引起的。