Прошивка мостового CAN-контроллера через USB
Начало компиляции
- Необходимо использовать хост, на котором установлена служба
klipperПодключение по SSH через сеть - И также подключить устройство к хосту
- Обратите внимание: пожалуйста, используйте обычный хост, например, Raspberry Pi, FLY Pi и т.д. Если используется модифицированный хост, из-за множества проблем мы не сможем оказать значительную помощь
- Пожалуйста, не используйте пользователя
ROOT
- 请确保上位机可以正常联网
- 固件编译前需要使用SSH通过网络登录上位机
- 请不要使用串口工具登录上位机
Klipper固件编译和配置页面操作说明
请确保键盘输入法为半角模式,即英文模式
- 键盘上键
↑,下键↓,用于上下移动光标来选中菜单项 - 确认键
Enter或 空格键Space,用于勾选菜单或进入子菜单 - 退出键
ESC,用于返回上一级菜单 Q键,用于退出Klipper固件配置页面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, возможны следующие три ситуации- Показаны уже распознанные USB-устройства
- Сообщение о том, что нет команды
ls, можно выполнить эту команду для установкиsudo apt-get install usbutils - Нет ошибок, нет других сообщений (проблемы с системой, требуется замена системы)
-
Если после ввода
lsusbничего не происходит, это проблема системы, мы не можем помочь, вам нужно заменить проверенную систему -
Если появляется информация, выделенная на рисунке ниже, можно переходить к следующему шагу

-
1d50:606fпринадлежит устройству, которое вам нужно использовать. На последующие подсказки можно не обращать внимание, так как проблемы с системой могут привести к тому, что оно будет отображаться не полностью или вообще не отображаться -
Если есть два
1d50:606f, вам нужно определить, почему их два, и после исключения одного из них перезагрузить систему -
Два
1d50:606fповлияют на последующую прошивку и соединение с прошивкой, например,FLY MINI PADрекомендуется использовать только встроенный UTOC и не использовать другие CAN-устройства -
Если нет
1d50:606f, проверьте, правильно ли подключен кабель данных, правильно ли установлена прошивкаВниманиеПереходите к следующему шагу только при наличии
1d50:606f
Прошивка
Использование прошивки Katapult позволяет в будущем легко обновлять прошивку через SSH, без необходимости входить в режим DFU для прошивки.
Установка плагина для прошивки
Обратите внимание, что для установки плагина прошивки требуется, чтобы верхний компьютер был подключен к сети. Если плагин уже установлен, повторная установка не требуется.
-
Установите
pip install pyserialpip 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