Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ice-insight&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help