MAN page from openSUSE Leap 42 avarice-2.13-07.1.x86_64.rpm
Section: User Commands (1)
Updated: August 22, 2003Index
ice-gdb - JTAG ICE frontend for avr-gdb
ice-insight - JTAG ICE frontend for avr-insight
to do on-chip debugging on Atmel AVR processors using their JTAG-basedon-chip debug facilities, via the Atmel JTAG ICE pod.
The executable for the program being debugged is downloaded to theprocessor unless the--captureoption is specified. A number of extra commands are available within gdbwhen started, see their description in NEW GDB COMMANDS below. Restrictionson debugging with the JTAG ICE pod are discussed in more detail in DEBUGGINGWITH JTAG ICE below.
The arguments passed toavariceinclude the value of theAVARICE_ARGSenvironment variable. This is typically used to specify the serial port towhich the JTAG ICE pod is connected by settingAVARICE_ARGSto "-j <serial port name>".
- --debugger debugger_command
- Specify a different debugger than avr-gdb (or avr-insight). This otherdebugger should behave similarly to gdb.
- Don't download the executable being debugged to the mote, just interrupt thecurrent program and assume that it matches the executable passed toice-gdb.This is similar to "attaching" to a running program within gdb.
- Pass the--ignore-introption toavarice.The single-step commands in gdb (s, n) will then "step over" interrupthandlers (i.e., if an interrupt occurs, execution will resume for theduration of the interrupt).
- Do not startavarice.Instead,avr-gdbwill attempt to connect to an already runningavariceon port localhost:6423.
NEW GDB COMMANDS
- Restart avarice.
- ice-load filename
- Download executable filename to the Atmel processor and start debugging it(this replaces the gdbloadcommand).
- Connect to a copy ofavaricerunning on port localhost:6423.
DEBUGGING WITH JTAG ICE
The JTAG ICE debugging environment has a few restrictions and changes:
- No "soft" breakpoints, and only three hardware breakpoints. The breakcommand sets hardware breakpoints. The easiest way to deal with thisrestriction is to enable and disable breakpoints as needed.
- Two 1-byte hardware watchpoints (but each hardware watchpoint takes awayone hardware breakpoint). If you set a watchpoint on a variable which takesmore than one byte, execution will be abysmally slow. Instead it is betterto do the following:
- watch *(char *)&myvariable
- which watches the least significant byte ofmyvariable.
- The Atmel AVR processors have a Harvard architecture (separate code anddata buses). To distinguish data address 0 from code address 0,avr-gdbadds 0x800000 to all data addresses. Bear this in mind when examiningprinted pointers, or when passing absolute addresses to gdb commands.
- Extra arguments to pass toavariceat startup.
On Windows, theice-gdb
commands only work in thecygwin
environment. They do not work with themingw
- NEW GDB COMMANDS
- DEBUGGING WITH JTAG ICE
- SEE ALSO
This document was created byman2html,using the manual pages.