Компиляция прошивки по USB
Начало компиляции
-
Требуется ПК с установленным и запущенным сервисом
klipper
Подключение через SSH по сети -
Убедитесь, что устройство правильно подключено к ПК
-
Важно: используйте обычный ПК, например, Raspberry Pi или FLY-пай. Если вы используете модифицированный ПК (например, Wi-Fi адаптер, Redmi и т.д.), то из-за большого количества проблем мы не сможем предоставить вам техническую поддержку
заметка -
Для переключения с пользователя ROOT на обычного пользователя введите следующую команду
-
Не используйте пользователя ROOT
-
Для пользователя fly просто введите:
su fly
. Для других пользователей замените<ваше имя пользователя>
на имя пользователя вашего ПК!
su <имя пользователя вашего ПК>
:::
- 请确保上位机可以正常联网
- 固件编译前需要使用SSH通过网络登录上位机
- 请不要使用串口工具登录上位机
Klipper固件编译和配置页面操作说明
请确保键盘输入法为半角模式,即英文模式
- 键盘上键
↑
,下键↓
,用于上下移动光标来选中菜单项 - 确认键
Enter
或 空格键Space
,用于勾选菜单或进入子菜单 - 退出键
ESC
,用于返回上一级菜单 Q
键,用于退出Klipper固件配置页面Y
键,在退出Klipper固件配置页面时,如果有提示,则点击Y
键保存配置文件
如果配置页面选项比较少,请先勾选[ ] Enable extra low-level configuration options
,用于显示部分隐藏选项
Ниже описан процесс компиляции прошивки:
-
Подключитесь к SSH и введите следующую команду и нажмите Enter:
cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig
-
Команда
rm -rf ~/klipper/.config && rm -rf ~/klipper/out
удаляет предыдущие данные компиляции и прошивку, командаmake menuconfig
используется для компиляции прошивки, после выполнения которой должен появиться следующий интерфейс: -
Выберите Enable extra low-level configuration options и нажмите Enter
-
Перейдите в меню Micro-controller Architecture и выберите Raspberry Pi RP2040, затем нажмите Enter
-
Выберите Bootloader offset, затем выберите: No bootloader
-
В разделе Communication interface выберите: USBSERIAL
- Нажмите клавишу
Q
, чтобы появилось Save configuration, затем нажмитеY
- Теперь должна быть сохранена конфигурация и вы должны вернуться в командную строку
- Введите
make -j4
для начала компиляции, это займет некоторое время

-
Если последним выводом будет следующее, компиляция успешно завершена
Linking out/klipper.elf
Creating hex file out/klipper.bin
Поиск устройства
- Убедитесь, что ПК может нормально подключаться к сети Интернет, и убедитесь, что периферийное устройство подключено к ПК с использованием кабеля данных, который имеет функцию передачи данных.
- После подключения по SSH к ПК введите команду
lsusb
и нажмите Enter. Если появляется информация, выделенная на изображении ниже, можно переходить к следующему шагу.- Если никакой информации не выводится, это проблема системы ПК, и мы не можем помочь вам. Вам нужно заменить систему, которая работает корректно, или заменить ПК.
- Если появляется сообщение о том, что команда
lsusb
не найдена, выполните эту команду для установки:sudo apt-get install usbutils
1d50:6177
принадлежит устройству, которое вам нужно использовать. Хотя префиксOpenMoko, Inc. stm32f407xx
имеет некоторую ценность как справочная информация, он не является критерием определения.- Некоторые ПК могут отображать устройство неполностью или вообще не показывать его из-за системных проблем.
- Если после ввода команды
lsusb
устройство видно, но не отображается1d50:6177
, попробуйте заменить кабель данных и подключить материнскую плату к другим USB портам на ПК.
- Если вы ранее выполнили вышеописанные шаги и успешно прошили固件 Klipper, а материнская плата работает нормально, но вам нужно обновить только firmware Klipper, обратитесь к разделу
Обновление firmware
в правом меню этой страницы.
Действия можно продолжать только после того, как будет найдено устройство с ID 1d50:6177
.
Запись прошивки
- При установке программы для прошивки необходимо подключение к интернету. Убедитесь, что ваш компьютер уже правильно подсоединен к сети интернет.
- Если программа уже установлена, повторная установка не требуется.
Начало прошивки
- Не настройте компьютер Fly. Не забудьте выполнить следующий код для установки пакетов зависимостей для прошивки! В противном случае прошивка не будет возможна!
cd && git clone https://github.com/Arksine/katapult.git

-
Используйте нижеследующую команду для поиска ID вашего устройства, результат должен соответствовать показанному ниже ID (примечание: показанный в изображении ID является примером, каждый материнская плата имеет уникальный ID):
ls /dev/serial/by-id/*
-
Для прошивки используйте следующую команду, убедитесь, что firmware уже скомпилированы, замените
<ваш ID платы>
на ID, найденный на предыдущем шаге~/klippy-env/bin/python ~/katapult/scripts/flashtool.py -d /dev/serial/by-id/<ваш ID платы>
-
Ссылка для справки:
-
Пример успешной прошивки:
Обновление прошивки
- Обновление USB-прошивки
- Обновление CAN-моста прошивки
-
Используйте следующую команду для поиска ID вашей материнской платы, результат должен соответствовать показанному ниже ID (примечание: показанный в изображении ID является примером, каждый материнская плата имеет уникальный ID):
ls /dev/serial/by-id/*
На изображении ниже dev/serial/by-id/usb-katapult_rp2040_E662549553642032-if00
является ID материнской платы

-
Для обновления USB-прошивки необходимо после компиляции последней версии firmware ввести следующую команду для обновления, замените
<ваш ID платы>
на ID, найденный на предыдущем шагеcd ~/klipper/ && make flash FLASH_DEVICE=<ваш ID платы>
- Для обновления CAN-моста USB-прошивки нужно после компиляции последней версии firmware ввести следующую команду для перезагрузки в Katapult. (На изображении ниже показан пример, ID на изображении является примером, пожалуйста, используйте ID из вашего конфигурационного файла)
<ваш CANBUS UUID>
— это UUID платы CANBUS из вашего файла конфигурацииprinter.cfg
~/klippy-env/bin/python3 ~/katapult/scripts/flashtool.py -i can0 -r -u <ваш CANBUS UUID>
- На изображении ниже
f95cee90e1f9
является UUID материнской платы CANBUS

-
После перезагрузки в Katapult используйте следующую команду для поиска ID вашей материнской платы, результат должен соответствовать показанному ниже ID (примечание: показанный в изображении ID является примером, каждый материнская плата имеет уникальный ID)
ls /dev/serial/by-id/*
На изображении ниже /dev/serial/by-id/usb-Klipper_stm32f072xb_43002C000951324757373520-if00
является ID материнской платы

-
Убедитесь, что новая прошивка скомпилирована, затем выполните команду для прошивки. Замените
<ваш ID платы>
на ID, найденный на предыдущем шагеcd ~/klipper/ && make flash FLASH_DEVICE=<ваш ID платы>
Решение проблем с неправильной прошивкой
- Отключите питание платы, снова включите его и быстро дважды нажмите кнопку сброса на плате.
- Или используйте очистку Windows и повторную прошивку BL.