Компиляция прошивки через 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 选择 STMicroelectronics STM32(Top)Klipper Firmware Configuration3Processor model 选择 STM32H723(Top)Klipper Firmware Configuration4Bootloader offset 选择 128KiB bootloader(Top)Klipper Firmware Configuration5Clock Reference 选择 25 MHz crystal(Top)Klipper Firmware Configuration6Communication interface 选择 USB (on PA11/PA12)(Top)Klipper Firmware Configuration7USB ids 保持默认,无需进入(Top)Klipper Firmware Configuration8GPIO pins to set at micro-controller startup 保持为空(Top)Klipper Firmware Configuration9GPIO state at micro-controller startup 选择 Not set此项是 FLYOS-Klipper 功能。通常保持
Not set;如需设置全部 GPIO 的启动状态,请先阅读 GPIO 启动状态使用说明。(Top)Klipper Firmware Configuration10按 Q 键退出配置界面(Top)Klipper Firmware Configuration11出现 Save configuration 时按 Y 保存配置QuitSave configuration?(Y)es(N)o(C)ancel -
После завершения двух последних шагов выше нажмите
Qдля выхода из интерфейса конфигурации, затем нажмитеYдля сохранения настроек. -
Вернувшись в командную строку, введите следующую команду и нажмите
Enter, чтобы начать компиляцию:make -j4root@flyos-11e5f8 ~/klipper # make -j4Compiling out/src/stm32/stm32h7_adc.oCompiling out/src/stm32/stm32h7_spi.oCompiling out/src/stm32/stm32f0_i2c.oCompiling out/src/stm32/usbotg.oCompiling out/src/stm32/chipid.oCompiling out/src/generic/usb_cdc.oCompiling out/src/stm32/hard_pwm.oPreprocessing out/src/generic/armcm_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 выполните следующий шаг
Прошивка
Начало прошивки
- Для неофициальных верхних компьютеров Fly требуется установка Katapult
- Установить Katapult
Получение ID платы
Выполните следующую команду для поиска идентификатора устройства. В нормальном состоянии должен отобразиться ID, как показано на рисунке ниже (Внимание: ID каждой платы уникален):
ls /dev/serial/by-id/*
Если в найденном ID содержится
usb-katapult_stm32xxxxxxxx, это означает, что можно переходить к следующему шагу
Прошивка
- Убедитесь, что файл прошивки уже скомпилирован
- Замените
<ID вашей платы>в команде ниже на фактический ID, полученный на предыдущем шаге
- Для обычных верхних компьютеров используйте следующий код
~/klippy-env/bin/python ~/katapult/scripts/flashtool.py -d <ID вашей платы>
- Для верхних компьютеров FLY используйте следующий код
python3 ~/katapult/scripts/flashtool.py -d <ID вашей платы>
Справочный процесс прошивки:
Справочный результат успешной прошивки:
Обновление прошивки
- Обновление прошивки по USB
- Обновление прошивки через мостовой CAN
Шаги обновления прошивки по USB
- Запрос ID платы
ls /dev/serial/by-id/*
/dev/serial/by-id/usb-katapult_rp2040_E662549553642032-if00 на рисунке ниже является ID платы
- Обновление прошивки
cd ~/klipper/ && make flash FLASH_DEVICE=<ID вашей платы>
- Замените
<ID вашей платы>на фактически полученный ID
Шаги обновления прошивки через мостовой CAN
- Сброс в режим прошивки
<ID вашей платы> — это UUID CANBUS платы в конфигурационном файле printer.cfg
- Для обычных верхних компьютеров используйте следующий код
~/klippy-env/bin/python3 ~/katapult/scripts/flashtool.py -i can0 -r -u <ID вашей платы>
- Для верхних компьютеров FLY используйте следующий код
python3 ~/katapult/scripts/flashtool.py -i can0 -r -u <ID вашей платы>
f95cee90e1f9 на рисунке ниже — это UUID CANBUS платы (только пример)
- Запрос нового идентификатора устройства
ls /dev/serial/by-id/*
- Это только для справки!
/dev/serial/by-id/usb-Klipper_stm32f072xb_38001B000551324752333720-if00на рисунке ниже — это вновь распознанный ID платы
- Прошивка новой прошивки
cd ~/klipper/ && make flash FLASH_DEVICE=<ID вашей платы>
Решение проблем с неправильной прошивкой
Метод 1: Быстрый вход в режим прошивки
- Отключите питание платы
- После повторного включения питания быстро дважды нажмите кнопку RESET
- Повторный вход в режим прошивки
Метод 2: Перепрошивка Katapult
Нажмите для просмотра руководства по прошивке KatapultПоиск USB ID после прошивки
После завершения прошивки и повторного включения платы продолжите поиск USB ID.