I'm new to MQX and am running into problems here and there, and I'm sure there will be more! I was hoping that members of the community can share some of their special debugging techniques with MQX.
I am aware of the Task Aware Debugging (TAD) feature and have added it to KDS 2.0 (I haven't migrated to KDS 3.0 yet). But other than this, what else is there? I have read about enabling the Kernel Logging feature, but have only seen that with the older MQX component. Since PEx now has MQX as an OSA selection, I no longer see Kernel Logging in the parameter list.
I'd also like to see my stack usage over time, but whenever I go to MQX -> Stack usage, it just says "Stack usage information not found!". I've had cases where my application locks up, and when I increase my stack space, my problem goes away. I can only assume that this is okay, since I don't use dynamic memory allocation and don't have to worry about memory leaks. I got lucky this time, because the way the error manifested itself was with a troubling message when I paused execution:
How do I enable Stack Usage information?
Furthermore, what about the case where an application locks up, and it's not a stack space issue? How do you go about figuring out what happened? I left my application running overnight, and when I came back to it this morning, it was frozen. The green D2 LED on my FRDM-K64F was blinking steadily, but this doesn't tell me much because that LED is controlled by the K20 onboard. I couldn't pause execution, because the debugger had completely lost connection to the board somehow.
And what about catching Hard Fault errors? I tried to follow Erich Styger's informative post on mcuoneclipse, but I have enabled Unhandled vectors -> "Own handler for every", and now I can't figure out where those handlers reside.
I'm looking forward to hearing what everyone else does, as well as hopefully getting feedback on how to enable the debugging features that I have mentioned above. Thank you!