AVR портативный программатор uProg (µProg)

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

AVR портативный программатор uProg (µProg)
портативный программатор

Портативный автономный программатор..

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

Что меня не устраивает в авторской версии?

  1. Хотелось бы иметь возможность сделать на других экранах, подешевле, с большим разрешением, может покомпактнее, у меня как минимум два варианта.
  2. Авторская версия поддерживает только карты памяти MicroSD старого формата до 2 Гб, которые сейчас трудно найти. Библиотеки SD позволяют использовать современные карты памяти.
  3. Без карты памяти программатор «превращается в тыкву», даже сообщение об ошибке на экране отображается некорректно. Хотелось бы, чтобы основные функции были доступны без карты памяти.

4*. Бонусный список желаний. Обойдетесь без карты памяти вообще. Для этого вам потребуется микросхема памяти, которая стоит всего несколько центов, программная реализация интерфейса USB для загрузки прошивки с компьютера и терминальная программа для преобразования HEX-файла и отправки его с компьютера в память программатора. . Последнее для меня обычно темный лес, надеюсь на спецов.

Пять*. На основании предыдущего пункта предлагается другой вариант. Если вам нужно загрузить на контроллеры 100500 одну и ту же прошивку, которая помещается в память программы контроллера программатора, то достаточно преобразовать HEX файл в байтовый массив с помощью скрипта на компьютере (тут опять для меня темный лес) , и вставьте его в код программатора. А так как экран в данном случае не обязателен, то можно просто запустить созданный скетч на первой попавшейся плате Arduino и отправиться в горы с павербанком прошивать 100 500 контроллеров (а где еще такого может не быть? ?). Вот только для последнего варианта в сети была другая версия программатора — ультрамобильная прошивка. Я смог запустить его только почти полностью переписав код, но спасибо за идею.

6*. В связи с этим вспомнился еще один важный список пожеланий — возможность выбора интерфейса программирования в меню программатора: ISP (по умолчанию), JTAG, TPI (Attiny10).

Если включить монитор порта (когда Arduino питается от USB компьютера), то на мониторе будет отображаться отображаемая подпись контроллера и ход записи и чтения прошивки. Внимание! Каждый раз, когда вы запускаете Port Monitor, Arduino перезагружается и снова запускает скетч, соответственно перезаписывая Attiny. Это не страшно, но если вынуть его из USB в неподходящий момент, то можно испортить Аттини. Накосячил Atmega64 в процессе экспериментов. Прошивка появляется через пару секунд после подачи питания, затем вы можете проверить Attiny в действии: когда уровень на входе 3 (это контакт 2 tini13) низкий, загорается светодиод на выходе 2. (это пин 7 tini13), его роль играет светодиод на Arduino, и он не загорается при высоком).

Источник: аrduinо.ru

Bestchart
Добавить комментарий