Content originally posted in LPCWare by DaveNadler on Mon Jul 11 15:39:20 MST 2011
[FONT=Arial]An update....
First, after some digging, I found that the FreeRTOS port
I'm using did not use PSP (process stack pointer) for tasks,
so the exception handler (which always uses PSP) was not
guaranteed a safe stack as both were using MSP (main stack).
I updated FreeRTOS to use PSP (actually, I made it a
configuration option). That was annoying.
Now, if I deliberately trigger an exception, the handler operates
as expected, and the IDE shows [/FONT][FONT=Arial]VECTPC in the Core Register
view as expected. Yea !
Unfortunately, my application now crashes infrequently.
I've pushed the CAN msg rate up to 200/second and it
takes a few minutes to die (it used to die fairly promptly).
Unfortunately, in this case:
[B]VECTPC is not shown in the Core Register pane.
How can I find [U]where[/U] the exception was caused ?
Trying this repeatedly, one time I got
VECTPC displaying 0x616c6974 - which is neither flash nor RAM.
[/B] Still hunting for the cause...
As always,
Thanks in advance for any tips,
Best Regards, Dave
[/FONT][FONT=Arial]
[/FONT]