140
ATtiny25/45/85 [DATASHEET]
2586Q–AVR–08/2013
When designing a system where debugWIRE will be used, the following must be observed:
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.
Connecting the RESET pin directly to V
CC will not work.
Capacitors inserted on the RESET pin must be disconnected when using debugWire.
All external reset sources must be disconnected.
18.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 Stu-
dio through the debugWIRE interface. The use of Break Points will therefore reduce the Flash Data retention.
Devices used for debugging purposes should not be shipped to end customers.
18.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.
18.6
Register Description
The following section describes the registers used with the debugWire.
18.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
7
654321
0
DWDR7
DWDR6
DWDR5
DWDR4
DWDR3
DWDR2
DWDR1
DWDR0
DWDR
Read/Write
R/W
Initial Value
0
000000
0