Прошивка USB-MOST-моста CAN
Подключение к хосту
Основные ограничения подключения
Плата Fly-D5 может взаимодействовать с хостом по протоколу Klipper только через интерфейс Type-C USB .
Краткое руководство по компиляции прошивки
Примечания
Сеть : Убедитесь, что хост-компьютер (Raspberry Pi и т.п.) подключен к сети.
Способ входа : Необходимо входить через SSH по сети, последовательный порт отключен.
Раскладка клавиатуры : Держите клавиатуру в английском полуширинном режиме
Вход по SSH и переключение пользователей
Используйте MobaXterm, PuTTY и другие инструменты для входа по SSH на хост-компьютер.
Переключение пользователя:
Обычная система (официальная система Raspberry Pi и т.п.)
Запрещено использовать root, необходимо переключиться на обычного пользователя:
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 Configuration
[*] Enable extra low-level configuration options
Micro-controller Architecture (STMicroelectronics STM32) --->
Processor model (STM32F072) --->
Bootloader offset (8KiB bootloader) --->
Clock Reference (8 MHz crystal) --->
Communication interface (USB to CAN bus bridge (USB on PA11/PA12)) --->
CAN bus interface (CAN bus (on PB8/PB9)) --->
USB ids --->
(1000000) CAN bus speed
[*] Optimize stepper code for 'step on both edges'
() GPIO pins to set at micro-controller startup
GPIO state at micro-controller startup (Not set) --->
[Space/Enter] Toggle/enter [?] Help [/] Search
[Q] Quit (prompts for save) [Esc] Leave menu
2 Micro-controller Architecture 选择 STMicroelectronics STM32
(Top)
Klipper Firmware Configuration
[*] Enable extra low-level configuration options
Micro-controller Architecture (STMicroelectronics STM32) --->
Processor model (STM32F072) --->
Bootloader offset (8KiB bootloader) --->
Clock Reference (8 MHz crystal) --->
Communication interface (USB to CAN bus bridge (USB on PA11/PA12)) --->
CAN bus interface (CAN bus (on PB8/PB9)) --->
USB ids --->
(1000000) CAN bus speed
[*] Optimize stepper code for 'step on both edges'
() GPIO pins to set at micro-controller startup
GPIO state at micro-controller startup (Not set) --->
[Space/Enter] Toggle/enter [?] Help [/] Search
[Q] Quit (prompts for save) [Esc] Leave menu
3 Processor model 选择 STM32F072
(Top)
Klipper Firmware Configuration
[*] Enable extra low-level configuration options
Micro-controller Architecture (STMicroelectronics STM32) --->
Processor model (STM32F072) --->
Bootloader offset (8KiB bootloader) --->
Clock Reference (8 MHz crystal) --->
Communication interface (USB to CAN bus bridge (USB on PA11/PA12)) --->
CAN bus interface (CAN bus (on PB8/PB9)) --->
USB ids --->
(1000000) CAN bus speed
[*] Optimize stepper code for 'step on both edges'
() GPIO pins to set at micro-controller startup
GPIO state at micro-controller startup (Not set) --->
[Space/Enter] Toggle/enter [?] Help [/] Search
[Q] Quit (prompts for save) [Esc] Leave menu
4 Bootloader offset 选择 8KiB bootloader
(Top)
Klipper Firmware Configuration
[*] Enable extra low-level configuration options
Micro-controller Architecture (STMicroelectronics STM32) --->
Processor model (STM32F072) --->
Bootloader offset (8KiB bootloader) --->
Clock Reference (8 MHz crystal) --->
Communication interface (USB to CAN bus bridge (USB on PA11/PA12)) --->
CAN bus interface (CAN bus (on PB8/PB9)) --->
USB ids --->
(1000000) CAN bus speed
[*] Optimize stepper code for 'step on both edges'
() GPIO pins to set at micro-controller startup
GPIO state at micro-controller startup (Not set) --->
[Space/Enter] Toggle/enter [?] Help [/] Search
[Q] Quit (prompts for save) [Esc] Leave menu
5 Clock Reference 选择 8 MHz crystal
(Top)
Klipper Firmware Configuration
[*] Enable extra low-level configuration options
Micro-controller Architecture (STMicroelectronics STM32) --->
Processor model (STM32F072) --->
Bootloader offset (8KiB bootloader) --->
Clock Reference (8 MHz crystal) --->
Communication interface (USB to CAN bus bridge (USB on PA11/PA12)) --->
CAN bus interface (CAN bus (on PB8/PB9)) --->
USB ids --->
(1000000) CAN bus speed
[*] Optimize stepper code for 'step on both edges'
() GPIO pins to set at micro-controller startup
GPIO state at micro-controller startup (Not set) --->
[Space/Enter] Toggle/enter [?] Help [/] Search
[Q] Quit (prompts for save) [Esc] Leave menu
6 Communication interface 选择 USB to CAN bus bridge (USB on PA11/PA12)
(Top)
Klipper Firmware Configuration
[*] Enable extra low-level configuration options
Micro-controller Architecture (STMicroelectronics STM32) --->
Processor model (STM32F072) --->
Bootloader offset (8KiB bootloader) --->
Clock Reference (8 MHz crystal) --->
Communication interface (USB to CAN bus bridge (USB on PA11/PA12)) --->
CAN bus interface (CAN bus (on PB8/PB9)) --->
USB ids --->
(1000000) CAN bus speed
[*] Optimize stepper code for 'step on both edges'
() GPIO pins to set at micro-controller startup
GPIO state at micro-controller startup (Not set) --->
[Space/Enter] Toggle/enter [?] Help [/] Search
[Q] Quit (prompts for save) [Esc] Leave menu
7 CAN bus interface 选择 CAN bus (on PB8/PB9)
(Top)
Klipper Firmware Configuration
[*] Enable extra low-level configuration options
Micro-controller Architecture (STMicroelectronics STM32) --->
Processor model (STM32F072) --->
Bootloader offset (8KiB bootloader) --->
Clock Reference (8 MHz crystal) --->
Communication interface (USB to CAN bus bridge (USB on PA11/PA12)) --->
CAN bus interface (CAN bus (on PB8/PB9)) --->
USB ids --->
(1000000) CAN bus speed
[*] Optimize stepper code for 'step on both edges'
() GPIO pins to set at micro-controller startup
GPIO state at micro-controller startup (Not set) --->
[Space/Enter] Toggle/enter [?] Help [/] Search
[Q] Quit (prompts for save) [Esc] Leave menu
8 USB ids 保持默认,无需进入
(Top)
Klipper Firmware Configuration
[*] Enable extra low-level configuration options
Micro-controller Architecture (STMicroelectronics STM32) --->
Processor model (STM32F072) --->
Bootloader offset (8KiB bootloader) --->
Clock Reference (8 MHz crystal) --->
Communication interface (USB to CAN bus bridge (USB on PA11/PA12)) --->
CAN bus interface (CAN bus (on PB8/PB9)) --->
USB ids --->
(1000000) CAN bus speed
[*] Optimize stepper code for 'step on both edges'
() GPIO pins to set at micro-controller startup
GPIO state at micro-controller startup (Not set) --->
[Space/Enter] Toggle/enter [?] Help [/] Search
[Q] Quit (prompts for save) [Esc] Leave menu
9 CAN bus speed 设置为 1000000
(Top)
Klipper Firmware Configuration
[*] Enable extra low-level configuration options
Micro-controller Architecture (STMicroelectronics STM32) --->
Processor model (STM32F072) --->
Bootloader offset (8KiB bootloader) --->
Clock Reference (8 MHz crystal) --->
Communication interface (USB to CAN bus bridge (USB on PA11/PA12)) --->
CAN bus interface (CAN bus (on PB8/PB9)) --->
USB ids --->
(1000000) CAN bus speed
[*] Optimize stepper code for 'step on both edges'
() GPIO pins to set at micro-controller startup
GPIO state at micro-controller startup (Not set) --->
[Space/Enter] Toggle/enter [?] Help [/] Search
[Q] Quit (prompts for save) [Esc] Leave menu
10 启用 Optimize stepper code for 'step on both edges'
(Top)
Klipper Firmware Configuration
[*] Enable extra low-level configuration options
Micro-controller Architecture (STMicroelectronics STM32) --->
Processor model (STM32F072) --->
Bootloader offset (8KiB bootloader) --->
Clock Reference (8 MHz crystal) --->
Communication interface (USB to CAN bus bridge (USB on PA11/PA12)) --->
CAN bus interface (CAN bus (on PB8/PB9)) --->
USB ids --->
(1000000) CAN bus speed
[*] Optimize stepper code for 'step on both edges'
() GPIO pins to set at micro-controller startup
GPIO state at micro-controller startup (Not set) --->
[Space/Enter] Toggle/enter [?] Help [/] Search
[Q] Quit (prompts for save) [Esc] Leave menu
11 GPIO pins to set at micro-controller startup 保持为空
(Top)
Klipper Firmware Configuration
[*] Enable extra low-level configuration options
Micro-controller Architecture (STMicroelectronics STM32) --->
Processor model (STM32F072) --->
Bootloader offset (8KiB bootloader) --->
Clock Reference (8 MHz crystal) --->
Communication interface (USB to CAN bus bridge (USB on PA11/PA12)) --->
CAN bus interface (CAN bus (on PB8/PB9)) --->
USB ids --->
(1000000) CAN bus speed
[*] Optimize stepper code for 'step on both edges'
() GPIO pins to set at micro-controller startup
GPIO state at micro-controller startup (Not set) --->
[Space/Enter] Toggle/enter [?] Help [/] Search
[Q] Quit (prompts for save) [Esc] Leave menu
12 GPIO state at micro-controller startup 选择 Not set
此项是 FLYOS-Klipper 功能。通常保持 Not set;如需设置全部 GPIO 的启动状态,请先阅读 GPIO 启动状态使用说明 。
(Top)
Klipper Firmware Configuration
[*] Enable extra low-level configuration options
Micro-controller Architecture (STMicroelectronics STM32) --->
Processor model (STM32F072) --->
Bootloader offset (8KiB bootloader) --->
Clock Reference (8 MHz crystal) --->
Communication interface (USB to CAN bus bridge (USB on PA11/PA12)) --->
CAN bus interface (CAN bus (on PB8/PB9)) --->
USB ids --->
(1000000) CAN bus speed
[*] Optimize stepper code for 'step on both edges'
() GPIO pins to set at micro-controller startup
GPIO state at micro-controller startup (Not set) --->
[Space/Enter] Toggle/enter [?] Help [/] Search
[Q] Quit (prompts for save) [Esc] Leave menu
13 按 Q 键退出配置界面
(Top)
Klipper Firmware Configuration
[*] Enable extra low-level configuration options
Micro-controller Architecture (STMicroelectronics STM32) --->
Processor model (STM32F072) --->
Bootloader offset (8KiB bootloader) --->
Clock Reference (8 MHz crystal) --->
Communication interface (USB to CAN bus bridge (USB on PA11/PA12)) --->
CAN bus interface (CAN bus (on PB8/PB9)) --->
USB ids --->
(1000000) CAN bus speed
[*] Optimize stepper code for 'step on both edges'
() GPIO pins to set at micro-controller startup
GPIO state at micro-controller startup (Not set) --->
[Space/Enter] Toggle/enter [?] Help [/] Search
[Q] Quit (prompts for save) [Esc] Leave menu
14 出现 Save configuration 时按 Y 保存配置
Quit
Save configuration?
(Y)es (N)o (C)ancel
После завершения двух последних шагов выше нажмите Q для выхода из интерфейса конфигурации, затем нажмите Y для сохранения настроек.
Вернувшись в командную строку, введите следующую команду и нажмите Enter, чтобы начать компиляцию:
root@flyos-11e5f8 ~/klipper # make -j4
Compiling out/src/stm32/usbfs.o
Compiling out/src/generic/canserial.o
Compiling out/src/../lib/fast-hash/fasthash.o
Compiling out/src/stm32/can.o
Compiling out/src/stm32/chipid.o
Compiling out/src/generic/usb_canbus.o
Compiling out/src/stm32/hard_pwm.o
Preprocessing out/src/generic/armcm_link.ld
Building out/compile_time_request.o
Version: XXXX
Linking out/klipper.elf
Creating bin file out/klipper.bin
终端末尾出现 Linking out/klipper.elf 和 Creating bin file out/klipper.bin,即表示编译成功。 实际编译时,部分 Compiling 行和 Version 会随 Klipper 与系统版本变化。
Вход в режим прошивки
Подключите плату к хосту с помощью кабеля Type-C, затем дважды нажмите кнопку RST . При этом светодиоды на плате начнут мигать.
Прошивка микропрограммы
Начало прошивки
Получение ID платы
Выполните следующую команду для поиска идентификатора устройства. В нормальном состоянии должен отобразиться ID, как показано на рисунке ниже (Внимание: 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
Запрос 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 платы (только пример)
Запрос нового идентификатора устройства
Ключевые моменты идентификации
Это только для справки!
/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.
См. способ получения CAN ID