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

Запись прошивки 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 - это команда компиляции прошивки, после выполнения которой должен появиться следующий экран:

  • Выберите Enable extra low-level configuration options и нажмите Enter

  • Перейдите в меню Micro-controller Architecture и выберите STMicroelectronics STM32 и нажмите Enter

  • Перейдите в меню Processor model, выберите STM32F072 и нажмите Enter

  • Выберите Bootloader offset, выберите: 8KiB bootloader

  • Выберите Communication interface, выберите: USB to CAN bus bridge (USB on PA11/PA12) и нажмите Enter

  • Выбрав USB to CAN bus bridge (USB on PA11/PA12) и нажав Enter, не изменяйте значение по умолчанию CAN bus interface (CAN bus (on PB8/PB9)) --->

  • Пожалуйста, проверьте следующую схему перед компиляцией

  • Нажмите клавишу Q, появится Сохранить конфигурацию, тогда нажмите 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