Перейти к основному содержимому

Компиляция прошивки через USB

Начало компиляции

  • Требуется ПК с установленным и запущенным сервисом klipper Подключение через SSH по сети

  • Убедитесь, что устройство правильно подключено к ПК

  • Важно: используйте обычный ПК, например, Raspberry Pi или FLY-пай. Если вы используете модифицированный ПК (например, Wi-Fi адаптер, Redmi и т.д.), то из-за большого количества проблем мы не сможем предоставить вам техническую поддержку

    заметка
  • Для переключения с пользователя ROOT на обычного пользователя введите следующую команду

  • Не используйте пользователя ROOT

  • Для пользователя fly просто введите: su fly. Для других пользователей замените <ваше имя пользователя> на имя пользователя вашего ПК!

su <имя пользователя вашего ПК>

:::

подсказывать
  • 请确保上位机可以正常联网
  • 固件编译前需要使用SSH通过网络登录上位机
  • 请不要使用串口工具登录上位机

Klipper固件编译和配置页面操作说明

подсказывать

请确保键盘输入法为半角模式,即英文模式

  1. 键盘上键,下键,用于上下移动光标来选中菜单项
  2. 确认键Enter 或 空格键Space,用于勾选菜单或进入子菜单
  3. 退出键ESC,用于返回上一级菜单
  4. Q键,用于退出Klipper固件配置页面
  5. 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
  • ID, показанный в красной рамке, может служить ориентиром, но он не является фиксированным и может изменяться. После OpenMoko, Inc. rp2040 последовательность XX указывает на изменяемую часть.
    • Некоторые системы хост-компьютеров могут отображать информацию неполностью или вообще не отображать.

Запись прошивки

подсказывать
  • При установке программы для прошивки необходимо подключение к интернету. Убедитесь, что ваш ПК успешно подключен к сети.
  • Если программа уже установлена, повторная установка не требуется.

Начало прошивки

Предупреждение
  • Если ПК не является fly-ПК, обязательно выполните следующую команду для установки зависимостей прошивки!
      cd && git clone https://github.com/Arksine/katapult.git
  • Для использования внутри Китая используйте эту команду:
  cd && git clone https://gitee.com/MrCakeFuck/katapult.git
  • Используйте нижеследующие команды для поиска ID устройства, должно появиться изображение с указанным ID (примечание: приведенный на рисунке ID является примером, каждый основной плат должен иметь уникальный ID)

    ls /dev/serial/by-id/*
  • Для прошивки используйте следующий код, убедитесь, что фиксированная прошивка уже скомпилирована, замените <ID вашей платы> на ID, найденный на предыдущем шаге

    ~/klippy-env/bin/python ~/katapult/scripts/flashtool.py -d /dev/serial/by-id/<ID вашей платы>

Для системы fast используйте эту команду для прошивки, замените <ID вашей платы> на ID, найденный на предыдущем шаге

python ~/katapult/scripts/flashtool.py -d /dev/serial/by-id/<ID вашей платы>

  • Ниже приведен пример:

  • Пример завершения прошивки:

Обновление прошивки

  • Используйте следующие команды для поиска ID вашей платы, должно появиться изображение с указанным ID (примечание: приведенный на рисунке ID является примером, каждый основной плат должен иметь уникальный ID)

    ls /dev/serial/by-id/*
Внимание

На рисунке ниже /dev/serial/by-id/usb-katapult_rp2040_E662549553642032-if00 является ID платы

  • Для обновления USB-прошивки необходимо после компиляции последней версии прошивки ввести следующую команду, замените <ID вашей платы> на ID, найденный на предыдущем шаге

    cd ~/klipper/ && make flash FLASH_DEVICE=<ID вашей платы>

Решение при ошибке прошивки

  • Отключите питание платы, включите его снова и быстро дважды нажмите кнопку reset, чтобы снова войти в режим прошивки.
  • Или воспользуйтесь ПК Windows/управляющей программой для повторной прошивки платы katapult. Прошивка платы katapult