Перейти к основному содержанию

Инструкция по компиляции прошивки

Важное предупреждение по безопасности

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

  • Согласованность компиляции прошивки: Прошивка Klipper должна быть скомпилирована на верхнем компьютере (хосте), который вы используете в данный момент. Использование прошивки, скомпилированной другими или с несовпадающей версией, может привести к непредвиденным системным сбоям.
  • Стандарты аппаратной платформы: Настоятельно рекомендуется использовать стандартное аппаратное обеспечение верхнего компьютера. Избегайте использования неофициально модифицированных устройств (например, некоторых ТВ-приставок, USB-WiFi адаптеров или определенных моделей устройств Redmi), поскольку эти устройства могут иметь риски совместимости и стабильности.
  • Ограничения виртуальной среды: Не рекомендуется запускать систему верхнего компьютера в виртуальной машине, так как это может привести к снижению производительности и помехам в реальном времени, влияя на качество печати.

Описание типов прошивки

  • Режим Katapult / HID

    • Функция: Оба режима функционально идентичны и оба поддерживают бесконтактную прошивку (без извлечения карты памяти, обновление прошивки напрямую через верхний компьютер).
    • Описание: HID — это загрузчик, используемый FLY встроенным верхним компьютером, и его суть такая же, как у Katapult.
    • Важное примечание: При использовании Katapult, если в результате загрузки неправильной прошивки плата не отвечает, найдите на плате кнопку сброса и быстро нажмите её дважды, чтобы снова войти в режим Katapult для повторной прошивки.
  • Режим Bootloader

    • Функция: Традиционный способ прошивки через карту памяти.
    • Преимущества: Этот метод имеет высокую отказоустойчивость. Если вы случайно загрузили неправильную прошивку, вы можете повторить попытку, перепрошив карту памяти, не беспокоясь о «превращении платы в кирпич».

Руководство по компиляции прошивки

Подготовка к компиляции и рекомендации
  • Для максимального успеха компиляции рекомендуется использовать MobaXterm в качестве SSH-клиента. По отзывам пользователей, некоторые SSH-инструменты могут вызывать неизвестные ошибки компиляции.
  • Важный параметр конфигурации: В интерфейсе конфигурации компиляции обязательно установите флажок Enable extra low-level configuration options, иначе некоторые расширенные настройки не будут отображаться.

Конфигурация стартовых пинов (GPIO pins to set at micro-controller startup)

Важное примечание
  • Эта опция используется для принудительной установки уровня напряжения на определенных пинах GPIO при запуске микроконтроллера.
  • Необходимо переключиться на английскую раскладку клавиатуры, иначе компиляция прошивки будет невозможна.
  • Синтаксис конфигурации:

    • Добавление ! перед именем пина означает установку низкого уровня на пине при запуске (логический 0), а без ! — установку высокого уровня (логическая 1).
    • Серия STM32: Номера пинов должны быть в верхнем регистре. Заполняйте в соответствии с документацией вашей платы.
    • Серия RP2040: Номера пинов должны быть в нижнем регистре. Заполняйте в соответствии с документацией вашей платы.
  • Конфигурация нескольких пинов: Если требуется настроить несколько пинов, разделяйте их запятыми на английском языке ,.

    • Пример: !<pin_a>,!<pin_b>,<pin_c> означает установку низкого уровня на первых двух пинах и высокого уровня на третьем пине при запуске.
Пояснение по безопасности

Настройка GPIO pins to set at micro-controller startup действует только до установления соединения с Klipper. После того как Klipper установит соединение и будет работать нормально, эта настройка не влияет на любые другие операции с пинами, поэтому ее можно использовать безопасно.

Глобальное состояние GPIO при запуске

Функция FLYOS-Klipper

GPIO state at micro-controller startup — это расширенная функция, предоставляемая FLYOS-Klipper, и в стандартной версии Klipper эта опция может отсутствовать. Если в документации платы или инструментальной платы нет явных требований, оставьте значение по умолчанию Not set.

Эта опция используется для установки единого начального состояния для большинства физических пинов GPIO на этапе запуска микроконтроллера. Она отличается от опции GPIO pins to set at micro-controller startup выше:

Параметр конфигурацииОбласть действия
GPIO pins to set at micro-controller startupУстанавливает только пины, явно указанные в поле ввода; с помощью ! можно отдельно указать низкий уровень
GPIO state at micro-controller startupУстанавливает единое стартовое состояние для остальных доступных физических пинов GPIO

Следующие пины не будут переопределены глобальным состоянием:

  • Пины, указанные в поле GPIO pins to set at micro-controller startup.
  • Пины, зарезервированные прошивкой для текущих коммуникационных функций, таких как UART, USB, CAN, USB-to-CAN и т.д.

Доступные состояния

ОпцияПоведение на этапе запускаРекомендации по использованию
Not setНе изменяет единообразно стартовое состояние остальных GPIOОпция по умолчанию и рекомендуемая
Input pull-upНастраивает остальные GPIO как входы с подтяжкой вверхИспользовать только если это явно требуется аппаратным дизайном
Input pull-downНастраивает остальные GPIO как входы с подтяжкой внизИспользовать только если это явно требуется аппаратным дизайном
Output highНастраивает остальные GPIO как выходы с высоким уровнемВысокий риск, использовать только в соответствии с документацией продукта
Output lowНастраивает остальные GPIO как выходы с низким уровнемВысокий риск, использовать только в соответствии с документацией продукта
Не устанавливайте вслепую глобальное состояние выхода

Output high или Output low изменят уровень большого количества GPIO до установления соединения с Klipper. Неправильный выбор может вызвать непредвиденные действия вентиляторов, нагревателей, разрешающих сигналов драйверов или других периферийных устройств. Если это не указано явно в документации соответствующего продукта FLY, обязательно выберите Not set.

Метод использования

  1. В make menuconfig включите Enable extra low-level configuration options.
  2. При необходимости сначала заполните в поле GPIO pins to set at micro-controller startup пины-исключения, которые нужно контролировать отдельно, например, !gpio18. Несколько пинов разделяются запятыми на английском языке.
  3. Перейдите к пункту GPIO state at micro-controller startup:
    • Для обычной прошивки выберите Not set.
    • Только если документация продукта явно требует глобального состояния, выбирайте соответствующее состояние входа или выхода.
  4. Нажмите Q для выхода, при появлении запроса Save configuration нажмите Y для сохранения, затем перекомпилируйте и обновите прошивку в соответствии с инструкциями по прошивке продукта.
  5. После завершения прошивки полностью обесточьте нижний компьютер и затем снова подайте питание.
Not set не отключает отдельные стартовые пины

Выбор Not set означает только «не изменять единообразно остальные GPIO». Пины !gpio18, !PA15 или другие пины, указанные в поле GPIO pins to set at micro-controller startup, по-прежнему будут действовать в соответствии со своей конфигурацией.

Восстановление после сбоя прошивки и общая защита
  • Защита от неправильной прошивки: Прошивки Katapult, HID и Bootloader сами по себе имеют механизм защиты. Пока вы не переходите в специальный режим DFU для прошивки, даже при загрузке неправильной основной прошивки они не будут перезаписаны, и плата не «превратится в кирпич».
  • Необходимые действия после завершения прошивки: После завершения любой прошивки обязательно полностью обесточьте нижний компьютер один раз (отключите кабель питания), затем снова подайте питание, чтобы гарантировать правильную загрузку и стабильную работу новой прошивки.

Инструкция по прошивке

Перед прошивкой обязательно
  • Идентификация устройства: При использовании Katapult убедитесь, что верхний компьютер может определить устройство. Если устройство не найдено, быстро нажмите дважды на кнопку сброса на плате, чтобы снова войти в режим прошивки. Либо перепрошейте BL прошивку платы.
  • Соблюдение стандартов: Строго следуйте методам прошивки из официальных руководств. Использование других непроверенных методов может привести к повреждению оборудования.
  • Проверка компиляции: Перед прошивкой обязательно убедитесь, что прошивка скомпилирована без ошибок. Неправильный файл прошивки приведет к сбою прошивки или невозможности нормальной работы устройства.

Восстановление после неправильной прошивки Katapult

  1. Найдите на плате физическую кнопку сброса и быстро нажмите её дважды.
  2. В нормальном случае на плате Fly начнет мигать светодиодный индикатор, что означает успешный вход в режим Katapult.
  3. Теперь вы можете войти в режим Katapult и перепрошить правильную прошивку Klipper.

Восстановление после неправильной прошивки Bootloader

  1. Вставьте TF-карту с правильной прошивкой обратно в плату.
  2. Если прошивка не загружается, сначала полностью обесточьте устройство, вставьте TF-карту, затем снова подайте питание.
  3. Оставьте питание включенным примерно на 5 секунд, чтобы автоматическая прошивка завершилась.

Установка зависимостей для прошивки Katapult

Важно
  • Если вы используете неофициальный верхний компьютер от Fly, обязательно выполните следующие команды для установки пакетов зависимостей для прошивки!
  • Выберите один из двух репозиториев ниже.
  • Репозиторий GitHub
    cd && git clone https://github.com/Arksine/katapult.git
  • Зеркальный репозиторий для Китая
    cd && git clone https://cnb.cool/3dmellow/public/katapult
Loading...

Loading...