Как загрузить 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.inobike.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-файл в Arduino IDE, что это такое и как с ним работать — говорим сегодня в новой информационной статье. Тема выбрана не случайно, многие пользователи интересуются программным обеспечением на более «продвинутом2 уровне. При этом конечно же не всем хочется бегать за помощью к специалистам, листать многочисленные форумы и т.д. но выход есть – наша инструкция.

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

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

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

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

  • Дождитесь окончания компиляции — в папке со скетчами появятся 2 или больше hex-файла:
Поговорим о том, как прошить Hex-файлы в Arduino IDE. Процедура не сложная — подключаем плату (Uno, Nano, Pro Mini) к USB-порту ПК. Нам необходимо узнать номер порта. Запускаем IDE, открываем меню Инструменты – узнаем COM. В дальнейшем мы его применим.

Для прошивки используются специализированные утилиты-загрузчики – в нашем случае — 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 
  3. Запускаем консоль cmd, переходим в папку с файлами, вводим: 
avrdude -v -patmega328p -c arduino -P com10 -b 57600 -D -U flash:w:"girlanda.hex":i
Готово!

Скорость выбираете согласно типу плат (Уно, Нано – можно 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 для этого

android android-studio arduino usb
Поделиться Источник Imane Tchantchane     19 января 2017 в 11:12

2 ответа


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

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

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

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



1

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

либо вы хотите использовать виртуальный порт 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

( http://www.v-lad.org/проекты/gnu.io.android/ )


программирование 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



1

Используйте 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. 
И если вам интересна эта тема, то ставьте лайк, пишите комментарии, и новое видео очень скоро появится на моём канале.
А пока, до встречи. И с наступающим Новым 2021 годом.

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

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

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

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

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

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

SS ->
mosi ->
miso ->
sck ->

reset
51
50
52

Например у меня NanoПрошиваем Mega 2560

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=%~n1%~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 2>&1 || PING::1 -n 6 >NUL 2>&1 tftp -i %ip% PUT build/%targetfn%.bin pause

@ echo off

set ip = 192. 168.1.128

set passwd = parol

mkdir «%~dp0build»

del build / F / S / Q

set home = % HOMEDRIVE % % HOMEPATH %

set targetfn = % ~ n1 % ~ x1

«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

Если всё хорошо, ориентируемся на скриншот, прошивка сохраниться в файле «printer_firmware.hex» рядом с avrdude.exe.

Новые атрибуты команды:
-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 следующим образом:

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

  • 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 будет в низком состоянии).

Распиновка ICSP1

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

Далее подключите 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. Он находится в:

C:\Program Files\ Arduino\hardware\arduinobootloaders\optiboot\optiboot_atmega328.hex

Нажмите кнопку «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.

Выберите файл:

С:\Program Files\Arduino\hardware\arduino\firmwares\atmegaxxu2\arduino-usbserial\Arduino-usbserial-atmega16u2-Uno-Rev3.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 «вы можете заполнить параметры позже.

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

из platform.txt

  • « {cmd.path} » = « tools.avrdude.cmd.path »
  • « {config.path} «=» tools.avrdude.config.path «
  • « {upload.verbose} » = « tools.avrdude.upload.params.verbose »
  • « {upload.verify} tools.avrdude.upload.verify «

теперь изboards.txt

  • « {build.mcu} » = « uno.build.mcu »
  • « {upload.protocol} uno.upload.protocol
  • « {{serial.port} » = Ваш последовательный порт (согласно исследованиям что-то вроде / dev / ttyS0 )
  • « {upload.speed} «=» uno.upload.speed «
  • « {build.path} » и « {build.project_name} = путь к файлу, который вы пытаетесь загрузить.

Итак, с изложенным выше для меня, чтобы загрузить программу в 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 с терминала, я получу:

  avrdude: butterfly_recv (): программист не отвечает
avrdude: ошибка: программист не ответил на команду: выйти из режима проги
avrdude: butterfly_recv (): программист не отвечает
avrdude: ошибка: программист не ответил на команду: выйти из загрузчика
  

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

  avrdude -patmega32u4 -cavr109 -P / dev / ttyACM0 -t
  

, а полный вывод:

  Подключение к программатору:.avrdude: butterfly_recv (): программист не отвечает

avrdude: butterfly_recv (): программист не отвечает
avrdude: butterfly_recv (): программист не отвечает
avrdude: butterfly_recv (): программист не отвечает
avrdude: butterfly_recv (): программист не отвечает
avrdude: butterfly_recv (): программист не отвечает
Нашел программиста: Id = ""; type =
    Версия программного обеспечения =.; Версия оборудования =.
avrdude: butterfly_recv (): программист не отвечает
avrdude: butterfly_recv (): программист не отвечает
avrdude: ошибка: доступ к буферизованной памяти не поддерживается.Может это не так
бабочка / AVR109 а устройство AVR910?
avrdude: инициализация не удалась, rc = -1
         Дважды проверьте соединения и попробуйте еще раз, или используйте -F для отмены
         этот чек.

Подключение к программисту: .avrdude: butterfly_recv (): программист не отвечает

avrdude: butterfly_recv (): программист не отвечает
avrdude: butterfly_recv (): программист не отвечает
avrdude: butterfly_recv (): программист не отвечает
avrdude: butterfly_recv (): программист не отвечает
avrdude: butterfly_recv (): программист не отвечает
Нашел программиста: Id = ""; type =
Версия программного обеспечения =.; Версия оборудования =.
avrdude: butterfly_recv (): программист не отвечает
avrdude: butterfly_recv (): программист не отвечает
avrdude: ошибка: доступ к буферизованной памяти не поддерживается. Может это не так
бабочка / AVR109 а устройство AVR910?
avrdude: инициализация не удалась, rc = -1
         Дважды проверьте соединения и попробуйте еще раз, или используйте -F для отмены
         этот чек.

avrdude: butterfly_recv (): программист не отвечает
    avrdude: ошибка: программист не ответил на команду: выйти из режима проги
    avrdude: butterfly_recv (): программист не отвечает
    avrdude: ошибка: программист не ответил на команду: выйти из загрузчика
  

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

— Доминик

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

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

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

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

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

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

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

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

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

Спросил

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

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

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

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

dda

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

Создан 04 янв.

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

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

4

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

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

  ...
...
"/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-objcopy" -O ihex -R .eeprom "/var/folders/tp/grrlc56j3z7057f12_7f1_0r0000gn/T/arduino_build_635063/Blink. "/var/folders/tp/grrlc56j3z7057f12_7f1_0r0000gn/T/arduino_build_635063/Blink.ino.hex"
Sketch использует 928 байт (3%) места для хранения программ. Максимум 30720 байт.
Глобальные переменные используют 9 байтов (0%) динамической памяти, оставляя 2039 байтов для локальных переменных.Максимум 2048 байт.
  

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

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *