4.5.1 AVR Device Interfaces

Note: If you are having problems with programming and debugging with AVR microcontroller devices that use the UPDI/PDI/TPI interfaces, check Engineering Technical Notes (ETNs) for your tool.

The AVR devices feature various programming and debugging interfaces. Check the device data sheet for supported interfaces of that device.

  • All AVR E/D devices and newer tinyAVR devices have a UPDI interface, which is used for programming and debugging. AVR E/D devices also have the SPI interface for in-system programming.
  • Some tinyAVR® devices have a TPI interface. TPI can be used for programming the device only. 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.
Table 4-3. Programming and Debugging Interfaces Summary
UPDI TPI SPI debugWIRE JTAG PDI
AVR E/D New devices New devices
tinyAVR New devices Some devices Some devices Some devices
megaAVR All devices Some devices Some devices
AVR XMEGA Some devices All devices