Datasheet
28.10.3. PROG_ENABLE (0x4)
The AVR specific public JTAG instruction for enabling programming via the JTAG port. The 16-bit
Programming Enable Register is selected as data register. The active states are the following:
• Shift-DR: the programming enable signature is shifted into the data register.
• Update-DR: the programming enable signature is compared to the correct value, and Programming
mode is entered if the signature is valid.
28.10.4. PROG_COMMANDS (0x5)
The AVR specific public JTAG instruction for entering programming commands via the JTAG port. The 15-
bit Programming Command Register is selected as data register. The active states are the following:
• Capture-DR: the result of the previous command is loaded into the data register.
• Shift-DR: the data register is shifted by the TCK input, shifting out the result of the previous
command and shifting in the new command.
• Update-DR: the programming command is applied to the Flash inputs.
• Run-Test/Idle: one clock cycle is generated, executing the applied command.
28.10.5. PROG_PAGELOAD (0x6)
The AVR specific public JTAG instruction to directly load the Flash data page via the JTAG port. The
2048-bit Virtual Flash Page Load Register is selected as data register. This is a virtual scan chain with
length equal to the number of bits in one Flash page. Internally the Shift Register is 8-bit. Unlike most
JTAG instructions, the Update-DR state is not used to transfer data from the Shift Register. The data are
automatically transferred to the Flash page buffer byte by byte in the Shift-DR state by an internal state
machine. This is the only active state:
• Shift-DR: Flash page data are shifted in from TDI by the TCK input, and automatically loaded into
the Flash page one byte at a time.
Note: 1. The JTAG instruction PROG_PAGELOAD can only be used if the AVR device is the first device
in JTAG scan chain. If the AVR cannot be the first device in the scan chain, the byte-wise programming
algorithm must be used.
28.10.6. PROG_PAGEREAD (0x7)
The AVR specific public JTAG instruction to read one full Flash data page via the JTAG port. The 2056-bit
Virtual Flash Page Read Register is selected as data register. This is a virtual scan chain with length
equal to the number of bits in one Flash page plus 8. Internally the Shift Register is 8-bit. Unlike most
JTAG instructions, the Capture-DR state is not used to transfer data to the Shift Register. The data are
automatically transferred from the Flash page buffer byte by byte in the Shift-DR state by an internal state
machine. This is the only active state:
• Shift-DR: Flash data are automatically read one byte at a time and shifted out on TDO by the TCK
input. The TDI input is ignored.
Note: 1. The JTAG instruction PROG_PAGEREAD can only be used if the AVR device is the first device
in JTAG scan chain. If the AVR cannot be the first device in the scan chain, the byte-wise programming
algorithm must be used.
28.10.7. Data Registers
The data registers are selected by the JTAG instruction registers described in section Programming
Specific JTAG Instructions. The data registers relevant for programming operations are:
• Reset Register
Atmel ATmega644A [DATASHEET]
Atmel-42716C-ATmega644A_Datasheet_Complete-10/2016
383