Компиляция прошивки 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запускает компиляцию прошивки. После выполнения должна появиться следующая интерфейс: -
Команда
rm -rf ~/klipper/.config && rm -rf ~/klipper/outудаляет предыдущие данные компиляции и прошивку, аmake menuconfigзапускает компиляцию прошивки. После выполнения должна появиться следующая интерфейс:Loading... -
Выберите
Enable extra low-level configuration optionsи нажмите клавишуEnter.Loading... -
Перейдите в меню
Micro-controller Architectureи выберитеSTMicroelectronics STM32, затем нажмитеEnter.Loading... -
Перейдите в меню
Processor model, выберитеSTM32H723и нажмитеEnter.Loading... -
Выберите
Bootloader offsetи укажите:128KiB bootloader.Loading... -
Выберите
Clock Reference (8 MHz crystal)и укажите:25 MHz crystal.Loading... -
Выберите
Communication interfaceи укажите:USB to CAN bus bridge (USB on PA11/PA12).Loading...
- Нажмите клавишу
Q. Появится сообщение Save configuration. Затем нажмите клавишуY.Loading... - Теперь конфигурация должна быть сохранена, и вы вернетесь в интерфейс командной строки.
- Введите следующую команду для начала компиляции. Процесс может занять некоторое время.
make -j4
- Если в конце выводится следующий текст, компиляция прошла успешно.
- В зависимости от версии Klipper, успешной компиляцией считается появление
out/klipper.bin.Linking out/klipper.elf
Creating bin file out/klipper.bin
Проверка входа в режим прошивки
- Подключите основную плату к компьютеру с помощью кабеля Type-C, затем дважды нажмите кнопку reset. При этом на основной плате будет мигать светодиод.
- Если светодиод не мигает, перепрошейте прошивку katapult: Прошить прошивку katapult
- Если светодиод не мигает, после прошивки katapult выполните следующий шаг.
Прошивка
Начало прошивки
- Для неофициального ПО Fly требуется установка Katapult
- Установить Katapult
Получение ID платы
Выполните следующую команду для поиска 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 платы> — это CANBUS UUID платы из файла конфигурации 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 — это CANBUS UUID платы (только для примера).
- Поиск нового ID устройства
ls /dev/serial/by-id/*
- Это только пример!
- В примере ниже
/dev/serial/by-id/usb-Klipper_stm32f072xb_38001B000551324752333720-if00— это новый обнаруженный ID платы.
- Прошивка новой микропрограммы
cd ~/klipper/ && make flash FLASH_DEVICE=<Ваш ID платы>
Решение проблемы с неправильной прошивкой
Способ 1: Быстрый вход в режим прошивки
- Отключите питание платы.
- После повторного включения быстро нажмите кнопку RESET дважды.
- Снова войдите в режим прошивки.