Abort Exception information

I am getting an exception…

Abort Exception
Thread Name: Handler Thread
Thread ID:54485244
Thread Stack Start Address:002F8990
Thread Stack End Address:002F998F
Link Register :0808F28C
Stack Pointer :0427ACA8
Current program status Register :20000097
Program Counter :00000000
R00:00000000 R01:00000011
R02:6E000159 R03:6E2CE128
R04:00000010 R05:002CDFC8
R06:6E000158 R07:002CDFC0
R08:00000000 R09:00206EA8
R10:0020722C R11:002F9908

Can someone tell me or point me to where I can find out how I can use this information to find out where exactly the program is crashing. Like for instance, what are all the R numbers? I assume they are return address values in the stack, but where in DigiESP can figure out what addresses equate to what C code? The “dissembly” screen shows threadx code, not my code (after the crash).


I see the same problem – the Net+OS exception handlers are not getting/preserving the offending code’s Program Counter.

Bruce Lueckenhoff

Taken from the NET+OS Programmer’s Guide, page 193:

> To diagnose an unexpected exception:
> 1 Put a breakpoint on customizeExceptionHandler.
> 2 When the breakpoint is reached, step into the routine until it sets customizeExceptionHandlerClearToContinue to TRUE.
> 3 Set customizeExceptionHandlerClearToContinue to 0.
> 4 Step through the routine until just before it returns.
> 5 Switch the debugger display to show assemble instructions.
> 6 Step through the code assembler instructions one at a time until the processor returns to the source of the exception.

Even though I’m using the ConnectCore 9C, I think the process will still be the same, or similar. You can find the customizeExceptionHandler in
etos72\src\bsp\customize\errhndlr.c, line 320.