Как Вы помните, ранее нами была перепрошита плата преобразователя UART to USB для того, чтобы получить USB программатор USBtiny. USBtiny у нас получился, он отлично работает под AVRdude, но хочется большего – использовать его еще шире! Автор AVRtiny, вероятно, задавался такой же целью. В результате им была написана программа позволяющая использовать USBtiny в режиме совместимости с STK500/AVRISP. STK500/AVRISP является общепринятым программатором, поэтому он будет поддерживаться в любой среде программирования.
В общем это работает следующим образом:
Теперь я покажу как реализовать режим совместимости USBtiny с STK500/AVRISP. Следующее описание – перевод оригинальной статьи http://www.ladyada.net/make/usbtinyisp/stk500compat.html. Лично мной такой способ программирования не проверялся. Если уже кто-то работал при помощи такого эмулятора, обязательно поделитесь впечатлениями!
Если коротко, то режим совместимости реализуется так:
— устанавливается программа виртуального нуль-модема (com0com), которая создает два виртуальных COM порта, связанных между собой (при посылке сообщения одному оно появляется на другом). Один из виртуальных портов будет восприниматься средой программирования как STK500/AVRISP;
— устанавливается вторая программа USBtiny500 – которая преобразовывает сообщения среды программирования для USBtiny.
Теперь подробно:
1 Устанавливаем виртуальный нуль-модем (com0com)
Скачиваем программу или у меня:
com0com-2.2.2.0-i386-fre.zip (4658 Загрузок)
или с SourceForge.
Устанавливаем и запускаем.
Жмем Далее.
Важно! Снимаем CNCA0 <-> CNCB0 флажок!
Оставляем галочку «Launch the setup command prompt» (Запуск установки с командной строки), жмем финиш. Запустится программа в режиме командной строки.
Можно набрать в командной строке help для вывода списка команд.
Нам нужно установить два виртуальных порта, в первую очередь проверьте диспетчер устройств Start->Settings->Control Panel->System->Hardware (Пуск-> Настройка-> Панель управления-> Система-> Оборудование).
В закладке Ports смотрим список COM-портов. Запоминаем какие порта заняты. (в данном случае мы видим, что COM1 уже занят).
Набираем install PortName=COM2 PortName=COM6
-в первый PortName подставляем свободный (не занятый) COM-порт из диапазона COM1 — COM4 (в данном случае COM1 уже занят – ставим COM2);
-во второй PortName подставляем свободный (не занятый) COM-порт из диапазона COM5 – COM9 (в данном случае ставим COM6).
Запоминаем установленные порта – позже мы будем к ним обращаться.
После нажатия «Enter» появится сообщение в трее, о том, что найдено новое оборудование. Автоматически запустится установщик нового оборудования.
Выбераем «No not this time» (Нет, не сейчас), нажимаем кнопку Далее.
Выбираем «Установить автоматически» и нажимаем далее.
Возможно придется пройти эту процедуру дважды, для каждого COM-порта отдельно.
В Диспетчере устройств должны появится наши новые порта.
2 Устанавливаем среду программирования AVRStudio (или любую другую с поддержкой STK500).
— без особенностей.
3 Скачиваем USBtiny500.
Качаем или у меня:
usbtiny500_v0.2.zip (4709 Загрузок)
или со странички сайта источника.
Устанавливаем и запускаем USBtiny500.
Выбираем один из установленных нами виртуальных COM-портов (в данном случае COM6). Если выбрать несуществующий, то программа выдаст следующее предупреждение:
Далее программа попытается найти USBtiny. Если не найдет выдаст следующее сообщение:
Если оба COM-порта и USBtiny найдены – выведется сообщение о готовности к работе:
Далее, запускаем AVRStudio (или любую другую программу с поддержкой STK500). Открываем панель выбора программатора, выбираем AVRISP или STK500. В качестве порта на котором установлен программатор выбираем другой из установленных нами виртуальных COM-портов (в данном случае COM2).
Готово! Теперь Ваш микроконтроллер станет доступен для программирования через STK500/AVRISP.
Если возникают проблемы связи с микроконтроллером, проверьте питание (микроконтроллера), кварц (если микроконтроллер работает от внешнего задающего генератора), правильность подключения. Также при ошибках связи причиной может быть завышенная частота ISP – поменяете ее.
Смотрим еще:
Оригинальная статья на английском
Страничка эмулятора нуль-модема (com0com)
Статья по изготовлению USBtiny