Datasheet

213
ATtiny828 [DATASHEET]
8371A–AVR–08/12
When designing a system where debugWIRE will be used, the following must be observed:
z Pull-Up resistor on the dW/(RESET) line must be in the range of 10k to 20 kΩ. However, the pull-up resistor is
optional.
z Connecting the RESET pin directly to V
CC
will not work.
z Capacitors inserted on the RESET pin must be disconnected when using debugWire.
z All external reset sources must be disconnected.
20.4 Software Break Points
debugWIRE supports Program memory Break Points by the AVR Break instruction. Setting a Break Point in AVR Studio
®
will insert a BREAK instruction in the Program memory. The instruction replaced by the BREAK instruction will be stored.
When program execution is continued, the stored instruction will be executed before continuing from the Program
memory. A break can be inserted manually by putting the BREAK instruction in the program.
The Flash must be re-programmed each time a Break Point is changed. This is automatically handled by AVR Studio
through the debugWIRE interface. The use of Break Points will therefore reduce the Falsh Data retention. Devices used
for debugging purposes should not be shipped to end customers.
20.5 Limitations of debugWIRE
The debugWIRE communication pin (dW) is physically located on the same pin as External Reset (RESET). An External
Reset source is therefore not supported when the debugWIRE is enabled.
The debugWIRE system accurately emulates all I/O functions when running at full speed, i.e., when the program in the
CPU is running. When the CPU is stopped, care must be taken while accessing some of the I/O Registers via the
debugger (AVR Studio). See the debugWIRE documentation for detailed description of the limitations.
The debugWIRE interface is asynchronous, which means that the debugger needs to synchronize to the system clock. If
the system clock is changed by software (e.g. by writing CLKPS bits) communication via debugWIRE may fail. Also,
clock frequencies below 100kHz may cause communication problems.
A programmed DWEN Fuse enables some parts of the clock system to be running in all sleep modes. This will increase
the power consumption while in sleep. Thus, the DWEN Fuse should be disabled when debugWire is not used.
20.6 Register Description
The following section describes the registers used with the debugWire.
20.6.1 DWDR – debugWire Data Register
The DWDR Register provides a communication channel from the running program in the MCU to the debugger. This
register is only accessible by the debugWIRE and can therefore not be used as a general purpose register in the normal
operations.
Bit 76543210
0x31 (0x51) DWDR[7:0] DWDR
Read/Write R/WR/WR/WR/WR/WR/WR/WR/W
Initial Value 0 0 0 0 0 0 0 0