202
2513L–AVR–03/2013
ATmega162/V
On-chip debug
specific JTAG
instructions
The On-chip debug support is considered being private JTAG instructions, and distributed within
ATMEL and to selected 3rd party vendors only. Instruction opcodes are listed for reference.
PRIVATE0; 0x8
Private JTAG instruction for accessing On-chip debug system.
PRIVATE1; 0x9
Private JTAG instruction for accessing On-chip debug system.
PRIVATE2; 0xA
Private JTAG instruction for accessing On-chip debug system.
PRIVATE3; 0xB
Private JTAG instruction for accessing On-chip debug system.
On-chip Debug
Related Register in
I/O Memory
On-chip Debug
Register – OCDR
The OCDR Register provides a communication channel from the running program in the micro-
controller to the debugger. The CPU can transfer a byte to the debugger by writing to this
location. At the same time, an internal flag; I/O Debug Register Dirty – IDRD – is set to indicate
to the debugger that the register has been written. When the CPU reads the OCDR Register the
7 LSB will be from the OCDR Register, while the MSB is the IDRD bit. The debugger clears the
IDRD bit when it has read the information.
In some AVR devices, this register is shared with a standard I/O location. In this case, the OCDR
Register can only be accessed if the OCDEN Fuse is programmed, and the debugger enables
access to the OCDR Register. In all other cases, the standard I/O location is accessed.
Refer to the debugger documentation for further information on how to use this register.
Using the JTAG
Programming
Capabilities
Programming of AVR parts via JTAG is performed via the 4-pin JTAG port, TCK, TMS, TDI and
TDO. These are the only pins that need to be controlled/observed to perform JTAG program-
ming (in addition to power pins). It is not required to apply 12V externally. The JTAGEN Fuse
must be programmed and the JTD bit in the MCUSR Register must be cleared to enable the
JTAG Test Access Port.
The JTAG programming capability supports:
Flash programming and verifying.
EEPROM programming and verifying.
Fuse programming and verifying.
Lock bit programming and verifying.
The Lock bit security is exactly as in parallel programming mode. If the Lock bits LB1 or LB2 are
programmed, the OCDEN Fuse cannot be programmed unless first doing a chip erase. This is a
security feature that ensures no backdoor exists for reading out the content of a secured device.
The details on programming through the JTAG interface and programming specific JTAG
Bit
7
654
321
0
MSB/IDRD
LSB
OCDR
Read/Write
R/W
Initial Value
0