Почему при «создании двоичного вывода» из Arduino IDE не создается шестнадцатеричный файл?
Я хочу получить файл .hex
из скетча Arduino. Я следовал различным руководствам, но в моей выходной папке нет файла .hex
.
Как я могу получить свой шестнадцатеричный файл?
Вот мои предпочтения:
Это содержимое моей выходной папки
@toebs, 👍2
2 ответа
Лучший ответ:
Исходя из ваших настроек с URL-адресом пакета esp8266 и именем файла bin с «...generic», я предполагаю, что вам нужно это для esp8266.
esp8266 не использует шестнадцатеричный формат, а «Экспорт скомпилированного двоичного файла» создает bin. Вы можете загрузить его с помощью esptool.
Для плат AVR функция «Экспорт скомпилированного двоичного файла» генерирует шестнадцатеричный код. Вы можете загрузить его с помощью avrdude.
Текущие версии Arduino IDE
Используйте опцию меню в Arduino IDE:
Скетч ► Экспорт скомпилированного двоичного файла
См. пост №6 из ветки Как получить шестнадцатеричный файл из файлов Arduino?:
Ну, раз уж он был сбит, стоит упомянуть, что есть новый способ это добавлено в Arduino IDE 1.6.5:
- Скетч > Экспорт скомпилированного двоичного файла
- Если вы делаете это с примером, вам будет предложено сохранить скетч в другом месте.
- Подождите, пока скетч не завершится.
- Скетч > Показать папку скетча
- Шестнадцатеричный файл будет находиться в папке скетча.
Вот скриншот для OS X:
Нет необходимости полностью компилировать, достаточно простой проверки. Из поста №10:
Снова откройте Arduino и откройте скетч по вашему выбору (используйте «Примеры» -> «Цифровой» -> «Мигать», если у вас нет других скетчей). Нажмите кнопку «Проверить», чтобы скомпилировать скетч. Теперь перейдите в папку build.path. Вы должны увидеть несколько файлов, включая один с расширением .hex.
Старые версии Arduino IDE
Если вы используете более старую версию Arduino IDE, из поста №12:
Попробуйте это, если используете более старую версию Arduino
Извлечение HEX-файла из Arduino за 3 простых шага
- Открыть Arduino IDE Меню
- Файл ► Настройки
- Найдите «Показывать подробный вывод во время» и установите флажок «Компиляция».
- Найдите файл
preferences.txt
и откройте его Добавьте следующую строку (это путь к каталогу, в котором будет храниться шестнадцатеричный файл):
build.path=C:\Users\<username>\Desktop\hexfile
Измените следующую строку
export.delete_target_folder=true
в
export.delete_target_folder=false
Выйдите из Arduino IDE и перезапустите ее.
- Теперь при компиляции каталог, указанный в
build.path
, будет содержать файл.hex
(наряду с другими файлами, которые можно игнорировать)
ты прочитал мой ответ?, @Juraj
Да, я проголосовал за это... но я пропустил немного ESP! Мне нужно быть более внимательным :-), @Greenonline
Привет, Greenonline, спасибо за подробный ответ. Действительно, именно деталь об ESP8266, которую заметил Юрай, стала ключом к моей проблеме, но я очень ценю ваши усилия :), @toebs
- C++ против языка Arduino?
- avrdude ser_open() can't set com-state
- Как читать и записывать EEPROM в ESP8266
- Float печатается только 2 десятичных знака после запятой
- устаревшее преобразование из строковой константы в 'char*'
- Запрограммировать ATMega328P и использовать его без платы Arduino.
- Разница между print() и println()
- Как исправить: Invalid conversion from 'const char*' to 'char*' [-fpermissive]
О, хороший улов :-), @Greenonline