Собираем прошивку Smoothieware для контроллера LPC1768

Добавлено в закладки: 5

Давно чесались руки попробовать собрать Smoothieware из исходников, вот только все никак не доходили. В основном для того, чтобы избавиться от ненужной мне Micro SD карты, которую постоянно приходится держать в разъеме платы. Честно говоря нигде не нашел инструкции как она компилируется, поэтому пришлось разбираться самостоятельно. Заодно расскажу с какими трудностями столкнулся, может кому-то и поможет.

В первую очередь смотрим сюда. Вся инструкция именно здесь. Для пользователей windows все делается легко. Сначала скачиваем исходники прошивки и распаковываем. В пути не должно содержаться кириллицы, пробелов. Лучше всего распаковать в корень нужного диска. Что бы собрать прошивку нам, пользователям windows, необходимо установить компилятор GCC, поэтому открываем только что распакованную папку Smoothieware-edge, в ней находим файл win_install.cmd

Собираем прошивку Smoothieware для контроллера LPC1768

и двойным кликом левой кнопки мыши запускаем его. Откроется окно командной строки и начнется установка компилятора, компьютер обязательно должен быть подключен к интернету. Ждем сообщения

Собираем прошивку Smoothieware для контроллера LPC1768

Окно можно закрыть, компилятор успешно установлен. После установки компилятора в папке \Smoothieware-edge появится файл BuildShell.cmd.

При желании “вшить” настройки прямо в прошивку, идем в \Smoothieware-edge\src и ищем файл config.default. Открываем его в блокноте, копируем в него весь текст из файла config.txt и сохраняем. Само собой предварительно все должно быть настроено и отлажено при помощи config.txt.

Теперь запускаем вышеупомянутый файл BuildShell.cmd, в открывшемся окне пишем make clean all

и жмем ENTER

Собираем прошивку Smoothieware для контроллера LPC1768

Теперь пошла компиляция, ждем ее успешного завершения.

Собираем прошивку Smoothieware для контроллера LPC1768

При удачном завершении компиляции, в папке Smoothieware-edge\LPC1768

Собираем прошивку Smoothieware для контроллера LPC1768

находим файл main.bin, копируем на Micro SD карту, переименовываем в firmware.bin и прошиваем в плату. Теперь нет необходимости держать config.txt постоянно на карте, его можно удалить. Но вот сюрприз! Плата без SD карты работать отказывается! Ее наличие в разъеме, даже пустой, просто необходимо. Видимо это связано с инициализацией карты, победить не удалось. Так что прошивать настройки особого смысла не имеет. Тем не менее, отрицательный результат тоже результат.

Теперь о трудностях на которые наткнулся

Несколько дней не мог запустить плату на Smoothieware. В диспетчере устройств висело “неизвестное устройство”. Естественно к плате невозможно подключиться по USB. Пробовал по UART, тоже самое, плата не подает признаков жизни. Прошил для теста Marlin 2.0, плата определилась и ожила. Долго не мог понять что к чему, ровно до тех пор, пока не вытащил из слота карту памяти и не запустил плату. Она ожила, стала определяться в диспетчере устройств. Само собой дело было в кривом config.txt. Честно говоря никогда бы не подумал что из-за ошибки в этом файле плата может наотрез отказаться работать.

10

Метки:    2019-06-21      Раздел: Прошивка, Электроника  
Автор: Просмотров: 7 535   6 комментариев



6 комментариев на «Собираем прошивку Smoothieware для контроллера LPC1768»

  1. Такой вопрос, даже два.
    1.В чем плюсы смузи перед другими прошивами и в чем минусы?
    Поиском пользовался, внятного описания не попадалось.
    2. Прошива только для процов LPC ? STM32 поддержки нет?
    смотрел на гитхабе но не обнаружил папочку с stm32.
    Спасибо.

    0
    1. 1. Самый главный плюс этой прошивки до недавнего времени это поддержка 32 битных процессоров LPC1768. На сегодня уже вышла Marlin 2.0, которая тоже поддерживает LPC. Правда судя по всему еще сыровата. Из минусов смузи, наверное более скудные возможности по настройке, хотя на этот счет еще можно и поспорить.
      2. Прошивка предназначена для оригинальной платы Smoothieboard, она как раз собрана на LPC1768. Поэтому думаю пока вышеуказанная плата не будет модифицирована под другой процессор, вряд ли прошивка будет поддерживать другие процессоры Если нужна поддержка STM32, то скорее всего надо обратить внимание на Marlin 2.0, она уже поддерживает некоторые из них, например STM32F407. Я уже писал о сборке марлина для LPC1768 здесь
      https://3deshnik.ru/blogs/dark184/sobiraem-marlin-2-0-dlja-mks-sbase-v1-3#more-9243
      Для STM32 судя по всему надо в Platformio.ini указать нужный процессор, а в configuration.h соответствующую плату. Сам пока не пробовал собирать под STM, хотя поддерживаемая плата на STM32F407 у меня есть.

      0
  2. Интересно. У меня лежит плата на LPC1768 и экран с TFT24′. Надо построить с ними принтер и прошить, чтоб без лишних карточек работало. Ну как по печати, с учётом времени, лучше чем на Марлине 2,0 Работает?
    Под какой принтер прошивали? Может выложить тут текстовый файл config.txt и .bin файлы.

    0
    1. Плата sBase? Если да, то по MKS sBase есть заметка от сообщества разработчиков смузи, типа они тупо тырят схемы и прошивки не участвуя в разработке, поэтому пользователям MKS помогают только по “доброте душевной”. Я сам купил по дурости sBase, плата реально глючная. Не знаю с чем это связано, ведь железо и схема практически полностью совпадает с оригинальной платой смузибоард… Предположительно это связано с тактированием, sBase тактируется 100 мгц, а оригинальная 120 мГц… Именно на этой плате у меня более менее нормально работает прошивка только отсюда https://github.com/makerbase-mks/MKS-SBASE/tree/master/English/firmware, оригинальная и самосборная прошивка работают с глюками.
      Совсем без карточки пока не получится. Плата не заводится без нее, даже если конфиг зашить, судя по всему это связано с проверкой сигнала SD init при загрузке платы, это надо разбираться с прошивкой. Тем не менее достаточно в слот установить даже пустую карту, тогда все взлетает. Такая ситуация наблюдается не только на sBase, но и SKR.
      Лично у меня на sBase смузи работает, точнее печатает, на порядок лучше Марлин. Не знаю пока с чем это связано, все таки Марлин 2.0 еще сыроват, не даром bugfix назвали. Хотя я бы все таки порекомендовал для начала прошиться Марлин и попробовать, возможно мой неудачный опыт связан все таки с “кривыми ручками”
      Конфиг у меня немного специфичный, принтер reprap, причем концевик Z у меня с контактами NC, остальные NO, на одной из осей концевик на максе, на остальных на мин. Еще у меня допом и лазер стоит, еще куча switch прописано… Мой конфиг только запутает. bin файл ссылку уже скинул. Если плата SKR v1.3 то для нее все можно взять здесь https://github.com/bigtreetech/BIGTREETECH-SKR-V1.3. Здесь же есть много STL моделей корпусов для этой платы. Сам лично не пробовал еще эту плату, жду TMC2130 и буду пробовать переделывать принтер на этой плате с Марлином 2.0… Она, кстати, на смузи, в отличие от sBase, работает корректно. Что с sBase не так, я не понимаю. Единственное предположение связано с системой тактирования LPC1768, т.к. у Cortex достаточно сложная система тактирования, там ее настроить это отдельное искусство, без 0.5 не разобраться.
      По поводу SD карты. Мельком глянул исходники. В файле main.cpp есть строка
      bool sdok= (sd.disk_initialize() == 0);
      Сам пока не разбирался, но предположительно именно здесь ловится импульс SD init. Вполне может быть если sdok присвоить 1 можно обмануть прошивку при ините карты и все стартанет даже без карты.
      bool sdok= 1
      Хотя это надо проверять, далеко не факт что это единственное место. Но попробовать стоит. Само собой, надо заполнить config.default, внести эти изменения и попробовать собрать прошивку. Но этот способ совсем некорректен, надо полностью разбираться почему без карты прошивка стартует некорректно.
      А, ну да. Все исходники смузи можно взять здесь https://github.com/Smoothieware/Smoothieware

      1
      1. Спасибо за ответ.
        Я когда купил MKS sBase 1.3 – это была вообще моя первая плата для 3D принтеров. То залил Репитер Хост – поковырялся с ним – он мне НЕ понравился интерфейсом на ЛСД экране 12864, ну заделал принтер на МЕГЕ на МАРЛИНЕ – с ним всё удобней было и понятней…… С тех пор плата и лежит. Репитер , по отзывам имеет своих поклонников. Лежит плата с двумя экранами – С MKS TFT24 и с LCD12864. Лежал как запасной комплект – вдруг чего выйдет, чтобы было поставить хоть, что то. Но так и лежит. Надо в дело её воткнуть пусть пашет.

        0
        1. Несмотря ни на что, sBase уже два года работает, меня устраивает… Но вот недостатки смузи меня уже достали . Поэтому жду с нетерпением Марлина 2.0. В любом случае надо пробовать, Марлин 2.0 постоянно дорабатывается.
          Сейчас посмотрел, изменения в исходниках марлина произошли 2 часа назад Это радует.
          p.s. если будете изменять прошивку в части инита карты как я описал, возможно словите глюк. Т.к. прошивка будет думать что карта установлена, но ее на самом деле нет. Вот тут при обращении к карте последствия будут непредсказуемы. Это всего лишь грабли. Если руки дойдут, возможно поразбираюсь в прошивке, но это вряд ли имеет смысл.

          0

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




     
Авторизация
*
*
Генерация пароля
Яндекс.Метрика