отладкаПРОВОД
debugWIRE — это протокол последовательной связи, разработанный компанией Atmel . Он используется для внутрикристальной отладки микроконтроллеров AVR .
Протокол
[ редактировать ]debugWIRE разработан как более простая альтернатива JTAG , ориентированная на микроконтроллеры (MCU) с ограниченными ресурсами. Он поддерживается классическими микроконтроллерами ATtiny и некоторыми меньшими микроконтроллерами ATmega, такими как ATmega328 . Используя debugWIRE, вы получаете полный доступ на чтение и запись ко всей памяти и полный контроль над потоком выполнения. Он поддерживает одношаговые инструкции, инструкции запуска к курсору, пошагового выхода и прерывания программного обеспечения. Точка останова (переход к курсору) будет установлена путем перепрограммирования BREAK. [1] код операции во флэш-память микроконтроллера. Необходимо соблюдать осторожность из-за ограниченного количества гарантированных циклов записи (10000) устройства. [2]
Модели программатора
[ редактировать ]debugWIRE поддерживается всеми современными аппаратными отладчиками от Microchip . Сюда входят Atmel-ICE, [3] JTAGICE3, AVR Dragon, JTAGICE mkII и SNAP. [4] Также возможно создать дешевый аппаратный отладчик debugWIRE. [5] с открытым исходным кодом на основе эскиза Arduino . [6]
спецификации debugWIRE
[ редактировать ]debugWIRE активируется установкой (программированием на ноль) предохранителя DWEN (включение отладки), обычно расположенного в старшем байте предохранителя. После этого действия функция вывода /RESET больше не доступна и протокол ISP нельзя использовать.debugWIRE можно отключить с помощью любого из упомянутых отладчиков, отправив специальную команду сброса, которая временно отключает функцию debugWIRE и повторно включает /RESET, а также ISP до следующего цикла выключения питания. debugWIRE не может программировать предохранители устройства.Если вы хотите навсегда отключить debugWIRE, вам придется временно отключить эту функцию и запрограммировать предохранитель, используя доступную теперь функцию ISP. [7] debugWIRE использует 1-проводное последовательное соединение с открытым стоком . По умолчанию используется скорость передачи данных MCU clock/128. Отправка BREAK вернет 0x55, который используется для определения скорости передачи данных. MCU вернет BREAK при достижении точки останова или обнаружении коллизии в соединении debugWIRE. 0x06 используется для отключения debugWIRE и повторного включения /RESET и ISP, 0x07 сбрасывает MCU, 0xF0 возвращает ПК, 0xF3 — идентификатор debugWIRE. [8] [9] [10]
Ссылки
[ редактировать ]- ^ Руководство по набору инструкций AVR
- ^ ATtiny25-ATtiny45-ATtiny85_Datasheet-Summary.pdf
- ^ Атмель-ICE
- ^ Внутрисхемный отладчик MPLAB SNAP
- ^ Аппаратный отладчик debugWIRE менее чем за 10 евро.
- ^ dw-link — отладчик debugWIRE на базе Arduino.
- ^ статья debugWIRE (на немецком языке)
- ^ Протокол debugWIRE
- ^ Простой автономный отладчик debugWIRE (с открытым исходным кодом)
- ^ Производители микрочипов (25 ноября 2015 г.). «Расширенная отладка с помощью плат Arduino» – через YouTube.