Работа с программаторами Экстрапик, AVRdude и Burn-O-Mat. Испытания, достоинства и недостатки различных оболочек для программирования.
Продолжим тему повествования о программаторе Экстрапик, затронутую в предыдущих статьях. Как известно, путем несложных доработок, программатор Экстрапик можно приспособить для программирования не менее популярных чем Microtech Pic (C) микроконтроллеров Atmel AVR (C).
Для этого всего лишь нужно добавить один инвертор сигнала, разделив сигнал данных на входящий и исходящий. Как это сделать, можно посмотреть по приведенным выше примерам (смотрите ссылку). Эта же доработка была описана Дмитрием Дубровенко в одном из журналов радио прошлых лет, да и в интернете, при помощи google несложно найти множество статей на эту тему. Но если с программами, собственно для работы с ExtraPic, дела обстоят более менее прилично, (тут вам и ICprog, WinPic-800, WinPicprog, Winpic и еще много, о которых даже не знаю), то с АVR немного сложнее.
Khazama AVR Programmer часть 1
Не говорю, о средах разработки и прочих монстрах, использующие множество программаторов на микроконтроллерах, они конечно прекрасны, но речь здесь идет о применении Экстрапика. Если принять это во внимание, то нам остается только PonyProg.
Программа замечательная для своего времени, но прогресс на месте не стоит, компьютеры набирают мощности, а господин Lanconelly похоже забыл о своем детище с 2002 года. Была попытка скрестить ExtraPic с Uniprof. Кстати удачная, но из-за специфики «фюзования» как-то особой популярности не приобрела.
И вот, однажды, подыскивая управляющую программу для STK-500, по причине той же монстроватости Studio-6, случайно набрел на AVRDuDe. К моему удовольствию, ее уже снабдили несколькими графическими оболочками SinaProg, Burn o Mat (Звучит то как по русски. ) AVRdudeprog и AVRdudeshell. Из всех этих оболочек мне более всего приглянулись Burn o Mat и AVRdudeshell.
Вообщем STK-500 определился и заработал во всех режимах, что вызывало большое удовлетворение. Но мое внимание, так-же привлекла следующая запись в окне выбора программатора:
Если поддерживается программатор, поддерживающий ExtraPic, надо бы попробовать. Ожидания подтвердились. Подключенный к com-порту программатор со вставленной в адаптер AT Mega8A определился и считалось содержимое МК. Попробовал писать, снова удача. Так я открыл для себя возможность удобно программировать МК фирмы Atmel с помощью ExtraPic + Burn-O-Mat.
Программирование микроконтроллеров
Еще одно замечательное свойство этой программы, это возможность на месте определять положение фюзов для выбора кварца, сравните для примера с Ponyprog.
Если не нравится такое представление, можно и так:
Правда поддержка этой прекрасной оболочки к сожалению похоже прекратилась. Но мир, как говорится, не без добрых людей. И вот, как обычно в таких ситуациях, набрав в GOOGLE фразу «графическая оболчка AVRDuDe», обнаружил еще более продвинутую оболочку с названием AVRDUDESHELL.
Данная оболочка сделана в лучших традициях оболочек для программаторов, а именно имеется вывод дампа памяти на экран, что иногда очень бывает полезно, когда перешиваешь неизвестной прошивкой неизвестное устройство, где может оказаться прошивка с защитой, а ты уже затер старую скачать .
Из достоинств еще есть возможность выбора представления типа установки фюзов (прямое-инверсное). И огромное количество, как поддерживаемых микроконтроллеров (список описаний мк совместим с Astudio), так и программаторов, в том числе знаменитые STK20-300 и программатор Громова.
Источник: tehnoobzor.com
Записная книжка
AVRDUDESHELL – программа для Windows и Linux (под wine, начиная с версии 01.09.2015) систем для программирования (прошивки) микроконтроллеров семейства AVR, таких как ATmega8, ATmega16, ATmega32, ATmega64 (полный список поддерживаемых микроконтроллеров см. в конце статьи). Программа поддерживает такие популярные программаторы как USBASP, AVR910, STK500 (полный список поддерживаемых программаторов см. в конце статьи). Фактически AVRDUDESHELL это графическая надстройка над консольной программой AVRDude, поэтому все те микроконтроллеры и программаторы, которые поддерживает AVRDude, поддерживает и AVRDUDESHELL.
AVRDUDESHELL. Программа для прошивки микроконтроллеров Atmega.
Главное достоинство программы — универсальность, простота и наглядность.
AVRDUDESHELL. Главное окно программы.
Множество настроек сгруппированы по категориям:
AVRDUDESHELL. Настройки программы.
В программу встроен механизм получения информации по установленным фьюзам, получающий информацию с http://www.engbedded.com/.
AVRDUDESHELL. Информация по установленным фьюзам.
Оповещение об опасных манипуляциях с фьюзами предупредит о блокировке SPI программирования
AVRDUDESHELL. Оповещение об опасных манипуляциях с фьюзами.
Перед чтением или записью микроконтроллера можно задать область памяти, с которой будет выполняться операция.
AVRDUDESHELL. Область памяти с которой будет выполняться работа.
Если необходимо — можно сохранить
AVRDUDESHELL. Сохранение фьюзов.
а потом восстановить настройки фьюзов
AVRDUDESHELL. Загрузка фьюзов.
Содержит встроенный дизассемблер
AVRDUDESHELL. Встроенный дизассемблер.
Список поддерживаемых микроконтроллеров:
ATMEGA
ATmega103, ATmega128, ATmega1280, ATmega1281, ATmega1284P, ATmega128RFA1, ATmega16, ATmega161, ATmega162, ATmega163, ATmega164P, ATmega168, ATmega169, ATmega2560, ATmega2561, ATmega32, ATmega324P, ATmega325, ATmega3250, ATmega328P, ATmega329, ATmega3290, ATmega3290P, ATmega329P, ATmega48, ATmega64, ATmega640, ATmega644, ATmega644P, ATmega645, ATmega6450, ATmega649, ATmega6490, ATmega8, ATmega8515, ATmega8535, ATmega88
ATTINY
ATtiny11, ATtiny12, ATtiny13, ATtiny15, ATtiny2313, ATtiny24, ATtiny25, ATtiny26, ATtiny261, ATtiny44, ATtiny45, ATtiny461, ATtiny84, ATtiny85, ATtiny861, ATtiny88
ATXMEGA
ATxmega128A1, ATxmega128A3, ATxmega16A4, ATxmega192A3, ATxmega256A3, ATxmega256A3B, ATxmega32A4, ATxmega64A1, ATxmega64A3
AT
AT90CAN128, AT90CAN32, AT90CAN64, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90S1200, AT90S2313, AT90S2343, AT90S4414, AT90S4433, AT90S4434, AT90S8515, AT90S8535, AT90USB1286, AT90USB1287, AT90USB162, AT90USB646, AT90USB647, AT90USB82
Список поддерживаемых программаторов:
89ISP, ABCMINI, ALF, ARDUINO, ATISP, AVR109, AVR910, AVR911, AVRISP, AVRISP2, AVRISPMKII, AVRISPV2, BASCOM, BLASTER, BSD, BUTTERFLY, C2N232I, DAPA, DASA, DASA3, DRAGON_DW, DRAGON_HVSP, DRAGON_ISP, DRAGON_JTAG, DRAGON_PP, DT006, ERE-ISP-AVR, FRANK-STK200, FUTURLEC, JTAG1, JTAG1SLOW, JTAG2, JTAG2DW, JTAG2FAST, JTAG2ISP, JTAG2SLOW, JTAGMKI, JTAGMKII, MIB510, PAVR, PICOWEB, PONYSER, PONY-STK200, SIPROG, SP12, STK200, STK500, STK500HVSP, STK500PP, STK500V1, STK500V2, STK600, STK600HVSP, STK600PP, USBASP, USBTINY, XIL
С историей обновлений можно ознакомиться тут.
Инструкция по настройке программы для работы в ОС Linux (wine) находится тут.
Источник: matrex-notes.blogspot.com
Программирование микроконтроллеров AVR через программатор Microchip PicKit2
Если вы, как и я, используете в своих конструкциях как микроконтроллеры PIC, так и чипы AVR, было бы удобно для программирования обеих линеек микросхем использовать один и тот же программатор. Кстати, не так давно Microchip приобрела компанию Atmel и фактически сейчас обе линейки выпускаются одной и той же компанией. Посему можно предположить окончание многолетнего холивара на тему что же лучше. Оба типа контроллеров имеют свои недостатки и преимущества, но это тема для другой статьи или видеоролика.
Случилось так что когда-то давно я, как и многие другие, начал знакомство с миром микроконтроллеров с какой-то конструкции на микроконтроллере PIC16F84. Через много лет я купил свой первый фабричный программатор для контроллеров PIC. Это был фирменный (оригинальный) PicKit2, который я привез с международной конференции Microchip, которая проходила в Питере в 2009 году.
Купил я его тогда на конференции с хорошей скидкой в 50 процентов. Сейчас можно купить клон такого программатора на Алиэкспресс очень дешево и он будет работать не хуже оригинального. Или, в крайнем случае сделать клон программатора самому, например как описано в этой статье.
Нужно сказать, что программатор PicKit2 уже не поддерживается компанией Microchip (в плане обновления прошивки или управляющей программы) но это не мешает ему отлично работать и по сей день. Сейчас Microchip продвигает более новую версию — PicKit3, который внешне выглядит почти также как и вторая версия. С третьим я пока не имел дела, для моих задач мне вполне хватает второго.
Обычно если мне нужно запрограммировать микроконтроллер Pic я использую программатор PicKit2 с его родной программой PicKit2.61, а если я хочу прошить, например, контроллер ATMega16, то делаю это через программатор USBAsp который можно купить в Китае за полтора доллара.
Однако сейчас появилась возможность использовать для прошивки как PIC так и AVR один программатор — Microchip PicKit2 или его клон, с использованием Бесплатной программы AVRDude, которая сейчас поддерживает PicKit2. Несмотря на то, что AVRDude — это консольное приложение и в чистом виде требует от пользователя навыков работы с командной строкой, но сейчас есть очень хорошая программа — оболочка для AVRDude, которая называется AVRDUDESHELL и позволяет очень удобно работать с AVRDude, не заморачиваясь с командной строкой. Фактически, работая в AVRDUDESHELL вы можете вообще не знать о существовании AVRDude. Скачать программу AVRDUDESHELL можно здесь. Сама AVRDude уже входит в состав AVRDUDESHELL и отдельно ее устанавливать не нужно.
Программатор PicKit2 имеет шести контактный разъем. Для программирования микроконтроллеров PIC используются первые пять контактов. Шестой — дополнительный, при программировании пиков он не задействован.
Разъем программирования PicKit2
VPP / MCLR
VDD напряжение питания целевого устройства
VSS земля
ICSPDAT / PGD
ICSPCLK / PGC
AUX
Для программирования контроллеров AVR нам потребуется сделать специальный шлейф и использовать все шесть контактов PicKit2. Шлейф делаем в соответствии с таблицей ниже:
Шлейф может выглядеть например так:
Для работы подключаем PicKit2, шлейфом соединяем его с программируемым устройством (или адаптером микроконтроллера с Zif панелькой), Запускаем AVRDUDESHELL и выбираем в списке программаторов нужный нам PicKit2. Загружаем файл прошивки и программируем контроллер. Всё предельно просто.
Возможно вам потребуется USB драйвер программатора PicKit2. ВЫ можете скачать его по это ссылке. Он входит в состав родной программы Microchip PicKit2 V2.61. На сайте Microchip вы ее уже не найдете, но можете скачать здесь (см. ниже). Эта небольшая программка пригодится вам и для прошивки контроллеров PIC.
Источник: musbench.com