TI中文支持网
TI专业的中文技术问题搜集分享网站

Loop buffer exception

大家好,我使用的C6748,在sysbios debug时出现了Loop buffer exception,具体信息如下:

[C674X_0] A0=0x0 A1=0x0
A2=0x2 A3=0xe9980000
A4=0x12 A5=0x38000000
A6=0xc0216650 A7=0xc0034190
A8=0x1997 A9=0xc00341a0
A10=0xcab93b29 A11=0x0
A12=0x0 A13=0xc7a9b840
A14=0x0 A15=0x46c2f480
A16=0xbfd2c380 A17=0xc104a4b3
A18=0x470028f6 A19=0xc7edc05a
A20=0x2000 A21=0xc023cfe8
A22=0x478f9998 A23=0x47d4443e
A24=0x46928c24 A25=0x46baf608
A26=0x465b8b90 A27=0xc80e3eee
A28=0xc004dfeb A29=0x3f975e41
A30=0xf A31=0x8000
B0=0x1 B1=0x0
B2=0x2 B3=0x4
B4=0x452a05e0 B5=0xc00341a8
B6=0xc74b91b2 B7=0x474c7ddc
B8=0x47a205ca B9=0xc78ce852
B10=0x382be2e2 B11=0x4799418c
B12=0x30 B13=0x1fff8
B14=0xc08c3ef0 B15=0xc087f948
B16=0xc0034198 B17=0x2000
B18=0x4000 B19=0x38000000
B20=0x3fffda92 B21=0xc02b3b4d
B22=0xbe1c2a44 B23=0xbfdee578
B24=0x46c0137a B25=0xc79cbaac
B26=0x4783c8b5 B27=0xc7be0429
B28=0xc024cfe8 B29=0x3f800000
B30=0x49ed2252 B31=0x2
NTSR=0x1400f
ITSR=0x400f
IRP=0xc08afee2
SSR=0x0
AMR=0x0
RILC=0x1000
ILC=0x665
Exception at 0xc08affa4
EFR=0x2 NRP=0xc08affa4
Internal exception: IERR=0x180
Loop buffer exception
Missed stall exception
ti.sysbios.family.c64p.Exception: line 256: E_exceptionMax: pc = 0xc08affa4, sp = 0xc087f948.
xdc.runtime.Error.raise: terminating execution

请问如何定位这个问题出现在哪?同样的程序有时候debug没事,有时候就会出现Loop buffer exception,请问怎么解决

Shine:

在工程中添加编译选项–diable:sploop将硬件sploop disable试试。

user496483453:

回复 Shine:

你好,请问是这样加入编译选项吗?我看提示貌似不对..会忽略加入的选项

-mv6740 –abi=eabi -g –include_path="../code_user" –include_path="${CG_TOOL_ROOT}/include" –include_path="${COM_TI_UIA_INCLUDE_PATH}" –include_path="C:/ti/C6748_StarterWare_1_20_04_01/include" –include_path="C:/ti/C6748_StarterWare_1_20_04_01/include/hw" –include_path="C:/ti/C6748_StarterWare_1_20_04_01/include/c674x/c6748" –define=${TI_MATHLIB_C674X_SYMBOLS} –define=${TI_MAS_DSPLIB_C674X_SYMBOLS} –define=${COM_TI_UIA_SYMBOLS} –define=${BIOS_SYMBOLS} –define=c6748 –display_error_number –diag_wrap=off –diag_warning=225 –diable:sploop 

确定之后提示invalid compiler option –diable:sploop (ignored) 

Shine:

回复 user496483453:

抱歉,少了个s,试试–disable:sploop.

user496483453:

回复 Shine:

嗯 会提示unrecognized flags entered:–disable:sploop
确定是在这个地方添加的吗

user496483453:

回复 Shine:

我右键工程属性->Build–>C6000 Complier,在summary of flags set:中最后部分添加的

Shine:

回复 user496483453:

右键工程属性->Build–>C6000 Complier->Rumtime Model Options->Disable Software Pipelining

user496483453:

回复 Shine:

谢谢,这样确实可以加入编译选项,但是我debug时候程序一运行到我的那个循环(循环总共23次,每次循环内部程序运行约600ms),就出现同样的问题:
[C674X_0] A0=0x0 A1=0x0
A2=0x2 A3=0xc8a00000
A4=0x12 A5=0x38000000
A6=0xc0216650 A7=0xc000b110
A8=0x513 A9=0xc000b120
A10=0x0 A11=0x0
A12=0x0 A13=0x0
A14=0x0 A15=0x0
A16=0x0 A17=0x0
A18=0x0 A19=0x0
A20=0x2000 A21=0xc023aef0
A22=0x0 A23=0x0
A24=0x0 A25=0x0
A26=0x0 A27=0x0
A28=0x0 A29=0x0
A30=0xf A31=0x8000
B0=0x1 B1=0x0
B2=0x2 B3=0x4
B4=0x0 B5=0xc000b128
B6=0x80000000 B7=0x0
B8=0x0 B9=0x0
B10=0x0 B11=0x0
B12=0x30 B13=0x1fff8
B14=0xc0a3bf30 B15=0xc09f7770
B16=0xc000b118 B17=0x2000
B18=0x4000 B19=0x38000000
B20=0x0 B21=0x0
B22=0x0 B23=0x0
B24=0x0 B25=0x0
B26=0x0 B27=0x0
B28=0xc024aef0 B29=0x3f800000
B30=0x80000000 B31=0x2
NTSR=0x1400f
ITSR=0x400f
IRP=0xc0a27e42
SSR=0x0
AMR=0x0
RILC=0x1000
ILC=0x1ae9
Exception at 0xc0a27f04
EFR=0x2 NRP=0xc0a27f04
Internal exception: IERR=0x180
Loop buffer exception
Missed stall exception
ti.sysbios.family.c64p.Exception: line 256: E_exceptionMax: pc = 0xc0a27f04, sp = 0xc09f7770.
xdc.runtime.Error.raise: terminating execution
编译选项如下:
-mv6740 –abi=eabi -g –include_path="../code_user" –include_path="${CG_TOOL_ROOT}/include" –include_path="${COM_TI_UIA_INCLUDE_PATH}" –include_path="C:/ti/C6748_StarterWare_1_20_04_01/include" –include_path="C:/ti/C6748_StarterWare_1_20_04_01/include/hw" –include_path="C:/ti/C6748_StarterWare_1_20_04_01/include/c674x/c6748" –include_path="${BIOS_INCLUDE_PATH}" –include_path="C:/ti/bios_6_50_01_12" –define=${TI_MATHLIB_C674X_SYMBOLS} –define=${TI_MAS_DSPLIB_C674X_SYMBOLS} –define=${COM_TI_UIA_SYMBOLS} –define=${BIOS_SYMBOLS} –define=c6748 –display_error_number –diag_wrap=off –diag_warning=225 –disable_software_pipeline
我又恢复到原来的设置,还是有时候运行正常,有时候会出现Loop buffer exception,出现的时刻大概 是第12次循环的时候,请问有其他的方法解决这个问题吗?这跟我system(hwi and swi)stack size 和Heap size大小有没有关系?

haotian chang:

回复 user496483453:

你好 ,你是怎么解决的。我的程序现在也出现这种问题

赞(0)
未经允许不得转载:TI中文支持网 » Loop buffer exception
分享到: 更多 (0)