Инструкция по компиляции прошивки
Для обеспечения стабильной работы системы, пожалуйста, строго соблюдайте следующие принципы использования прошивки:
- Согласованность компиляции прошивки: Прошивка 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 при запуске
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.
Метод использования
- В
make menuconfigвключитеEnable extra low-level configuration options. - При необходимости сначала заполните в поле
GPIO pins to set at micro-controller startupпины-исключения, которые нужно контролировать отдельно, например,!gpio18. Несколько пинов разделяются запятыми на английском языке. - Перейдите к пункту
GPIO state at micro-controller startup:- Для обычной прошивки выберите
Not set. - Только если документация продукта явно требует глобального состояния, выбирайте соответствующее состояние входа или выхода.
- Для обычной прошивки выберите
- Нажмите
Qдля выхода, при появлении запроса Save configuration нажмитеYдля сохранения, затем перекомпилируйте и обновите прошивку в соответствии с инструкциями по прошивке продукта. - После завершения прошивки полностью обесточьте нижний компьютер и затем снова подайте питание.
Not set не отключает отдельные стартовые пиныВыбор Not set означает только «не изменять единообразно остальные GPIO». Пины !gpio18, !PA15 или другие пины, указанные в поле GPIO pins to set at micro-controller startup, по-прежнему будут действовать в соответствии со своей конфигурацией.
- Защита от неправильной прошивки: Прошивки
Katapult,HIDиBootloaderсами по себе имеют механизм защиты. Пока вы не переходите в специальный режим DFU для прошивки, даже при загрузке неправильной основной прошивки они не будут перезаписаны, и плата не «превратится в кирпич». - Необходимые действия после завершения прошивки: После завершения любой прошивки обязательно полностью обесточьте нижний компьютер один раз (отключите кабель питания), затем снова подайте питание, чтобы гарантировать правильную загрузку и стабильную работу новой прошивки.
Инструкция по прошивке
- Идентификация устройства: При использовании
Katapultубедитесь, что верхний компьютер может определить устройство. Если устройство не найдено, быстро нажмите дважды на кнопку сброса на плате, чтобы снова войти в режим прошивки. Либо перепрошейте BL прошивку платы. - Соблюдение стандартов: Строго следуйте методам прошивки из официальных руководств. Использование других непроверенных методов может привести к повреждению оборудования.
- Проверка компиляции: Перед прошивкой обязательно убедитесь, что прошивка скомпилирована без ошибок. Неправильный файл прошивки приведет к сбою прошивки или невозможности нормальной работы устройства.
Восстановление после неправильной прошивки Katapult
- Найдите на плате физическую кнопку сброса и быстро нажмите её дважды.
- В нормальном случае на плате Fly начнет мигать светодиодный индикатор, что означает успешный вход в режим
Katapult. - Теперь вы можете войти в режим
Katapultи перепрошить правильную прошивку Klipper.
Восстановление после неправильной прошивки Bootloader
- Вставьте TF-карту с правильной прошивкой обратно в плату.
- Если прошивка не загружается, сначала полностью обесточьте устройство, вставьте TF-карту, затем снова подайте питание.
- Оставьте питание включенным примерно на 5 секунд, чтобы автоматическая прошивка завершилась.
Установка зависимостей для прошивки Katapult
- Если вы используете неофициальный верхний компьютер от Fly, обязательно выполните следующие команды для установки пакетов зависимостей для прошивки!
- Выберите один из двух репозиториев ниже.
- Репозиторий GitHub
cd && git clone https://github.com/Arksine/katapult.git
- Зеркальный репозиторий для Китая
cd && git clone https://cnb.cool/3dmellow/public/katapult