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

Программатор USBTiny-MkII slim

Программатор USBTiny-MkII slim

USBTiny-MkII slim - компактный и быстрый USB-программатор для микроконтроллеров AVR, совместимый с фирменным программатором AVRISP-MKII от Atmel. Немалая стоимость оригинала поспособствовала появлению его многочисленных клонов, и самым удачным из них, пожалуй, является именно USBTiny-MkII SLIM. Устройство может программировать все 8-разрядные AVR-микроконтроллеры, обладающие возможностью внутрисхемного программирования (поддерживаются интерфейсы ISP, TPI и PDI).

Это быстрый программатор. 128 Кб флеша ATMega128 полностью считываются за 35 секунд (для сравнения, usbasp делает это за 70 секунд), и пишутся чуть медленнее (скорость записи ~15 Кб/сек). Второе важное достоинство устройства в том, что оно без проблем работает не только с avrdude, но и с AtmelStudio, которая видит программатор как родную железку.

Высокая скорость работы обеспечивается использованием микроконтроллеры AT90USB162 с аппаратной поддержкой USB (этот контроллер содержит встроенный bootloader и для его прошивки не нужен программатор). Кроме микроконтроллера на плате программатора имеется двунаправленный преобразователь уровня напряжения GTL2003, LDO-стабилизатор (MCP1825S-3302ED) на 3.3В, джампер для выбора напряжения питания программируемого МК (3.3В/5В) и пара светодиодов-индикаторов режима работы.

Для программатора была спроектирована модель корпуса для печати на 3d-принтере. Корпус состоит из двух половинок, которые склеиваются между собой. Под джамперы, светодиоды и разъёмы программатора (и подписи к ним) сделаны окошки. Также есть ниша для установки 10-пинового ISP-разъема (в дополнении к 6-пиновому ISP на печатной плате).

Графическая оболочка для avrdude под MacOS

avrfuses

Программа avrdude поддерживает все актуальные программаторы микроконтроллеров AVR и является кроссплатформенной (Linux, Windows, MacOS). Это консольная утилита и её удобно вызывать из shell/bat-скриптов. Единожды написав такой файлик и положив его в директорию с проектом, получаем возможность быстро прошить и проверить фьюзы, flash и eeprom микроконтроллера. Проблема только в том, чтобы написать этот скрипт. И тут основную головную боль вызывают fuse-биты, т.к. надо правильно сформировать их значения нигде не ошибившись. Иначе, устройство, в лучшем случае, может не заработать совсем или работать неправильно. Ну а в худшем случае можно "окипрпичить" микроконтроллер.

Для avrdue написано много разных графических оболочек под Windows, но среди всего этого многообразия не так просто найти удобный и не сильно глючный софт. Основное требование к оболочке - возможность работать с fuse-битами не как с числами или набором непонятных чекбоксов, а в нормальном человекочитаемом формате. Под MacOS вариантов оболочек совсем не много, но, к счастью, есть open-source проект AVRFuses и с фьюзами там всё относительно неплохо. Плюс открытый исходный код даёт возможность неограниченно затачивать этот инструмент под себя.

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

Программатор USBasp

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

Программатор USBASP - широкоизвестное устройство для программирование AVR-микроконтроллеров, подключаемое к USB-порту. В Сети встречается множество описаний реализации USBasp с разными печатными платами, но т.к. размеры всех этих плат оказались не подходящими для моего корпуса, то я сделал свою.

Подписка на Программатор