Перейти до публікації

PlatformIO або як прошити Marlin 2.х в плати з 32біт контролерами.


Рекомендовані повідомлення

З придбанням материнки 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 і швидко знайомимося з вмістом сайту, для підвищення власної освіченості. Бачимо, що є два шляхи (тут згадалася байка про два шляхи )використовувати 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 !!!" ©  очікуємо завершення процесу компіляції. Процес супроводжуватиметься рухом рядків із системною інформацією.

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

 

За цим – дозвольте відкланятися!

 

UPD. Корисна стаття з налаштуванням Атом- http://blog.harrix.org/article/6076#h2_1

 

 

Посилання на повідомлення
Поділитися на інших сайтах

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

Посилання на повідомлення
Поділитися на інших сайтах

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

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

Посилання на повідомлення
Поділитися на інших сайтах
1 час назад, KomAndr сказал:

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

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

Посилання на повідомлення
Поділитися на інших сайтах

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

Посилання на повідомлення
Поділитися на інших сайтах

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

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

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

Посилання на повідомлення
Поділитися на інших сайтах
  • 2 місяці потому...

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

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

11.jpg

Посилання на повідомлення
Поділитися на інших сайтах

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

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

Посилання на повідомлення
Поділитися на інших сайтах

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

 

.piolibdeps\Adafruit NeoPixel\Adafruit_NeoPixel.cpp:153:3: error: 'noInterrupts' was not declare
d in this scope
Посилання на повідомлення
Поділитися на інших сайтах
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 подсветки. Именно за это и отвечает файл на который ругается платформио.

Посилання на повідомлення
Поділитися на інших сайтах
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 сказал:

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

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

 

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

Посилання на повідомлення
Поділитися на інших сайтах

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

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

Посилання на повідомлення
Поділитися на інших сайтах

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

Посилання на повідомлення
Поділитися на інших сайтах
  • 3 тижні потому...

Кстати, Atom же не очень рекомендуется(или не рекомендовался в одно время, не знаю точно как сейчас) для PlatformIO. Вобще VSCode безбажный - поставил и забыл.

Посилання на повідомлення
Поділитися на інших сайтах

@_nik я не могу утверждать, но первая попьітка подружиться с PlatformIO бьіла именно на VS. Почему-то єта связка вешала прогу наглухо. Поставил Атом и вопросов больше нет. 😁 

Посилання на повідомлення
Поділитися на інших сайтах
  • 3 місяці потому...

Доброго времени суток.
столкнулся с такой проблемой:
купил плату BIGTREE SKR PRO она на STM32

скачал https://github.com/bigtreetech прошивку и пробовал уже и через Atom и Visual Studio Code скомпилировать прошивку и не в какую
даже пробовал чистый код что у них на сайте все равно ни как(((

можете подсказать в чем я лох?)

заранее благодарен за ответ  

image.png

image.png

Посилання на повідомлення
Поділитися на інших сайтах

Жёлтый цвет обычно используется для рекомендаций,  а ошибки красным.  У вас на скринах видно только жёлтые возможно есть красным цветом (прокрутите в  окне терминала)  . У меня нет этой платы (есть только SKR V1.3) 

Посилання на повідомлення
Поділитися на інших сайтах

@Vladimir-alpha на первом скрине первая строчка желтьім и на втором скрине последняя перед ошибкой просит установить Gitclient и указьівает по какому адресу можно его скачать. 

На момент написания статьи ставить  клиент бьіло не обязательно. По возможности дополню статью. 

Посилання на повідомлення
Поділитися на інших сайтах

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

image.thumb.png.c5ce9f670ecb8fdb8afe1a54d44a56f2.png  image.thumb.png.10ac8d1ca1671102c0c9b112a5036915.png

Змінено користувачем Vladimir-alpha
Посилання на повідомлення
Поділитися на інших сайтах

@Vladimir-alpha на втором скрине, первой строчкой, адрес по которому находится прошивка firmware.bin Очисти содержимое sd-картьі и ручками скопируй єтот файлик. Карту в плату и запустится прошивка. 

П. С. На предьідущих skr-ках нужно бьіло активировать оба серийньіх порта. 

П. П. С. А пробовал собирать через кнопку upload? 

Посилання на повідомлення
Поділитися на інших сайтах

Ну так а как тьі хотел загрузить прошивку на карту? 😁😁😁 

Как бьі build - собрать прошивку, а upload - собрать и загрузить. 

Посилання на повідомлення
Поділитися на інших сайтах
  • KomAndr змінив заголовок на PlatformIO або як прошити Marlin 2.х в плати з 32біт контролерами.
  • KomAndr закріпив темі

Приєднуйтесь до обговорення

Ви можете опублікувати повідомлення зараз, а зареєструватися пізніше. Якщо у вас є акаунт, увійдіть в нього для написання від свого імені.

Гість
Відповісти в тему...

×   Вставлено в вигляді відформатованого тексту.   Вставити у вигляді звичайного тексту

  Дозволено не більше 75 емодзі.

×   Ваше посилання було автоматично вбудоване.   Відобразити як посилання

×   Ваш попередній контент був відновлений.   Очистити редактор

×   Ви не можете вставити зображення безпосередньо. Завантажте або вставте зображення за посиланням.

×
×
  • Створити...