メインコンテンツにスキップ

USBファームウェアのコンパイル

コンパイル開始

ファームウェアコンパイル簡易ガイド

注意事項

  • ネットワーク: 上位機(ラズベリーパイなど)がネットワークに接続されていることを確認してください
  • ログイン方法: SSH を使用してネットワーク経由でログインする必要があります。シリアルポートは無効にしてください
  • 入力方式: キーボードは英数字半角モードに保ってください

SSHログインとユーザー切り替え

MobaXterm、PuTTY などのツールを使用して上位機にSSHログインします。

ユーザー切り替え:

  • 通常システム(ラズベリーパイ公式システムなど)
    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 (STM32F407) --->
    Bootloader offset (32KiB bootloader) --->
    Clock Reference (8 MHz crystal) --->
    Communication interface (USB (on PA11/PA12)) --->
    USB ids --->
    [*] Optimize stepper code for 'step on both edges'
    () 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 (STM32F407) --->
    Bootloader offset (32KiB bootloader) --->
    Clock Reference (8 MHz crystal) --->
    Communication interface (USB (on PA11/PA12)) --->
    USB ids --->
    [*] Optimize stepper code for 'step on both edges'
    () GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    3Processor model 选择 STM32F407
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) --->
    Processor model (STM32F407) --->
    Bootloader offset (32KiB bootloader) --->
    Clock Reference (8 MHz crystal) --->
    Communication interface (USB (on PA11/PA12)) --->
    USB ids --->
    [*] Optimize stepper code for 'step on both edges'
    () GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    4Bootloader offset 选择 32KiB bootloader
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) --->
    Processor model (STM32F407) --->
    Bootloader offset (32KiB bootloader) --->
    Clock Reference (8 MHz crystal) --->
    Communication interface (USB (on PA11/PA12)) --->
    USB ids --->
    [*] Optimize stepper code for 'step on both edges'
    () GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    5Clock Reference 选择 8 MHz crystal
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) --->
    Processor model (STM32F407) --->
    Bootloader offset (32KiB bootloader) --->
    Clock Reference (8 MHz crystal) --->
    Communication interface (USB (on PA11/PA12)) --->
    USB ids --->
    [*] Optimize stepper code for 'step on both edges'
    () GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    6Communication interface 选择 USB (on PA11/PA12)
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) --->
    Processor model (STM32F407) --->
    Bootloader offset (32KiB bootloader) --->
    Clock Reference (8 MHz crystal) --->
    Communication interface (USB (on PA11/PA12)) --->
    USB ids --->
    [*] Optimize stepper code for 'step on both edges'
    () GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    7USB ids 保持默认,无需进入
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) --->
    Processor model (STM32F407) --->
    Bootloader offset (32KiB bootloader) --->
    Clock Reference (8 MHz crystal) --->
    Communication interface (USB (on PA11/PA12)) --->
    USB ids --->
    [*] Optimize stepper code for 'step on both edges'
    () GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    8启用 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 (STM32F407) --->
    Bootloader offset (32KiB bootloader) --->
    Clock Reference (8 MHz crystal) --->
    Communication interface (USB (on PA11/PA12)) --->
    USB ids --->
    [*] Optimize stepper code for 'step on both edges'
    () GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    9GPIO pins to set at micro-controller startup 保持为空
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) --->
    Processor model (STM32F407) --->
    Bootloader offset (32KiB bootloader) --->
    Clock Reference (8 MHz crystal) --->
    Communication interface (USB (on PA11/PA12)) --->
    USB ids --->
    [*] Optimize stepper code for 'step on both edges'
    () GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    10GPIO 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 (STM32F407) --->
    Bootloader offset (32KiB bootloader) --->
    Clock Reference (8 MHz crystal) --->
    Communication interface (USB (on PA11/PA12)) --->
    USB ids --->
    [*] Optimize stepper code for 'step on both edges'
    () GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    11Q 键退出配置界面
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) --->
    Processor model (STM32F407) --->
    Bootloader offset (32KiB bootloader) --->
    Clock Reference (8 MHz crystal) --->
    Communication interface (USB (on PA11/PA12)) --->
    USB ids --->
    [*] Optimize stepper code for 'step on both edges'
    () GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    12出现 Save configuration 时按 Y 保存配置
    Quit
    Save configuration?
    (Y)es(N)o(C)ancel
  3. 上記の最後の2つの手順を完了したら、Q を押して設定画面を終了し、次に Y を押して設定を保存します。

  4. コマンドラインに戻ったら、以下のコマンドを入力して Enter を押し、コンパイルを開始します:

    make -j4
    root@flyos-11e5f8 ~/klipper # make -j4
    Compiling out/src/stm32/spi.o
    Compiling out/src/stm32/i2c.o
    Compiling out/src/stm32/usbotg.o
    Compiling out/src/stm32/chipid.o
    Compiling out/src/generic/usb_cdc.o
    Compiling out/src/stm32/hard_pwm.o
    Compiling out/src/stm32/sdio.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に接続してください。
  • 無名ブランドのメモリーカードでは書き込みに失敗する可能性があります。できるだけ以下に推奨するメモリーカードを使用してファームウェアを更新してください。
  • 容量が32G以下のTFカードを用意し、TFカードの転送速度はclass10以上であることを推奨します。SanDiskなどのブランドのTFカードを使用することをお勧めします。

ファームウェアのダウンロード

  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.txtfirmware.bin.binとして保存されてしまう可能性があります。ファームウェアの名前を変更する前に、ファイルエクスプローラーで拡張子の表示を有効にしてください:

  1. 任意のフォルダを開きます。
  2. 上部の表示をクリックします。
  3. ファイル名拡張子にチェックを入れます。
  4. ファイル名を変更する際に、完全なファイル名がfirmware.binであることを確認します。
  1. メインボードの電源を切り、TFカードをメインボードに挿入します。
  2. メインボードの電源を入れ、10秒待ちます。
  3. TFカードを取り外し、パソコンに挿入します。SDカード内のfirmware.binが消えて、FLY.CURが表示されていれば書き込み成功です。
    Loading...

書き込み後のUSB ID検索

ファームウェアの書き込みが完了し、マザーボードに再度電源を投入した後、USB IDの検索を続けてください。

USB IDの取得方法を確認する

Loading...