Jump to content

Українська 3D спільнота

Створено телеграм канали. Підписавшись на них ви будете отримувати повідомлення про появу нових тем на форумі. Також там Ви знайдете посилання на канал допомоги для вирішення термінових питань по друку та принтерам.
3DUA_Help 3DUA.info
KomAndr

PlatformIO или как прошить Marlin 2 в платы с 32Бит контроллерами.

Recommended Posts

С приобретением материнки SKR v1.1 на микроконтроллере LPC-1768 и небольшого ознакомления с системой Smoothie - захотелось вернуться на любимый и знакомый Marlin. Под 32бит системы необходимо использовать Marlin 2.0(пока что сборка bagfix), ну и понятие прошивать контроллер теперь отходит в небытие. Теперь нужно компилировать firmware.bin и записывать этот файл на флешку. По крайней мере такая процедура работы озвученной платы. Ну и для этой процедуры необходимо использовать PlatformIO. Собственно раньше я не сталкивался с этой программной средой - вот и пришлось разбираться в особенностях и тонкостях, чем я с Вами и поделюсь.

Подразумевается наличие опыта в установке и настройки Marlin в среде Arduino IDE!!!

Формат поста больше походит на пошаговую инструкцию "приготовления" прошивки для платы BIGTREETECH SKR V1.1 на микроконтроллере  LPC-1768 с картинками :

 

  • Качаем свежую прошивку Marlin и разархивируем ее в корень любого диска. Если в пути к прошивке будут русские буквы или сама прошивка будет находится на облочном сервисе типа Google drive - возможны проблемы и ошибки при компиляции!
  1. Открываем PlatformIO  и бегло знакомимся с содержимым сайта , для повышения собственной образованности. Видим, что есть два пути (тут вспомнилась байка про два путя laugh) использовать Atom или VSCode. Я выбрал первое и перешел на сайт ATOM где его и скачал.
  2. Запускаем установку и дождаемся запуска программы.

1.thumb.png.cfcaa48c70d93141389752ab261a3c86.png

 

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

2.thumb.png.24d3fbbdccd859df7ab5b28d3b3adfaa.png

Я убрал все не нужное мне.

4. Запускаем настройку, в открывшемся окне выбираем пункт Install, в поиске вбиваем название "platformio" и устанавливаем Platformio-IDE 

3.thumb.png.8e6ea14a070b891893426cbb0349dfba.png 4.thumb.png.9ff63433c26da5b86ff3be6e3efa6c20.png 5.thumb.png.5cd55096b12a3cc753719eae3cdd0af2.png 

 

5. Во время установки программа попросит установить еще одну, сопутствующую, программу. Выбираем дистрибутив согласно своей операционки и не забываем, во время установки поставить галку "применить системный патч для всех пользователей".

6.thumb.png.380489b5829cc34cbd1680d197722ce0.png 7.thumb.png.5846c482255308f6367db8279f66167e.png 

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

8.thumb.png.c832ac2b0ff71e9aee0473937a4ffd44.png

Программу устанавливаем с предложенными параметрами, по старинке - далее - далее - ОК. 🙂 и после успешной установки Atom предложит нам перезапустить себя - соглашаемся.

9.thumb.png.ffb07e64efad1d1808e9c9f810c2b037.png

 

6. Откроется домашнее окно программной среды Platformio, выбираем - открыть проект

10.thumb.png.21747289fb188d30a210a0edfe26b7c4.png

Указываем путь к папке с Marlin, лишние вкладки можно позакрывать.

11.thumb.png.32560a446177640e707f30934dc9b0d2.png 12.thumb.png.304babf8a82550223431d815d8c75a81.png

 

7. Выбираем файл настроек проекта Platformio.ini, в блоке [platformio] находим пункт env_default и выделяем megaatmega2560 - установленное название платы микроконтроллера и начинаем писать lpc - редактор предложит на выбор варианты с этим сочетанием букв. Выбираем LPC1768 и сохраняем изменения сочетанием клавиш "Ctrl+S" или через меню "Файл"

13.thumb.png.0d40ba647009d8989a5971f94b8e40be.png 15.thumb.png.9477b920301c3fe385150a5bc6c9f04f.png

 

8. Открываем файл boards.h по пути  Marlin\src\core и с помощью сочетания клавиш "Ctrl + F"  открываем поисковое окно, в нем вводим название нашей платы SKR, выделяем название платы BOARD_BIQU_SKR_V1_1 и копируем название в буфер обмена.

16.thumb.png.0e687cf82f70949b4b7366e8f5a8fb69.png

 

9. Открываем конфигурационный файл Configuration.h и находим строку 135 в которой заменяем название материнской платы на свое, скопированное. Так же изменяем скорость порта согласно ТТХ своей материнки. В моем случае 115200 и сохраняем изменения. Если есть не сохраненные данные в файле, в углу названия файла будет светится синий шарик. После сохранения он исчезнет.

17.thumb.png.b6bb559ff6d625e9a10c74625dbd97d2.png 18.thumb.png.a2946c8d04c0f2e90e33fbc2890d1137.png

 

10. Вот мы и добрались до пробной компиляции. На этом пункте мы должны протестировать компиляцию прошивки с основными настройки. Нажимаем на галочку или выбираем в меню  PlatformIO\Build и вспоминая Масяню - Только бы не disconnect!!! ожидаем завершения процесса компиляции. laugh Процесс будет сопровождаться движением строчек с системной информацией.

19.thumb.png.c85bf818a80f94223f114791a37135f9.png 20.thumb.png.2ee1024ebdfd52e17a150832df26262b.png

 

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

21.thumb.png.1f40baa44a6ea9b4381e65fb51062817.png

Если будет обнаружена ошибка - окно терминала останется активным и окрасится в красный цвет. В нем будет информация об ошибке.

 

12. Ну и собственно результат нашей работы будет находится в папке проекта Марлина по пути \Marlin-bugfix-2.0.x_02.07\.pioenvs\LPC1768

22.thumb.png.022719a746cfe4835bd756111ef0ed03.png

 

ЭПИЛОГ.

Вот мы вместе и прошли весь путь установки, настройки и компиляции прошивки Marlin 2.0 в программной среде Platformio. Теперь можно приступать к настройке прошивки под свой любимый принтер, внося изменения в файлы Configuration.h и Configuration_adv.h

 

За сим - разрешите откланяться! 

 

 

 

  • Thanks 2

Share this post


Link to post
Share on other sites

Спасибо за инструкцию! Буду ждать выхода стабильной версии марлин 2.0 и потом тоже сделаю переход. И по плате SKR спасибо, как-то я ее не замечал до этого. В работе марлин 2.0 уже был у вас?

  • Like 1

Share this post


Link to post
Share on other sites

Я давно перешел на 2.0.bagfix. 😁 В нем появляются плюшки, да и разрабьі обьявили, что ветка 1.1.9 закрьіта и новьіх обновлений не будет. 

Так что можно не ждать и смело переходить на Marlin 2.

Share this post


Link to post
Share on other sites
1 час назад, KomAndr сказал:

Так что можно не ждать и смело переходить на Marlin 2.

Эх... а как бы туда репитер всунуть?

Share this post


Link to post
Share on other sites

@KomAndr баги какие-то вам попадались? Некоторые в сети пишут, что есть всякие зависания и ребуты у багфикс версии. Зависания могут быть опасны...

Share this post


Link to post
Share on other sites

@TTND в єтом вопросе я не силен. 😁 

@Magg_ot если честно - мне они не попадались. Может я не умею бетатестить... 

Хотя нет! Я так и не освоил возобновление печати после пропадания искричества при печати с sd картьі, просто забил на єту плюшку. 😁 

Share this post


Link to post
Share on other sites

Доброго всем.. Сделал как описано, но почему то ошибка при компиляции.  Марлин качал чистый

Может подскажите что и куда?

11.jpg

Share this post


Link to post
Share on other sites

п.10 - скомпилировалась прошивка или это результат первой компиляции?

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

Share this post


Link to post
Share on other sites

это первая компиляция, по вашему описанию

 

.piolibdeps\Adafruit NeoPixel\Adafruit_NeoPixel.cpp:153:3: error: 'noInterrupts' was not declare
d in this scope

Share this post


Link to post
Share on other sites
5 часов назад, kasper сказал:
Adafruit_NeoPixel.cpp:153:3: error: 'noInterrupts' was not declare
d in this scope

Открыл файл и посмотрел на 153-ю строку

// AVR MCUs -- ATmega & ATtiny (no XMEGA) 

А судя по скрину кто-то пытается скомпилить прошивку для SKR.

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

 

П.С. скачал сегодняшнюю сборку Marlin и вуаля:

image.thumb.png.e0ca063c435656c7adf94da4a5af089f.png

 

@kasper  Удали все папки проекта из Платформио. Разархивируй Marlin. В пути к марлину не должно быть кирилических символов!!! Добавь папку с нетронутым марлином в проект. Открой Platformio.ini и замени мегуотмегу на LPC1768. В конфигурационном файле измени скорость порта на 115000 и название материнской платы. 

Больше ничего не менять! Сохрани изменения в двух этих файлах и все скомпилируется.

П.С. не нужно настраивать и включать контроллер RGB подсветки. Именно за это и отвечает файл на который ругается платформио.

Share this post


Link to post
Share on other sites
44 минуты назад, KomAndr сказал:

Удали все папки проекта из Платформио

удалил

44 минуты назад, KomAndr сказал:

Разархивируй Marlin. В пути к марлину не должно быть кирилических символов

разархивировал, путь кирилицы нет

 

45 минут назад, KomAndr сказал:

Добавь папку с нетронутым марлином в проект

добавил

 

46 минут назад, KomAndr сказал:

Открой Platformio.ini и замени мегуотмегу на LPC1768

сделал так

 

46 минут назад, KomAndr сказал:

В конфигурационном файле измени скорость порта на 115000 и название материнской платы. 

сделал так  115200  материнка   #define MOTHERBOARD BOARD_BIQU_SKR_V1_1

 

47 минут назад, KomAndr сказал:

Больше ничего не менять!

не менял

 

47 минут назад, KomAndr сказал:

Сохрани изменения в двух этих файлах и все скомпилируется.

сохранил... все равно ошибка(((

 

не судьба мне марлина пользовать

Share this post


Link to post
Share on other sites

@kasper  что-то мне кажется - загвоздка в малом. 🙂

А Platformio и компоненты обновлены?

Share this post


Link to post
Share on other sites

Проблема решилась. Снес Атом  и все что с ним связано было, поставил по новой и все скомпелировалось.  Спасибо за помощь)))

Share this post


Link to post
Share on other sites

@kasper Ну вот и чудно! laugh

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×