136-gcUploader автоматический загрузчик HEX-файлов для Arduino

Автор: | 26.08.2016

GC UploaderС недавнего времени, как Вы заметили, я стал создавать много конструкций на базе Arduino. Причина проста – экономия времени на сборку устройства. Сейчас у меня стало не так много свободного времени, но отказываться от своего хобби я не хочу. Поэтому приходится оптимизировать производство новых устройств :). Больше времени уделять коду, чем пайке. Кроме того, конструкция на Ардуине обладает хорошей повторяемостью – трудно сделать что-то не так, когда для создания конструкции необходимо, всего лишь, соединить готовые платки десятком проводков. Но, несмотря на то, что устройства создаются при помощи Ардуины, программы под них я все равно пишу на Algorithm Builder (родная среда программирования Ардуины очень упрощена и мне много чего в ней не хватает).

С переходом на Ардуину встал вопрос прошивки МК. Можно использовать ISP разъем на Ардуине и прошивать МК прямо с Билдера (плюсом будет внутрисхемная отладка), но грех не использовать уже прошитый в Ардуину загрузчик и прошивать свои программы посредством штатного USB-шнура Ардуины. К сожалению Билдер не может записать прошивку в Ардуину через загрузчик, поэтому приходится использовать сторонние программы – HEX-загрузчики.

Раньше процесс прошивки Ардуины у меня выглядел следующим образом.  Предварительно я запускаю один из загрузчиков (о них я писал раньше) и настраиваю его на включенную Ардуину, прописываю путь к хексу создаваемой программы. Дальше в Билдере, после очередной редакции кода, компилирую проект, перехожу к окну загрузчика, жму на нем кнопку «Загрузить» и возвращаюсь в Билдер. Процедура вроде и не сложная, но когда таких циклов в процессе отладки делаешь десятки – это начинает немного надоедать.

Для того чтобы упростить процесс прошивки Ардуины я сделал свой автоматический загрузчик — gcUploader.

Окно GC Uploader

gcUploader.zip (31217 Загрузок)

 

GC Uploader — маленькая программка с небольшим количеством настроек, но очень облегчающая мне жизнь.

Работает она следующим образом:
1 Подключаем Ардуину к компьютеру (драйвера уже должны быть установлены)
2 Запускаем gcUploader
3 Мышкой кидаем HEX-файл на окно gcUploader (откроется область настроек)
4 Выбираем тип Ардуины
5 Выбираем порт к которому подключена Ардуина.
6.1 Для случая, когда нужно прошить готовый хекс — кликаем пиктограмму микроконтроллера
6.2 Для случая работы с проектом, программа делает все сама (программа следит за хексом и в случае его изменения, при очередной компиляции проекта, процесс прошивки Ардуины запускается автоматически).

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

Элементов управления немного и они интуитивно понятны.
Главный элемент окна – изображение микроконтроллера. Изображение меняется, отображая текущее состояние программы:

ожидание
ожидание — HEX-файл не изменялся — программа ничего не делает

 

изменение
обнаружено изменение — HEX-файл изменился и, если не выбран ручной режим, прошивка начнется автоматически

 

прошивка
прошивка МК

 

готово
прошивка завершена

 

В любом из режимов работы можно начать процесс прошивки вручную, кликнув на пиктограмме микросхемы.

Далее элементы настройки:

настройка — открывает поле настройки программы

Нужно выбрать, соответственно, тип Ардуины и порт, к которому она подключена. В окно адреса нет необходимости прописывать путь вручную – просто киньте файл прошивки на форму и путь добавится автоматически.

ручной режим прошивкиавтоматический режим прошивки — ручной и автоматический режим прошивки. В ручном режиме программа обнаруживает изменение хекса и изменяет пиктограмму МК, но не запускает прошивку. Прошивка начнется после клика на пиктограмме МК.

лог включенлог отключен — включение/отключение отображения окна лога работы AVRDUDE. При первых прошивках проекта рекомендуется включать окно, чтобы убедиться, что все работает нормально.

    — открывает файл gcUploader.ini для добавления поддержки новых устройств
(читать подробней).

обновить

— обновление списка доступных портов, для случая подключения Ардуины после пуска программы.

Окно программы полупрозрачно и всегда находится поверх всех окон, так что Вы всегда будете в курсе того, что происходит.

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

Обновление 19.09.2016
— убрал отображение формы на панели задач (для экономии на ней места) — все равно окно программы всегда на виду;
— добавил альтернативную командную строчку для AVRDUDE в gcUploader.ini, расскоментировав которую можно увеличить скорость записи прошивки в МК (отключается верификация записанной прошивки). по умолчанию работает обычный режим с верификацией.

Обновление 20.09.2016
— добавил возможность обновления списка доступных портов (для случая, когда Ардуина подключена уже после пуска программы)

Обновление 08.02.2018
— обновил AVRDUDE до свежей 6.3 версии
— появилась возможность добавлять свои варианты Ардуин или даже микроконтроллеров и программаторов (читать подробней)

Обновление 13.05.2018
— небольшие улучшения функциональности

(Visited 39 500 times, 8 visits today)