FreeBSD Manual Pages
ice-gdb(1) General Commands Manual ice-gdb(1) NAME ice-gdb - JTAG ICE frontend for avr-gdb ice-insight - JTAG ICE frontend for avr-insight SYNOPSIS ice-gdb/ice-insight [--debugger debugger] [--capture] [--ignore-intr] [--external] [gdb_arguments] DESCRIPTION ice-gdb (respectively ice-insight) starts avr-gdb (respectively avr-in- sight) and avarice to do on-chip debugging on Atmel AVR processors using their JTAG-based on-chip debug facilities, via the Atmel JTAG ICE pod. The executable for the program being debugged is downloaded to the proces- sor unless the --capture option is specified. A number of extra commands are available within gdb when started, see their description in NEW GDB COMMANDS below. Restrictions on debugging with the JTAG ICE pod are dis- cussed in more detail in DEBUGGING WITH JTAG ICE below. The arguments passed to avarice include the value of the AVARICE_ARGS envi- ronment variable. This is typically used to specify the serial port to which the JTAG ICE pod is connected by setting AVARICE_ARGS to "-j <serial port name>". OPTIONS --debugger debugger_command Specify a different debugger than avr-gdb (or avr-insight). This other debugger should behave similarly to gdb. --capture Don't download the executable being debugged to the mote, just in- terrupt the current program and assume that it matches the exe- cutable passed to ice-gdb. This is similar to "attaching" to a run- ning program within gdb. --ignore-intr Pass the --ignore-intr option to avarice. The single-step commands in gdb (s, n) will then "step over" interrupt handlers (i.e., if an interrupt occurs, execution will resume for the duration of the in- terrupt). --external Do not start avarice. Instead, avr-gdb will attempt to connect to an already running avarice on port localhost:6423. NEW GDB COMMANDS ice-restart Restart avarice. ice-load filename Download executable filename to the Atmel processor and start debug- ging it (this replaces the gdb load command). target-ice Connect to a copy of avarice running 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 break command sets hardware breakpoints. The easiest way to deal with this restriction is to enable and disable breakpoints as needed. * Two 1-byte hardware watchpoints (but each hardware watchpoint takes away one hardware breakpoint). If you set a watchpoint on a variable which takes more than one byte, execution will be abysmally slow. In- stead it is better to do the following: watch *(char *)&myvariable which watches the least significant byte of myvariable. * The Atmel AVR processors have a Harvard architecture (separate code and data buses). To distinguish data address 0 from code address 0, avr-gdb adds 0x800000 to all data addresses. Bear this in mind when examining printed pointers, or when passing absolute addresses to gdb commands. ENVIRONMENT AVARICE_ARGS Extra arguments to pass to avarice at startup. SEE ALSO gdb(1), insight(1). BUGS On Windows, the ice-gdb and ice-insight commands only work in the cygwin environment. They do not work with the mingw environment. August 22, 2003 ice-gdb(1)
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | NEW GDB COMMANDS | DEBUGGING WITH JTAG ICE | ENVIRONMENT | SEE ALSO | BUGS
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ice-gdb&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>
