Компиляция прошивки для USB
Начало компиляции
Краткое руководство по компиляции прошивки
Примечания
- Сеть: Убедитесь, что хост-компьютер (Raspberry Pi и т.п.) подключен к сети.
- Способ входа: Необходимо входить через SSH по сети, последовательный порт отключен.
- Раскладка клавиатуры: Держите клавиатуру в английском полуширинном режиме
Вход по SSH и переключение пользователей
Используйте MobaXterm, PuTTY и другие инструменты для входа по SSH на хост-компьютер.
Переключение пользователя:
- Обычная система (официальная система Raspberry Pi и т.п.)
Запрещено использоватьroot, необходимо переключиться на обычного пользователя:su <имя_пользователя> - FLY хост-компьютер (система FlyOS-FAST)
Поддерживается только вход от пользователяroot(пароль:mellow)
Руководство по компиляции прошивки
В интерфейсе конфигурации прошивки Klipper поддерживается только управление с клавиатуры, мышь использовать нельзя.
| Клавиша | Функция |
|---|---|
| ↑ / ↓ | Перемещение курсора вверх/вниз, выбор пункта меню |
| Enter / Пробел | Подтверждение выбора, отметка опции или вход в подменю |
| ESC | Возврат в предыдущее меню |
| Q | Выход из интерфейса конфигурации |
| Y | При выходе, если есть подсказка, нажмите Y для сохранения конфигурации |
Начало компиляции прошивки
Ниже описано, как компилировать прошивку:
-
Подключитесь по SSH, введите следующую команду и нажмите
Enter:cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfigЗдесь
rm -rf ~/klipper/.config && rm -rf ~/klipper/outиспользуется для очистки предыдущей конфигурации компиляции и прошивки;make menuconfigиспользуется для открытия интерфейса конфигурации прошивки Klipper. -
Настройте параметры по порядку, следуя приведенному ниже списку, переходя к следующему пункту только после завершения предыдущего.
1启用 Enable extra low-level configuration options(Top)Klipper Firmware Configuration2Micro-controller Architecture 选择 Raspberry Pi RP2040/RP235x(Top)Klipper Firmware Configuration3Processor model 选择 rp2040(Top)Klipper Firmware Configuration4Bootloader offset 选择 16KiB bootloader(Top)Klipper Firmware Configuration5Communication Interface 选择 USBSERIAL(Top)Klipper Firmware Configuration6启用 Optimize stepper code for 'step on both edges'(Top)Klipper Firmware Configuration7按 Q 键退出配置界面(Top)Klipper Firmware Configuration8出现 Save configuration 时按 Y 保存配置QuitSave configuration?(Y)es(N)o(C)ancel -
После завершения двух последних шагов выше нажмите
Qдля выхода из интерфейса конфигурации, затем нажмитеYдля сохранения настроек. -
Вернувшись в командную строку, введите следующую команду и нажмите
Enter, чтобы начать компиляцию:make -j4root@flyos-11e5f8 ~/klipper # make -j4Compiling out/src/rp2040/bootrom.oCompiling out/src/rp2040/usbserial.oCompiling out/src/generic/usb_cdc.oCompiling out/src/rp2040/chipid.oCompiling out/src/rp2040/hard_pwm.oCompiling out/src/rp2040/spi.oCompiling out/src/rp2040/i2c.oPreprocessing out/src/rp2040/rpxxxx_link.ldBuilding out/compile_time_request.oVersion: XXXXLinking out/klipper.elfCreating bin file out/klipper.bin终端末尾出现
Linking out/klipper.elf和Creating bin file out/klipper.bin,即表示编译成功。 实际编译时,部分 Compiling 行和 Version 会随 Klipper 与系统版本变化。
Проверка перехода в режим записи
Перед началом обязательно полностью выключите принтер и отсоедините источник питания. Не следует подключать или отключать кабели, упорядочивать их или касаться контактов, пока устройство подключено к сети.
- После подключения материнской платы к вычислительному устройству с помощью кабеля Type-C, дважды нажмите кнопку reset — в этот момент на материнской плате зажгутся светодиоды.
- Если светодиоды не мигают, пожалуйста, перезапишите прошивку Katapult: Запись прошивки Katapult
- Если светодиоды не мигают, после записи прошивки Katapult переходите к следующему шагу.
Запись прошивки
Данная процедура предназначена для записи только что скомпилированного фирвэра Klipper с помощью USB Katapult; необходимо работать с типом фирвэра, выбранным на текущей странице.
1. Поиск USB-ID Katapult
Для неофициальных контроллеров FLY сначала необходимо установить Katapult:
Просмотр инструкций по установке Katapult
Выполните следующую команду:
ls /dev/serial/by-id/*
В результатах поиска должен появиться полный путь, содержащий usb-katapult_, например:
/dev/serial/by-id/usb-katapult_<модель_чипа>_<ID_устройства>-if00
У каждого контроллера свой уникальный ID — скопируйте полный путь, отображаемый на вашем устройстве.
2. Запись фирвэра Klipper
Замените <Katapult USB ID> в команде на полный путь, найденный на предыдущем шаге, без сохранения квадратных скобок.
- Обычный контроллер Linux
- Контроллер FLYOS / FLY
~/klippy-env/bin/python ~/katapult/scripts/flashtool.py -d <Katapult USB ID>
python3 ~/katapult/scripts/flashtool.py -d <Katapult USB ID>
3. Проверка результата записи
Если команда выполнена без ошибок, это означает, что фирвэр был записан. После завершения записи USB-ID Katapult исчезнет; согласно инструкциям на текущей странице продукта, необходимо снова подключить питание и найти соответствующий ID Klipper.
Перезапись фирвэра
Если понадобится обновить уже записанный фирвэр Klipper, нет необходимости заново использовать Katapult для записи. Сначала скомпилируйте нужный фирвэр на текущей странице, затем выберите один из способов в зависимости от текущего состояния устройства.
Способ 1: Автоматический вход в Katapult с помощью команды
Если можно найти ID usb-Klipper_, Klipper может автоматически запросить у контроллера вход в режим Katapult для перезаписи:
cd ~/klipper && make flash FLASH_DEVICE=<usb-Klipper ID>
Замените <usb-Klipper ID> на полный путь, найденный с помощью команды ls /dev/serial/by-id/*. По умолчанию команда использует файл ~/klipper/out/klipper.bin.
Способ 2: Ручная запись после двойного нажатия на кнопку RST
Если в настоящее время нет ID usb-Klipper_ или способ 1 не сработал, используйте следующий метод:
Перед началом полностью выключите принтер и отключите питание. Не подключайте и не отключайте USB-кабель и не касайтесь контактов, пока устройство подключено к питанию.
-
После отключения питания снова подключите кабель Type-C.
-
Быстро дважды нажмите на кнопку
RSTконтроллера; мигание индикатора свидетельствует о входе в режим Katapult. -
Поищите USB-ID Katapult:
ls /dev/serial/by-id/* -
Используйте найденный ID
usb-katapult_для записи:Обычный контроллер Linux:
~/klippy-env/bin/python ~/katapult/scripts/flashtool.py -d <Katapult USB ID> -f ~/klipper/out/klipper.binКонтроллер FLYOS / FLY:
python3 ~/katapult/scripts/flashtool.py -d <Katapult USB ID> -f ~/klipper/out/klipper.bin
При перезаписи обязательно используйте фирвэр, соответствующий текущему способу подключения. Хотя фирвэр для соединения USB с CAN в конечном итоге работает через CAN, при перезаписи с помощью Katapult используются все равно USB-ID и команды записи через USB.
Поиск USB ID после записи
После завершения записи прошивки и вновь подключения питания к материнской плате продолжите поиск USB ID.