Загрузка прошивки CAN через USB-мост
Начало компиляции
- Для использования необходим компьютер с установленной службой
klipper
Подключение по сети через SSH - И подключите устройство к компьютеру
- Примечание: используйте обычный компьютер, например, Raspberry Pi, FLY Pi и т.д. Если это модифицированный компьютер (например, Wi-Fi-палка, Redmi и т.д.), из-за большого количества проблем мы не можем предоставить техническую поддержку
- Важные моменты для системы FlyOS-Armbian и обычных систем
- Важные моменты для системы FlyOS-FAST
- Важные моменты для системы
FlyOS-Armbian
и обычных систем- Обычные компьютеры, такие как Raspberry Pi, FLY Pi и т.д., относятся к этому типу
- Не используйте пользователя
ROOT
для любых действий на этом компьютере - Используйте обычного пользователя
- Способ переключения пользователя: для системы
FlyOS-Armbian
используйте командуsu fly
, чтобы переключиться на обычного пользователя - Для других систем используйте команду
su <имя пользователя вашего компьютера>
, чтобы переключиться на обычного пользователя
su <имя пользователя вашего компьютера>
- Важные моменты для системы
FlyOS-FAST
- Имя пользователя по умолчанию для системы
FAST
—root
, пароль —mellow
- Компиляция прошивки должна выполняться только пользователем
root
- Система
FAST
имеет только пользователяROOT
, вам не нужно переключаться на другого пользователя!!!
- Имя пользователя по умолчанию для системы
- Убедитесь, что хост-компьютер может нормально подключаться к сети
- Перед компиляцией прошивки необходимо использовать SSH через сеть для входа на хост-компьютер
- Не используйте инструменты последовательного порта для входа на хост-компьютер
Инструкция по компиляции прошивки Klipper и работе с конфигурационной страницей
Убедитесь, что режим ввода клавиатуры установлен в полуширинный (английский режим)
- Клавиша
↑
, клавиша↓
на клавиатуре используются для перемещения курсора вверх или вниз для выбора пунктов меню - Клавиша подтверждения
Enter
или пробелSpace
используется для выбора пунктов меню или перехода к подменю - Клавиша выхода
ESC
используется для возврата на предыдущий уровень меню - Клавиша
Q
используется для выхода из конфигурационной страницы прошивки Klipper - При выходе из конфигурационной страницы прошивки Klipper, если появляется запрос, нажмите клавишу
Y
, чтобы сохранить файл конфигурации
Если в конфигурационном окне доступны не все параметры, сначала выберите пункт [ ] Включить дополнительные настройки низкого уровня
, чтобы отобразить некоторые скрытые параметры
Ниже приведено описание процесса компиляции прошивки:
-
После подключения по 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, выберите STM32F407 и нажмите Enter
-
Выберите Bootloader offset, затем выберите: 32KiB bootloader
-
Выберите Communication interface, затем выберите: USB to CAN bus bridge (USB on PA11/PA12)
- Нажмите клавишу
Q
, появится Save configuration, нажмите теперь клавишуY
- Теперь конфигурация сохранена, и вы вернулись в командную строку
- Введите следующую команду для начала компиляции, процесс займет некоторое время
make -j4

-
Если в конце появится следующее сообщение, значит компиляция успешна
Linking out/klipper.elf
Creating hex file out/klipper.bin
Проверьте, находится ли устройство в режиме загрузки
- После подключения платы к компьютеру с помощью кабеля TypeC, нажмите дважды на кнопку reset, в этот момент на плате будут мигать светодиоды.
- Если светодиоды не мигают, повторно загрузите прошивку katapult:Загрузить прошивку katapult
- Если светодиоды не мигают, выполните следующий шаг после загрузки прошивки katapult
- Убедитесь, что хостовое устройство подключено к сети и что кабель данных, соединяющий хостовое устройство с целевым устройством, имеет функцию передачи данных.
- После SSH-подключения к хостовому устройству введите команду
lsusb
и нажмите Enter. Если появляется информация, выделенная на нижеприведенном изображении, можно переходить к следующему шагу.- Если нет никакого ответа, это проблема системы хостового устройства, и мы бессильны. Вам нужно заменить систему, которая работает нормально, или заменить хостовое устройство.
- Если появляется сообщение об отсутствии команды
lsusb
, выполните следующую команду для установки:sudo apt-get install usbutils
1d50:6177
является устройством, которое вам нужно использовать.- Некоторые хостовые устройства могут не показывать или частично показывать устройство из-за проблем с системой.
- Если команда
lsusb
показывает устройство, но без1d50:6177
, попробуйте заменить кабель данных и подключить материнскую плату к другому USB-порту хостового устройства.
- Если вы ранее выполнили вышеуказанные шаги и успешно прошили фирменное ПО Klipper, а материнская плата работает нормально, и вам нужно только обновить фирменное ПО Klipper, просто ознакомьтесь с разделом «Обновление прошивки» в правом меню этой страницы.
Перед выполнением следующего шага обязательно необходимо найти устройство 1d50:6177
.
Загрузка прошивки
- Поиск ID и прошивка не рекомендуются во время печати
- Одинаковые основные платы или инструментальные платы Katapult имеют одинаковые ID прошивок CAN как для Katapult, так и для Klipper
- Убедитесь, что сеть CAN на верхнем уровне настроена
- После выполнения lsusb, если есть
1d50:606f
, можно использовать следующую команду для поиска CAN ID - Скорость CAN инструментальной платы должна совпадать со скоростью верхнего уровня, иначе ID не будет найден и прошивка не будет выполнена
-
Выполните следующую команду, чтобы запросить UUID CANBus:
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
Для системы
fast
используйте эту команду для поискаCAN_ID
python ~/klipper/scripts/canbus_query.py can0
-
После ввода будут представлены несколько вариантов в зависимости от вашей машины, ниже приведены примеры
- Первый: основная плата с установленной мостовой прошивкой, отображается один ID и указание
Application: Klipper
- Второй: основная плата с установленной мостовой прошивкой и инструментальной платой, требующей прошивки, отображаются два ID
- Третий: использование
UTOC
с инструментальной платой, требующей прошивки - Примечание:
UTOC
не отображает ID - Четвертый: нет уведомления об ID, обычно это связано с тем, что Klipper использует его, скорость CAN на верхнем уровне неверна или проблема с подключением
- Первый: основная плата с установленной мостовой прошивкой, отображается один ID и указание
-
В нормальных условиях, если инструментальная плата, которую нужно прошить, находится в режиме CANBOOT, будет указано
Application: CanBoot
, и соответствующий светодиод будет мигать. В этот момент вы должны прошить прошивку Klipper, иначе соединение невозможно!!! -
Примечание: если это прошивка Klipper и ID уже введен в конфигурацию, ID не будет отображаться и будет занят Klipper. Вам нужно отключить соответствующий ID и полностью отключить питание платы, затем перезапустить ее.
заметка- Если UUID не найден, обратитесь к документации ниже
- Сборник вопросов о CAN
-
Прошивка
-
Замените
241696050c56
в следующей команде на найденный UUID, обратите внимание, что после-u
есть пробелpython3 ~/klipper/lib/canboot/flash_can.py -u 241696050c56
-
Как показано на рисунке, если появляется
CAN Flash Success
, прошивка успешна
Обновление прошивки
- Если необходимо обновить прошивку, просто скомпилируйте прошивку и повторно выполните команду прошивки
- Однако убедитесь, что вы можете найти соответствующий ID или Klipper уже подключен
python3 ~/klipper/lib/canboot/flash_can.py -u <MCU ID>