AVR devices feature various programming and debugging interfaces. Check the
device datasheet for supported interfaces of that device.
- Some tinyAVR® devices have a TPI interface. TPI can be used for programming
the device only, and these devices do not have on-chip debug capability at
all.
- Some tinyAVR devices and some
megaAVR devices have the debugWIRE interface, which connects to an on-chip debug
system known as tinyOCD. All devices with debugWIRE also have the SPI interface
for in-system programming.
- Some megaAVR devices have a JTAG interface for programming and debugging, with
an on-chip debug system also known as megaOCD. All devices with JTAG also
feature the SPI interface as an alternative interface for in-system
programming.
- All AVR XMEGA devices have the PDI interface for programming and debugging.
Some AVR XMEGA devices also have a JTAG interface with identical
functionality.
- New tinyAVR devices have a UPDI
interface, which is used for programming and debugging
Table 1. Programming and Debugging
Interfaces Summary |
UPDI |
TPI |
SPI |
debugWIRE |
JTAG |
PDI |
aWire |
SWD |
tinyAVR |
New devices |
Some devices |
Some devices |
Some devices |
|
|
|
|
megaAVR |
|
|
All devices |
Some devices |
Some devices |
|
|
|
AVR XMEGA |
|
|
|
|
Some devices |
All devices |
|
|
AVR UC |
|
|
|
|
All devices |
|
Some devices |
|
SAM |
|
|
|
|
Some devices |
|
|
All devices |