debugWIRE — протокол последовательной передачи данных, разработанный фирмой Atmel и предназначенный для внутрисхемной отладки микроконтроллеров AVR.
Особенности debugWIRE разрабатывался как более дешёвая альтернатива JTAG, специально для процессоров с ограниченными ресурсами. Он поддерживается большинством современных 8-битных контроллеров AVR. Пользователь получает возможность чтения и записи всех областей памяти (FLASH, EEPROM, Fuse bits) и контроль над выполнением программы внутри контроллера (брэкпойнты в программной памяти). Однако протокол не поддерживает пошагового выполнения.
Протокол использует единственную двунаправленную линию Reset для входа и выхода данных.
Ограничения Программные точки останова формируются с помощью входящей в систему команд AVR команды Break. Интегрированная среда разработки обеспечивает сохранение оригинальной команды, заменяемой Break в памяти настольного компьютера, с последующим её восстановлением и продолжением исполнения программы. Таким образом использование программных точек останова тратит ограниченный ресурс данных микроконтроллеров — максимально возможное количество циклов записи стирания программной памяти. Нужно следить, чтобы отладчик не израсходовал его полностью.
Поскольку для отладки используется вход внешнего сброса RESET, становится невозможным проверять схемы внешнего сброса.
В момент останова процессора, чтобы не нарушить работу системы, надо соблюдать осторожность при обращении через отладчик к регистрам ввода-вывода.
В режиме с разрешённой отладкой потребляемая процессором мощность возрастает, поэтому не следует забывать по окончании отладки перевести fuse-переключатель DWEN в исходное состояние.
Поддерживаемые устройства ATmega48/V ATmega88/V ATmega168/V ATmega48A/PA/88A/PA/168A/PA/328/P ATtiny13/V ATtiny1634 ATtiny2313/V ATtiny24/ATtiny44/ATtiny84 ATtiny24A/ATtiny44A/ATtiny84A ATtiny25/V / ATtiny45/V / ATtiny85/V ATtiny261/V ATtiny461/V ATtiny861/V
Литература
Примечания
Ссылки Debug AVR applications using JTAG or debugWIRE interface
Категория:AVR