Компиляция прошивки 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
запускает компиляцию прошивки. После выполнения этой команды должно появиться следующее окно: -
Выберите Enable extra low-level configuration options и нажмите Enter
-
Перейдите в меню Micro-controller Architecture и выберите STMicroelectronics STM32, затем нажмите Enter
-
Перейдите в меню Processor model, выберите STM32F072 и нажмите Enter
-
Выберите Bootloader offset, выберите: 8KiB bootloader
-
Communication interface, выберите: USB (on PA11/PA12) и нажмите Enter
-
Подчеркнем, пожалуйста, сверьтесь с нижеследующим изображением перед компиляцией
-
Нажмите клавишу
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
, можно переходить к следующему шагу.
Программирование прошивки
Использование прошивки 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