主题中讨论的其他器件:SYSBIOS、 MATHLIB
工具/软件:TI C/C++编译器
您好!
使用7.2.24和8.3.35 CGT 编译器时、SYSBIOS 6.37是否存在一定的不兼容性? 我的项目使用下面的库、但如果我使用7.2.24进行编译、该项目运行正常(已经使用了5年)、但如果使用8.3.35进行编译、则在几分钟到几个小时之间的任何时间内随机崩溃。
UIAPATH:=/ti/uia_1_03_01_08
XDCPATH:=/ti/xdctools_3_25_06_96
EDMA3:=/ti/edma3_lld_02_11_11_13
DSPLIB:=/ti/dsplib_c674x_3_1_1_1
MATHLIB:=/ti/mathlib_c674x_3_0_1_1
SYSBIOS:=/ti/bios_6_37_05_35
xDAIS:=/ti/xdais_7_21_01_07
最常见的例外是:
TI.SYSBIOS.堆.HeapMem:第371行:断言失败:a_invalidFree:无效空闲
xdc.runtime.Error.raise:终止执行
或:
A0=0x1 A1=0x0
a2=0xc0a760a8 a3=0xc29a99d4
A4=0xc29d6a38 A5=0xc0a7933c
A6=0x8e A7=0xc282c5d8
A8=0x2 A9=0x20
A10=0x90 A11=0xc29d6a38
A12=0x5101920 A13=0xc29a9a2c
A14=0xc2987f78 A15=0x0
A16=0xc0a761c0 A17=0x0
A18=0x0 A19=0x0
A20 = 0x0 A21 = 0x0
A22=0xc09ac254 A23=0x0
A24=0x95 A25=0xff
A26=0xc A27=0x100
A28=0x100 A29=0x0
A30=0x5 A31=0x20
B0=0xa480010 B1=0x0
b2=0x1 b3=0xc2987f78
B4=0x0 B5=0xc29a5de6
B6=0xa480010 B7=0xc0a1cebc
B8=0xc B9=0xc2930180
B10=0x90 B11=0x83421160
B12=0xc0a79334 B13=0xc29a7e2c
b14=0xc29e19f8 b15=0xc0a1ce68
B16=0x1 B17=0x7e4
B18=0x51eb851f B19=0x7e6
B20=0x7e8 B21=0x7e7
B22=0xF B23=0x0
B24=0x0 B25=0x6b
B26=0xca B27=0x38
B28=0x91 B29=0x70
B30=0xc0a15170 B31=0xffffff
NTSR=0x1820f
ITSR=0x20f
IRP=0xc28eab94
SSR=0x0
AMR=0x0
RILC = 0x0
ILC = 0x0
0xc2924c1c 时出现异常
EFR=0x40000002 NRP=0xc2924c1c
内部异常:IERR=0x8
操作码异常
DMC 异常 MPFAR=0x83421160 MPFSR=0x120
安全违规、本地 L1/L2高速缓存存储器故障
监控器读取违反、故障 ID = 0x0
TI.SYSBIOS.family.c64p.exception:第256行:E_exceptionMax:PC = 0xc2924c1c、sp = 0xc0a1ce68。
xdc.runtime.Error.raise:终止执行
我在寻找 ROV、异常模块返回以下结果:
异常调用栈、
0 ti_sysbios_b堆_HeapTrack_free (struct ti_sysbios_b堆_HeapTrack_Object *、void *、unsigned int) at HeapTrack.c:145、PC = 0xC2924C1C FP = 0xC0A1CE68
1 xdc_runtime_Memory_free (struct xdc_runtime_IHeap____Object *、void *、unsigned int) at Memory.c:90、PC = 0xC2987F78 FP = 0xC0A1CE90
2 [在 Vla_alloc_c]本地::在 Vla_alloc.c:177、PC = 0xC294EEE8 FP = 0xC0A1CE98时、释放_死区分配(void *)
3 _VLA_alloc (void *) at VLA_alloc.c:245、PC = 0xC2913140 FP = 0xC0A1CEB8
4标准:__2 <char, std::__2::ostreambuf_iterator<char, std::__2::char_traits :num >><char, std::__2::char_traits :do_put (std:__2:ostreambuf _ >、std::__2::ios_base &、char、unsigned long) const (unsigned int) at locale:1514、PC = 0xC294C014 FP = 0xC0A1CEE0
5标准:__2::<char, std::__2::char_traits >:运算符<<(无符号短整型)位于 ostream:1292,PC = 0xC2933CF0 FP = 0xC0A1CF28
显然、ROV 报告 BIOS 模块:"所有 ROV 视图都已运行、并且未遇到错误。 在 BIOS 中、这包括检查系统堆栈使用情况和所有任务堆栈。"
此致、
David。

