Компиляция прошивки для 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. Поиск Katapult USB ID
Для неофициальных хостов 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. Проверка результата прошивки
Если команда выполнена без ошибок, это означает, что прошивка записана. После завершения прошивки Katapult USB ID исчезнет; следуйте последующим шагам на странице текущего продукта, чтобы снова подать питание и найти соответствующий Klipper ID.
Повторная прошивка
В дальнейшем при необходимости обновить уже прошитую прошивку Klipper не нужно повторно прошивать Katapult. Сначала перекомпилируйте целевую прошивку на текущей странице, затем выберите один из способов в зависимости от текущего состояния устройства.
Способ 1: Автоматический вход в Katapult с помощью команды
Если в данный момент можно найти usb-Klipper_ ID, можно заставить 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
Если в данный момент нет usb-Klipper_ ID или способ 1 не сработал, используйте следующий метод:
Перед началом полностью выключите принтер и отключите питание. Не подключайте и не отключайте USB-кабель и не касайтесь клемм под напряжением.
-
После отключения питания снова подключите кабель Type-C.
-
Быстро дважды нажмите кнопку
RSTна нижней плате и дождитесь мигания индикатора состояния, что означает вход в Katapult. -
Найдите Katapult USB ID:
ls /dev/serial/by-id/* -
Выполните прошивку, используя найденный
usb-katapult_ID:Обычный хост Linux:
~/klippy-env/bin/python ~/katapult/scripts/flashtool.py -d <Katapult USB ID> -f ~/klipper/out/klipper.binFLYOS / 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.