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

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

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

  • Необходимо использовать хост-компьютер с установленной услугой klipper Подключиться к SSH через сеть
  • И подключить устройство к хост-компьютеру.
  • Внимание: Пожалуйста, используйте обычный хост-компьютер, такой как Raspberry Pi, FLY Pi и т. д. Если это модифицированный хост-компьютер (например, WiFi-стержень, Redmi и т. д.), то из-за слишком многих проблем с такими хост-компьютерами мы не можем предоставить вам техническую поддержку.
Пункты, заслуживающие внимания
  • Пожалуйста, не используйте пользователя ROOT.
  • Команда для смены пользователя
 su fly
подсказывать
  • 请确保上位机可以正常联网
  • 固件编译前需要使用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 компилирует прошивку, после выполнения должно появиться окно ниже

  • Выберите Включить дополнительные низкоуровневые настройки и нажмите Enter

  • Войдите в меню Архитектура микроконтроллера, затем выберите STMicroelectronics STM32 и нажмите Enter

  • Войдите в меню Модель процессора, выберите STM32H723 и нажмите Enter

  • Выберите Смещение загрузчика, выберите: загрузчик на 128КБ

  • Выберите Ссылка на тактовую частоту (кристалл 8 МГц), выберите: кристалл 25 МГц

  • Выберите Интерфейс связи, выберите: мост USB в CAN-шину (USB на PA11/PA12)

  • Нажмите клавишу 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, материнская плата работает нормально, и вам нужно только обновить прошивку Klipper, то непосредственно посмотрите раздел Обновление прошивки в правом меню на этой странице.
Внимание

Только после того, как вы найдете устройство 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