debugWIRE is designed as a simpler alternative to
JTAG, aimed at
microcontrollers (MCUs) with limited resources. It is supported by the classic
ATtiny and some smaller ATmega MCUs, such as the
ATmega328. 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. A
breakpoint (run-to-cursor) will be set by reprogramming the
BREAK opcode into the
flash memory of the MCU. Care must be taken due to the limited number of guaranteed write cycles (10000) of the device. To avoid reprogramming the flash use single-step or run-to-cursor which will use the single hardware breakpoint. == Programmer models ==