AVR1612: PDI programming driver
Features
•
PDI driver for devices with PDI programming interface as target MCU’s
•
PDI instruction set and timing
•
Programming application example for ATAVRXPLAIN/AT90USB1287
-
Chip erase
-
Write and read application flash
-
Write and read EEPROM
-
Read and write Fuses
-
Read and write lock-bits
-
Read target device id
1 Introduction
The Program and Debug Interface (PDI) is an Atmel
®
proprietary interface for
external programming and on-chip debugging of the device.
The PDI supports high-speed programming of all Non-Volatile Memory (NVM)
spaces; Flash, EEPOM, Fuses, Lock-bits and the User Signature Row. This is
done by accessing the NVM Controller trough the PDI interface, and executing
NVM Controller commands.
The PDI is a 2-pin interface using the Reset pin for the clock input (PDI_CLK), and
the dedicated pin for data input and output (PDI_DATA).
This application note describes how to implement PDI programming. It is based on
the Atmel Xplain evaluation board and clarifies the protocol and timing of the PDI
programming. Please also refer to application note
shows the Xplain PDI programming block diagram. The firmware of
the application is for the Atmel AT90USB1287 microcontroller; however it can be
easily ported to other Atmel’s chip that features USART.
Figure 1-1.
Xplain PDI Programming block diagram.
AT90USB1287
ATxmega128A1
PDI
8-bit
Microcontrollers
Application Note
Rev. 8282A-AVR-11/10