Как загрузить hex файл в arduino ide: Как загрузить HEX прошивку Ардуино

Содержание

Прошивка hex-файлов в Arduino | Мои увлекательные и опасные эксперименты

Некоторые проекты для Arduino распространяются не в виде файлов скетчей (*.ino), а в виде hex-файлов (*.hex). Я расскажу, как прошить такой файл в Arduino.

Получение hex-файла

Как получить hex-файл для своего проекта или скачанного скетча? Для получения hex-файла, соответствующего требуемому скетчу, необходимо открыть этот скетч (например, bike.ino) в Arduino IDE (я использую версию 1.6.6) и выбрать в меню Скетч (Sketch) команду Экспорт бинарного файла (Export Compiled Binary):

После этого происходит компиляция и в папке скетча появляются два hex-файла (для скетча bike.ino — bike.ino.eightanaloginputs.hex и bike.ino.with_bootloader.eightanaloginputs.hex):

Hex-файл имеет текстовый формат и состоит из строк вида
:100020000C94DF030C94DF030C94DF030C94DF03C8

Отличие этих двух файлов заключается в наличии в файле *. ino.with_bootloader.eightanaloginputs.hex загрузчика Arduino:

Прошивка hex-файла

Как же прошить имеющийся hex-файл? Сначала необходимо подключить прошиваемую плату (я использую Arduino Nano 3.0) к USB-порту компьютера и узнать COM-порт подключения. Номер порта можно посмотреть в Arduino IDE в меню Инструменты (Tools):

Для прошивки hex-файла *.ino.eightanaloginputs.hex (для рассматриваемого скетча — bike.ino.eightanaloginputs.hex) в микроконтроллер платы Arduino используется программа AVRDude — AVR Downloader-Uploader, предназначенная для прошивки микроконтроллеров AVR.

Для упрощения процедуры прошивки можно создать папку avrdude. Затем в эту папку следует скопировать файлы avrdude из папок Arduino IDE:
avrdude.exe и libusb0.dll (библиотека из проекта libusb-win32 https://github. com/libusb/libusb) — из папки \Arduino\hardware\tools\avr\bin\

avrdude.conf (конфигурационный файл) — из папки \Arduino\hardware\tools\avr\etc\

В результате в папке avrdude содержатся три файла:

В эту же папку следует скопировать прошиваемый hex-файл (в рассматриваемом примере — файл bike.ino.eightanaloginputs.hex).

В Arduino IDE версии 1.6.6 представлена программа avrdude версии 6.0.1

Затем в консоли требуется ввести команду:

-v : вывод подробной информации
-patmega328p : указание типа микроконтроллера
-c arduino : указание программатора — программатор, используемый Arduino IDE
-P com11 : указание номера COM-порта (COM11)
-b 57600 : указание скорости COM-порта (57600 бод)
-D : не выполнять очистку FLASH-памяти микроконтроллера.
-U flash:w:bike.ino.eightanaloginputs.hex:i : w — запись flash — во FLASH-память i — файла в формате Intel Hex

После ввода команды выполняется прошивка hex-файла в Arduino:

Как прошить HEX-файлы в Arduino IDE?

Прежде чем начать обсуждение по сути, небольшое отступление с пояснениями, что такое Hex-прошивка. Рассказываем: речь идет о скомпилированном файле, который загружается в плату Ардуино, но не является исходным кодом, как скетч. Иными словами, это простой способ распространения программ для изучаемой нами среды. Такие файлы часто имеют расширение *.hex – отсюда и название. Они просты в использовании, не требуют скачивания дополнительных библиотек, легко переносятся на другие девайсы.

Важный момент! В этой прошивке отсутствует возможность получения читаемого исходного кода для внесения пользователями коррекций.

Как же получить hex-файл для создания собственного проекта либо скетча?

  • Для начала откройте нужный вам скетч в среде разработки IDE.
  • Выберите в меню Скетч команду Экспорт бинарного файла.

Для прошивки используются специализированные утилиты-загрузчики – в нашем случае — AVR Downloader-Uploader. Выполняем поэтапно шаги:

  1. Создаем папку под названием avrdude.
  2. Копируем в нее следующие файлы: avrdude.exe и libusb0.dll из C:\Program Files (x86)\Arduino\hardware\tools\avr\bin и avrdude.conf из C:\Program Files (x86)\Arduino\hardware\tools\avr\etc

Скорость выбираете согласно типу плат (Уно, Нано – можно 115200, для других, особенно китайских моделей – 57600, тут нужно экспериментировать).

Среди других приложений, которые советуют использовать, можем назвать: GC-Uploader (автоматическая заливка ПО), SinaProg (более профессиональный софт) и XLoader. Выбирайте оптимальный для себя вариант!

Как загрузить файл .hex в arduino uno через USB с устройства Android?

хотите создать приложение android для загрузки файла . hex в arduino uno через USB. Sketch IDE создает файл .hex после компиляции программы. И возможность загрузки в arduino uno через USB. Так что может ли кто-нибудь сказать мне, как сделать приложение android для загрузки файла .hex в arduno uno . В google play store есть приложение под названием Arduino Commander, которое можно загрузить с помощью USB. А также я хочу знать исходный код android для этого

2 ответа

Я делаю проект с использованием платформы Arduino Uno R3. Я хочу использовать два устройства: acc+gyro (MPU-6050) и Bluetooth (HC-06). Проблема в том, что оба устройства нуждаются в TX-выводе (2). У вас есть какие-нибудь идеи, как использовать это устройство с Arduino Uno R3 одновременно? (Я имею. ..

Я хочу создать свое собственное приложение для загрузки эскизов для моего Arduino UNO. У меня есть кабель USB, который соединяет мой смартфон Android с моим UNO. Теперь я хотел бы сделать что-то похожее на приложение ArduinoDroid: прочитать файл .ino с моего устройства Android, скомпилировать и…

я не знаю точно что вы имеете в виду вот почему это разделено на две части:

либо вы хотите использовать виртуальный порт arduino COM для записи двоичного файла в EEPROM, либо flash с использованием протокола RS-232.

или вы хотите flash файл .hex (написать самостоятельно написанную и скомпилированную программу в arduino) через его загрузчик поверх USB (программирование DFU). я думаю, что вы хотите сделать первый

обычно arduino uno USB реализует класс USB CDC ACM ( https://en. wikipedia.org/wiki/ USB_communications_device_class ) и является виртуальным портом COM . Таким образом, вы можете общаться с протоколом/командами RS-232 через USB от android до arduino.

на стороне android есть драйвер хоста USB ( https://github.com/mik3y/usb-serial-for-android), который позволяет вашему android перечислять виртуальные порты COM (устройства CDC ACM USB), такие как arduino.

в этой ситуации android-это USB хоста, а arduino-это USB устройства. В протоколе USB может быть только одно устройство в режиме хоста тогда все остальные устройства должны быть в режиме устройства

таким образом, на вашем android вы можете включить драйвер usb-serial-for-andoid в свой проект, а затем использовать команды RS-232 для связи с виртуальным COM arduinos, пример находится в https://github.com/mik3y/usb-serial-for-android

на вашем arduino вы должны реализовать программное обеспечение, которое понимает команды, которые оно получает через виртуальный порт com, см. https://www.arduino.cc/en/Tutorial/SoftwareSerialExample для RS-232 на arduino

таким образом, вы можете реализовать аналогичную функциональность, например Arduino Commander https://www.arduino.cc/en/Main/USBSerial

вы также можете задать arduino вопрос по адресу http://arduino.stackexchange.com

программирование arduino (мигание .hex) через порт USB работает, потому что чип Arduino имеет предустановленный загрузчик ( http://wiki.osdev.org/Bootloader ). это называется DFU (обновление прошивки устройства). DFU-это специальный протокол USB. вы можете следовать этому учебнику https://www.arduino.cc/en/Hacking/DFUProgramming8U2 обратите внимание, что при этом вы перезаписываете /delete любую прошивку, которая находится на arduino (за исключением загрузчика и некоторых других низкоуровневых задач), и заменяете ее своей новой разработкой

для этого нет приложения android, и arduino commander не может этого сделать, вот почему я не думаю, что вы хотите это сделать (DFU, используя android в качестве хоста)

Поделиться ralf htp 21 января 2017 в 10:50

Используйте Physicaloid , он предоставляет простой метод для загрузки файлов эскиза в arduino. Файл эскиза хранится в папке assets приложения.

Поделиться kev 25 июня 2018 в 13:15

Похожие вопросы:

Ошибки avrdude в Android Arduino функции ioctl

Мой предыдущий вопрос, Android не может говорить с Arduino, используя AVRDUDE , был решен. Теперь я могу подключить свой Nexus 7 к своему Arduino Uno. Полная команда, которую я выполняю, такова:…

Arduino + Android USB Host API = неисправные пакеты

Я пытаюсь взаимодействовать с моим Arduino Uno с моего Android планшета под управлением 4.0.3 и получил все, что работает с помощью Android USB Host API, что означает, что я могу отправить данные…

Arduino Android и USB хозяина API

У меня есть устройство, подключенное к последовательному порту Arduino Uno . Мне нужно связать Arduino со смартфоном Android через USB, чтобы прочитать данные, полученные из последовательного порта. …

Два устройства на выводе Arduino Uno R3 TX

Я делаю проект с использованием платформы Arduino Uno R3. Я хочу использовать два устройства: acc+gyro (MPU-6050) и Bluetooth (HC-06). Проблема в том, что оба устройства нуждаются в TX-выводе (2). У…

Загрузите эскиз Arduino через собственное приложение Android и кабель USB

Я хочу создать свое собственное приложение для загрузки эскизов для моего Arduino UNO. У меня есть кабель USB, который соединяет мой смартфон Android с моим UNO. Теперь я хотел бы сделать что-то…

Загрузчик Arduino Uno Rev3

Я хочу загрузить загрузчик arduino uno Rev3 boot на свой чип 328P. Я использую USB ASP и Extreme Burner. Я посмотрел на папку установки arduino, и там есть несколько файлов Hex, доступных в разделе…

Как я могу принимать ввод с клавиатуры usb на arduino uno

Я пытаюсь сделать USB клавиатурное взаимодействие с arduino UNO. Я хотел бы принять входные данные в виде значений ascii. Как я могу это сделать?

как прочитать файл hex из arduino с помощью порта USB?

у меня есть запрограммированная плата arduino (mega2560), и я хочу прочитать с нее файл hex, но не могу дотянуться до порта ICSP. Есть ли способ прочитать hex или двоичный файл с платы arduino с…

Как отправить номера от C# до Arduino Uno с портом usb?

Я хочу отправить целые числа (от 101 до 1616)из программы c# в UNO arduino, используя порт usb. Я знаю, как использовать регистры arduino Uno, и хотел бы знать, есть ли прерывание при восстановлении…

Как загрузить пример кода ESP8266 в arduino uno?

Я использую ESP8266-01 с Arduino Uno… Я могу скомпилировать пример кода ESP8266 с общей платой модуля ESP8266 с arduino ide, но не могу загрузить его в Uno…., он выдает ошибку:…

Загрузка HEX в AVR Ардуино

Вторая часть про загрузку HEX файлов в микроконтроллер AVR установленный в плату Ардуино. В первой части я показал как сделать HEX файл и в куда его сохраняет программа arduino ide на компьютере. Во второй части будем использовать avrdude и программу gcUploader. Загрузим скомпилированный HEX файл.

Сегодня продолжим изучение HEX файлов. Это буде небольшое видео. Так как особо показывать нечего.
В первой части я показал как можно сделать HEX файл и в куда его сохраняет программа arduino ide на компьютере. Поэтому мы быстренько пройдём этот этап почти без объяснений. Кому, что будет не понятно смотрите предыдущее видео.
Сначала проверяем что бы к нас была подключена Ардуина и запоминаем в какой порт она вставлена. Это нам пригодиться чуть дальше.
Прошивать будем как всегда Blink. Я его часто использую потому что для его работы ничего не надо, так как мигать будет светодиод установленный на плату.
Заходим в настройки и проверяем чтобы был установлен флажок Компиляция.
Нажимаем кнопку Проверить. Этим мы скомпилируем код и сохраним его в папку на компьютере даже если у вас не подключена плата Ардуино.
Находим адрес папки где находится скомпилированный HEX файл. Я сохраню его в отдельную папку, но это делать не обязательно для работы нам хватило бы и просто этого адреса. А ещё я переименую его, так как у вас может быть несколько разных файлов.
Для того чтобы прошить HEX в плату нам нужна программа AVRDUDE. Эта программа принимает на вход скомпилированный код из ARDUINO IDE, и отправляет его в микроконтроллер AVR на котором создана Ардуино.
AVRDUDE входит в комплект программы ARDUINO IDE. Неудобство использования этой программы в том, что использовать её можно только из командной строки. После вызова этой программы надо прописать довольно много параметров.
Вот пример

«C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude. exe» -C «C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf» -v -p atmega328p -c arduino -P COM3 -b 57600 -D -U flash:w:D:\Documents\Arduino\my_hex.hex:i

Согласитесь это не совсем удобно. Есть более лёгкий способ. Было разработано много программ-оболочек для облегчения способа прошивки. Рассмотрим одну из оболочек. Это программа «gcUploader».
Она также использует AVRDUDE который находится в папке программы, но теперь не надо вводить команды достаточно просто выбрать всё из выпадающего списка, а в поле HEX перенести файл.
Для начала выбираем Свою Ардуину и COM порт к которому она подключена.
Перетаскиваем HEX файл. И нажимаем на картинку похожую на микросхему. Если у вас установлено выводить лог, то вы увидите информацию о прошивке. Вот и всё. Микроконтроллер прошит.
Конечно вы сейчас не видите большой разницы между обычной прошивкой через ARDUINO IDE и прошивкой с помощью сторонней программы. А вот когда вы сделаете большой проект, где будут несколько библиотек которые не идут в комплекте с ARDUINO IDE и их придётся искать и устанавливать. И вам надо будет передать кому-нибудь этот проект, то вам уже не нужно будет объяснять, где взять и как установить библиотеки. Или вы не хотите чтобы кто-то мог самостоятельно изменять параметры тогда вы увидите всю прелесть этого способа.

Это вторая часть про HEX файл, но будет ещё третья. В ней я расскажу как можно использовать HEX файл в программе PROTEUS.
И если вам интересна эта тема, то ставьте лайк, пишите комментарии, и новое видео очень скоро появится на моём канале.
А пока, до встречи. И с наступающим Новым 2022 годом.

Прошивка любого Hex-файла в Arduino. Прошивка ардуино для станка с чпу

Например если ардуина далеко, а прошивать неудобно ходить, можно прицепить Ethernet модуль на чипе WIZnet W5100

1. Берем какую нибудь простую ардуино и прошиваем ее скитчем arduino isp из примеров

2. подключаем так

Плата, которая прошивает

Плата, которую прошивают

3. в arduino ide жмем файл – настройки, указываем там в дополнительных ссылках для менеджера плат это: https://per1234.github.io/Ariadne-Bootloader/package_codebendercc_ariadne-bootloader_index.json

4. в arduino ide жмем инструменты – платы – менеджер плат – жмем внизу Ariadne Bootloader — Установка

5. жмем инструменты – плата – и в разделе Ariadne Bootloader выбираем нужную плату (которую собираемся прошивать. У меня это mega 2560)

6. выбираем инструменты – программатор – arduino as isp

7. проверям все еще раз – должно быть так:

8. инструменты – записать загрузчик (пару раз если ошибки появляются)

9. отключаем программатор, втыкаем сетевую плату. по умолчанию ip 192.168.1.128. чтобы сменить надо прошить один раз скетч neteeprom – writeNetworkSettings, предварительно прописав там нужные IP

10. после этого надо попробовать прошить через сеть – для этого тоже надо сделать несколько странных действий. включаем в Arduino IDE через файл – настройки подробный вывод:

11. открываем нужный скетч например Blink из примеров:

12. жмем компилировать – и ищем куда ардуино сваливает временные файлы при компиляции. у меня это тут

13. открываем командную строку в этой папке и выполняем:

«C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avr-objcopy.exe» -I ihex Blink.ino.hex -O binary Blink.ino.bin

14. затем жмем ресет и через пару секунд выполняем там же tftp -i 192.168.1.128 PUT Blink.ino.bin

15. жать ресет каждый раз неудобно и для этого нам понадобиться скетч файл – примеры – ethernetreset – resetserver. это специальный маленький вебсервера на порту 8080, который при получении запроса перезагрузит ардуино http://192.168.1.128:8080/password/reset :

Для автоматизации я накатал батник – просто закинь его в папку своего скетча и перетаскивай на него файл.ino – он загрузит его к тебе. сначала только подредактируй – укажи свой сервер и пароль:

@echo off set ip=192.168.1.128 set passwd=parol mkdir %

dp0build del build /F /S /Q set home=%HOMEDRIVE%%HOMEPATH% set targetfn=%

x1 C:\Program Files (x86)\Arduino\arduino-builder. exe -compile -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware %home%\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools %home%\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries %home%\Documents\Arduino\libraries -fqbn=Ariadne-Bootloader:avr:ariadne2560:configuration=blink_shield -ide-version=10610 -build-path %

dp0build -warnings=none -prefs=build.warn_data_percentage=75 -verbose %targetfn% C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avr-objcopy.exe -I ihex build/%targetfn%.hex -O binary build/%targetfn%.bin powershell -Command Invoke-WebRequest http://%ip%:8080/%passwd%/reset rem 6 sec delay PING 127.0.0.1 -n 6 NUL 21 || PING::1 -n 6 NUL 21 tftp -i %ip% PUT build/%targetfn%.bin pause

set ip = 192. 168.1.128

set passwd = parol

del build / F / S / Q

set home = % HOMEDRIVE % % HOMEPATH %

C:\Program Files (x86)\Arduino\arduino-builder.exe — compile — logger = machine — hardware C:\Program Files (x86)\Arduino\hardware — hardware — tools C:\Program Files (x86)\Arduino\tools-builder — tools C:\Program Files (x86)\Arduino\hardware\tools\avr — tools %home%\AppData\Local\Arduino15\packages — built — in — libraries C:\Program Files (x86)\Arduino\libraries — libraries %home%\Documents\Arduino\libraries — fqbn = Ariadne — Bootloader : avr : ariadne2560 : configuration = blink_shield — ide — version = 10610 — build — path %

dp0build — warnings = none — prefs = build . warn_data_percentage = 75 — verbose %targetfn%

Здесь можно скачать прошивку для ЧПУ на Ардуино. Все прошивки написаны в IDE Arduino.

Прошивка контроллера MKS DLC, CNC Shield для станка с ЧПУ

Здесь можно скачать прошивку для ЧПУ на MKS DLC , CNC Shield . CNC Shield — платы расширения для Ардуино UNO, Nano. Прошивка загружается через Arduino IDE, аналогично прошивке Ардуино.

Описание и установка прошивки Ардуино для ЧПУ

Прошивка для платы Arduino написана на языке Processing в среде разработки Arduino 1.0.2 в операционной системе Windows.

Исходный код прошивки Arduino для управления 3 шаговыми двигателями через COM-порт

Для начала работы с Arduino требуется установить необходимое программное обеспечение. Для этого заходим на официальный сайт Ардуино и скачиваем дистрибутив с этой страницы . На официальном сайте Arduino можно найти множество примеров прошивок для платы, а также освоить основные принципы работы с платой. Теперь запускаем файл установщика, выбираем папку, соглашаемся с лицензионным соглашением и прочее. После установки на рабочем столе появится иконка Arduino. Теперь можно подключить нашу плату Ардуино к компьютеру, для этого используется кабель USB 2.0 соединительный USB A — USB B . Дожидаемся, когда Windows найдёт и установит новое оборудование. Далее, запускаем программу Arduino и выбираем нужный COM-порт, выбрав в главном меню Сервис-Последовательный порт.

Выбор скетча для Ардуино

В зависимости от комплектации станка с ЧПУ и задач, которые он должен выполнять выбираем скетч из списка выше. Заходим на соответвующую страницу. В кратком описании к каждому скетчу указано, для каких драйверов ШД и прочих комплектующих (шпиндель, Лазер, TTL, схема включения и т.д.) эта прошивка предназначена. Кроме того, указано для каких целей она может использоваться. Например, для лазерной резки орнаментов и лазерной художественной гравировки используются разные скетчи, хотя оппаратная часть может использоваться одна и та же.

Сборка и загрузка прошивки для Ардуино

Копируем исходный код прошивки для управления станком с ЧПУ в окно редактирования IDE Arduino. Теперь нажимаем кнопку Загрузить . Дожидаемся, пока программа Ардуино проверит, откомпилирует и установит прошивку на плату Ардуино. Попробуем проверить, работает ли прошивка. Для этого необходимо подключить двигатели и запустить Монитор порта в программе Ардуино. Монитор порта находится в пункте Сервис основного меню. На форме Монитора порта вводим команду:
1000,2000,3000;
И нажимаем кнопку Послать . Смотрим, как двигатели вращаются с разной скоростью. Когда двигатели перестанут вращаться, прошивка Ардуино передаст T по USB компьютеру, это отобразится в Мониторе порта. Раньше приходило сообщение OK .

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

Но прежде чем писать умные мысли — всё надо проверять, чем я и занялся. Эксперименты я проводил с Arduino Mega 2560. О ней дальше я и буду писать.
Поначалу я попытался пойти привычным способом влоб, достал программатор китайский (на заглавной фотке), подключился по ISP, и скачал прошивку. Попытался её залить назад… Льётся, но верификацию не проходит. Битых несколько часов рыл интернет, чтобы понять, как же можно нормально скачать прошивку с Меги по ISP. Толком ничего вразумительного не нашёл, но зато понял, что прошивку можно скачать и залить обратно и без программатора. Об этом опыте я и напишу ниже. А вот о том, как скачивать прошивку не с Arduino платы, да так чтобы она потом назад заливалась я напишу как-нибудь в следующий раз, когда у меня появится плата, которую можно безбоязненно пускать и в огонь и в воду.
Ладно, к делу. Для начала нам нужна утилита Avrdude, она входит в поставку Arduino IDE и в моей версии лежала в папке %appdata%\Arduino15\packages\arduino\tools\avrdude\6.0.1-arduino2\bin. Открываем папку, жмём на пустом месте SHIFT + правая кнопка мыши, а в меню выбираем Открыть окно команд. Теперь приведу простую команду, которая проверяет, что контроллер читается.

avrdude.exe -p atmega2560 -c wiring -P COM5

Атрибуты команды:
-p atmega2560 — установка типа контроллера.
-c wiring — установка программатора. Это внутренний программатор в плате Arduino Mega 2560. Может я и не правильно выразился, но тот же атрибут использует IDE, когда заливает скомпилированный скетч.
-P COM5 — настройка порта, в который воткнут USB шнурок от Arduinы. Подглядеть можно из IDE.

avrdude.exe -p atmega2560 -c wiring -PCOM5 -b115200 -Uflash:r:printer_firmware.hex:i

Новые атрибуты команды:
-b115200 — скорость порта для программатора.

Uflash:r:printer_firmware.hex:i — указание считать прошивку в файл printer_firmware.hex.

И поговорим о том, как мы будем записывать прошивку в Arduino.

Нас, прежде всего, интересуют три платы Arduino:
— Arduino Uno – как самый распространенный вариант
— Arduino Nano – компактный вариант, удобный для применения в небольших конструкциях
— Arduino Pro Mini – дешевый компактный вариант без встроенного USB-UART преобразователя (для работы с ним понадобится внешний USB-UART преобразователь), но удобный в случае применения сети устройств.

Во всех вышеописанных платах используется микроконтроллер ATmega328 (в более старых версиях ATmega168).

ArduinoUploader.zip — Программа для записи Hex-файла в Arduino

Как и предыдущая, программка имеет простой интерфейс.
Процесс прошивки тот же:
— подключаем Arduino в USB-порт (отдельного питания не нужно)
— выбираем Hex файл
— выбираем тип Вашего Arduino
— выбираем COM порт
— жмем Upload

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

При попытке прошить Arduino Nano программа отказывалась видеть МК. Причиной стала неправильная установка скорости COM порта. По умолчанию скорость стоит 19200, а нужно 57600. Скорость порта в программе не задается явно, она прописывается в строчке «AVR Dude Params» — поменяйте в ней значение 19200 на 57600.

Автоматизация ARP Uploader.
ARP Uploader как и XLoader работает через AVR Dude, но, в отличие от XLoader, показывает командную строку. Это дает возможность использовать AVR Dude напрямую в Make или Bat файле.

Дополнительные материалы.
Драйвера Arduino.

Считаю не лишним напомнить, что для связи Arduino с компьютером в последнем должны присутствовать драйвера. Оставляю здесь архив с драйверами для Arduino (включая и старые драйвера в Old_Arduino_Drivers.zip и драйвера для FTDI-чипа в папке «FTDI USB Drivers»

Arduino_drivers.zip — Драйвера для Arduino

Стали появляться недорогие китайские Ардуины с драйвером Ch440G
Driver Ch440G.zip — Драйвер для преобразователя USB-UART

Загрузчики Arduino

Если Вы решите собрать свою плату Arduino (а сложного там ничего нет, фактически, это голый ATmega328 или ATmega168), Вам понадобится загрузчик Bootloader который должен содержать МК для работы со средой (или программками для заливки Hex-файлов). Конечно, Вам для записи Hex-файлов в чистый МК понадобится программатор и придется выставить фьюзы.

ATmegaBOOT_168_atmega328.hex — Bootloader для ATmega328
Для правильной работы нужно установить фьюзы следующим образом Low: FF High: DA Ext: 05

Загрузить прошивку на этот микроконтроллер можно несколькими способами:

  • Через другую плату ардуино, у которой есть встроенный USB-UART
  • С помощью специального программатора
  • Используя USBasp-программатор

Последние два способа очень похожи. Они отличаются лишь типом программатора. Поэтому в этой статье мы рассмотрим только прошивку с помощью другой Arduino и с помощью специального программатора.

Прошивка ардуино про мини с помощью Arduino Uno или Nano

Для того что бы прошить одну ардуинку через другую, нам понадобятся 2 платы Arduino, соединительные провода, USB кабель и компьютер. Я покажу как прошить Arduino Pro Mini с помощью Arduino Nano, но по этой же инструкции можно использовать и другие платы Arduino, такие как Uno, Mega и тд.

Для начала надо настроить нашу плату, которая будет выступать в роли программатора. Для этого подключим ее к USB компьютера и перейдем в Arduino IDE. В примерах уже есть готовый скетч, написанный специально для этой цели.

Выбираем этот скетч и прошиваем. Теперь мы готовы подключать Arduino Pro Mini. Подключаем следующим образом:

Arduino Nano — Arduino Pro Mini

  • +5v — Vcc
  • GND — GND
  • D10 — RST
  • D11 — D11
  • D12 — D12
  • D13 — D13

У меня это выглядит так:

Теперь мы можем прошить нашу Arduino Pro Mini. Откройте или напишите нужную вам прошивку. Будьте внимательны! Стандартная кнопка загрузки скетча нам не подходит. По умолчанию она заливает прошивку без использования программатора. Таким образом мы прошьем микроконтроллер, который должен выступать в качестве программатора. Чтобы этого не произошло нужно перейти в меню Скетч .

Прошивка Arduino Pro Mini с помощью специального программатора

Купить специальный программатор можно . Стоит он меньше одного доллара. Если вы часто используете ардуино про мини, то этот программатор сильно упростит и ускорит прошивку.

Для преобразования USB-to-Serial используется микросхема Ch440. Что бы она определялась компьютером правильно необходимо установить специальный драйвер.

Прошить ардуино с помощью программатора очень просто. Нужно подключить программатор к Arduino Pro Mini следующим образом:

  • Vcc Vcc
  • GND GND
  • RX1 TXD
  • TX0 RXD

Подключаем программатор к компьютеру и проверяем, что он не требует драйверов. Если же он определяется как «неопознанное устройство» скачайте и установите драйвер. Его легко найти, набрав в поисковике «*модель вашего программатора* драйвер». Например «CP2102 драйвер». Далее запускаем Arduino IDE. Выбираете модель вашей платы. Потом переходим в меню Инструменты — Программатор и выбираете ваш программатор. Далее открываете нужный вам скетч и загружаете его с помощью пункта в меню Скетч — Загрузить через программатор .

Если ваш программатор не поддерживает программный сброс, то вам придется вручную нажать кнопку перезагрузки на вашей Arduino Pro Mini в момент компиляции скетча. Это нужно сделать сразу как только в Arduino IDE появится строка, что скетч скомпилирован.

Вот и все. Мы успешно прошили Arduino Pro Mini с помощью программатора.

Создание своего скомпилированного образа прошивки (hex файла) для 3Д принтера | Общая информация

Всем привет! На этот раз представляю Вам последнюю статью из трилогии посвященной прошивке 3Д принтеров. Как вы помните, в предыдущих статьях мы рассматривали варианты прошивки принтера с помощью Arduino IDE и исходного кода прошивки, а так же с помощью слайсера Cura и скомпилированного образа прошивки. Вполне логичным продолжением этой истории будет рассказ о том, как создать этот самый файл с образом прошивки (hex файл). Об этом и поговорим.

Прежде чем мы продолжим, предлагаю Вашему вниманию ссылки на предыдущие статьи:

Зачем же нужен скомпилированный вариант прошивки? На самом деле, в таком варианте ее удобнее хранить, передавать и прошивать. Вам не нужно ставить и настраивать не всегда стабильно работающую Arduino IDE, искать необходимые библиотеки. кроме того, в таком выде вы точно не отредактируете файл и точно будете знать что в нем содержится. Хранить такие файлы тоже удобно. Обозвал понятно и готово. С исходниками все сложнее. Да и в конце концов, прошивать из файла образа бастрее и ничего лишнего не требуется.

Кстати, данная статья будет полезна не только владельцам 3Д принтеров, но и разработчикам различных программ для различных микроконтроллеров. Это же очень удобно. Разработал схему, разработал прошивку. Все отладил и проверил. Платы заказал, прошивку собрал и ты уже уверен, что не ошибешься при изготовлении устройства. Да и при желании таким образом можно защитить код от кривых ручек чайника 🙂

Но что-то мы удалились от темы. Давайте разберемся, как же создать этот самый hex файл.

Для этого нам понадобится любой скетч (хоть простенький Blynk, хоть сам Marlin) и среда Arduino IDE со всеми необходимыми библиотеками.

Если в общих чартах рассмотреть процесс прошивки с помощью Arduino IDE, то можно выделить следующие этапы:

  1. Мы нажимаем кнопку Загрузка
  2. Arduino IDE проверяет скетч
  3. Arduino IDE Компилирует скетч в соответствии с заданными параметрами (с использованием указанных библиотек и с учетом конфигурации платы, которую вы выбрали)
  4. Arduino IDE Указанным способом загружает скомпилированный скетч в микроконтроллер
  5. Arduino IDE при наличии возможности перезагружает микроконтроллер

Укрупненно процесс работает именно так. Как видно, на одном из этапов Arduino IDE осуществляет компиляцию скетча. При этом среда размещает файл во временном каталоге, а потом записывает в микроконтроллер.

При желании, можно отловит этот файлик и забрать себе, однако это не наш метод, т.к. есть пункт по проще.

Рассмотрим это на примере прошивки для 3Д принтера Anycubic 4max.

Для этого нам понадобятся готовые и сконфигурированные исходники прошивки. Предполагается, что исходники уже готовы для прошивки в принтер.

Среда Arduino IDE с необходимыми библиотеками (подробнее об этом можно прочесть в статье “Устанавливаем прошивку Marlin на 3D принтер с помощью Arduino IDE”

Пускай, корневая папка с исходниками прошивки marlin расположена по пути C:\TEMP\TEST\MARLIN_1.1.9_4MAX_RU\anycubic-4max

Заходим в указанный каталог и двойным кликом открываем файл anycubic-4max.ino

В процессе открытия файла автоматически запустится среда и отобразится содержимое файла anycubic-4max.ino

Теперь необходимо выбрать плату, для которой будет компилироваться прошивка, в моем случае это “Arduino / Genuino Mega or Mega 2560

Необходимо выбрать микроконтроллер (процессор) нашей платы, в моем случае это “ATmega 2560 (Mega 2560)

Все готово. Теперь начнется магия компиляции. Для получения hex файла необходимо выбрать пункт меню “Скетч” — “Экспорт бинарного файла Ctrl + Alt + S

После этого начнется магия компиляции. Среда осуществит проверку и сборку прошивки в бинарный (hex) файл.

Ждем окончания компиляции.

После завершения процесса, в каталоге со скетчем (в нашем случае это C:\TEMP\TEST\MARLIN_1.1.9_4MAX_RU\anycubic-4max ) появится 2 файла:

  1. anycubic-4max.ino.mega.hex
  2. anycubic-4max.ino.with_bootloader.mega.hex

anycubic-4max.ino.mega.hex – содержит непосредственно саму скомпилированную прошивку

anycubic-4max.ino.with_bootloader.mega.hex – содержит прошивку + загрузчик

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

Ну вот и все. Как видите, ничего сложного.

А что дальше? Ну а дальше действовать по инструкции, описанной в статье “Устанавливаем прошивку Marlin на 3D принтер с помощью слайсера Cura или что делать с hex файлом?”

Надеюсь, что материал оказался для Вас полезен.

Если вы еще не обзавелись 3Д принтером и думаете какую модель выбрать, могу порекомендовать следующие модели:

3д принтер Anycubic i3 Mega

3д принтер Anycubic Mega-S (Anycubic S)

3Д принтер Anycubic 4MAX Pro

Если вам понравилась статья и вы хотите поддержать сайт, получать уведомления о новых материалах, вступите в нашу группу Вконтакте: https://vk.com/ionline_by

Если вы хотите оперативно получать уведомления о выходе новых статей, подключите себе PUSH уведомления по ссылке: https://ionlineby.pushassist.com/

Как прошить Ардуино загрузчик без программатора

Разбираемся как прошить Arduino Uno R3 без какого-либо программатора для прошивки загрузчика в ATMEGA328P.

Установка программного обеспечения Atmel FLIP

На плате Arduino есть два микроконтроллера — ATMEGA328P (328P) и ATMEGA16U2 (16U2). Вы можете обновить прошивку 16U2, сделав его программатором AVRISP MKII, а затем использовать Atmel Studio для прошивки 328P.

Я пробовал разные варианты, но возникали разные проблемы. Многие рекомендации плохо работали в моем случае особенно в части перепрошивки загрузчика через ПО Arduino.

Переда началом прошивки Ардуино потребуется программное обеспечение Atmel (Microchip) FLIP для обновления прошивки внутри 16U2.

Скачиваем Flip с сайта Microchip — отсюда. Устанавливаем. Не должно возникнуть никаких проблем, просто следуйте инструкциям мастера установки.

Возьмите плату Arduino, отсоедините питание и USB. Замкните на ICSP1 пины 5-6 (16U2 RESET будет в низком состоянии).

Выглядеть это будет так:

Далее подключите Arduino к USB. Разъедините пины на ICSP1 (5-6). В этот момент 16U2 переходит в режим DFU. Новое устройство USB должно быть распознано.

Если драйвер не устанавливается автоматически, установите его из: C:\Program Files\AtmelFlip3.4.7usb»

Перейдите в Диспетчер устройств: Win + Pause — Оборудование — Диспетчер устройств. Проверьте, правильно ли установлен драйвер. Он будет расположен под USB-устройствами Atmel — ATmega16U2.

Прошивка AVRISP MKII в Arduino ATmega16U2

Мы готовы перепрошить прошивку в 16U2.

Скачайте hex файл AVRISP MKII отсюда. Отключите Arduino от USB-кабеля и питания. Замкните контакты 5-6 ICSP1. Подключите Arduino к USB. Разомкните выводы ICSP1 5-6.

Запустите программное обеспечение FLIP: Пуск — Все программы — Flip. Зайдите в: Настройки — Связь — USB. Нажмите «Открыть».

Перейдите в: Файл — Загрузить файл HEX. Далее выберите LUFA-BOTH-AVRISP-MKII.hex и нажмите «Выполнить».

ATMEGA16U2 теперь AVRISP MKII и работает в режиме Atmel Studio. Arduino AVRISP MKII может работать в двух режимах: Atmel Studio или Avrdude. Ниже я буду говорить только о режиме Atmel Studio, так как у меня было много проблем с режимом Avrdude.

Установка Atmel Studio

Скачайте и установите Atmel Studio (включая драйверы) отсюда. После установки подключите Arduino к USB-кабелю. Оба светодиода (RX и TX) должны мигать два раза (это означает, что 16U2 находится в режиме Atmel Studio). Новое устройство будет распознано.

Установите драйверы. Если они не распознаются автоматически, вы найдете их в USB-драйверах: С:\Program Files\Atmel.

Перейдите в Диспетчер устройств, нажмите: Win + Pause — Оборудование — Диспетчер устройств. Проверьте, правильно ли установлен драйвер. Должно быть в Jungo Connectivity — AVRISP MKII.

Вот теперь мы готовы прошить Arduino ATMEGA328P. Переходим к следующему шагу.

Перепрошивка загрузчика Arduino в ATMEGA328P через ATMEGA16U2

Довольно сложная часть нашего мероприятия по прошивке Ардуино. Вам нужно будет припаять некоторые провода. В основном нам нужно подключиться таким образом:

ICSP1 MISO2.Pin.1 — ICSP MISO.Pin.1
ICSP1 SCK2.Pin.3 — ICSP SCK.Pin.3
ICSP1 MOSI2.Pin.4 — ICSP MOSI.Pin.4
JP2 PB4.Pin.1 — ICSP RESET.Pin.5

Смотрите картинку ниже для понимания:

Подключите плату Arduino к USB-кабелю. Светодиоды RX и TX должны помигать два раза. Драйверы должны быть правильно распознаны (Jungo Connectivity — AVRISP mkII). Запустите Atmel Studio. Зайдите в: Пуск — Все программы — Atmel — Atmel Studio.

Перейдите в: Инструменты — Программирование устройства. Выберите:

Инструмент — AVRISP mkII
Устройство — ATmega328P
Интерфейс — ISP

Нажмите кнопку «Применить».

Установите частоту ISP на 16,1 кГц. Нажмите кнопку «Установить».

Программатор не будет работать, если вы установите очень низкую тактовую частоту ISP. Вы получите сообщение об ошибке: ispProgramMem: получено состояние ошибки: получено 0x81, ожидаемое 0x00 (истекло время выборки контакта RDY / nBSY). На английском будет звучать так: ispProgramMem: Error status received: Got 0x81, expected 0x00 (RDY/nBSY pin sampling timed out). Однако максимальная скорость ISP также ограничена и не может превышать 1/4 частоты устройства.

Перейдите в «Подпись устройства» (Device signature) и нажмите кнопку «Читать» (Read). Вы должны увидеть правильную «подпись устройства»: 0x1E950F. Нажмите «Memories» и найдите hex файл загрузчика Arduino. Он находится в:

Нажмите кнопку «Program». Если вы используете совершенно новый незапрограммированный ATMEGA328P, вы также должны запрограммировать FUSES. Перейдите в Fuses и используйте следующие значения: low_fuses = 0xff; high_fuses = 0xDE; extended_fuses = 0x05.

Вы успешно прошили 328P с загрузчиком Arduino. На следующем шаге мы вернем оригинальную прошивку 16U2.

Перепрошиваем Arduino ATMEGA16U2 в оригинальное ПО

Почти сделано. Нам нужно вернуть оригинальное программное обеспечение в ATMEGA16U2.

Отключите Arduino от питания и USB. Замкните на ICSP1 контакты 5-6. Подключите USB-кабель. Разомкните пины ICSP1 5-6.

Запустите программное обеспечение FLIP. Перейдите в: Пуск — Все программы — Flip — Flip. Далее: Настройки — Связь — USB.

Нажмите «Открыть». Перейдите в: Файл — Загрузить файл HEX.

Отсоедините USB-кабель и подключите его снова. Новое устройство USB должно быть распознано. Если драйвер не установлен автоматически, вы найдете его в: С:\Program Files\Arduino\drivers.

Перейдите в Диспетчер устройств: Win + Pause — Оборудование — Диспетчер устройств. Проверьте, правильно ли загружен драйвер. Вы должны увидеть его в: Ports — Arduino Uno.

Теперь мы можем проверить любой скетч из примеров, типа Blink. Запустите программное обеспечение Arduino (Пуск — Arduino).

Нажмите: Open (стрелка вверх) — — 01.Basics — Blink.

Выберите COM-порт а: Инструменты — Последовательный порт — COM (выберите порт, на котором была распознана плата).

Нажмите значок «Загрузить» (стрелка вправо). Светодиод должен начать мигать.

Всё готово. Мы узнали как прошить Ардуино и успешно перепрограммировали ATMEGA328P без использования какого-либо внешнего программатора.

— как я могу загрузить шестнадцатеричный файл в Arduino Uno?

Я рекомендую посмотреть файлы IDE arduino, расположенные по адресу (путь установки) / hardware / arduino / avr / (в любом случае в Windows, я должен предположить то же самое в Linux).

Я не уверен, имеют ли следующие файлы расширение .txt, но если нет, используйте только имя файла.

Откройте и посмотрите в «boards.txt »и найдите связанные записи, начинающиеся с« uno. », оставив этот файл открытым.

Затем откройте «platform.txt» в поисках записей « tools.avrdude » (часть avrdude берется из записи «uno.upload.tool» в файлеboards.txt) и скопируйте в новый текстовый редактор значение « tools». .avrdude.upload.pattern вы можете заполнить параметры позже.

С помощью скопированной команды замените следующее:

  • = tools.avrdude.cmd.path
  • = tools.avrdude.config.path
  • = tools.avrdude.upload.params.verbose
  • = tools.avrdude.upload.verify
  • = uno.build.mcu
  • = uno.upload.protocol
  • = Ваш последовательный порт (согласно исследованиям что-то вроде / dev / ttyS0 )
  • = uno.upload.speed
  • « » и « = путь к файлу, который вы пытаетесь загрузить.

Итак, с изложенным выше для меня, чтобы загрузить программу в Arduino uno, я бы использовал что-то вроде следующего в windows:

при условии, что путь установки был C: \ Arduino \

C: \ Arduino \ hardware \ tools \ avr \ bin \ avrdude.exe -CC: \ Arduino \ hardware \ tools \ avr \ etc \ avrdude.conf -v -patmega328p -carduino -PCOM1 -b115200 -D -Uflash: w: C: \ MyArduinoProject \ build.шестнадцатеричный: i

для Linux это могло быть (я действительно не уверен):

при условии, что путь установки был / opt / Arduino /

/ opt / Arduino / hardware / tools / avr / bin / avrdude -C / opt / Arduino / hardware / tools / avr / etc / avrdude.conf -v -patmega328p -carduino -P / dev / ttyS0 -b115200 -D -Uflash: w: /usr/MyArduinoProject/build.hex: i

Вышеупомянутое должно сработать для вас, я ранее написал свою собственную программу для загрузки шестнадцатеричного файла в Arduino, используя указанные выше команды и avrdude.

usb — я не могу загружать шестнадцатеричные файлы вне Arduino IDE на свой Pro Micro

У меня странная проблема. Я пытаюсь загрузить файл .hex на свой любимый Arduino Pro Micro, но не могу. Если я использую Arduino IDE, все работает отлично и загружает скетч. Однако, если я попытаюсь использовать avrdude с терминала, я получу:

Моя командная строка:

Спасибо за любую помощь, мы очень ценим ее.

arduino ide — Как получить файл прошивки (шестнадцатеричный) из файла .ino, содержащего код

Сеть обмена стеков

Сеть Stack Exchange состоит из 176 сообществ вопросов и ответов, включая Stack Overflow, крупнейшее и пользующееся наибольшим доверием онлайн-сообщество, где разработчики могут учиться, делиться своими знаниями и строить свою карьеру.

  1. 0
  2. +0
  3. Авторизоваться Зарегистрироваться

Arduino Stack Exchange — это сайт вопросов и ответов для разработчиков оборудования и программного обеспечения с открытым исходным кодом, совместимого с Arduino.Регистрация займет всего минуту.

Зарегистрируйтесь, чтобы присоединиться к этому сообществу

Кто угодно может задать вопрос

Кто угодно может ответить

Лучшие ответы голосуются и поднимаются наверх

Спросил 3 года, 4 месяца назад

Просмотрено 34k раз

Сейчас у меня .ino , который я использую в Arduino IDE для программирования микроконтроллера ATmega328. Я хотел бы получить файл, который IDE Arduino использует для программирования микроконтроллера.

Вероятно, IDE использует шестнадцатеричный (шестнадцатеричный) файл или что-то в этом роде и отправляет его на микроконтроллер через последовательный порт.

Как я могу получить этот файл, поскольку единственный файл, который генерирует IDE, — это .ino ?

1,58911 золотых знаков1111 серебряных знаков1717 бронзовых знаков

Эдуардо КардосоЭдуардо Кардосо

17311 золотых знаков11 серебряных знаков66 бронзовых знаков

В настройках Arduino IDE; после Показать подробный вывод во время: установите флажок рядом с компиляцией .

Затем при компиляции внизу окна должно появиться что-то вроде этого:

В конце третьей снизу строки вы получаете имя файла .hex . В этом случае (в OSX) это будет /var/folders/tp/grrlc56j3z7057f12_7f1_0r0000gn/T/arduino_build_635063/Blink.ino.hex

10.8k22 золотых знака1717 серебряных знаков3232 бронзовых знака

Вы спрашиваете, как найти скомпилированный шестнадцатеричный файл.Это просто! Выполните следующие действия:

  1. В среде Arduino IDE выберите Sketch > Export Compiled Binary . Это выполняет компиляцию. После завершения эта команда помещает копию скомпилированного файла .hex в каталог вашего эскиза.
  2. Затем перейдите к папке эскиза или в среде IDE выберите Sketch > Show Sketch Folder .

Создает два шестнадцатеричных файла для целевого микроконтроллера; один с загрузчиком и один без загрузчика.Эти шестнадцатеричные файлы могут быть загружены в микроконтроллер с помощью такого программатора, как Atmel Ice или AVRISPmkII.

2,95311 золотых знаков1717 серебряных знаков4444 бронзовых знака

Самый простой способ получить файл:

  1. Эскиз> Экспорт скомпилированного двоичного файла
  2. Дождитесь завершения процесса компиляции
  3. Эскиз> Показать папку эскиза

В папке эскиза вы найдете дополнительный файл, который в данном случае будет иметь номер .шестигранный удлинитель . Это скомпилированный файл, который обычно загружается на плату Arduino через Sketch> Upload .

Обратите внимание, что функция «Экспорт скомпилированного двоичного файла» доступна только в Arduino IDE 1.6.5 и новее.

4,74522 золотых знака1818 серебряных знаков4141 бронзовый знак

Высокоактивный вопрос .Заработайте 10 репутации, чтобы ответить на этот вопрос. Требование репутации помогает защитить этот вопрос от спама и отсутствия ответов.

Не тот ответ, который вы ищете? Посмотрите другие вопросы с метками arduino-ide или задайте свой вопрос.

Нажимая «Принять все файлы cookie», вы соглашаетесь с тем, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в ​​отношении файлов cookie.

Принимать все файлы cookie Настроить параметры

Загрузить программу Arduino | Программирование устройств

Создание панели для загрузки программ

Нажмите кнопку « Добавить программатор » (или выберите «Программатор ») в строке меню визуализатора «Программирование устройств».Будет создана новая панель загрузки.

Панель программных устройств для загрузки файлов .hex на ваш Arduino

В верхнем ряду панели программатора находится описание и путь к исходному тексту. Вторая строка позволяет вам настроить оборудование для программирования, устройство и порт для использования. Кнопка Program в последней строке запускает программирование устройства. За ним следуют кнопки блокировки (для предотвращения случайного программирования), проверки и автопрограммирования. Полоса показывает прогресс во время программирования, а кнопка консоли показывает необработанный вывод инструмента программирования AVRDude.

Время последнего изменения файла .hex и время его последней загрузки показаны в правом нижнем углу панели загрузки.

Поиск двоичного файла Arduino

Выберите Sketch → Экспорт скомпилированного двоичного файла в Arduino IDE, чтобы получить двоичный файл, необходимый для программирования вашей Arduino. IDE скомпилирует вашу программу и скопирует файл .hex в ту же папку, что и ваш скетч (файл .ino ). Он будет называться [эскизное имя].ino.standard.hex . Это файл, который вы будете использовать с MegunoLink.

Чтобы написать версию, включающую загрузчик, вам также необходимо установить предохранители на микросхеме. Для этого вы можете использовать программный пакет MegunoLink.

Описание и несколько панелей

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

  • тест-программ
  • итоговая программа
  • отправитель и получатель в беспроводной системе
  • версии для разных Arduino (например, Uno и Mega)
  • программирование нескольких устройств одновременно

Вы можете запускать каждый программатор отдельно (с помощью кнопки Program ), все вместе или по очереди.См. Раздел «Последовательности программирования» для получения дополнительной информации.

Исходный файл

Источник — это путь к файлу .hex . Используйте кнопку обзора, чтобы выбрать исходный файл.

Путь может быть абсолютным или относительным к файлу проекта MegunoLink. Относительные пути позволяют перемещать ваш проект и файлы .hex между компьютерами без необходимости обновлять исходный путь. Щелкните правой кнопкой мыши путь к файлу, чтобы переключиться между двумя вариантами.

Время последнего изменения для .hex и время последнего программирования устройства отображаются в правом нижнем углу панели.

Наряду с файлами .hex , MegunoLink поддерживает специальный файловый формат, называемый файлом пакета программирования ( .musx ). Этот специальный формат файла можно использовать для загрузки загрузчиков и настройки предохранителей на устройстве. Узнайте больше о пакетах программирования.

Настройки программатора

Во второй строке можно настроить параметры программирования: оборудование для программирования, целевое устройство и порт.

Наиболее распространенное оборудование для программирования, такое как Arduino IDE, представляет собой просто последовательный порт USB. Но MegunoLink поддерживает несколько программистов, в том числе:

  • Arduino Serial: стандартный последовательный программатор, используемый с портами COM .
  • AVR Dragon: отладчик и программатор Dragon AVR.
  • AVR Mk II ISP: программист ISP AVR.
  • Arduino ISP: используйте один Arduino для программирования другого.

Только программисты AVR dragon, AVR Mk II ISP и Arduino ISP поддерживают изменение загрузчика и установку предохранителей.См. Пакет программирования для получения дополнительной информации.

Далее идет тип платы. Вы должны выбрать то же устройство, которое вы использовали при создании файла .hex в среде Arduino IDE. Это также должно соответствовать устройству, которое вы пытаетесь запрограммировать!

Наконец, выберите порт COM , к которому подключена ваша плата, если вы используете последовательный программатор Arduino. USB — единственный порт, поддерживаемый другими программистами.

  1. Кнопка Программа запускает программирование,
  2. Блокировка предотвращает программирование (при случайном нажатии кнопки программы),
  3. Verify включает / отключает проверку программы.При включении программа считывается после того, как она была написана, и сравнивается с исходным файлом, чтобы гарантировать отсутствие ошибок во время программирования,
  4. Автоматическая программа автоматически перепрограммирует устройство всякий раз, когда обнаруживает изменение в файле .hex. Это особенно полезно во время разработки, когда вы часто вносите изменения в программу и загружаете их на устройство для тестирования.

Начать программирование

Нажмите кнопку Program , чтобы начать программирование.Если кнопка неактивна, либо:

  1. исходный файл не существует (щелкните правой кнопкой мыши исходный файл и выберите Открыть содержащую папку , чтобы проверить, существует ли еще исходный файл) или Программирование
  2. заблокировано (нажмите кнопку Lock , чтобы разблокировать его).

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

Arduino Builder — автономная утилита для создания и загрузки скетчей Arduino

Зачем создавать эту утилиту, ведь Arduino IDE может все?

  • Иногда нам нужно всего лишь скомпилировать заранее написанный скетч и загрузить его в Arduino. Обычно мы делаем это с помощью Arduino IDE, но это не лучший опыт.
  • Иногда нам просто нужно записать загрузчик платы в HEX-файл. Для этого есть много графических интерфейсов пользователя AVRDUDE.Но многие из них устарели и не подходят для Леонардо (на базе ATMega32U4), не говоря уже о том, что они всего лишь графические интерфейсы для AVRDUDE, которые не могут компилироваться.
  • И я люблю Arduino!

Вот почему я сделал эту утилиту простой, понятной и изящной, чтобы мне было легче при загрузке для Arduino.

Arduino Builder — это полностью автономная утилита для просмотра, компиляции и загрузки файла эскиза Arduino и скомпилированного файла ELF или HEX (обычно загрузчика) на плату Arduino с интерфейсом последовательного программирования Arduino, USBasp или Arduino ISP без необходимости в Arduino IDE.Это легко сделать, выполнив не более 3 шагов. Когда требуется компиляция (для загрузки файла эскиза), утилита сканирует эскиз на предмет наличия библиотек, на которые имеются ссылки, и автоматически создает необходимые библиотеки.

Arduino Builder поставляется в версии с графическим интерфейсом пользователя (GUI) для обычных конечных пользователей и версии CLI (интерфейс командной строки) под названием Arduino Uploader для интеграции в сторонние приложения.

Дистрибутив содержит файлы ядра и библиотеки Arduino 1.0.4, набор инструментов компилятора AVR GCC и AVRDUDE.Поскольку вместе с утилитой поставляются только стандартные библиотеки Arduino, для сборки с использованием пользовательских библиотек поместите файлы исходного кода библиотеки (с таким же именем каталога) в каталог


Источник: m-gen.ru