Меню Закрыть

Загрузка любого HEX-файла в Arduino

Вступление

Все платы Arduino поставляются с предварительно установленным загрузчиком (bootloader). Благодаря данному загрузчику любой обладатель Arduino без труда может загрузить в микроконтроллер любые скетчи (sketch) напрямую из среды Arduino IDE. Но что же делать, если программа разработана в другой среде программирования и уже скомпилирована в виде бинарного (Hex) файла, ведь Arduino IDE с таким контентом не работает? Как прошить Arduino любым HEX-файлом?

Решение есть!

При использовании Arduino IDE скетч ее же силами так же преобразуется в двоичный код (компилируется), который затем записывается в память микроконтроллера. Осталось только найти способ воспользоваться этим механизмом записи бинарного файла. С этим нам поможет альтернативная программа-загрузчик. Их существует много, но принцип работы у них всех одинаков. Я сосредоточусь на такой, как XLoader.

Скачать:
Xloader (538 Загрузок)

Что нам потребуется?

Во первых наше внимание будет сосредоточено на платах Arduino с определенным микроконтроллером – ATmega328p. Можно выделить 2 основных варианта (Arduino Uno и Arduino Nano) и один потенциальный (Arduino Pro Mini). О последнем я расскажу отдельно.

С Arduino Uno и Arduino Nano все просто. Они имеют встроенный USB-UART преобразователь и свой USB-разъем. Они подключаются напрямую к компьютеру по соответствующему USB-кабелю.

После подключения платы Arduino к компьютеру и запуска программы XLoader все сводится к 4 кликам мышки:

  1. Выбираем нужную прошивку (Hex-фаил)
  2. Выбираем тип Arduino платы
  3. Указание виртуального COM-порта, к которому подключена плата Arduino
  4. Нажатие кнопки Upload.

После данных действий начнется процесс загрузки выбранной прошивки (Hex-файла) в память микроконтроллера. Светодиоды (RXD и TXD) на плате Arduino начнут неистово мигать. Когда они прекратят это делать – процесс будет завершен.

Собственно и все! Больше никаких действий не требуется. Прошивка загружена в микроконтроллер.

Что не так с Arduino Pro Mini?

Arduino Pro Mini является одой из самых миниатюрных плат семейства Arduino. Есть варианты на микроконтроллере ATmega328p, поэтому нам она тоже подходит. Однако есть нюанс: данная плата не имеет встроенного USB-UART преобразователя. Поэтому она выигрывает в плане компактности, но напрямую ее к компьютеру не подключишь. Для этого необходимо воспользоваться внешним USB-UART преобразователем. Конечно же, если таковой имеется в наличии. Дополнительно нужно убедиться, что кварцевый резонатор установлен номиналом 16 МГц, ведь данный тип платы Arduino бывает еще с кварцевым резонатором на 8 МГц.

В остальном, все действия производятся согласно предыдущему пункту.

Translate »