Компиляция прошивки CAN
Начало компиляции
- Необходимо использовать хост-компьютер с установленной услугой
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
компилирует прошивку. После выполнения должно появиться окно ниже -
Выберите Enable extra low-level configuration options и нажмите Enter
-
Перейдите в меню Micro-controller Architecture, затем выберите Raspberry Pi RP2040 и нажмите Enter
-
Выберите Bootloader offset, выберите: 16KiB bootloader
-
Выберите Communication interface, выберите: CAN bus
-
Выберите GPIO pins to set at micro-controller startup, введите: !gpio20 Обратите внимание, что ! - заглавная буква
-
Нажмите клавишу
Q
, появится Save configuration, затем нажмите клавишу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
.
Загрузка прошивки
- Перед загрузкой прошивки подключите плату инструментов к UTOC или материнской плате с прошивкой моста с помощью кабеля XT30, ниже приведена схема подключения
- Обратите внимание на положение переключателей
- Убедитесь, что при отключенном питании сопротивление между CAN H и CAN L измеряется мультиметром и находится в районе
60Ω
, если оно равно120Ω
, подключите перемычку на120Ω
, если около40Ω
, удалите перемычку
- Не рекомендуется искать ID и обновлять прошивку во время печати
- ID для CAN прошивки Katapult и CAN прошивки Klipper для одной и той же материнской платы или инструментальной платы полностью совпадают
- Убедитесь, что сеть CAN на хосте уже настроена
- Команда поиска CAN ID может быть использована только после того, как lsusb покажет
1d50:606f
- Скорость CAN на инструментальной плате должна совпадать с хостом, иначе ID не будет найден и прошивка не будет выполнена
-
Выполните следующую команду для запроса UUID CANBus:
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
-
После ввода команды могут возникнуть следующие ситуации, вот примеры:
- Первый случай: Плата с прошивкой моста, отображается один ID и указано
Application: Klipper
- Второй случай: Плата с прошивкой моста и инструментальная плата, которая требует прошивки, отображаются два ID
- Третий случай: Использование UTOC с инструментальной платой, требующей прошивки
- Уточнение: UTOC не отображает ID
- Четвертый случай: Отсутствие ID, обычно это происходит, когда Klipper использует ID, неправильная скорость 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>
Подтверждение запуска прошивки
- Если прошивка загрузилась правильно, LED загорится
