目前是在cfg文件,SYS/BIOS目录下,Runtime子目录下,system(Hwi and Swi) stack size=32768, Heap size=16*1024*1024, 又在SYS/BIOS目录下 memory Managemet目录下,Default Heap size(chars)=16*1024*1024, 最终cfg Script中多了这三行:
Program.stack = 32768;
Bios.heapSize = 16777216;
Memory.defaultHeapSize = 16777216;
下面是报错时出来的信息:
A0=0x0 A1=0x1
A2=0x0 A3=0x7ca74
A4=0x0 A5=0x30
A6=0x8018 A7=0xc2199b6c
A8=0xc21aee70 A9=0xc21ae96c
A10=0x0 A11=0x0
A12=0x0 A13=0x0
A14=0x0 A15=0x0
A16=0x0 A17=0x3ff00000
A18=0x80000000 A19=0x3ff921fb
A20=0x0 A21=0x0
A22=0xc2157130 A23=0x35d6e039
A24=0xf3f3d252 A25=0x0
A26=0xc21b79a8 A27=0x2
A28=0x200 A29=0x921f0001
A30=0x200 A31=0x921f0001
B0=0x0 B1=0xc21973e0
B2=0xc21b7a50 B3=0xc2126104
B4=0x0 B5=0x1c
B6=0x0 B7=0xc2172d20
B8=0x0 B9=0xc21b7a58
B10=0x0 B11=0x0
B12=0x0 B13=0x0
B14=0xc2197458 B15=0x0
B16=0xc2170abc B17=0x0
B18=0x0 B19=0x2
B20=0x0 B21=0xc21b79e0
B22=0x0 B23=0xc21b79e0
B24=0xffffffff B25=0xffffffff
B26=0xfffffff7 B27=0x0
B28=0x66666666 B29=0x30666666
B30=0x64 B31=0xc21b7a70
NTSR=0x0
ITSR=0x0
IRP=0xc216dfb0
SSR=0xa
AMR=0xc2174df0
RILC=0xa
ILC=0x8
Exception at 0x0
EFR=0x2 NRP=0x0
Internal exception: IERR=0x1
Instruction fetch exception
ti.sysbios.family.c64p.Exception: line 256: E_exceptionMax: pc = 0xc21975d9, sp = 0x00000000.
xdc.runtime.Error.raise: terminating execution
Nancy Wang:
在cfg script里面就可以直接修改。
用默认的配置看看还会不会报一样的错误。
user5377263:
回复 Nancy Wang:
改回默认的话,heap size = 4096,system(Hwi and Swi) stack size=8192,直接就报内存溢出了
ti.sysbios.heaps.HeapMem: line 307: out of memory: handle=0xc11b0a20, size=2072
xdc.runtime.Error.raise: terminating execution
Nancy Wang:
回复 user5377263:
1、0xc11b0a20是指向DDR的,完整的配置文件贴出来看看。
2、用ROV看一下你的heap具体使用情况吧,会更直观清晰。
processors.wiki.ti.com/…/Runtime_Object_View_(ROV)
Shide Lu:
请问这个问题解决了吗?
我也遇到了相同的问题。
Internal exception: IERR=0x1
Instruction fetch exception
ti.sysbios.family.c64p.Exception: line 256: E_exceptionMax: pc = 0x0000002d, sp = 0x00000001.
xdc.runtime.Error.raise: terminating execution