Компиляция прошивки CAN
Начало компиляции
- Для использования необходим компьютер с установленной службой
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 и выберите Raspberry Pi RP2040/RP235x, затем нажмите Enter
-
Выберите Bootloader offset, выберите: 16KiB bootloader
-
Выберите Communication interface, выберите: CAN bus
-
Выберите
(4) CAN RX gpio number
, удалите4
и введите1
-
Выберите
(5) CAN TX gpio number
, удалите5
и введите0
- Выберите GPIO pins to set at micro-controller startup, введите: !gpio5,!gpio19,!gpio24
Введите !gpio5,!gpio19,!gpio24
в режиме английского языка

- Нажмите клавишу
Q
, появится Save configuration, нажмите тогдаY
- Теперь конфигурация сохранена и вы вернулись в командную строку
- Введите следующую команду для начала компиляции, это займет некоторое время
make -j4

-
Если в конце появится следующее сообщение, значит компиляция успешна
Linking out/klipper.elf
Creating bin file out/klipper.bin
Поиск устройства
- Подключите плату инструментов к UTOC или материнской плате с установленной прошивкой моста с помощью кабеля XT30, теперь на материнской плате будут мигать светодиоды.
- Если светодиоды не мигают, перезагрузите прошивку katapult:Загрузить прошивку katapult
- Если светодиоды не мигают, выполните следующий шаг после загрузки прошивки katapult
Поиск устройства
- Убедитесь, что хост-компьютер имеет нормальное подключение к сети Интернет, и убедитесь, что кабель данных, соединяющий хост-компьютер с целевым устройством, имеет функцию передачи данных.
- После SSH-подключения к хост-компьютеру введите команду
lsusb
и нажмите Enter. Если появляется информация, выделенная на изображении ниже, можно переходить к следующему шагу.- Если нет никакого ответа, это проблема системы хост-компьютера, мы бессильны, вам нужно заменить систему, которая работает корректно, или заменить хост-компьютер.
- Если появляется сообщение об отсутствии команды
lsusb
, выполните эту команду для установки:sudo apt-get install usbutils
1d50:606f
является устройством, которое вы будете использовать.- Некоторые хост-компьютеры могут не показывать или показывать неполностью информацию из-за проблем с системой.
- Если при вводе команды
lsusb
устройство видно, но нет1d50:606f
, попробуйте заменить кабель данных, а также попробуйте подключить материнскую плату к другим USB-портам хост-компьютера.
Необходимо увидеть 1d50:606f
, чтобы продолжить.
Загрузка прошивки
- Перед загрузкой прошивки подключите плату инструментов к UTOC или материнской плате с установленной прошивкой моста с помощью кабеля XT30, ниже приведена схема подключения
- Обратите внимание, чтобы переключатель был установлен в нужное положение
- Убедитесь, что сопротивление между CAN H и CAN L составляет около
60Ω
, если оно составляет120Ω
, включите переключатель120Ω
, если около40Ω
, выключите переключатель
::::предупреждение
- Убедитесь, что сеть CAN на хост-компьютере уже настроена
- При наличии
1d50:606f
после выполнения команды lsusb можно использовать команду ниже для поиска ID CAN - Скорость CAN на инструментальной плате должна совпадать с хост-компьютером, иначе ID не будет найден и запись невозможна
::::
-
Для запроса UUID канала CAN выполните следующую команду:
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
Для системы
fast
используйте эту команду для записи, замените<ваш ID материнской платы>
на значение, полученное на предыдущем шагеpython ~/klipper/scripts/canbus_query.py can0
-
После ввода вы увидите одно из следующих состояний (примеры ниже):
- Первый случай: материнская плата с прошивкой моста показывает один ID и выводит
Application: Klipper
- Второй случай: материнская плата с прошивкой моста вместе с инструментальной платой, которая требует прошивки, показывает два ID
- Третий случай: использование UTOC вместе с инструментальной платой, которая требует прошивки
- Примечание: UTOC не показывает ID
- Четвертый случай: отсутствие ID, обычно это вызвано占用 программой Klipper, неправильной скоростью CAN0 на хост-компьютере или неисправностью соединения
- Первый случай: материнская плата с прошивкой моста показывает один 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>
::::
Проверка запуска прошивки
- Если прошивка запустилась, светодиод загорится