программаторы — BLOGS-IT.RU http://www.blogs-it.ru Компьютеры и электроника: о разработке программного обеспечения Mon, 06 May 2013 06:15:20 +0000 ru-RU hourly 1 https://wordpress.org/?v=4.7.3 Использование AVR JTAGICE3 в среде AVR Studio 5 http://www.blogs-it.ru/mikrokontrollery-avr/ispolzovanie-avr-jtagiceiii-v-srede-avr-studio-5/ http://www.blogs-it.ru/mikrokontrollery-avr/ispolzovanie-avr-jtagiceiii-v-srede-avr-studio-5/#comments Tue, 18 Sep 2012 08:19:21 +0000 http://www.blogs-it.ru/?p=415 Данный материал также актуален и для ATMEL Studio 6.

После того как вы подключите к компьютеру программатор AVR JTAGICE3 и установите драйверы в среде разработки AVR Studio 5 (или ATMEL Studio 6) у вас появится возможность использовать в качестве отладчика это замечательное устройство. В данной статье я предоставил информацию о том как начать использовать данный отладчик и понять как он работает. Имея опыт работы с этим устройством я обнаружил ряд особенностей, которые, лично у меня, поначалу сеяли ряд сомнений относительно того насколько JTAGICE3 адекватен собственной стоимости (ведь он достаточно дорогой и хочется ждать от него гораздо большего). Но сомнения эти, в общем, со временем улетучились и на данный момент я полностью доволен этим устройством, а чтобы у вас не создавалось подобных сомнений хочу поделиться данным материалом.

Итак, если вы уже уверены, что вас устраивает именно JTAGICE3 (см. характеристики AVR JTAGICE3) или если вы еще сомневаетесь в этом можем приступать.

Начало использования AVR JTAGICE3

Примечание: когда опрос включен в запись, пожалуйста

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

Также отмечу, что программатор в нашем случае будет более корректно называть отладчик, т.к. во-первых, функция отладки у этого устройства является его основным достоинством (возможно, ради которого мы на него и запали), а во-вторых, будем придерживаться терминологии, принятой в среде разработки, где он называется Debugger.

Итак, рассмотрим первый этап:

Создание тестового проекта в AVR Studio

Если у вас уже имеется проект, то вы можете просто пропустить этот пункт и произвести дальнейшие действия на вашем проекте. Если вы еще не создавали ни одного проекта AVR Studio я распишу как это сделать, потому что хоть это и может быть кому-то смешно, но пытаясь опробовать отладчик JTAGICE3 я долго не мог разобраться как создать новый пустой проект в AVR Studio, даже несмотря на то что я с оболочкой Microsoft Visual Studio, на которой основана AVR Studio работаю уже более 10 лет.

Создадим тестовый проект в среде разработки. Пусть это будет пустой проект — выбираем в меню Файл->Создать->Проект… или просто нажимаем Ctrl+Shift+N и в открывшемся окне выбираем «Empty AVR GCC Project» как это показано на следующем видео:

К сожалению, продемонстрировать не могу, т.к. у меня в AVR Studio указанный пункт отсутствует и окно «Создать проект» у меня выглядит следующим образом:

У кого такая же петрушка пишите в комменты, решение есть, а мы поехали дальше.

Настройка отладчика в среде разработки

На данном этапе мы имеем созданный проект в среде AVR Studio, при создании проекта мы указали тип микроконтроллера (надеюсь вы выбрали совместимый тип микроконтроллера с описываемым в данной статье отладчиком). Также к разъему USB компьютера подключен наш отладчик.

Давайте попробуем как будет среда разработки взаимодействовать с подключенным устройством. Для этого подсоединим отладчик к имеющейся у вас плате и включим ее питание. Если отладчик увидит подключенную плату, то он отобразит это загоревшимся зеленым индикатором (из трех индикаторов он расположен слева). Если лампочка загорелась, ок — можно пробовать подключаться к отладчику.

Выбираем в среде разработке в меню Сервис пункт AVR Programming. На экране отобразится следующее окно:

В выпадающем списке Tool выберите Jtagice3. Если вы не видите его в списке, значит скорее всего у вас проблемы с установкой драйверов для этого устройства или вы его забыли подключить к компьютеру.

В выпадающем списке Device укажите тип вашего микроконтроллера, ну и укажите интерфейс по которому вы подключили программатор к своему устройству. Предполагаю, что вы выберите JTAG.

После этого нажимаем кнопку Apply и ждем обмена данными компьютера с программатором. Что мы должны увидеть на экране? Компьютер должен загрузить сведения с программатора и отобразить список доступных вкладок на экране:

Первые три вкладки Interface settings, Tool Information и Device Information относятся к программатору и указанному типу микроконтроллера. Если вы правильно подключили программатор, то компьютер успешно соединится с программатором и получит сведения для данных вкладок при нажатии кнопки Apply.

Рассмотрим опции на вкладках Interface settings, Tool Information и Device Information подробнее.

Опции на вкладке Interface settings

Здесь мы видим параметры настроек интерфейса отладчика. Ползунок JTAG Clock задает скорость интерфейса JTAG. Чем выше этот показатель, тем выше скорость обмена данными между отладчиком и микроконтроллером во время отладки программы. Но следует иметь ввиду, что указанная частота не должна превышать 1/4 частоты на которой будет работать сам микроконтроллер. Т.е. если ваш микроконтроллер работает на частоте 8 МГц, то выставляйте параметр JTAG Clock не больше 2 МГц, иначе будут проблемы с синхронизацией отладчика с вашим микроконтроллером.

Используйте галочку «Use external reset» если по каким либо причинам вам необходимо запретить отладчику посылать команду сброса микроконтроллера. Вместо этого вам необходимо будет производить сброс микроконтроллера иными способами, которые у вас должны быть предусмотрены. Актуально, если, к примеру, логике вашей программы принципиально, чтобы отладчик не прерывал исполнение программы.

Опции Daisy chain трогать не будем, т.к. они касаются гирляндных (или шлейфовых) соединений устройств, что относится к достаточно продвинутым параметрам, которые мы не будем использовать.

Опции на вкладке Tool Information

На вкладке отображаются сведения о вашем отладчике — наименование устройства, версия прошивки, серийный номер и прочее.

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

Опции вкладки Device Information

На данной вкладке содержатся сведения о типе микроконтроллера, который вы выбрали. Если отладчик смог соединиться с вашей платой, то он должен на этой вкладке отобразить также некоторые сведения о конкретном микроконтроллере, установленном на вашей плате — такие как сигнатура устройства, JTAG ID, ревизия. В данном примере мы не будем использовать эти сведения.

Следующие три вкладки Memories, Fuses и Lock Bits расписывать подробно не буду — это совершенно привычные опции по управлению памятью, фьюзами и битами блокировки микроконтроллера информацию о которых можно почерпнуть в других источниках.

Единственное, скажу только что вкладки Fuses и Lock Bits будут доступны только в том случае если отладчик успешно смог соединиться с микроконтроллером и, поэтому при нажатии на эти вкладки сведения о текущих параметрах предварительно загружаются с микроконтроллера.

Ну а если выскакивает ошибка при нажатии на эти вкладки, значит ищите проблемы. А в какой последовательности их искать рассмотрим далее.

Возможные проблемы и способы решения

Для выявления возможных проблем с подключением отладчика и отлаживаемых модулей удобнее всего использовать окно AVR Programming, о котором шла речь выше. Рассмотрим последовательность действий для выявления наиболее типичные проблем с подключением отладочных устройств.

Во-первых убедимся, что все подключено и все включено. Также важно перед тем как вы откроете окно AVR Programming убедиться что вы вышли из режима отладки. Иначе вы будете получать ошибки на все попытки обращения к отладчику.

Открываем окно AVR Programming, выбираем программатор, микроконтроллер и интерфейс и жмем кнопку Apply. Если у вас отобразились вкладки, значит отладчик успешно найден и подключен правильно. Если все сделали правильно, а отладчик ругается на таймауты, то настало время перезагрузить AVR Studio (заодно, на всякий случай, отключите разъем USB программатора и снова воткните его в компьютер), теперь все снова должно заработать.

Теперь начинаем проверять, получается ли у отладчика связаться с вашим модулем. Для этого еще раз убедитесь, что отладчик правильно подключен к вашему модулю, у модуля включено питание и у отладчика горит зеленый индикатор слева. Если все так, то проверяем получается ли у отладчика связаться с микроконтроллером. Нажмем на кнопку Read, расположенную рядом с Device Id. Если отобразится в поле сигнатура устройства, то значит все ОК, отладчик и микроконтроллер, в принципе готовы к работе, если нет проверяем питание на разъеме JTAG — нажимаем кнопку Read, расположенную около Target Voltage. Посмотрите уровень напряжения, который измерил отладчик. Если он соответствует схеме модуля, то проблема в разъемах, схеме или сдох микроконтроллер. Необходимо все это проверить, после чего повторить.

Ну вроде это все. Если у вас возникли иные проблемы напишите о них в комментариях. Продолжение, думаю, следует.

]]>
http://www.blogs-it.ru/mikrokontrollery-avr/ispolzovanie-avr-jtagiceiii-v-srede-avr-studio-5/feed/ 1
Программаторы AVR http://www.blogs-it.ru/mikrokontrollery-avr/programmatory/ http://www.blogs-it.ru/mikrokontrollery-avr/programmatory/#respond Wed, 12 Sep 2012 05:40:01 +0000 http://www.blogs-it.ru/?p=398 Представлю набор программаторов, которые должны представлять наибольший интерес у разработчиков программ под 8-разрядные микроконтроллеры AVR компании Atmel.

Сводная таблица программаторов AVR

Наименование программатора Уровень Описание
 AVRprog 

программатор

 бюджетный, самоделка  Простейший ISP-программатор, работающий по последовательному порту.Поделка доверия не внушает, похоже проект сдох и нет гарантии что штука заработает под ваш микроконтроллер, потому как программа-прошивалка самописная (есть исходники на Делфи). Тем не менее схемка очень простая, поэтому может кому пригодится. 

Аппаратная часть программатора состоит из MAX232A, 6 конденсаторов 10нФ, 10КОм-ного резистора и кнопочки.

 JTAGICE mkII 

программатор
отладчик

промышленного изготовления, Atmel 

имеются клоны

Программатор-отладчик, поддерживающий интерфейсы ISP, JTAG и debugWIRE. 

Нареканий нет, работает и через USB и через COM-порт. Поддерживается в AVR Studio 4, AVR Studio 5, ATMEL Studio 6, ну и соответственно, avrdude. Немного крупноват в плане габаритов. Дорогой, но при желании можно найти схему и собрать клон.

 AVR910 

программатор

промышленного изготовления, Atmel (устаревший) 

имеются клоны

Данный программатор, разрабатывавшийся для работы через последовательный порт заслужил в свое время довольно высокую популярность. Одним из достоинств популярности данного программатора можно назвать то, на сколько стал распространен его протокол программирования микроконтроллеров. 

К примеру, если вы планируете работать над созданием собственного загрузчика вашего модуля, работающего по последовательному порту, то протокол этого программатора вам может пригодиться в плане того что ваш модуль сможет «закосить» под AVR910 и обновить у себя прошивку самостоятельно. Преимущество в том, что вы для этого сможете использовать программное обеспечение, совместимое с данным программатором.

Тем не менее если вы хотите собрать такую штуку, то в Интернете представлена не одна версия клонов.

 USBtinyISP 

программатор

бюджетный, самоделка Простой программатор, позволяющий программировать ваш микроконтроллер по 3-проводному или 10-проводному ISP интерфейсу. Представлен полностью в исходниках, но можно и заказать готовое изделие. Совместим с avrdude.
 USB AVR programmer 

программатор

бюджетный, самоделка Еще один ISP-программатор в исходниках. Очень похож на AVR910 и использует протокол AVR911, но автор явно не сообщает об этом. Подключается к компьютеру через разъем USB. Поставляется полностью в исходниках.
STK500 

программатор

промышленного изготовления, Atmel Программатор, совместимый с AVR Studio 4, AVR Studio 5 и ATMEL Studio 6. 

Подключается к компьютеру через RS232 и позволяет программировать микроконтроллеры в корпусах DIP непосредственно, для чего имеет набор различных слотов.

Имеет возможность подключать различные модули расширения.

 STK600 

программатор

промышленного изготовления, Atmel Программатор, совместимый с AVR Studio 4, AVR Studio 5 и ATMEL Studio 6. 

Подключается к компьютеру через разъем USB и является более расширенной версией STK500, позволяющая задействовать кроме интерфейса ISP также JTAG  и aWire, что обеспечивает поддержку всех разновидностей микроконтроллеров компании Atmel.

 USBasp бюджетный, самоделка Очередная поделка программатора, подключаемого к компьютеру через USB интерфейс. Совместим с avrdude и исходники представлены полностью.

Немного подробнее остановлюсь на программаторах-отладчиках, с которыми мне удалось поработать лично.

Программатор-отладчик AVR-JTAGICE mkII

Официальный программатор для микроконтроллеров фирмы Atmel семейства AVR, поддерживающих интерфейс для отладки и программирования JTAG.

Необходим для отладки AVR микроконтроллеров в среде AVR Studio 5.
Как оказалось, имеет неожиданно большой размер.
Думаю от такого программатора стоит отказаться в пользу AVR-JTAGICE3 — из-за гораздо меньших размеров. У него примерно та же цена и при этом третий JTAGICE имеет больше возможностей.

Стоимость

  • Официальный программатор, выпускаемый фирмой Atmel стоит примерно 300 евро (без доставки и растаможивания). Вариант подешевле — можно найти неофициальные «клоны» по цене примерно $150.
  • Вариант еще дешевле, но требующий усилий, т.к. из разряда «сделай сам»:
    в сети через поисковик (clone AVR-JTAGICE mkII) без проблем можно найти схему с прошивкой программатора сопровождаемые инструкцией по сборке.

Характеристики программатора

  • Полная поддержка JTAG программирования, поддерживает также интерфейсы ISP и DebugWire.
  • Подключение к PC осуществляется с помощью USB 1.1 или RS-232 интерфейса
  • Точки останова по адресам памяти программ и памяти данных
  • Все операции и точки останова выполняются в режиме реального времени
  • Напряжение подаваемое в отлаживаемую схему 1.8-5.5 В
  • Напряжение внешнего источника питания 9-12В, так же отладчик может питаться от USB порта

Программатор AVR-JTAGICE3

Официальный программатор для микроконтроллеров фирмы Atmel семейства AVR, поддерживающих интерфейс для отладки и программирования JTAG.
Думаю для отладки AVR микроконтроллеров в среде AVR Studio 5 является лучшим выбором. Кстати, неофициальных клонов найти не смог. Если кто знает, прошу сообщить в комментариях к странице.
При начале эксплуатации я испытывал некоторые трудности с его использованием — казалось что он страшно глючит, при этом приходилось постоянно перезагружать среду AVR Studio чтобы он «ожил».
В принципе, все оказалось просто — не стоит во время запущенной отладки пытаться производить какие-либо иные действия с программатором, например, вызывать окно с настройкой фьюзов. Со временем я к нему приспособился и совершенно без проблем его использую.
Из преимуществ выделю его малые габариты (по сравнению с его предшественником AVR-JTAGICE mkII) и универсальность — кроме интерфейса JTAG также доступны и aWire, SPI и PDI.
Из сложностей — его стоимость. Считаю, что она достаточно прилична — около 15000 рублей через официальных дилеров в России.

Характеристики программатора:

  • Поддержка интерфейсов JTAG, aWire, SPI и PDI
  • 3 аппаратных точки останова и 1 маскируемая
  • Символьная отладка сложных типов данных
  • До 128 программных точек останова
  • Поддержка микросхем с напряжением питания от 1.8 до 5.5В
  • Высокая скорость работы (загрузка 256KB программы ~14 сек. (XMEGA по интерфейсу JTAG) interface)
  • Питание от USB.

Программатор AVR-JTAG-USB

Применяется данный программатор для микроконтроллеров фирмы Atmel семейства AVR, поддерживающих интерфейс для отладки и программирования JTAG. Данный программатор является клоном оригинального  Atmel’евского программатора. Производит его фирма Olimex и отличается он от официального более выгодной ценой (приблизительно 4000 рублей через официальных дилеров в России, и естественно, можно дешевле напрямую из-за бугра), при этом по функциональности вполне надежный и во время работы с ним нареканий у меня не возникало. Работает и питается от USB порта компьютера.

Единственная особенностью на которую стоит обратить заранее — это то, что при использовании в качестве средства разработки AVR Studio работать будет только под  AVR Studio 4. Если вы собираетесь работать на  AVR Studio 5 то он для отладки абсолютно бесполезен, т.к. не поддерживается. Поэтому для пятой версии я купил другой программатор — AVR-JTAGICE3.

Характеристики программатора

  • Программирование всех AVR микроконтроллеров с поддержкой JTAG интерфейса;
  • Целевое напряжение 3,0 — 5,0В;
  • Питание от USB интерфейса;
  • JTAG коннектор совместим с Atmel 2×5 пин коннектором JTAG;
  • Совместим с Atmel AVR STUDIO для программирования, эмуляции в режиме реального времени, отладки, выполнения программы в пошаговом режиме, установки точек останова, дампа памяти и т.д.;
  • Полная эмуляция всех аналоговых и цифровых функций;
  • Полная поддержка программирования через JTAG порт;
  • Обновление через AVR STUDIO;
  • Разъём USB интерфейса – типа «А».

Комплектация: программатор/эмулятор AVR-JTAG-USB.
Для работы может понадобиться USB кабель «А-А» — SCUAA-1

]]>
http://www.blogs-it.ru/mikrokontrollery-avr/programmatory/feed/ 0