
281
8210C–AVR–09/11
Atmel AVR XMEGA D
23. Program and Debug Interface
23.1
Features
•
Programming
– External programming through PDI interface
Minimal protocol overhead for fast operation
Built-in error detection and handling for reliable operation
– Boot loader support for programming through any communication interface
•
Debugging
– Nonintrusive, real-time, on-chip debug system
– No software or hardware resources required from device except pin connection
– Program flow control
Go, Stop, Reset, Step Into, Step Over, Step Out, Run-to-Cursor
– Unlimited number of user program breakpoints
– Unlimited number of user data breakpoints, break on:
Data location read, write, or both read and write
Data location content equal or not equal to a value
Data location content is greater or smaller than a value
Data location content is within or outside a range
– No limitation on device clock frequency
•
Program and Debug Interface (PDI)
– Two-pin interface for external programming and debugging
– Uses the Reset pin and a dedicated pin
– No I/O pins required during programming or debugging
23.2
Overview
The Program and Debug Interface (PDI) is an Atmel proprietary interface for external program-
ming and on-chip debugging of a device.
The PDI supports fast programming of nonvolatile memory (NVM) spaces; flash, EEPOM, fuses,
lock bits, and the user signature row. This is done by accessing the NVM controller and execut-
ing NVM controller commands, as described in
”Memory Programming” on page 294
Debug is supported through an on-chip debug system that offers nonintrusive, real-time debug.
It does not require any software or hardware resources except for the device pin connection.
Using the Atmel tool chain, it offers complete program flow control and support for an unlimited
number of program and complex data breakpoints. Application debug can be done from a C or
other high-level language source code level, as well as from an assembler and disassembler
level.
Programming and debugging can be done through the PDI physical layer, which is available on
all devices. This is a two-pin interface that uses the Reset pin for the clock input (PDI_CLK) and
one other dedicated pin for data input and output (PDI_DATA). Any external programmer or on-
chip debugger/emulator can be directly connected to this interface. Unless otherwise stated, all
references to the PDI assume access through the PDI physical layer.