Драйвер Avr Dragon

22.07.2017

Драйвер Avr Dragon Average ratng: 3,5/5 1733votes

Страничка эмбеддера » AVR dragon. Семейство микроконтроллеров с архитектурой AVR стало де- факто стандартом для радиолюбительских поделок.

Я начинал изучать контроллеры именно с этого семейства, но и сейчас нередко использую их в домашних конструкциях. Вот уже более года для отладки прошивок я использую AVR dragon.

Два года программатор AVRDragon исправно работал под AVR Studio4. Инструменты и программное обеспечение AVR Dragon. Книга Стервозной Мудрости.

  • AVR Dragon – самый дешевый отладчик для микроконтроллеров AVR фирмы Atmel, поддерживающий debugWire. Чем отличается .
  • При проблеме с драйвером USB Jungo AVR Studio (и версии 4.19, и версии 5) не может подключиться через USB ни к AVR JTAGICE mkII
Драйвер Avr Dragon

AVR Dragon – самый дешевый отладчик для микроконтроллеров AVR фирмы Atmel, поддерживающий debug. Wire. Чем отличается программатор от отладчика? Программатор – это просто устройство, записывающее программу в контроллер.

Дальше программа исполняется сама по себе и если что- то пойдет не так, то узнать что именно — очень сложно. Отладчик позволяет остановить исполнение программы в любой точке и узнать значения всех переменных, регистров и вообще памяти, отладчик позволяет исполнять программу пошагово, посмотреть стек вызовов функций и кучу других полезностей. Вообщем, отладчик – это круто! Интерфесы. Чтобы было понятно, зачем мне нужно было покупать именно этот отладчик, а не собрать, к примеру, вот такой, кратко опишу разные интерфейсы программирования и отладки которые используются в контроллерах AVR. Инструкция По Эксплуатации Комбайна Джон Дир. ISP (In System Programming) – интерфейс внутрисхемного программирования, позволяет программировать контроллер не выпаивая из платы. Через ISP контроллер программируется с небольшой скоростью, но ISP обладает большим достоинством для начинающих – программатор для этого интерфейса состоит из четырех проводков.

Во многом благодаря этому интерфейсу, Atmel стал лидером любительских конструкций. Для того, чтобы запрограммировать контроллер, к нему нужно подключить 4 сигнала – MISO, MOSI, SCLK, RESET. HV prog – высоковольтное программирование.

Умеет очень быстро программировать контроллеры, используется при массовом выпуске, в любительской практике практически бесполезен. К контроллеру нужно подключить 1. PD. О нем уже очень много написано, поэтому повторяться не буду. Присутствует в контроллерах с большим количеством ножек. Требует подключения пяти сигналов (TCK, TDO, TMS, TDI, RESET). Wire – проприетарный отладочный интерфейс Atmel, который позволяет следить за внутренними процессами контроллера по одному проводу (RESET).

Так, как в любительской практике обычно используются контроллеры с маленьким количеством ножек, это просто замечательная альтернатива JTAG’у. К сожалению, Atmel немного испортил всю замечательность идеи тем, что debug. Wire на новых контроллерах отключен по умолчанию, и включается с помощью ISP интерфейса (тоесть, прийдется сначала подключить к контроллеру целых 4 контакта, включить debug. Wire, и только после этого можно отключить 3 контакта SPI). AVR Dragon позволяет отлаживать контроллеры с памятью до 3. Байт, а программировать умеет вообще все контроллеры AVR (кроме atxmega).

Конечно, за цену AVR dragon можно накупить очень много больших контроллеров ( 3. AVR JTAG ICE clone, так- что покупать дракона или нет – решать вам. Лично я люблю использовать хороший инструмент, поэтому купил. Debug. Wire. Практически все поделки я собираю на контроллерах: atmega. Это очень сбалансированные контроллеры!

Все они имеют debug. Wire интерфейс. Первая проблема, с которой я столкнулся, купив avr.

Dragon – как- же его подключить к контроллеру? Дело в том, что на самой плате отладчика выведена только колодка. На противоположной стороне нарисована карта расположения выводов, но как они согласуются – далеко не очевидно! Я разок ошибся с подключением,  поэтому выкладываю расположение контактов. Каждый сигнал нужно подключить к такому- же на контроллере. Сигнал VTG ( Target Voltage ) служит для подстройки логических уровней отладчика к логическим уровням отлаживаемого контроллера и подключается к напряжению его питания. Я долго искал проблему в драконе и проводах, а оказалось, просто дорожка к кварцу была повреждена.

Так как основное мое средство разработки все- же IAR, это меня совсем не радовало. К счастью, в последних версиях IAR’а скорость работы с debug.

Wire значительно увеличилась. Для подключения дракона к контроллерам, я спаял два проводка. Одни из них припаивается прямо к дорожкам, второй вставляется в разъем на плате. Так как на разъеме дракона нет ключа, я сделал свой – написал TOP. Кстати, провода очень удобно метить такой технологией – пишем маркером на термоусадке название сигнала и термоусаживаем ее – наши надписи теперь стали маленькие, красивенькие и ни за что не слезут с проводков! Теперь типичная последовательность действий. Запускаем IAR. В опциях проекта меняем отладчик на Dragon (Project- > Options- > Debugger, устанавливаем Dragon).

Подключаем дракона к плате, подаем питание. Теперь выбираем в меню Dragon- > Fuse Handler. Устанавливаем те фьюзы, которые нам нравятся, разрешаем debug. Wire (фьюз DWEN).

Отключаем питание, отключаем ISP от контроллера (можно и оставить, если SPI не используется), оставляем только RESET, VTG и GND подключенными. Включаем питание, жмем на кнопку “Download and Debug”. Вуаля: Если захочется поменять фюзы, придется опять подключить ISP контакты.

В подавляющем большинстве проектов SPI не используется, поэтому можно один раз подключиться и ничего не трогать. У дракона есть несколько опций (Project- > Options- > Debugger- > Dragon): Supress download – если поставите галочку, будет спрашивать вас – загружать новую программу в контроллер или оставить старую? Используется для (весьма сомнительной) экономии времени и ресурса флэш- памяти.

Allow download to RAM – иногда в процессе отладки, требуется сохранить данные ОЗУ, а потом загрузить их обратно в контроллер. Эта опция позволяет это сделать. Я никогда ей не пользовался, поэтому ничего толком сказать не могу. Target consistency check – проверяет правильность записанных данных. Эти опции используются редко и не очень важны, а вот на второй вкладке есть очень важная опция: Run timers in stopped mode – таймера контроллера продолжают работать, даже если программа остановлена. К примеру, это очень важно для ШИМов, если их остановить в непредвиденный момент, что- нибуть может выйти из строя.