完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
大家好,
我的环境:C6670,CCSv5.3,SYS/BIOSv6.33.6.50 我的代码中,4个Core都跑了SRIO,4个Core各自有一个MAC地址跑Ethernet的MAC层。另外还跑很多算法代码。 其中.text和.cinit放到了MSMC中,有几个大数组放到了DDR3中,其他section放在了L2SRAM中。 我的代码跑了一段时间(有时30分钟,有时10几分钟),其中某个Core(有时候Core0有时候Core3)就溢出。 溢出信息如下: A0=0x0 A1=0x56A2=0x1 A3=0xd0f0fA4=0x800f798c A5=0x28A6=0x0 A7=0x800f798cA8=0x2 A9=0x8d5a40A10=0x800f78d4 A11=0x8d4380A12=0xffffffff A13=0x800f7740A14=0x0 A15=0x0A16=0x3 A17=0x1A18=0x2900d00 A19=0x0A20=0x0 A21=0x300A22=0x1 A23=0x1A24=0x28 A25=0x1b8A26=0x1e0 A27=0x258A28=0x28 A29=0x50A30=0x300 A31=0xc093f94B0=0x1 B1=0x0B2=0x0 B3=0xc05def4B4=0x800fdc40 B5=0x0B6=0x1 B7=0x800fdc40B8=0x8d4234 B9=0xc093fd0B10=0x0 B11=0x0B12=0x0 B13=0x0B14=0x8f99a8 B15=0x861fc0B16=0xc B17=0x2B18=0x20 B19=0x138B20=0x134 B21=0x130B22=0xf B23=0x0B24=0x120 B25=0x11cB26=0x118 B27=0x114B28=0x60 B29=0x0B30=0x6 B31=0x194NTSR=0x1020fITSR=0x420dIRP=0xc01d5d8SSR=0x0AMR=0x0RILC=0x8ILC=0x0Exception at 0xd0f0cEFR=0x2 NRP=0xd0f0cInternal exception: IERR=0x1Instruction fetch exceptionti.sy***ios.family.c64p.Exception: line 248: E_exceptionMin: pc = 0x000d0f0c, sp = 0x00861fc0.To see more exception detail, use ROV or set 'ti.sy***ios.family.c64p.Exception.enablePrint = true;'xdc.runtime.Error.raise: terminating execution其中SP=0x00861fc0位于Core中的一个Task stack中,在Disassemebly窗口显示如下 00861f74: 00000000 NOP 00861f78: 00000000 NOP 00861f7c: 00000000 NOP 00861f80: 00000000 NOP 00861f84: 00000000 NOP 00861f88: 0C06D766 LDDW.D1T2 *A1++[22],B25:B2400861f8c: 00000000 NOP 00861f90: 008D4380 MPYHU.M1 A10,A3,A100861f94: 00861FD8 OR.L1X -16,B1,A100861f98: FFFFFFFF .word 0xffffffff00861f9c: 800F7740 || .word 0x800f774000861fa0: 00000000 NOP 00861fa4: 00000000 NOP 00861fa8: 00000000 NOP 00861fac: 00000000 NOP 00861fb0: 00000000 NOP 00861fb4: 00000000 NOP 00861fb8: 0C06322C LDB.D2T1 *+B14[1586],A2400861fbc: 00000194 .word 0x0000019400861fc0: 800F8EEC [ A1] LDW.D2T1 *+B15[3982],A000861fc4: 0000000E LDHU.D2T2 *+B14[0],B000861fc8: 008D4380 MPYHU.M1 A10,A3,A100861fcc: 00000000 NOP 00861fd0: 00000000 NOP 00861fd4: 00000000 NOP 00861fd8: 00000003 NOP 00861fdc: 00000000 || NOP 00861fe0: 00014975 STNDW.D1T1 A1:A0,*-A0(A10)00861fe4: 0000000C || LDHU.D2T1 *+B14[0],A000861fe8: 00000002 NOP 00861fec: 00000000 NOP 00861ff0: 00000000 NOP 00861ff4: 00000000 NOP 00861ff8: 0C0628E0 SSHL.S1 A1,A17,A2400861ffc: BEBEBEBE [!A2] STB.D2T2 B29,*+B15[16062] ti_sy***ios_knl_Task_Instance_State_2_stack__A:00862000: BEBEBEBE [!A2] STB.D2T2 B29,*+B15[16062]00862004: BEBEBEBE [!A2] STB.D2T2 B29,*+B15[16062]00862008: BEBEBEBE [!A2] STB.D2T2 B29,*+B15[16062]0086200c: BEBEBEBE [!A2] STB.D2T2 B29,*+B15[16062]00862010: BEBEBEBE [!A2] STB.D2T2 B29,*+B15[16062]00862014: BEBEBEBE [!A2] STB.D2T2 B29,*+B15[16062]00862018: BEBEBEBE [!A2] STB.D2T2 B29,*+B15[16062]其中800F8EEC为放在DDR3上的一个大数组(g_l1BBRcv),见map文件中如下部分 80000000 g_dlTxModBuf800f0640 g_l1BBTx800f7740 g_l1BBRcv800fdc40 g_ulRcvBufmap文件为 A31=0x0c093f94在Disassemebly窗口显示如下 0c093f80: 04FC0010 B.S1 0xc311f80 ti_sy***ios_knl_Task_A_badTaskState__C:0c093f84: 04510010 B.S1 0xc2bc780 ti_sy***ios_knl_Task_A_badThreadType__C:0c093f88: 040C0010 B.S1 0xc299f80 ti_sy***ios_knl_Task_A_badTimeout__C:0c093f8c: 052E0010 B.S1 0xc32af80 ti_sy***ios_knl_Task_A_noPendElem__C:0c093f90: 04870010 B.S1 0xc2d7780 ti_sy***ios_knl_Task_E_spOutOfBounds__C:0c093f94: 15AA0000 .word 0x15aa0000 ti_sy***ios_knl_Task_E_stackOverflow__C:0c093f98: 157F0000 .word 0x157f0000 ti_sy***ios_knl_Task_LD_block__C:0c093f9c: 1EBA0200 CMATMPY.M1 A15:A14,A19:A18:A17:A16,A31:A30:A29:A28 ti_sy***ios_knl_Task_LD_exit__C:0c093fa0: 1F420200 CMATMPY.M1 A17:A16,A19:A18:A17:A16,A31:A30:A29:A28 ti_sy***ios_knl_Task_LD_ready__C:0c093fa4: 1E910200 CMATMPY.M1 A5:A4,A11:A10:A9:A8,A31:A30:A29:A28 ti_sy***ios_knl_Task_LM_setPri__C:0c093fa8: 1F0A0300 CMATMPYR1.M1 A3:A2,A19:A18:A17:A16,A31:A30B3=0xc05def4在Disassemebly窗口中显示如下 30 g_ulTsInfoBufIndex[ChanIndex] = (SysFrame->TN >>2);0c05ded4: C281402A [ A0] MVK.S2 0x0280,B50c05ded8: C280446B [ A0] MVKH.S2 0x880000,B50c05dedc: C21449A0 || [ A0] SHRU.S1 A5,0x2,A40c05dee0: C2148AD4 [ A0] STH.D2T1 A4,*+B5[B4] 33 (* rcvFunction) (SysFrame, bbSample, ARFCN, IndexChan);0c05dee4: 000C1362 B.S2X A30c05dee8: 01856162 ADDKPC.S2 $C$RL4 (PC+20 = 0x0c05def4),B3,30c05deec: C247 MV.L2 B4,B60c05deee: 83CF || MV.S2 B7,B40c05def0: 021C0FD8 || MV.L1 A7,A4 36 ] $C$RL4:0c05def4: 71F7 LDW.D2T2 *++B15[2],B30c05def6: 6C6E NOP 40c05def8: 008CA362 BNOP.S2 B3,50c05defc: E50000C0 .fphead n, l, W, BU, nobr, nosat, 0101000b _pproc_fge:0c05df00: 3677 STW.D2T2 B12,*B15--[2]0c05df02: 9577 STDW.D2T2 B11:B10,*B15--[1]0c05df04: 8677 STDW.D2T1 A13:A12,*B15--[1]0c05df06: 8577 STDW.D2T1 A11:A10,*B15--[1]0c05df08: 8647 MV.L2 B4,B120c05df0a: 114D || LDW.D2T2 *B6[0],B40c05df0c: 06100FD8 MV.L1 A4,A120c05df10: 03B18224 LDB.D1T1 *+A12[12],A70c05df14: B5C6 MV.L1X B3,A13 希望专家帮忙看看,如何进一步Debug以找到问题所在? 谢谢!! |
|
相关推荐
1个回答
|
|
NRP是无效地址,说明程序已经跑飞。
或许你能从IRP和B3找到一些线索。IRP是程序最后一次发生中断的地方,B3是最后一次函数调用发生的地方。 另外,有两个方法可以监测堆栈溢出: 1. CCS的Hardware WatchPoint功能。配置如下图所示。 2. 编译器的hook功能,参阅编译器user guide的“2.16 Enabling Entry Hook and Exit Hook Functions”或: http://processors.wiki.ti.com/index.php/Profiling_on_the_C6000_using_Function_Hooks |
|
|
|
只有小组成员才能发言,加入小组>>
336 浏览 1 评论
529 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
774 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
651 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1130 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
56浏览 29评论
126浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
251浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
200浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
56浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 23:00 , Processed in 1.470342 second(s), Total 79, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号