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

Прошивка CAN-моста через 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, выберите: 16KiB bootloader

  • Выберите Communication interface, выберите: CAN bus

  • Выберите GPIO пины для установки при старте микроконтроллера, введите: gpio8

  • Нажмите 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 имеет определенное значение, где 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