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