Перейти к основному содержанию

Компиляция прошивки USB-CAN моста

Начало компиляции

Краткое руководство по компиляции прошивки

Примечания

  • Сеть: Убедитесь, что хост-компьютер (Raspberry Pi и т.п.) подключен к сети.
  • Способ входа: Необходимо входить через SSH по сети, последовательный порт отключен.
  • Раскладка клавиатуры: Держите клавиатуру в английском полуширинном режиме

Вход по SSH и переключение пользователей

Используйте MobaXterm, PuTTY и другие инструменты для входа по SSH на хост-компьютер.

Переключение пользователя:

  • Обычная система (официальная система Raspberry Pi и т.п.)
    Запрещено использовать root, необходимо переключиться на обычного пользователя:
    su <имя_пользователя>
  • FLY хост-компьютер (система FlyOS-FAST)
    Поддерживается только вход от пользователя root (пароль: mellow)

Руководство по компиляции прошивки

В интерфейсе конфигурации прошивки Klipper поддерживается только управление с клавиатуры, мышь использовать нельзя.

КлавишаФункция
↑ / ↓Перемещение курсора вверх/вниз, выбор пункта меню
Enter / ПробелПодтверждение выбора, отметка опции или вход в подменю
ESCВозврат в предыдущее меню
QВыход из интерфейса конфигурации
YПри выходе, если есть подсказка, нажмите Y для сохранения конфигурации

Начало компиляции прошивки

Ниже описано, как компилировать прошивку:

  1. Подключитесь по 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.

  2. Настройте параметры по порядку, следуя приведенному ниже списку, переходя к следующему пункту только после завершения предыдущего.

    1启用 Enable extra low-level configuration options
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) --->
    Processor model (STM32H723) --->
    Bootloader offset (128KiB bootloader) --->
    Clock Reference (25 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
    () GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    2Micro-controller Architecture 选择 STMicroelectronics STM32
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) --->
    Processor model (STM32H723) --->
    Bootloader offset (128KiB bootloader) --->
    Clock Reference (25 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
    () GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    3Processor model 选择 STM32H723
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) --->
    Processor model (STM32H723) --->
    Bootloader offset (128KiB bootloader) --->
    Clock Reference (25 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
    () GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    4Bootloader offset 选择 128KiB bootloader
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) --->
    Processor model (STM32H723) --->
    Bootloader offset (128KiB bootloader) --->
    Clock Reference (25 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
    () GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    5Clock Reference 选择 25 MHz crystal
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) --->
    Processor model (STM32H723) --->
    Bootloader offset (128KiB bootloader) --->
    Clock Reference (25 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
    () GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    6Communication 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 (STM32H723) --->
    Bootloader offset (128KiB bootloader) --->
    Clock Reference (25 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
    () GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    7CAN bus interface 选择 CAN bus (on PB8/PB9)
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) --->
    Processor model (STM32H723) --->
    Bootloader offset (128KiB bootloader) --->
    Clock Reference (25 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
    () GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    8USB ids 保持默认,无需进入
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) --->
    Processor model (STM32H723) --->
    Bootloader offset (128KiB bootloader) --->
    Clock Reference (25 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
    () GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    9CAN bus speed 设置为 1000000
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) --->
    Processor model (STM32H723) --->
    Bootloader offset (128KiB bootloader) --->
    Clock Reference (25 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
    () GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    10GPIO pins to set at micro-controller startup 保持为空
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) --->
    Processor model (STM32H723) --->
    Bootloader offset (128KiB bootloader) --->
    Clock Reference (25 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
    () GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    11GPIO 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 (STM32H723) --->
    Bootloader offset (128KiB bootloader) --->
    Clock Reference (25 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
    () GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    12Q 键退出配置界面
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) --->
    Processor model (STM32H723) --->
    Bootloader offset (128KiB bootloader) --->
    Clock Reference (25 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
    () GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    13出现 Save configuration 时按 Y 保存配置
    Quit
    Save configuration?
    (Y)es(N)o(C)ancel
  3. После завершения двух последних шагов выше нажмите Q для выхода из интерфейса конфигурации, затем нажмите Y для сохранения настроек.

  4. Вернувшись в командную строку, введите следующую команду и нажмите Enter, чтобы начать компиляцию:

    make -j4
    root@flyos-11e5f8 ~/klipper # make -j4
    Compiling out/src/stm32/usbotg.o
    Compiling out/src/generic/canserial.o
    Compiling out/src/../lib/fast-hash/fasthash.o
    Compiling out/src/stm32/fdcan.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 与系统版本变化。

Загрузка прошивки

Подготовка

  • Перед началом прошивки сначала подключитесь по SSH через сеть
  • Некачественные карты памяти могут привести к сбою прошивки, по возможности используйте рекомендованные ниже карты памяти для обновления прошивки
  • Необходимо подготовить TF-карту емкостью не более 32 ГБ, при этом скорость передачи TF-карты должна быть не ниже класса class10 или выше, рекомендуется использовать TF-карты таких брендов, как SanDisk

Загрузка прошивки

  1. Используйте подготовленную ранее TF-карту

  2. Отформатируйте с помощью SDFormatter

    Loading...
  3. С помощью MobaXterm_Personal в левой файловой папке найдите klipper, выберите его, затем найдите out и откройте

    Внимание
    • Примечания к обычной системе
      • Это относится к таким обычным верхним системам, как Raspberry Pi, FLY Pi и т.д.
      • Скомпилированная прошивка находится в каталоге /home/<имя пользователя верхней системы>/klipper/out/
      Loading...
  4. И скачайте klipper.bin на TF-карту, затем переименуйте его в firmware.bin

    firmware.bin
    Loading...
Отображение расширений файлов в Windows

Windows по умолчанию может скрывать расширения файлов, что часто приводит к фактическому сохранению файла как firmware.bin.txt или firmware.bin.bin. Перед переименованием прошивки включите отображение расширений в проводнике файлов:

  1. Откройте любую папку.
  2. Нажмите на вкладку Вид вверху.
  3. Установите флажок Расширения имен файлов.
  4. При переименовании файла убедитесь, что полное имя файла — firmware.bin.
  1. Отключите питание материнской платы, вставьте TF-карту в материнскую плату
  2. Подайте питание на материнскую плату, подождите 10 секунд
  3. Извлеките TF-карту, вставьте ее в компьютер, если файл firmware.bin на SD-карте исчез и появился FLY.CUR, значит прошивка прошла успешно
    Loading...

Поиск CAN ID после загрузки

После завершения загрузки прошивки и повторного включения питания платы, продолжите поиск CAN ID.

Посмотреть метод получения CAN ID

Loading...