> --- In AVR-Chat@yahoogroups.com, wagnerj@... wrote: >> I think this is an inherent limit due to JTAG debugging. >> You don't get history information out of JTAG. > Some ICE debuggers implement an execution trace buffer (JTAG does not) but > that is not what the OP was referring to. If the stack frames are set up > to support it, the debugging software can "walk" the stack to determine > the calling context, e.g. A called B called C called D where it hit the > breakpoint and stopped execution. Microsoft VisualStudio does this very > well for C/C++, showing the parameter values passed, the point at which > each nested invocation was called, etc. > > Breakpoints aren't particularly useful for debugging some types of > realtime systems, e.g. one in which you can't afford to stop the processor > for any significant amount of time. In these situations you have to > instrument your code to allow it either to record important data to be > examined at the end of a "run" or to output important data for analysis in > real time by another computer, e.g. a PC. Indicator LEDs and other types > of information displays may be useful as well when the system cannot be > stopped. > > Don Kinzer > ZBasic Microcontrollers > http://www.zbasic.net > > > > I have handled this by implementing a "real time trace buffer". I write certain information into the buffer (a constant indicating the function identity, and perhaps a key variable), and maybe a key variable on exit. It has been crucial to debugging protocol state machines for me. Jim Wagner
Message
Re: [AVR-Chat] Re: Project status report and question ...
2011-01-05 by wagnerj@proaxis.com
Attachments
- No local attachments were found for this message.