Создание своего скомпилированного образа прошивки (hex файла) для 3Д принтера
Всем привет! На этот раз представляю Вам последнюю статью из трилогии посвященной прошивке 3Д принтеров. Как вы помните, в предыдущих статьях мы рассматривали варианты прошивки принтера с помощью Arduino IDE и исходного кода прошивки, а так же с помощью слайсера Cura и скомпилированного образа прошивки. Вполне логичным продолжением этой истории будет рассказ о том, как создать этот самый файл с образом прошивки (hex файл). Об этом и поговорим.
Прежде чем мы продолжим, предлагаю Вашему вниманию ссылки на предыдущие статьи:
- Устанавливаем прошивку Marlin на 3D принтер с помощью Arduino IDE
- Устанавливаем прошивку Marlin на 3D принтер с помощью слайсера Cura или что делать с hex файлом?
Зачем же нужен скомпилированный вариант прошивки? На самом деле, в таком варианте ее удобнее хранить, передавать и прошивать. Вам не нужно ставить и настраивать не всегда стабильно работающую Arduino IDE, искать необходимые библиотеки. кроме того, в таком выде вы точно не отредактируете файл и точно будете знать что в нем содержится. Хранить такие файлы тоже удобно. Обозвал понятно и готово. С исходниками все сложнее. Да и в конце концов, прошивать из файла образа бастрее и ничего лишнего не требуется.
Кстати, данная статья будет полезна не только владельцам 3Д принтеров, но и разработчикам различных программ для различных микроконтроллеров. Это же очень удобно. Разработал схему, разработал прошивку. Все отладил и проверил. Платы заказал, прошивку собрал и ты уже уверен, что не ошибешься при изготовлении устройства. Да и при желании таким образом можно защитить код от кривых ручек чайника :)
Но что-то мы удалились от темы. Давайте разберемся, как же создать этот самый hex файл.
Для этого нам понадобится любой скетч (хоть простенький Blynk, хоть сам Marlin) и среда Arduino IDE со всеми необходимыми библиотеками.
Если в общих чартах рассмотреть процесс прошивки с помощью Arduino IDE, то можно выделить следующие этапы:
- Мы нажимаем кнопку Загрузка
- Arduino IDE проверяет скетч
- Arduino IDE Компилирует скетч в соответствии с заданными параметрами (с использованием указанных библиотек и с учетом конфигурации платы, которую вы выбрали)
- Arduino IDE Указанным способом загружает скомпилированный скетч в микроконтроллер
- 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 файла:
- anycubic-4max.ino.mega.hex
- 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 Mega-S (Anycubic S)
Если вам понравилась статья и вы хотите поддержать сайт, получать уведомления о новых материалах, вступите в нашу группу Вконтакте: https://vk.com/ionline_by
Если вы хотите оперативно получать уведомления о выходе новых статей, подключите себе PUSH уведомления по ссылке: https://ionlineby.pushassist.com/