A target interface is a mechanism for communicating with, and controlling, a target. A target can be either a physical hardware device or a software simulation of a device. CrossStudio has a Targets window for viewing and manipulating target interfaces. For more information, see Targets window.
Before you can use a target interface, you must connect to it. You can only connect to one target interface at a time. For more information, see Connecting to a target.
All target interfaces have a set of properties. The properties provide information on the connected target and allow the target interface to be configured. For more information, see Viewing and editing target properties.
The AVR simulator target interface provides access to CrossStudio's AVR simulator. This target interface supports program loading and debugging. The simulator supports the instruction set defined in ATMEL AVRInstruction Set – Rev. 0856B-06/99}. Additionally, the simulator will simulate EEPROM memory access and provides an extension mechanism to enable device simulation using JavaScript. The memory system simulated (flash, RAM, EEPROM) is defined by the Target processor property of the selected project in the active build configuration.
The JTAG ICE target interface provides access to Atmel's JTAG ICE Mk I. This target interface supports program loading and debugging, and access to the lock bits, fuse bits, and signature/calibration bytes immediately after connecting to the target.
The JTAGICE mkII target interfaces provide access to Atmel's JTAGICE mkII. Both USB and serial port host PC connections are supported, as is JTAG, debugWIRE, PDI, and ISP target connections. The JTAG, debugWIRE, PDI, and ISP target connections support program loading. The JTAG, debugWIRE, and PDI target connections support interactive debugging. The JTAG, PDI, and ISP connections support access to the lock bits, fuse bits, and signature/calibration bytes immediately after connecting to the target.
The AVRDragon target interfaces provide access to Atmel's AVRDragon. JTAG, debugWIRE, and ISP target connections are supported. The JTAG, debugWIRE, and ISP target connections support program loading. The JTAG and debugWIRE target connections support interactive debugging. The JTAG and ISP connections support access to the lock bits, fuse bits, and signature/calibration bytes. When debugging with the JTAG interface, three hardware breakpoints are available for use; however, one of these breakpoints will be needed for single stepping. Two of the hardware breakpoints can be used as data breakpoints. When debugging with the debugWIRE interface, no hardware breakpoints are available.
The Atmel STK500 high voltage target interface provides access to Atmel's STK500 high voltage programming. This target interface supports program loading and access to the fuse bits and lock bits.
The Atmel STK500-ISP target interface provides access to Atmel's STK500 ISP programming. This target interface supports program loading and access to the fuse bits and lock bits.
The Atmel STK500-ISP/AVRISP target interface provides access to Atmel's AVRISP programmer. This target interface supports program loading and access to the fuse bits and lock bits.
The Atmel AVRISP mkII target interface provides access to Atmel's AVRISP mkII programmer. This target interface supports program loading and access to the fuse bits and lock bits.
The Parallel Port Target Interface provides access to JTAG-based AVR devices via a PC parallel (printer) port JTAG cable. This target interface supports program loading and debugging and access to the fuse and lock bits. This target interface supports the MAXQ 10-pin connector and the ARM 20-pin connector with a suitable converter board.
The CrossConnect Target Interface provides access to JTAG-based AVR devices via a CrossConnect with a suitable converter board. This target interface supports program loading and debugging and access to the fuse and lock bits.
This target interface only supports program loading. To use this target interface, set the target options to connect and disconnect when debugging starts and stops, respectively. Then connect to the target interface, then disconnect from it. You can then press start without debugging, which will connect to the Arduino, download the application, and then disconnect from the target interface.
Note that you can set the Port Used By Target Interface Terminal Emulator property which will cause the Terminal Emulator to disconnect/reconnect when downloading.
The JTAG and PDI target connections support the Erase All target property. When Erase All is set to Yes, a chip erase is performed prior to download. If you wish to preserve the EEPROM, set the appropriate fuse bit. When the target property Erase All is set to No, program loading causes the relevant flash pages to be erased prior to programming. Note that, on JTAG MEGA devices, the page erasing (and subsequent programming) is done in debug mode and, as such, is considerably slower than when Erase All is set to Yes.
When debugging JTAG MEGA devices, you will have access to four hardware breakpoints—but one of them will be needed for single stepping. Two of the hardware breakpoints may be used as (byte-sized) data breakpoints or as an aligned powers of 2 range breakpoint.
When debugging XMEGA devices, you will have access to two hardware (byte-sized) data breakpoints that can also be used as a range data breakpoint. The two data breakpoints can have conditional data values, using the following breakpoint expressions:
Note that >= and < are implemented using > and <= and, as such, won't work for zero values.
The JTAGICE mkII and AVRDragon target interfaces provide support for software breakpoints, which are are used by default when setting program execute breakpoints. The target-interface property Hardware Breakpoints can be set to Yes to disallow setting software breakpoints.