Компиляция прошивки CAN
Начало компиляции
Краткое руководство по компиляции прошивки
Примечания
- Сеть: Убедитесь, что хост-компьютер (Raspberry Pi и т.п.) подключен к сети.
- Способ входа: Необходимо входить через SSH по сети, последовательный порт отключен.
- Раскладка клавиатуры: Держите клавиатуру в английском полуширинном режиме
Вход по SSH и переключение пользователей
Используйте MobaXterm, PuTTY и другие инструменты для входа по SSH на хост-компьютер.
Переключение пользователя:
- Обычная система (официальная система Raspberry Pi и т.п.)
Запрещено использоватьroot, необходимо переключиться на обычного пользователя:su <имя_пользователя> - FLY хост-компьютер (система FlyOS-FAST)
Поддерживается только вход от пользователяroot(пароль:mellow)
Руководство по компиляции прошивки
В интерфейсе конфигурации прошивки Klipper поддерживается только управление с клавиатуры, мышь использовать нельзя.
| Клавиша | Функция |
|---|---|
| ↑ / ↓ | Перемещение курсора вверх/вниз, выбор пункта меню |
| Enter / Пробел | Подтверждение выбора, отметка опции или вход в подменю |
| ESC | Возврат в предыдущее меню |
| Q | Выход из интерфейса конфигурации |
| Y | При выходе, если есть подсказка, нажмите 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используется для открытия интерфейса конфигурации прошивки Klipper. -
Настройте параметры по порядку, следуя приведенному ниже списку, переходя к следующему пункту только после завершения предыдущего.
1启用 Enable extra low-level configuration options(Top)Klipper Firmware Configuration2Micro-controller Architecture 选择 STMicroelectronics STM32(Top)Klipper Firmware Configuration3Processor model 选择 STM32H723(Top)Klipper Firmware Configuration4Bootloader offset 选择 128KiB bootloader(Top)Klipper Firmware Configuration5Clock Reference 选择 25 MHz crystal(Top)Klipper Firmware Configuration6Communication interface 选择 USB to CAN bus bridge (USB on PA11/PA12)(Top)Klipper Firmware Configuration7CAN bus interface 选择 CAN bus (on PB8/PB9)(Top)Klipper Firmware Configuration8USB ids 保持默认,无需进入(Top)Klipper Firmware Configuration9CAN bus speed 设置为 1000000(Top)Klipper Firmware Configuration10GPIO pins to set at micro-controller startup 保持为空(Top)Klipper Firmware Configuration11GPIO state at micro-controller startup 选择 Not set此项是 FLYOS-Klipper 功能。通常保持
Not set;如需设置全部 GPIO 的启动状态,请先阅读 GPIO 启动状态使用说明。(Top)Klipper Firmware Configuration12按 Q 键退出配置界面(Top)Klipper Firmware Configuration13出现 Save configuration 时按 Y 保存配置QuitSave configuration?(Y)es(N)o(C)ancel -
После завершения двух последних шагов выше нажмите
Qдля выхода из интерфейса конфигурации, затем нажмитеYдля сохранения настроек. -
Вернувшись в командную строку, введите следующую команду и нажмите
Enter, чтобы начать компиляцию:make -j4root@flyos-11e5f8 ~/klipper # make -j4Compiling out/src/stm32/usbotg.oCompiling out/src/generic/canserial.oCompiling out/src/../lib/fast-hash/fasthash.oCompiling out/src/stm32/fdcan.oCompiling out/src/stm32/chipid.oCompiling out/src/generic/usb_canbus.oCompiling out/src/stm32/hard_pwm.oPreprocessing out/src/generic/armcm_link.ldBuilding out/compile_time_request.oVersion: XXXXLinking out/klipper.elfCreating bin file out/klipper.bin终端末尾出现
Linking out/klipper.elf和Creating bin file out/klipper.bin,即表示编译成功。 实际编译时,部分 Compiling 行和 Version 会随 Klipper 与系统版本变化。
Подтверждение входа в режим записи
- Подключите плату к хост-компьютеру с помощью кабеля Type-C, дважды нажмите кнопку reset, после чего на плате начнет мигать светодиод.
- Если светодиод не мигает, перепрошейте прошивку Katapult: Запись прошивки Katapult
- Если светодиод не мигает, после записи прошивки Katapult перейдите к следующему шагу.
Запись прошивки
Начало прошивки
- Для неофициальных верхних компьютеров Fly требуется установка Katapult
- Установить Katapult
Получение ID платы
Выполните следующую команду для поиска идентификатора устройства. В нормальном состоянии должен отобразиться ID, как показано на рисунке ниже (Внимание: ID каждой платы уникален):
ls /dev/serial/by-id/*
Если в найденном ID содержится
usb-katapult_stm32xxxxxxxx, это означает, что можно переходить к следующему шагу
Прошивка
- Убедитесь, что файл прошивки уже скомпилирован
- Замените
<ID вашей платы>в команде ниже на фактический ID, полученный на предыдущем шаге
- Для обычных верхних компьютеров используйте следующий код
~/klippy-env/bin/python ~/katapult/scripts/flashtool.py -d <ID вашей платы>
- Для верхних компьютеров FLY используйте следующий код
python3 ~/katapult/scripts/flashtool.py -d <ID вашей платы>
Справочный процесс прошивки:
Справочный результат успешной прошивки:
Обновление прошивки
- Обновление прошивки по USB
- Обновление прошивки через мостовой CAN
Шаги обновления прошивки по USB
- Запрос ID платы
ls /dev/serial/by-id/*
/dev/serial/by-id/usb-katapult_rp2040_E662549553642032-if00 на рисунке ниже является ID платы
- Обновление прошивки
cd ~/klipper/ && make flash FLASH_DEVICE=<ID вашей платы>
- Замените
<ID вашей платы>на фактически полученный ID
Шаги обновления прошивки через мостовой CAN
- Сброс в режим прошивки
<ID вашей платы> — это UUID CANBUS платы в конфигурационном файле printer.cfg
- Для обычных верхних компьютеров используйте следующий код
~/klippy-env/bin/python3 ~/katapult/scripts/flashtool.py -i can0 -r -u <ID вашей платы>
- Для верхних компьютеров FLY используйте следующий код
python3 ~/katapult/scripts/flashtool.py -i can0 -r -u <ID вашей платы>
f95cee90e1f9 на рисунке ниже — это UUID CANBUS платы (только пример)
- Запрос нового идентификатора устройства
ls /dev/serial/by-id/*
- Это только для справки!
/dev/serial/by-id/usb-Klipper_stm32f072xb_38001B000551324752333720-if00на рисунке ниже — это вновь распознанный ID платы
- Прошивка новой прошивки
cd ~/klipper/ && make flash FLASH_DEVICE=<ID вашей платы>
Решение проблем с неправильной прошивкой
Метод 1: Быстрый вход в режим прошивки
- Отключите питание платы
- После повторного включения питания быстро дважды нажмите кнопку RESET
- Повторный вход в режим прошивки
Метод 2: Перепрошивка Katapult
Нажмите для просмотра руководства по прошивке KatapultПоиск CAN ID после записи
После завершения записи прошивки и повторного включения питания платы продолжите поиск CAN ID.