Компиляция прошивки USB
Начало компиляции
- Необходимо использовать хост, на котором установлена служба
klipper
Подключение по SSH через сеть - И также подключить устройство к хосту
- Обратите внимание: пожалуйста, используйте обычный хост, например, Raspberry Pi, FLY Pi и т.д. Если используется модифицированный хост, из-за множества проблем мы не сможем оказать значительную помощь
- Пожалуйста, не используйте пользователя
ROOT
- 请确保上位机可以正常联网
- 固件编译前需要使用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, выберите: 16KiB bootloader
-
Communication interface, выберите: USBSERIAL
- Нажмите клавишу
Q
, появится Сохранить конфигурацию, затем нажмитеY
- Теперь конфигурация должна быть сохранена и вы должны вернуться в командную строку
- Введите
make -j4
для начала компиляции, это займет некоторое время
-
Если в конце выводятся следующие строки, компиляция завершена успешно
Linking out/klipper.elf
Creating hex file out/klipper.bin
Поиск устройства
-
Пожалуйста, убедитесь, что верхний компьютер подключен к интернету
-
Пожалуйста, убедитесь, что кабель данных, соединяющий нижний компьютер с верхним, поддерживает передачу данных
-
После подключения по SSH к верхнему компьютеру введите
lsusb
и нажмите Enter, возможны три сценария:- Отображение распознанных USB-устройств
- Сообщение об отсутствии команды
ls
, можно выполнить следующую команду для установки:sudo apt-get install usbutils
- Отсутствие ошибок и других сообщений (проблемы с системой, требуется замена)
-
Если после ввода
lsusb
ничего не происходит, это проблема системы, и мы бессильны, вам нужно заменить систему на работающую -
Если появляется информация, выделенная на рисунке ниже, можно перейти к следующему шагу
-
1d50:6177
относится к устройству, которое вы будете использовать. Последующие подсказки можно игнорировать, поскольку из-за проблем с системой они могут отображаться не полностью или вообще не отображаться -
Если нет, проверьте, правильно ли подключен кабель данных или находится ли материнская плата в режиме Katapult (изначально назывался CANBOOT)
-
Если прошивка klipper уже была выполнена с использованием Katapult, можно ознакомиться со способами обновления прошивки ниже
ПримечаниеПереходите к следующему шагу только если есть
1d50:6177
Запись прошивки
Использование прошивки Katapult позволяет в будущем легко обновлять прошивку через SSH, без необходимости входить в режим DFU для прошивки.
Установка плагина для прошивки
Обратите внимание, что для установки плагина прошивки требуется, чтобы верхний компьютер был подключен к сети. Если плагин уже установлен, повторная установка не требуется.
-
Установите
pip install pyserial
pip install pyserial
-
Если появляется сообщение
-bash: pip: command not found
, выполнитеsudo apt-get install pip
-
Если появляется ошибка, как показано ниже, выполните
pip install pyserial --break-system-packages
Начало прошивки
-
Используйте команду ниже для поиска адреса вашего устройства
ls /dev/serial/by-id/*
-
Вот пример
-
Для прошивки используйте код ниже, убедитесь, что прошивка уже скомпилирована, обратите внимание, что после
=
нет пробела -
Обратите внимание, что прошивка возможна только в каталоге klipper
make flash FLASH_DEVICE=
-
Вот пример
-
Пример завершения прошивки
Метод обновления прошивки
-
Для обновления прошивки USB, после компиляции последней версии, введите команду ниже для обновления, обратите внимание, что после
=
нет пробелаmake flash FLASH_DEVICE=
-
Для обновления прошивки USB моста CAN после компиляции последней версии введите команду ниже для сброса в Katapult
-
Обратите внимание, что эта команда применима только к прошивке Klipper для USB моста CAN, другие прошивки вызовут ошибку
~/klippy-env/bin/python3 ~/katapult/scripts/flashtool.py -i can0 -r -u <MCU ID>
-
После сброса в Katapult выполните обновление прошивки
make flash FLASH_DEVICE=<адрес вашего устройства>
Решение проблемы при прошивке неверной прошивки
- Отключите питание платы, затем быстро дважды нажмите кнопку сброса после включения питания
- Или используйте WINDOWS для очистки прошивки и повторной установки BL