This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Part Number: TMDXLCDK6748
Tool/software: TI-RTOS
Recently my program often die with "ti.sysbios.family.c64p.Exception: line 256: E_exceptionMax: pc = 0xc0112df4, sp = 0xc0115110." when it run for a long time.
I have check the hwi stack size and task stack size. Both are free space available.
I have no experience debug this sort of error. Can someone help me out? thx
Sorry for mention that, Yordan Kovachev. I am using Process SDK RTOS OMAPL138 LCDK 4.00.00.04 on my custom C6746 board.
Recently I add system stack size in my app.cfg
The problem occur more often. Even when i start my app application.
I guess this is caused by memory issue. this is piece of my app.cfg
/* ** Create a Heap. */ var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem'); var heapMemParams = new HeapMem.Params(); heapMemParams.size = 0x20000; heapMemParams.sectionName = "systemHeap"; Program.global.heap0 = HeapMem.create(heapMemParams); var heapMem0Params = new HeapMem.Params(); heapMem0Params.instance.name = "MyHeap"; heapMem0Params.size = 91392; heapMem0Params.align = 8; heapMem0Params.sectionName = "MyHeap"; Program.global.MyHeap = HeapMem.create(heapMem0Params); var heapMem1Params = new HeapMem.Params(); heapMem1Params.instance.name = "TcpHeap"; heapMem1Params.size = 15232; heapMem1Params.sectionName = "TcpHeap"; Program.global.TcpHeap = HeapMem.create(heapMem1Params); /* This is the default memory heap. */ Memory.defaultHeapInstance = Program.global.heap0; Program.sectMap["sharedL2"] = "DDR"; Program.sectMap["systemHeap"] = "DDR"; Program.sectMap["MyHeap"] = "DDR"; Program.sectMap["TcpHeap"] = "DDR"; Program.sectMap[".sysmem"] = "DDR"; Program.sectMap[".args"] = "DDR"; Program.sectMap[".cio"] = "DDR"; Program.sectMap[".far"] = "DDR"; Program.sectMap[".rodata"] = "DDR"; Program.sectMap[".neardata"] = "DDR"; Program.sectMap[".cppi"] = "DDR"; Program.sectMap[".init_array"] = "DDR"; Program.sectMap[".qmss"] = "DDR"; Program.sectMap[".cinit"] = "DDR"; Program.sectMap[".bss"] = "DDR"; Program.sectMap[".const"] = "DDR"; Program.sectMap[".text"] = "DDR"; Program.sectMap[".code"] = "DDR"; Program.sectMap[".switch"] = "DDR"; Program.sectMap[".data"] = "DDR"; Program.sectMap[".fardata"] = "DDR"; Program.sectMap[".args"] = "DDR"; Program.sectMap[".cio"] = "DDR"; Program.sectMap[".vecs"] = "DDR"; Program.sectMap["emacComm"] = "DDR" Program.sectMap[".far:taskStackSection"] = "DDR"; Program.sectMap[".stack"] = "DDR"; Program.sectMap[".far:IMAGEDATA"] = {loadSegment: "DDR", loadAlign: 8}; Program.sectMap[".far:NDK_OBJMEM"] = {loadSegment: "DDR", loadAlign: 8}; Program.sectMap[".far:NDK_PACKETMEM"] = {loadSegment: "DDR", loadAlign: 128}; Program.stack = 0x4000;
I am not familar with low level memory issue.
Can someone help me?
I found i didn't call I2c_init() before i called other i2c interface. After i fixed this bug. The error doesn't occur till now. I suggest it as the answer of this question. Thank u anyway for replying my question.