Yahoo Groups archive

AVR-Chat

Index last updated: 2026-04-28 22:41 UTC

Message

Re: [AVR-Chat] Re: Project status report and question ...

2011-01-05 by wagnerj@proaxis.com

> --- 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

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.