||The topic of this article may not meet Wikipedia's general notability guideline. (November 2010)|
debugWIRE is designed as a simpler alternative to JTAG, aimed at processors with limited resources. It is supported by most modern 8-bit AVRs. By using debugWIRE one has full read and write access to all memory and full control over the execution flow. It supports single-step, run-to-cursor, step-out, and software break instructions. The single undocumented hardware breakpoint can be used by selecting run-to-cursor.
debugWIRE is supported by all modern debuggers from Atmel. This includes the Atmel-ICE, the JTAGICE3, the AVR Dragon and the JTAGICE mkII.
debugWIRE use a 1 wire open drain serial connection. The default baud rate used is AVR clock/128. Sending a BREAK will return 0x55 which is used to detect the baud rate. The AVR will return a BREAK when a breakpoint is hit or a collision is detected on the debugWIRE connection. 0x06 is used to disable debugWire and 0x07 to reset the AVR. 0xF0 returns the PC, 0xF3 the debugWIRE ID.