I am getting an exception…
Thread Name: Handler Thread
Thread Stack Start Address:002F8990
Thread Stack End Address:002F998F
Link Register :0808F28C
Stack Pointer :0427ACA8
Current program status Register :20000097
Program Counter :00000000
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.
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.