Programming headers

The ATxmega128A1 can be programmed and debugged by connecting an external programming/debugging tool to the JTAG and PDI header (J201). The header has a standard JTAG programmer pin-out (refer to online help in Atmel Studio), and tools like the JTAGICE mkII or AVR ONE! can thus be connected directly to the header. If it is desired to use PDI programming/debugging, an adapter must be used.

Due to physical differences of the JTAGICE mkII and AVR ONE! probes, the PCB has an cut-out below the JTAG and PDI header. This is to make room for the orientation tap on the JTAGICE mkII probe.

Because JTAG_TDO and PDI_DATA are connected on the PCB for this kit, JTAG must be disabled on the device in order to use PDI. The reason for this is that when JTAG is enabled it will enable a pull-up internally on TDO which interferes with the PDI initialization sequence.

The connection of JTAG_TDO with PDI_DATA is also an issue when the application on the device uses the JTAG_TDO pin e.g. by driving this pin actively or by using a pull-up. This will interfere with ongoing PDI communication. Additionally, when JTAG is disabled and the application is driving the JTAG_TDO pin it might even not be possible to establish a PDI connection. A workaround for this is to add a ~1k resistor from PDI_CLK/RESET to GND. This will keep the device in reset while PDI is enabled. When a PDI connection is established the flash can be erased or JTAG can be enabled in order to "unlock" the kit.

Table 1. XMEGA-A1 Xplained programming and debugging interface
Pin JTAG1 PDI2
1 TCK -
2 GND3 GND
3 TDO DATA
4 VCC3 VCC3
5 TMS -
6 nSRST CLK
7 - -
8 - -
9 TDI -
10 GND3 GND3

The Atmel AT32UC3B1256 can be programmed through its bootloader. The bootloader is evoked by shorting the J600 jumper before applying power to the board. The programming is performed through the FLIP plug-in in Atmel Studio (which can also be started as a standalone application).

FLIP (Flexible In-system Programmer) is free Atmel proprietary software that runs on Windows® 9x/Me/NT/2000/XP and Linux® x86. FLIP supports in-system programming of flash devices through RS232, USB, or CAN.

Alternatively, the AT32UC3B1256 can be programmed by connecting a programming tool, such as JTAGICE mkII, to test points TP600-607.

Note: It is not recommended to program the AT32UC3B1256 using an external programming tool, as this will erase the bootloader.
1

Standard pin-out for JTAGICE mkII and other Atmel programming tools

2

Requires adapter to connect a JTAGICE (refer to Atmel Studio help or use the squid cable provided with the JTAGICE if available)

3

It is only required to connect one VCC/GND pin pair3