Программатор avr isp

USBASP: USB AVR программатор для микроконтроллеров ATmega, ATtiny

Доброго дня уважаемые друзья!
Приветствую Вас на сайте «Мир микроконтроллеров»

Программатор USBASP — устройство, распиновка, подключение, прошивка

Программатор USBASP

Для того, чтобы запрограммировать микроконтроллер необходимо иметь две вещи: — программатор — соответствующее программное обеспечение для записи данных в МК

Одним из наиболее простых, популярных и миниатюрных программаторов для AVR является USBASP программатор, созданный немцем Томасом Фишлем.

Имеется много разных схемотехнических решений этого программатора, программатор можно собрать самому или купить (стоимость — 2-3 доллара). При самостоятельной сборке следует учитывать, что собранный программатор необходимо будет прошить сторонним программатором.

Мы рассмотрим наиболее «навороченную» версию программатора:

Характеристики программатора: — работает с различными операционными системами — Linux, Mac OC, Windows (для операционной системы Windows, для работы программатора, необходимо установить драйвера  — архив в конце статьи) — скорость программирования до (скорость программирования можно устанавливать самому, к примеру в AVRDUDE_PROG) 375 (5) кб/сек — имеет 10-контактный интерфейс ISP (соответствует стандарту ICSP с 10-контактной распиновкой) — поддерживает два напряжения питания программатора — 5В и 3,3В (не все USB порты ПК работают при 5 Вольтах)

— питается от порта USB компьютера, имеет встроенную защиту по току (самовосстанавливающийся предохранитель на 500 мА)

Назначение джамперов:
разъем JP1 — предназначен для перепрошивки микроконтроллера программатора (для перепрошивки — необходимо замкнуть контакты)
разъем JP2 — напряжение питания программатора — 5 Вольт или 3,3 Вольта (по умолчанию — 5 Вольт, как на фотографии).

Программируемый микроконтроллер, или конструкцию, в которой он установлен, при токе потребления 300-400 мА можно запитать с программатора, для этого на разъеме есть выход +5В (VCC).

разъем JP3 — определяет частоту тактирования данных SCK: разомкнутый — высокая частота (375 кГц), замкнутый — низкая частота (8 кГц)
Подробнее о разъеме JP3
Джампер JP3 предназначен для уменьшения скорости записи данных в микроконтроллер.

Если у микроконтроллера установлена частота тактирования более 1,5 мГц — джампер может быть разомкнут, при этом скорость программирования высокая. Если тактовая частота менее 1,5 мГц — необходимо закоротить выводы джампера — снизить скорость программирования, иначе запрограммировать микроконтроллер не получится.

К примеру, если мы будем программировать микроконтроллер ATmega8 (в принципе, практически все МК AVR настроены на тактовую частоту 1 мГц по умолчанию), у которого частота тактирования по умолчанию 1 мГц, необходимо будет замкнуть выводы джампера (как на фотографии). Лучше, наверное, держать этот джампер постоянно замкнутым, чтобы, забыв о его существовании, не мучиться вопросом — почему микроконтроллер не прошивается.

Если вы будете пользоваться программой AVRDUDE_PROG, выложенной на сайте, то о перемычке можно забыть

Программатор поддерживается следующим программным обеспечением: — AVRdude — AVRdude_Prog — Bascom-AVR — Khazama AVR Prog

— eXtreme Burner AVR

Работать с таким программатором очень просто — соединить соответствующие выводы программатора с микроконтроллером, подключить к USB-порту компьютера — программатор готов к работе.
Распиновка 10-контактного кабеля программатора USBASP:

1 — MOSI — выход данных для последовательного программирования 2 — VCC — выход +5 (+3,3) Вольт для питания программируемого микроконтроллера или программируемой платы от порта USB компьютера (максимальный ток 200 мА — чтобы не сжечь порт USB) 3 — NC — не используется 4 — GND — общий провод (минус питания) 5 — RST — подключается к выводу RESET микроконтроллера 6 — GND 7 — SCK — выход тактирования данных 8 — GND 9 — MISO — вход данных для последовательного программирования

10 — GND

Установка драйверов для программатора USBASP

Установка драйвера для программатора USBASB очень проста: — подсоедините программатор к USB порту компьютера, при этом в диспетчере устройств появится новое устройство «USBasp» с желтым треугольником и восклицательным знаком внутри, что означает — не установлены драйвера — скачайте и разархивируйте файл «USBasp-win-driver-x86-x64-ia64-v3.0.7» — запустите файл «InstallDriver» — будут автоматически установлены драйвера для программатора — проверьте диспетчер устройств — желтый треугольник должен исчезнуть (если нет, щелкните правой кнопкой по устройству «USBasp» и выберите пункт «Обновить»

— программатор готов к работе

FUSE-биты при программировании USBASP AVR:

Архив «usbasp.2011-05-28» содержит папки: = BIN: — win-driver — драйвера для программатора — firmware — прошивка для микроконтроллеров Mega8, Mega88, Mega48

= circuit — схема простого программатора в PDF и Cadsoft Eagle

При перепрошивке китайского программатора рекомендую установить FUSE-бит CKOPT. CKOPT взаимосвязан с предельной тактовой частотой.

По умолчанию CKOPT сброшен и стабильная  работа микроконтроллера программатора при применение кварцевого резонатора возможна только до частоты 8 МГц ( а МК программатора работает на частоте 12 МГц).

Установка FUSE-бита CKOPT увеличивает максимальную частоту до 16 МГц. Китайцы не трогают этот FUSE-бит, что довольно часто приводит к отказу программатора (обычно система не определяет программатор).

Архив «USBasp-win-driver-x86-x64-ia64-v3.0.7» предназначен для установки драйверов, как указано в статье

  usbasp.2011-05-28 (518,9 KiB, 9 408 hits)

  Скачать “USBasp-win-driver-x86-x64-ia64-v3.0.7” (10,9 MiB, 18 641 hits)

Скачать с ЯндексДиска

Описанный в статье USBASP программатор, прошитый последней версией программы, проверенный в работе, с установленными джамперами и перемычками, вы можете приобрести в интернет-магазине сайта «МирМК-SHOP»
Перейти на страницу магазина

Программирование микроконтроллеров AVR фирмы Atmel

1. Микроконтроллеры — первый шаг
2. Системы счисления: десятичная, двоичная и шестнадцатиричная
3.

Логические операции, логические выражения, логические элементы
4. Битовые операции
5. Прямой, обратный и дополнительный коды двоичного числа
6.

Программа AVRDUDE_PROG: программирование микроконтроллеров AVR ATmega и ATtiny

Источник: https://microkontroller.ru/programmirovanie-mikrokontrollerov-avr/usbasp-usb-avr-programmator/

Программатор AVRISP mk2. Версия от Mail1977 — DRIVE2

Как-то просил Олега Mail1977 выложить его один из программаторов. Дождался.
Потом все не до программатора было. А сейчас выдались выходные и решил собрать )))

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

Сборка устройства

Печатную плату Олег по моей просьбе выложил у себя на страничке в записи:
AVRISP mkII еще один клон

Делаем печатную плату. Плата только что вернулась из раствора.

Обточил, залудил, припаял детальки. Все паяльником, кроме обточки )))

Почти готовое устройство, остается залить прошивку

Заливка прошивки в устройство

1) Устанавливаем AVRStudio5.1 с драйверами. В дальнейшем будем работать с этой программой.

2) Скачиваем программу-загрузчик Flip с сайта Atmel. И устанавливаем ее.

Скачал такую версию: FLIP 3.4.7 for Windows (Java Runtime Environement included)

3) Подключаем устройство к ПК. Появляется неизвестное устройство, как AT90USB162 DFU

4) Устанавливаем драйвер из папки С:Program FilesAtmelFlip 3.4.7usbПоявляется в диспетчере устройств следующее: LibUSB-Win32-Devices AT90USB162

5) Теперь можно запускать программку Flip. Краткая инструкция по работе тут на английском: tom-itx.dyndns.org:81/~we…kii_User_manual_index.php

Выбираем наш МК. Жмем ОК.

6) Выбираем USB и давим “Open”. Если все верно, то появляется окно с распознанным МК.
Бутлоадер версии 1.0.5.

8) Скачиваем файл прошивки из этой темы: radiokot.ru/forum/viewtop…hp?f=57&t=26417&start=520 В сообщении от 22 февраля от Grott.

Прошивка

9) Выбираем файл прошивки. В поле Operations flow иконки будут зеленым отображаться. А также будет название и версия прошивки. И нажимаем “Run”. Произойдет заливка, затем жмем Start Application

Внимание: файл прошивки не должен содержать в пути расположения русскиt буквы. Т.е. размещаем файл прошивки, который нам нужно закачать в корень диска С

у меня тут была основная проблема. Спасибо Mail1977

10) Устройство определилось как AVRISP mk2. Программатор готов к использованию.

Проверка работоспособности

Подключаем МК Attiny13A.

Запускаем AVRStidio и проверяем

Все работает. Спасибо Mail1977, и 214100
Еще один программатор в коллекцию

Список деталей для самостоятельной сборки: 1) AT90USB1622) кварц 8 Мгц3) резистор 10к Ом (2шт) — [размер 0805]4) резистор 22 Ом (2шт) — [размер 0805]5) резистор 470 Ом (3шт) — [размер 0805]6) резистор 620 Ом — [размер 0805]7) резистор 330 Ом (4шт) — [размер 0805]8) конденсатор 22пФ (2шт) — [размер 0805 или 1206]9) конденсатор 100нФ (2шт) — [размер 0805]10) светодиоды (3шт) — [размер 1206]11) разъем USB, PLS ()

12) индуктивность (или резистор от 5 до 10 Ом)

Печатная плата в SprintLayout
Может кому пригодится эта инструкция )

Кто соберет такой же, пусть отпишутся в записи, ссылку дадут на свое устройство, интересно будет поглядеть

Источник: https://www.drive2.ru/b/914496/

Обзор программатора AVRISP-MKII

Попался ко мне в руки вот такой клон программатор AVRISP-MKII вот отсюда.Что представляет из себя данный программатор? В целом это очередной клон программатора AVRISP-MKII, у которого есть необходимый максимальный набор функций для работы с микроконтроллерами AVR. А в частности:

  • Наличие питания 5В и 3.3В — выбирается перемычкой. Это значит что от программатора можно запитать наше программируемое устройство.
  • Это высокоскоростной программатор. В целом из всех которые встречались, клон AVRISP-MKII оказался самым быстрым. 50 кило прошивки заливает за 3-4 сек.
  • Поддержка интерфейса программирования TPI, который имеется в некоторых моделях Attiny.
  • Поддержка интерфейса программирования PDI, который имеется в моделях Xmega.
  • Поддержка интерфейса программирования SPI, который имеется в большинствах моделях Attiny и Atmega. Поддержка трех интерфейсов означает, что этим программатором можно прошить огромное количество микроконтроллеров имеющих на борту хотя бы один из данных интерфейсов.
  • Данный программатор работает с программной средой AtmelStudio6.2 и ниже. Это значит что для использования данного программатора не требуется никаких сторонних утилит. AtmelStudio видит его как свою родную железку.
  • Работает так же с утилитой AvrDude. Только для этого надо сменить прошивку в самом программаторе. Но это делается движением одной руки, так как в программаторе имеется стандартный атмеловский загрузчик. Это значит, что для замены прошивки не требуется еще один программатор. Программатор по умолчанию залит прошивкой для работы с AtmelStudio.
  • Работает так же с программной средой Arduino. Это значит, что если в вашей любимой платке Arduino вдруг сдох или затерся загрузчик, то его можно восстановить этим же программатором прямо из среды программирования ArduinoIDE.
  • Есть вывод CLK для воскрешения программируемого микроконтроллера, если в него неправильно записали FUSE биты.

Вот схемка распиновки разъема программатора.

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

Если планируем пользовться программатором совместно с AtmelStudio, то ее и нужно установить. Скачать свежаковскую версию можно отсюда Atmel.com. Правда требуется регистрация. После установки AtmelStudio в «управлении» должна появиться следующая фишка.

Далее втыкаем программатор, если драйвера не установились, то вручную указываем путь туда, где стоит AtmelStudio. После установки драйверов в «управлении» появиться следующее:Если это есть, то программатор готов к совместному использованию с AtmelStudio.

Для использования программатора нужен кабель, который есть на том же сайте, но я себе сделал несколько другой, вот такой:
По той причине что я давно уже отказался от использования стандартного разъема IDC (который на программаторе). В программируемую плату я втыкаю стандартный PLS разъем.

Вот примерно так:В итоге получается вот так:

С AtmelStudio разобрались. А если человеку хочется шить из под AVRDUDE? Тогда надо сменить прошивку. Для начала надо скачать прогу FLIP 3.4.7 for Windows (Java Runtime Environement included) и установить ее. Без этой проги смена прошивки невозможна.

После установки проги втыкаем программатор и активируем загрузчик находящийся в программаторе. Чтобы активировать загрузчик, надо на программаторе закоротить перемычкой джампер J_HWB. Потом отверткой или пинцетом кратковременно закорачиваем джампер J_RST.

При этом загрузчик активируется и Windows сразу будет пытаться установить драйвера. Но не сможет. Поэтому вручную указываем путь туда где установился FLIP. После установки драйвера в диспетчере устройств должно появиться это:

Вот теперь можно заливать другую прошивку. Для этого запустим программу FLIP.Нажимаем на:И в выпавшем списке выберемДалее нажимаем на Ctrl+U и в появившемся окне нажимаем Open. Появится вот такое окно:В котором выбираем нашу прошивку клавишами Ctrl+L.

И нажимаем RUN. Все прошивку сменили. Нажимаем на Start Application, что приводит к перезапуску программатора. Закрываем FLIP.

Теперь программатор готов к работе с AVRDUDE. Можно нырнуть сюда http://yourdevice.

net/proekty/avrdude-prog и качнуть GUI для программатора.

Вот теперь все, да не совсем все. Для того чтоб начать пользоваться AVRDUDE вместе с какой нибудь GUI, надо снести Atmel USB драйвера. И установить другие драйвера libusb_driver для новой прошивки. Ибо драйвера от AtmelStudio для работы с AVRDUDE уже не попрут.

Понятное дело что дергать туда сюда драйвера и постоянно перепрошивать программатор, в этом кайфа мало. Поэтому надо определиться в чем то одном. Либо работать с AtmelStudio либо с AVRDUDE.

Читайте также:  Цифровой контроллер для светового шнура "дюралайт"

Соответственно для выбранного решения нужно настроить софт, прошивку, драйвера и этого придерживаться.

Источник: http://we.easyelectronics.ru/AVR/obzor-programmatora-avrisp-mkii.html

Превращаем Arduino в полноценный AVRISP программатор

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

Меня уже давно спрашивают — можно ли прошивать hex файлы при помощи Arduino? Изменять фьюзы? Считывать прошивку? И всякое такое… Ответ — можно, и я сегодня вам расскажу, как я это делаю.

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

Небольшая предыстория:

Одного прекрасного дня, я наткнулся на отличный проект на ATtiny13, но увы автор выгрузил в сеть только hex-файл и схему, ну и конечно же, я так и не смог его попробовать в железе.

Меня этот вопрос мучил всё больше и больше, и тут я случайно наткнулся на одно видео в сети, где автор утверждал, что он при помощи Arduino прошил другой микроконтроллер, имея только hex-файл, ну и схему, само собой.

Именно он мне подсказал — используй SinaProg, но с Arduino'вскими файлами…

Загуглив на тему SinaProg, я скачал SinaProg 2.1.1.RUS, но он работать отказывался с Arduino, потому я закинул пару-тройку файлов из Arduino IDE в папку SinaProg 2.1.1data и всё заработало.

Пройдёмся коротко по возможностям софта:

В блоке Hex-file выбираем hex или eep(первый — прошивка, второй — содержимое энергонезависимой памяти).

А той части, где кнопка “>”, мы можем видеть всякие сообщения, типа «OK», или «ERROR», сама же кнопка “>” открывает логи Avrdude.

В блоке Flash есть кнопки:

Program — запись hex-файла в микроконтроллер(возможно, когда выбран Hex-file); Verify — проверка прошивки, что в микроконтроллере, и hex-файла(проще говоря, их сравнение), если всё норм — программа говорит OK; Read — считать hex-файл.

С блоком EEPROM всё по аналогии.

Далее блок Device, тут можно выбрать нужный микроконтроллер, вот весь список поддерживаемых(список выдрал из файла Device.txt, который лежит в папке SinaProg 2.1.1data):

Тут их пара–тройкаШутка, вон их сколько: AT90CAN128 AT90CAN32 AT90CAN64 AT90PWM2 AT90PWM2B AT90PWM3 AT90PWM3B AT90USB1286 AT90USB1287 AT90USB162 AT90USB646 AT90USB647 AT90USB82 AT90s1200 AT90s2313 AT90s2323 AT90s2333 AT90s2343 AT90s4414 AT90s4433 AT90s4434 AT90s8515 AT90s8535 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 ATtiny11 ATtiny12 ATtiny13 ATtiny15 ATtiny22 2343 ATtiny2313 ATtiny24 ATtiny25 ATtiny26 ATtiny261 ATtiny44 ATtiny45 ATtiny461 ATtiny84 ATtiny85 ATtiny861 ATtiny88 ATxmega64A1 ATxmega128A1 ATxmega128A1D ATxmega192A1 ATxmega256A1 ATxmega64A3 ATxmega128A3 ATxmega192A3 ATxmega256A3 ATxmega256A3B ATxmega16A4 ATxmega32A4 ATxmega64A4 ATxmega128A4Как видите, есть все популярные микроконтроллеры фирмы ATmel, в частности ATmega328P, ATmega8, ATtiny13, ATtiny2313 и всякие другие…

Далее — кнопка Search, если её нажать, то программа попытается прочитать сигнатуры того микроконтроллера, который подключен к программатору, проще говоря, поищет микроконтроллер. Потом может ответить „OK“ или „ERROR“ в информационном блоке, если всё нормально, или нет, соответственно.

В блоке Fuses есть предустановки для ATmega8 для работы на разных частотах, но, увы, только для ATmega8 и ATmega32, можно добавить в файле Fuse.txt (который лежит в папке SinaProg 2.1.1data).

Есть кнопка Program — записать предустановки, смотрим на абзац выше.

А так же Advanced — лихая кнопка, после её нажатия можно увидеть вот такое окно:

Device signature — какие-то циферки, я так понял это идентификатор микроконтроллера, по ним программа опознаёт, что за микроконтроллер мы ей суём.

Информационная часть, всё как выше.

Чуть ниже идут фьюзы… если уж зачешется, то не забывайте их сначала считать кнопкой Read(чтобы не нарочно изменить важные фьюзы, например «SPIEN» или «RSTDSBL»), записать фьюзы — кнопка Write, кнопка Chip Erase стирает микроконтроллер, что-то примерно напоминает — форматирование флешки на компьютере(но фьюзы не устанавливаются по умолчанию, так что забывать об этом не стоит).

Пару слов о фьюз-битах — это такие как бы тонкие подстройки микроконтроллера, то частоту поднять, то убавить, то вкл/выкл тактирование от внутренней RC цепочки то ещё что-то… в общем, туда лезть только в крайнем случае, иначе можно заблокировать микроконтроллер(нашаманить так, что перестанет работать, серьёзно), и уже без Atmega fusebit doctor никак.

Вот первая ссылка с гугла по запросу «калькулятор фьюзов», но предупреждаю, тыкать что-то там, не зная зачем оно, и потом это записывать в микроконтроллер — ни к чему хорошему не приведёт, я-то знаю.

Далее ещё какой-то информационный блок, не вникал особо. Ну и кнопка выход, я думаю вы уже об этом догадались, даже если и не знаете английский.

Итак, последний блок основного окна программы — Programmer, тут выбирается тип программатора, если вы используете Arduino в качестве программатора — ставьте всё, как у меня на скрине, только не COM19, это у меня такой, у вас, наверное, будет другой, в любом случае точно не COM1, первый это системный, актуален только для программаторов, которые подключаются к реальному COM порту, например, Программатор Громова. На ноутбуке COM-порта может не быть, а на компьютерах, как правило, COM-порт ещё есть, особенно тех, что постарше. Можно использовать и другой программатор, к примеру, USBASP, только не забываем выбрать его в списке, скорость для него я ставлю такую же как и в случае с AVRISP.

Список поддерживаемых программаторов:Маловато будетGromov USBtiny ALF Arduino AT ISP AVR109 AVR910 AVR911 AVRISP AVRISP 2 AVRISP mkII AVRISP v2 Bascom Blaster BSD Butterfly C2N232I DAPA DASA DASA 3 Dragon_DW Dragon_HVSP Dragon_ISP Dragon_JTAG Dragon_PP DT006 ERE-ISP-AVR Frank-STK200 Futurlec JTAG 1 JTAG 1Slow JTAG 2Slow JTAG 2 JTAG 2Fast JTAG 2ISP JTAG 2dW JTAG mkI JTAG mkII MIB510 pAVR Picoweb Pony-STK200 ponyser SI Prog SP12 STK200 STK500 STK500 HVSP STK500 PP STK500 v1 STK500 v2 STK600 STK600 HVSP STK600 PP USBasp XilЛично я тестировал только на программаторах AVRISP(Arduino с прошитым скетчем ArduinoISP) и USBasp, на двух микроконтроллерах — ATmega8 и ATtiny13.

Чтобы можно было шить/читать/изменять фьюзы/ убить микроконтроллер при помощи Arduino, предварительно нужно зашить скетч ArduinoISP, подключив всё, как я писал, например вот тут:

Прошивка и программирование ATtiny13 при помощи Arduino.

Если в двух словах, то подключаем пины Reset, MOSI, MISO, SCK микроконтроллера, который будем прошивать/считывать прошивку/изменять фьюзы так, как указано в скетче в комментариях, а именно:…
// pin name: not-mega: mega(1280 and 2560)
// slave reset: 10: 53 // MOSI: 11: 51 // MISO: 12: 50 // SCK: 13: 52 ..

.
Вот пример подключения к ардуине ATmega8:Ну и по аналогии… Ищем карту пинов, например, в даташите (техдокументация на МК) интересующего нас микроконтроллера, вот, к примеру, первая ссылка из гугла по запросу «ATmega8 pdf».

Ладно, не буду больше томить, вот ссылка на программу с файлами из Arduino IDE.

Ссылка на ветку на русскоязычном форуме Arduino;

Калькулятор фьюзов;

Прошивка и программирование ATtiny13 при помощи Arduino;

Все мои публикации.

PS У меня было такое, что ATtiny13 перестала прошиваться, на попытки её программирования, после того, как я попробовал запустить её на частоте 128 kHz, откопал где-то вот такой, слегка модифицированный код ArduinoISP который заставляет прошивку/изменение фьюзов происходить медленнее в несколько раз и может ещё какая-то магия, не разбирался, честно.

Источник: https://habr.com/post/247329/

Самодельный программатор AVRISP-MKII с прошивкой от LUFA

avrki@avrki.ru

Дата: 20 Декабря 2015. Автор: Алексей

Дело было вечером, делать было нечего. Обновил AtmelStudio до версии 6.2 и мой любимый программатор AVRISP-MKII с прошивкой от LUFA гордо крякнулся. Точнее это новая студия его крякнула, но я то думал что это программатор. Мол версия устарела. Первым делом прописал версию программатора в исходниках 0x80. Не помогло. Прописал 0xFF, собрал и получил тот же результат. Ну думаю чудеса.

Залез на сайт LUFA и скачал там последнюю версию. Ну думаю ща как соберу проект да как все заработает. Ага, ща, размечтался. Последняя версия заточена под МК AT90USB1287. Ну вот зараза!!! Далее поиски по сайту привели к последней версии с МК AT90USB162. Скачал, собрал, залил и облом. Да что за нафик.

Лезу в интернет, читаю про эту проблему и на одном из каких-то форумов наткнулся на так называемую 100% рабочую прошивку. Скачал, залил в МК и… Вашу мать!!! МК умер на всегда. Ни SPI, ни бутлоадер его не видит. Злой как собака запулил программатор на полку и перешел на китайский USBASP 2.0. Тут недавно ковыряясь в барахле наткнулся на заброшенный программатор. Э…

Надо реанимировать. В конце концов это дело чести. Поехал в магаз, купил новый МК. Видит бог не судьба, пока отпаивал старый оторвал три дорожки. Дело чести! Развел плату по новому. Стала покомпактнее но правда с кучей перемычек. Да и ладно. Далее травление, сверление, лужение, пайка и самое интересное.

Глубокий анализ сети привел к двум решениям проблемы и одна из них привела к тому, что программатор заработал не только с 6.2, но и с седьмой студией. И так как заставить работать данный клон с AtmelStudio 6.2 и 7. Вот мой вариант схемы. В сети их куча, но они изобилуют светодиодами и горят как новогодние елки. Мне вся эта цветомузыка нафик не нужна, поэтому я оставил только два светодиода.

Один на наличие питания, а второй для индикации процесса заливки прошивки в МК. Схема по крупнее
Вот что получилось после сборки. Для удобства я вывел шести штырьковый разъем для программирования как самого МК так и внешних МК. На фото джампер стоит на нижней паре. В этом положении программатор программирует внешние МК по ISP.

Если его перекинуть на среднюю пару, то через тот же разъем ISP уже можно программировать сам МК программатора. А если возникает вечный вопрос курицы и яйца, то можно скачать Атмеловский загрузчик Flip 3.4.7 и установив джампер на самую верхнюю пару залить МК через UART. По поводу фьюзов.

В сети ветает масса вариантов, но лично из моего опыта могу сказать, что ничего менять не надо. Спаяли, залили прошивку и пользуемся. Фьюзы установленные на заводе как раз то что надо. Теперь самое интересное. Сразу скажу, если у вас стоит шестая студия и пройти весь процесс интеграции)) программатора, а потом поставить седьмую, то придется делать все заново.

Так что решайте на какой студии нужно работать. Правда если установлена шестая, а рядом поставить седьмую и провести интегрирование))) программатора в седьмую, то он будет так же работать и в шестой. Во как. Начали. 1. Качаем и устанавливаем студию 6 или 7 кому как нравится.

2. Устанавливаем драйвер программатора и видим что он определился.

Естественно студия его игнорирует и отключает от себя.(Падла) 3. Качаем вот тут программу zadig_2.1.2 или какая там у ни сейчас версия.
4. Не отключая программатор от компа, запускаем программу zadig_2.1.2 Далее выбираем Options->List All Devices Далее выбираем драйвер libusb-win32(v1.2.6.0) И жмем Reinstall Driver Программатор отвалится, а потом снова подключится, а программа выдаст окно с сукесфулем))) Теперь ломимся в диспетчер устройств и лицезреем на вот такую картинку. Ура! Все готово! Запускаем студию (Я покажу на седьмой) и идем в програмировачную часть программы))) Вот и наш программатор. Далее я выбрал Мегу восьмую и… Никуда студия наш программатор не послала, а покорна снюхалась с МК. И на последок тест программирования. А это уже шестая студия. Так что дерзайте, собирайте и шейте данным программатором AVR микроконтроллеры. Проект для DipTrace со схемой и платой.
Прошивка для МК

Добрый день. Очень круто, что вы добились интеграции с 7ой версией студии! Давно хочу собрать себе такой же программатор. После прочтения вашей статьи появилось несколько вопросов. В основном по поводу компиляции зашивки из исходников. 1) Не могли бы вы в кратце описать процесс компиляции прошивки из исходниокв.

2) Задействованные выводы жестко прописаны в прошивке или задефайнены где-то в файлах настройки? Где вообще прописаны задействованные выводы? Никак найти этот момент не могу в файлах проекта… 3) Правильно ли понял, что вы определяли подходит ли та или иная версия LUFA для AT90USB162 по тому, что в make-файле прописано? 4) В приведенной вами зашивке TPI активен? Т.е.

если доразвести соответствующие выводы он будет работать? Заранее спасибо!

1 – LUFA была подгружена из диспетчера расширений студии. 2 – Не знаю, я в прошивке не ковырялся. Просто собрал и залил, для меня расположение выводов не принципиально. 3 – Верно, так как мейк файл это так сказать свод правил сборки проекта. 4 – Не в курсе, так как прошивка не моя. Она в свободном плавании. Главное что она работает без каких-либо нареканий.

Спасибо за ответ. А где вообще можно посмотреть назначение пинов? Опять таки, ни на сайте(имею в виду сайт автора LUFA), ни в папке с проектом программатора, нигде не могу найти список используемых выводов. Вы сами откуда эту инфу брали?

Эх, много писать. Вот видео в ответ на заданный вопрос.

Наконец-то удалось посмотреть видео. Огромное спасибо за такой развернутый ответ! Запутано, но если разобраться, то все оказывается весьма логично. Еще раз спасибо, формат видео очень толковый!

Будут еще вопросы, задавайте.

Добрый день! А не подскажите, как перекомпелировать проект под 16МГц?

Родной уже расчитан на 16.

Я имел ввиду как вообще скомпилировать, но уже разобрался. Вообще было бы не плохо добавить этот пункт. Получился бы не плохой мануальчик. Ну и конечно же изменение версии прошивки. Ибо родная имеет 17 версию, а уже 18.

После отпуска приеду и допишу. А то с телефона не сруки.

А винда у Вас какая? У меня ничего не получается с виндой х64 (семерка).

У меня семерка х64. Все работает без проблем.

Доброго дня Алексей.Я тоже установил Zadig прям на рабом столе.затем все определилось как у вас.Но теперь с программой CodeVision перестал работать.Студио4.12 установил.После установки на рабочем столе почему то не появляется сама оболочка студио.

Если зайти на жесткий диск С там есть Атмел окры папки есть студио 4.Толи она этот или нет но все ровно и сним то же не работает. Виндус у меня7. Скажите пожалуйста где искать этот Zadig что бы его удалить? на жеском не нашел.Где все программы и компоненты там его во все нет.

Где же он спрятался как найти? помогите пожалуйста!!!

Эта программа не устанавливается. Это сразу исполняемый файл. Ищите в папке куда скачали его.

Добрый день Алексей. Я его прямо на рабочем столе и запустил.До установки на диспетчере устройств был Lugo-WinDraiver-AVRSPMKII,а теперь добавилось LibUSB-Win32 devices/LUFA AVRISP MKII CLONE.Хотя я удалил Студио 4.19 и CODEVISION.

Теперь без всех этих программ при подключение к USB все ровно определяется.Но однозначно с рабочего стола удалил этот Zadig.Все уже перерыл этот файл но нигде не нашел.

Может он под каки то другим названием где то на жестком диске находиться?Если ни где не устанавливался то при удаления с рабочего стола должны были исчезнуть LibUSB-Win32 devices/LUFA AVRISP MKII CLONE

Да забыл дописать.С жесnкого диска вытащил на рабочий стол папку USB_draiver. в этой папке вот такие файлы amd64 license X86 installer_x86.exe installer_x64.ese LUFA AVRISP_CLONE.cot LUFA AVRISP_CLONE.inf

извиняюсь забыл поставить имя_получил Аноним

Зашел дипетчер устройст свойства и удалил WinDraiver.Все все что было удалилось.Потом что бы работать как было раньше снова установил CodeVizion Studio.Блин все снова стало так же как после установки Zadig.Скорее всего придется все стереть ЖД и переустановить Виндус.Вот какой этот падла Zadig.Все ровно где то прячется.Надо где то удалить этот LibUSB-Win32 devices

Не надо паниковать! Нужно зайти в диспетчер устройств и удалить устройство с драйвером.

Спасибо за информацию по прикручиванию программатора к 7 студии.

Пожалуйста.

Добрый вечер всем и Алексей.Есть такой вопрос.Программатор AVRISPmkii с оболочкой CodeVision не шьет EEPROM именно Attiny13. Мегу 8 шьет все флеш и еер.тини 13 читается флеш и ееr.но в упор не пишет епром. Кто ни будь не подскажет что может быть? пробовал три новых тини все то же самое.

К сожалению эту задачу может решить только автор прошивки, а именно автор LUFA.

Добрый день Алексей! А не подскажете куда можно написать автору!Спасибо за ранее.

Спасибо конечно за ответ.К сожалению анг язык не знаю и так что и написать то же не получится.Тем более у меня исходника нет только нех файл.Куда там написать так не разобраться.Спасибо!

Там же почта.

Где нарисовано конверт?Если нет то не тыкнете где именно?

send me an email

Пробовал туда нажать и выходит Ворд и все!там просто можно написать как на обычном ворде и ни каких отправки письма нет.Не объясните?А как здесь можно картинку ставить как вы поставили чуток выше?

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

Понял! значит ссылка не рабочая или закрыт автором.там пишет так;настройку Eset Outlookplugin.C:/PROGRA-1ESET/EPLGOU-1DLL не удалось загрузить,по этому она была отключена приложением OUTLOK.Обратитесь к разработчику настройки за обновлением.Если обновления нет,удалите обновленную настройку. я так и ни чего не понял.Значит на LUFAнаписать не получиться так?

dean@fourwalledcubicle.com

Алексей написал я письмо и тут же пришел сообщение таком формате.как быть? Это письмо отправлено почтовым сервером yandex.ru. К сожалению, мы вынуждены сообщить Вам о том, что Ваше письмо не может быть отправлено одному или нескольким адресатам. Причины указаны ниже. Пожалуйста, не отвечайте на это сообщение. ********** This is the mail system at host yandex.ru.

I'm sorry to have to inform you that your message could not be delivered to one or more recipients. It's attached below. Please, do not reply to this message. : Host or domain name not found. Name service error for name=forurwlledcbicle.com type=AAAA: Host not found Статус доставки: Reporting-MTA: dns; forward13h.cmail.yandex.

net X-Yandex-Queue-ID: 48E6E215E8 X-Yandex-Sender: rfc822; iurynesterov@yandex.ru Arrival-Date: Sat, 1 Oct 2016 02:14:29 +0300 (MSK) Final-Recipient: rfc822; dean@forurwlledcbicle.com Original-Recipient: rfc822;dean@forurwlledcbicle.com Action: failed Status: 5.4.4 Diagnostic-Code: X-Yandex; Host or domain name not found. Name service error for name=forurwlledcbicle.

com type=AAAA: Host not found

Значит автор не хочет чтобы с ним общались, я тут бессилен.

Спасибо за помощь!

Для интереса сейчас запусти Studio 4.19 прошил на меге 8 НЕХ и епром.Блин все пишет оба файла.Главное,что интересно именно Тини13 епром не пишет (USBISP mkii)(STK200/300).А вот ребята отсюда electrotransport.ru/ussr/index.php?board=73.0 Моргалка на Attinu13 (проект выложил vova_n) они без проблем пишут на(USBar/USBATiny2313/в оболочке sinaProg.

на 2313 у меня то же есть но для него нужно ставить дрова Либибус вин32.Это тот же самый Zadig После этого у меня перестанет работать mkii.По этому боюсь его установить и работать с ним.Какая лажа,что делать ума не приложу.Чертов тинька 13 что в нем не так?Да еще вчера на студио шил тини13 но конечно шилось только нех еер нет.потом решил фьюз прошить.

https://www.youtube.com/watch?v=p-F_bn2mjO4

нажав на иконку fuses там стоит галка наspeinс красной пометкой.но галка не снимается.Ладно еще ствил галку ckdiv8 и нажал прошить.Все после этого контроллер больше не читается и не пишет.Там как? ставленная галка равен=0(прошито)?Если так то зачем же галка не снимается.

Его не надо шить так он же должен быть=1 не активно!Спасибо вам Алексей,что не в отказе помочь!

ckdiv8 это делитель частоты на 8. Нельзя менять фьюзы абы как. Тактируйте мк от 555 таймера и он оживет.

Понял спасибо!На последок скачал PonyProg с программатором STK200300 пробовал шить.То же самое шьет только нех,еер не шьет.В одном компе стоит вин7 другом XP в обеих так.Надо наверное прекратить все эти дела пока окончательно сам не свехнулся.

нА КАКУЮ НОГУ ТИНИ 13 ПОДАТЬ СИГНАЛ ОТ ГЕНЕРАТОРА?

Я себе собрал на базе Arduino Pro Micro! Пока тока проверял на 7-32 студия 4 и 10-64 студия 6.2. Шил мегу32, все работает. А ТДИТПИ мне пока ни к чему. Зато цена вопроса 140 руб и никаких паек не надо.

CLKI PB3

Добрый день!
Спасибо автору статьи за схему и подробное описание по интеграции программатора. Все прекрасно работало, но на данный момент стал жить собственной жизнью программатор. При прошивке atMega8 b attiny2313 из AVRSTUDIO 7 появляется ошибка входа в режим программирования при чтении ID контроллера:”Unable to enter programming mode. Very device selection, interface settings, target power, security bit, and connections to the target device.” Проверил подключение программатора к контроллеру, питание от usb порта есть, менял isp частоту программирования результатов не принесло.

Прошу пояснить в чем может быть проблема.

99% выбран не тот камень. Внимательно сравните названия МК (до последней буквы) с тем что выбран в программе.

Добрый день, Алексей! Есть желание повторить сей программатор, но нет DipTrace . Можете выложить в виде картинок или pdf обе стороны платы. Спасибо заранее!

Спасибо за статью. Получился отличный девайс. С програмной интеграцией не каких проблем. Все как по тексту у автора/ Studio 6.2. В мк не было загрузчика и от производителя, стояли неправильные FUSE. Выставил high 0xD9:low 0xDE.

PS Просмотрел несколько схем клонов, кошмар. Как только не пытаются мучить бедный МК по питанию. Ножка 27 UCAP это не силовой стабилизатор для питания собственного и целевого МК, она ТОЛЬКО для навесной сглаживающий емкости нужд USB. А на нее чего только не вешают. В одной популярной топологии туда даже VCC 5v подают, не мудрено что МК загнется.

С этим программатором работает пошаговая отладка в 7й Студии?

Нет. Для отладки нужен JTAG программатор.

Скажите а получается что питание на программируемый мк только одно и выбора между 3,3 и 5В нет?

Все увидел, разобрался

Контроллеру побоку на каком он напряжении работает. Я запитываю схему 3.3 вольта, этим шью без проблем. Ну в любом случае можно добавить 1117-3.3 и будет счастье)))) С новым годом!

Спасибо вам Алексей! Обычный клон с авито на микросхеме 90USB162 заработал как миленький.

Классный программатор. Сделала себе такой-же. Большое спасибо автору.

СПАСИБО ШАГАТЬ ЛЕГЧЕ ПО ВАШИМ…

Источник: http://www.avrki.ru/articles/content/avrisp_mkll/

Программатор USB ISP для AVR: Ещё один шаг в сторону от ардуинонизации

В моём случае это абсолютный рекордсмен по скорости доставки — около 5 месяцев беспечного блуждания непонятно где. Несмотря на чудовищную задержку по времени, пакет я всё-таки получил, чему несказанно рад, не взирая на недочёты, о коих поведаю ниже.

Поскольку у меня весьма плохая память, то нужно было объединить найденную полезную информацию где-то в одном месте в виде памятки, собирать её по крупицам в разных закоулках сети оказалось делом нетривиальным, поэтому оформлю всё это отдельным постом.

USB ISP — самый дешёвый программатор контроллеров AVR, что можно найти в продаже, брался для расширения кругозора и более углубленного изучения AVR. Обзор в себя включает: описание программатора, как его подключить к чипу, настройку его работы в программах AvrDude Prog, Khazama, Atmel Studio 7, и не только это.

Конечно вместо него можно использовать Arduino UNO с прошитым в него скетчем ArduinoISP, но это не удобно, возня с проводами, особенно если UNO всего одна, отбивает энтузиазм. Проще было заиметь отдельно такой программатор, точнее два.

По двум причинам:

1) Ещё перед покупкой уже из отзывов было понятно, что качество пайки этих устройств страдает, а некоторым ещё и с расколотыми стабилитронами они приходили. Решено было подстраховаться, заказав два.

2) Один программатор к тому же можно шить другим, переставив перемычку на ведомом устройстве. Поддерживаемые ОС: Windows, MacOS, Linux
Процессор: Atmega8A
Интерфейс подключения к ПК: USB
Интерфейс программирования: ISP (внутрисхемное)
Напряжение программирования: 5В или 3.3В (в зависимости от положения перемычки JP2)
Частота программирования: 375кГц (по умолчанию) и 8кГц (при замкнутой перемычке JP3)
Поддерживаемые контроллеры: все AVR с интерфейсом SPI
Описание: ссылка

Список поддерживаемых микроконтроллеров

ATmega8 ATmega48 ATmega88 ATmega168 ATmega328 ATmega103 ATmega128 ATmega1280 ATmega1281 ATmega16 ATmega161 ATmega162 ATmega163 ATmega164 ATmega169 ATmega2560 ATmega2561 ATmega32 ATmega324 ATmega329 ATmega3290 ATmega640 ATmega644 ATMEGA64 ATmega649 ATmega6490 ATmega8515 ATmega8535ATtiny12 ATtiny13 ATtiny15 ATtiny26 ATTINY25 ATtiny45 Attiny85 ATtiny2313AT90S1200 AT90S2313 AT90S2333 AT90S2343 AT90S4414 AT90S4433 AT90S4434 AT90S8515 AT90S8535AT90CAN128
AT90PWM2 AT90PWM3Комплект поставки минимальный — программатор + шлейф без резинки. В моём случае в удвоенном количестве.
Культура исполнения и вправду хромает, мне в глаза сразу бросились криво припаянные гребёнки. Везде где только можно — имеются следы флюса, причём с окислами, по всей видимости, программаторы давно валялись на складе, а сборка их производилась с присущей китайцам быстротой.

Некоторые отверстия не целиком заполнены припоем
SMD-элементы тоже криво припаяны
Гребёнку чуть позже выровнял, уж больно неприятно на такую раскосую смотреть, элементы пропаял, а плату затем отмыл
Размеры платы несколько больше USB-TTL-конвертера на CP2102
Длина шлейфа около 30см, бытует мнение, что чем короче шлейф, тем лучше. Некоторые его специально укорачивают. Если заказать оригинальный USBASP — там комплектный шлейф уже 50см.
На плате имеются три перемычки, задающие разные режимы работы программатора:
Программатор, как можно заметить, построен на базе Atmega8 с кварцем на 12МГц. Самый правый верхний элемент, подписанный F1, с перевёрнутой цифрой 4 — самовосстанавливающийся предохранитель, защищает USB-порт ПК/ноутбука, если на прошиваемой плате вдруг произошло короткое замыкание. Под перемычкой JP2 находится LDO-стабилизатор 662К, понижающий напряжение с 5В до 3.3В, если перемычка установлена в правое положение.
Чтобы начать пользоваться программатором, необходимо сперва поставить на него драйвера. Вставляю любой программатор в USB-порт ПК, звучит сигнал о новом оборудовании, на самом девайсе горит светодиод, но автоматического поиска драйверов не происходит.
1) Скачать драйвера, распаковать в удобное место.
2) Зайти в «Диспетчер устройств», например навести курсор на главную кнопку (Win10), нажать ПКМ и выбрать пункт «Диспетчер устройств».

3) В ветке «Другие устройства» можно увидеть неопознанное устройство USBASP с оранжевым треугольничком — > навести на него курсор, нажать ПКМ -> «Обновить драйверы…»

4) Указать путь до раннее распакованной папки с драйверами — «libusb_1.2.4.0», нажать «ОК»

5) «Всё равно установить этот драйвер»

6) Готово, теперь оранжевый треугольничек пропал, драйвера поставлены

Мне уже было известно до этого, что китайцы продают эти программаторы с не самой свежей прошивкой. Решил сперва обновить прошивку на одном из них, а затем ради интереса сравнить оба программатора в работе. Для этого соединяю шлейфом оба устройства, на ведущем (который вставляю в USB-порт) никакие перемычки не трогаются, а на ведомом программаторе (на котором будем обновлять прошивку) я переставил перемычку с JP2 на JP1:

Захожу в программу Khazama AVR Programmer, выбираю из выпадающего списка ATmega8 и сперва считаю Flash-память через пункт меню «Command» -> «Read FLASH to Buffer», чтобы cохранить китайскую заводскую прошивку у себя. На всякий случай.При этом периодически будет выпадать такая ошибка, закрыв окно, программа продолжит работу.Идёт считывание, которое завершается всплывающим окном об успешном считывании FLASH-памяти в буфер
Теперь нужно сохранить содержимое буфера: «File» -> «Save FLASH Buffer As…». Выбрать удобное место, куда старая прошивка сохранится, дать имя (я например её назвал firmware_1) и дописать расширение *.hex — если его не писать, то она сохранится как просто файл без расширения.

Скачиваю прошивку для программатора с этой странички, архив usbasp.2011-05-28.tar.gz (в этом же архиве есть драйвера для Windows, распаковываю содержимое в удобное место.

Тем временем в Khazama загружу скачанную прошивку в буфер. «File» -> «Load FLASH File to Buffer». Выбираю прошивку, где в названии написано atmega8, поскольку прошиваемый программатор на этом чипе.Как видно, здесь три прошивки — для Atmega8, 48 и 88.

В нашем случае Atmega 8 — её и выбираю.Прошиваю. «Command» -> «Write FLASH File to Buffer». Снова возникает ошибка, но после идёт процесс, завершающийся успехом.

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

Программа Khazama AVR Programmer удобна просмотром фьюз-битов — там наглядно видно и расписано, какие из них установлены, а какие нет.

Находятся они по пути «Command» -> «Fuses and Lock Bits…», откроется окно:Где по нажатии кнопки «Read All» считаются фьюз- и лок-биты, а пресловутая ошибка успеет вылезти аж 5 раз подряд. Ошибки сыпятся именно на заводской китайской прошивке. Но если вставить в USB-порт недавно прошитый программатор, прошивкой скаченной по ссылке выше, то этих ошибок вылазить уже не будет, однако баги вылезут в другом месте, но о них позже.В этом случае выводы программатора соединяются с выводами платы Pro Mini, как проиллюстрировано на схематичном рисунке ниже. Перемычки не переставляются, т.е. остаётся в положении 5В. Несмотря на то, что плата Pro Mini подписана как 3.3В, на 168-ю Атмегу можно подавать и 5В. Стабилизатор AMS1117 на 3.3В кстати вообще выпаян из платы.

AVRDUDE PROG 3.3

Консольная программа для прошивки микросхем, своего графического интерфейса не имеет, в стоке работает из командной строки, но энтузиастами было написано немало оболочек на неё, для удобства работы с ней. Одна из таких оболочек называется AVRDUDE PROG, созданная русскоязычными разработчиками. Эта оболочка, на мой взгляд удобна как раз для Flash-перепрошивки МК.

После её запуска выбирается контроллер, в данном случае Atmega168 и тип программатора — USBasp. После чего можно заниматься записью/считыванием памяти. Что на заводской прошивке, что на новой — в обоих случаях никаких проблем с общением с Atmega168 не возникло. Прошил ради интереса ардуиновский стандартный blink-скетч, экспортированный в бинарный HEX-файл. Всё гладко.

Khazama AVR Programmer

Здесь достаточно выбрать микроконтроллер из выпадающего списка и можно уже работать с памятью/битами.

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

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

AVRDUDE PROG 3.3

Тут выбирается из списка одноимённый контроллер, программатор USBasp и, если программатор прошит заводской китайской прошивкой, то все операции проходят ровно и гладко.

Однако стоит заменить программатор на другой, с обновлённой прошивкой, то при любой операции возникает ошибка.

Появляется она из-за того, что ни программа, ни программатор не могут автоматически перейти в режим медленного программирования, необходимый для ATtiny13. Но есть как минимум два выхода:

1) Железный: замкнуть перемычку JP3

2) Программный: отредактировать файл «programm.ini» в папке с программой AVRDUDE PROG 3.3

Внести туда четыре строчки кода и сохранить. (взято отсюда)
progisp=jtag2pdiportprog=COM1portenabled=1[UsbaspSpeed] progisp=Usbasp -B 3 portprog=usb portenabled=0После этого снова запустить AVRDUDE PROG 3.3 и в выпадающем списке программаторов выбрать UsbaspSpeed. Теперь работа с ATtiny13 на программаторе с новой прошивкой будет уже без ошибок, а перемычку JP3 замыкать больше не потребуется в этом случае.

Khazama AVR Programmer

Выбирается контроллер из списка и почти та же ситуация.

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

Но с программатором на новой прошивке уже появляется иная ошибка с невозможностью прочесть сигнатуру (цифровую подпись) контроллера.

Но стоит замкнуть перемычку JP3, и можно спокойно работать

Или просто задать частоту работы из выпадающего списка по пути «Command» -> «Programm Options», я выставил частоту 187.5кГц.

Atmel Studio — среда разработки от фирмы Atmel, но напрямую работать с USBASP, тем более китайским, она не может. Однако благодаря той же программе AVRDUDE, входящий в состав пакета AVRDUDE PROG 3.3, которая будет играть здесь роль посредника, можно соорудить «костыль», а уже в самой среде затем добавить возможность прошивать МК, подключенный через USBASP. Сперва нужно запустить среду, предполагается, что некий код у нас уже написан и собран. В моём примере это простая мигалка светодиодом — Blink.На верхней панели инструментов выбрать «Tools» — «External Tools…»Откроется небольшое окно, нажать «Add»

В самом верхнем поле «Title:» ввести любое удобное название, я написал «Atmega168», т.к. та конфигурация, что приведу чуть ниже относится конкретно к этому контроллеру, и для любого другого контроллера она настраивается индивидуально.

В большом поле наверху, название инструмента будет автоматически продублировано.

Вторая строка, поле «Command:» — здесь нужно указать путь до файла «avrdude.exe», который находится в папке с вышерассмотренной программой

Третья строка, поле «Arguments:» необходимо ввести собственно саму конфигурацию

Конфигурация для Atmega168

-p m168 -c usbasp -P usb -U flash:w:$(ProjectDir)Debug$(TargetName).hex:a-p — наименование контроллера -с — какой программатор -P — порт, через который будет заливаться прошивка -U — какая операция с какой памятью будет производится (в данном случае запись во Flash)

Если нужно настроить для другого МК, то параметр «m168» нужно изменить на соответствующий контроллер, который будет прошиваться. Например «m8» для Atmega8 или «m328p», если Atmega328p. Параметры для других МК смотрите здесь — также там найдёте описания ключей AVRDUDE.

Конфигурация для ATtiny13

-p t13 -c usbasp -B 3 -P usb -U flash:w:$(ProjectDir)Debug$(TargetName).hex:a Здесь можно заметить уже два изменения: помимо «t13», добавился уже знакомый ключ “-B” со значением «3» для снижения скорости программированияПосле заполнения полей нажать «Apply» и «ОК». Окно закроетсяТеперь, если снова кликнуть по «Tools», там появится только что созданный инструмент. И по нажатии по нему откомпилированный код будет автоматически прошит в контроллер.Но эта операция происходит в два клика, что не очень удобно. Надо вынести этот инструмент на главную панель инструментов, чтобы он был всегда на виду. Для этого нужно снова зайти в «Tools», затем кликнуть по пункту «Customize…» Откроется следующее окно:Перейти во вкладку «Commands» — нажать кнопку «Add Command…»Ещё одно окно появится. В нём — в левой колонке выбрать «Tools», а в правой колонке выделить «External Command 1». Нажать «OK»«External Command 1» окажется наверху списка, и, обратите внимание на саму панель инструментов — в интерфейсе появился пункт «Atmega168».Но как мне кажется, место ему отведено не совсем удачное, желательно его сдвинуть вправо, для этого нажимается кнопка «Move Down» (одно нажатие = сдвиг на одну позицию вправо). После этого можно закрывать окно по кнопке «Close» и шить чип прямо из студии в один клик через обозреваемый программатор.
При перепрошивке чипа таким методом, на секунду появляется консольное окно AVRDUDE. Но может возникнуть необходимость как-то сохранить этот лог для дальнейшего его просмотра — тогда в окне «External tools» нужно поставить галку на «Use Output window».И теперь лог будет отображаться в окне вывода, что внизу программы ATmel Studio 7. Данная галка может задаваться отдельно для каждого добавленного в «External tools» контроллера.Из документа READMI, идущего в комплекте с драйверами и прошивкой для USBASP, позже выяснилось, что разработчик рекомендует выставить определённую конфигурацию фьюз-битов, определяющих работу внешнего резонатора.
Минусом khazam'ы является то, что в окне со фьюзами не отображаются HEX-значения выставленных битов. Это уже можно посмотреть в AVRDUDE PROG. Заводские фьюзы, выставленные китайцами, выглядят так (обязательно поставить точку «инверсные» — выделил синим прямоугольником):
Как рекомендует выставить разработчик:Это нужно снять две галки с «BODEN» и «SUT1» (выделено красным овалом), поставить две галки на «CKOPT» и «SUT0» (выделено зелёным прямоугольником),

справа в колонке при этом будут отображаться HEX-значения изменённых битов (выделено жирным красным прямоугольником): Lock Byte: 3F, Fuse High Byte: C9, Fuse Low Byte: EF.

Если всё сходится, можно нажимать «программирование»_____________________________________ Опробовано, работает. Если khazam не планируется использовать, то в обновлении прошивки для программатора — смысла нет, благо и так прекрасно работает, причём в случае с ATtiny13 никаких правок и перемычек вносить не требуется. Последняя прошивка — почему-то оказалась более капризна в этом плане. Единственное, после получения, плату надо пропаять и отмыть.

Список ссылок

1) Описание USBASP
2) AVRDUDE PROG 3.3 (форум)
3) Khazama AVR Programmer 1.7
4) Китайская стоковая прошивка (10кб)
5) Архив с прошивками для USBASP и драйверами для Windows — сайт создателя проекта

Источник: https://mysku.ru/blog/aliexpress/52686.html

Ссылка на основную публикацию
Adblock
detector
",css:{backgroundColor:"#000",opacity:.6}},container:{block:void 0,tpl:"
"},wrap:void 0,body:void 0,errors:{tpl:"
",autoclose_delay:2e3,ajax_unsuccessful_load:"Error"},openEffect:{type:"fade",speed:400},closeEffect:{type:"fade",speed:400},beforeOpen:n.noop,afterOpen:n.noop,beforeClose:n.noop,afterClose:n.noop,afterLoading:n.noop,afterLoadingOnShow:n.noop,errorLoading:n.noop},o=0,p=n([]),h={isEventOut:function(a,b){var c=!0;return n(a).each(function(){n(b.target).get(0)==n(this).get(0)&&(c=!1),0==n(b.target).closest("HTML",n(this).get(0)).length&&(c=!1)}),c}},q={getParentEl:function(a){var b=n(a);return b.data("arcticmodal")?b:(b=n(a).closest(".arcticmodal-container").data("arcticmodalParentEl"),!!b&&b)},transition:function(a,b,c,d){switch(d=null==d?n.noop:d,c.type){case"fade":"show"==b?a.fadeIn(c.speed,d):a.fadeOut(c.speed,d);break;case"none":"show"==b?a.show():a.hide(),d();}},prepare_body:function(a,b){n(".arcticmodal-close",a.body).unbind("click.arcticmodal").bind("click.arcticmodal",function(){return b.arcticmodal("close"),!1})},init_el:function(d,a){var b=d.data("arcticmodal");if(!b){if(b=a,o++,b.modalID=o,b.overlay.block=n(b.overlay.tpl),b.overlay.block.css(b.overlay.css),b.container.block=n(b.container.tpl),b.body=n(".arcticmodal-container_i2",b.container.block),a.clone?b.body.html(d.clone(!0)):(d.before("
"),b.body.html(d)),q.prepare_body(b,d),b.closeOnOverlayClick&&b.overlay.block.add(b.container.block).click(function(a){h.isEventOut(n(">*",b.body),a)&&d.arcticmodal("close")}),b.container.block.data("arcticmodalParentEl",d),d.data("arcticmodal",b),p=n.merge(p,d),n.proxy(e.show,d)(),"html"==b.type)return d;if(null!=b.ajax.beforeSend){var c=b.ajax.beforeSend;delete b.ajax.beforeSend}if(null!=b.ajax.success){var f=b.ajax.success;delete b.ajax.success}if(null!=b.ajax.error){var g=b.ajax.error;delete b.ajax.error}var j=n.extend(!0,{url:b.url,beforeSend:function(){null==c?b.body.html("
"):c(b,d)},success:function(c){d.trigger("afterLoading"),b.afterLoading(b,d,c),null==f?b.body.html(c):f(b,d,c),q.prepare_body(b,d),d.trigger("afterLoadingOnShow"),b.afterLoadingOnShow(b,d,c)},error:function(){d.trigger("errorLoading"),b.errorLoading(b,d),null==g?(b.body.html(b.errors.tpl),n(".arcticmodal-error",b.body).html(b.errors.ajax_unsuccessful_load),n(".arcticmodal-close",b.body).click(function(){return d.arcticmodal("close"),!1}),b.errors.autoclose_delay&&setTimeout(function(){d.arcticmodal("close")},b.errors.autoclose_delay)):g(b,d)}},b.ajax);b.ajax_request=n.ajax(j),d.data("arcticmodal",b)}},init:function(b){if(b=n.extend(!0,{},a,b),!n.isFunction(this))return this.each(function(){q.init_el(n(this),n.extend(!0,{},b))});if(null==b)return void n.error("jquery.arcticmodal: Uncorrect parameters");if(""==b.type)return void n.error("jquery.arcticmodal: Don't set parameter \"type\"");switch(b.type){case"html":if(""==b.content)return void n.error("jquery.arcticmodal: Don't set parameter \"content\"");var e=b.content;return b.content="",q.init_el(n(e),b);case"ajax":return""==b.url?void n.error("jquery.arcticmodal: Don't set parameter \"url\""):q.init_el(n("
"),b);}}},e={show:function(){var a=q.getParentEl(this);if(!1===a)return void n.error("jquery.arcticmodal: Uncorrect call");var b=a.data("arcticmodal");if(b.overlay.block.hide(),b.container.block.hide(),n("BODY").append(b.overlay.block),n("BODY").append(b.container.block),b.beforeOpen(b,a),a.trigger("beforeOpen"),"hidden"!=b.wrap.css("overflow")){b.wrap.data("arcticmodalOverflow",b.wrap.css("overflow"));var c=b.wrap.outerWidth(!0);b.wrap.css("overflow","hidden");var d=b.wrap.outerWidth(!0);d!=c&&b.wrap.css("marginRight",d-c+"px")}return p.not(a).each(function(){var a=n(this).data("arcticmodal");a.overlay.block.hide()}),q.transition(b.overlay.block,"show",1*")),b.overlay.block.remove(),b.container.block.remove(),a.data("arcticmodal",null),n(".arcticmodal-container").length||(b.wrap.data("arcticmodalOverflow")&&b.wrap.css("overflow",b.wrap.data("arcticmodalOverflow")),b.wrap.css("marginRight",0))}),"ajax"==b.type&&b.ajax_request.abort(),p=p.not(a))})},setDefault:function(b){n.extend(!0,a,b)}};n(function(){a.wrap=n(document.all&&!document.querySelector?"html":"body")}),n(document).bind("keyup.arcticmodal",function(d){var a=p.last();if(a.length){var b=a.data("arcticmodal");b.closeOnEsc&&27===d.keyCode&&a.arcticmodal("close")}}),n.arcticmodal=n.fn.arcticmodal=function(a){return e[a]?e[a].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof a&&a?void n.error("jquery.arcticmodal: Method "+a+" does not exist"):q.init.apply(this,arguments)}}(jQuery)}var debugMode="undefined"!=typeof debugFlatPM&&debugFlatPM,duplicateMode="undefined"!=typeof duplicateFlatPM&&duplicateFlatPM,countMode="undefined"!=typeof countFlatPM&&countFlatPM;document["wri"+"te"]=function(a){let b=document.createElement("div");jQuery(document.currentScript).after(b),flatPM_setHTML(b,a),jQuery(b).contents().unwrap()};function flatPM_sticky(c,d,e=0){function f(){if(null==a){let b=getComputedStyle(g,""),c="";for(let a=0;a=b.top-h?b.top-h{const d=c.split("=");return d[0]===a?decodeURIComponent(d[1]):b},""),c=""==b?void 0:b;return c}function flatPM_testCookie(){let a="test_56445";try{return localStorage.setItem(a,a),localStorage.removeItem(a),!0}catch(a){return!1}}function flatPM_grep(a,b,c){return jQuery.grep(a,(a,d)=>c?d==b:0==(d+1)%b)}function flatPM_random(a,b){return Math.floor(Math.random()*(b-a+1))+a}