Программатор – это просто устройство, записывающее программу в контроллер. Дальше программа исполняется сама по себе и если что-то пойдет не так, то узнать что именно — очень сложно. Отладчик позволяет остановить исполнение программы в любой точке и узнать значения всех переменных, регистров и вообще памяти, отладчик позволяет исполнять программу пошагово, посмотреть стек вызовов функций и кучу других полезностей. Вообщем, отладчик – это круто!
Интерфесы
ISP (In System Programming) – интерфейс внутрисхемного программирования, позволяет программировать контроллер не выпаивая из платы. Через ISP контроллер программируется с небольшой скоростью, но ISP обладает большим достоинством для начинающих – программатор для этого интерфейса состоит из четырех проводков. Во многом благодаря этому интерфейсу, Atmel стал лидером любительских конструкций. Для того, чтобы запрограммировать контроллер, к нему нужно подключить 4 сигнала – MISO, MOSI, SCLK, RESET.
HV prog – высоковольтное программирование. Умеет очень быстро программировать контроллеры, используется при массовом выпуске, в любительской практике практически бесполезен. (может быть использован для восстановления ISP, если вы его случайно отключили по невнимательности). К контроллеру нужно подключить 18 сигналов — PD[7…0], PC[7…0], XTAL, RESET.
JTAG – самый широко используемый отладочный интерфейс. Присутствует в контроллерах с большим количеством ножек. Требует подключения пяти сигналов (TCK, TDO, TMS, TDI, RESET).
debugWire – проприетарный отладочный интерфейс Atmel, который позволяет следить за внутренними процессами контроллера по одному проводу (RESET). Так, как в любительской практике обычно используются контроллеры с маленьким количеством ножек, это просто замечательная альтернатива JTAG’у.
К сожалению, Atmel немного испортил всю замечательность идеи тем, что debugWire на новых контроллерах отключен по умолчанию, и включается с помощью ISP интерфейса (тоесть, прийдется сначала подключить к контроллеру целых 4 контакта, включить debugWire, и только после этого можно отключить 3 контакта SPI).