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

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
    2Micro-controller Architecture 选择 Raspberry Pi RP2040/RP235x
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (Raspberry Pi RP2040/RP235x) --->
    3Processor model 选择 rp2040
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (Raspberry Pi RP2040/RP235x) --->
    Processor model (rp2040) --->
    4Bootloader offset 选择 16KiB bootloader
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (Raspberry Pi RP2040/RP235x) --->
    Processor model (rp2040) --->
    Bootloader offset (16KiB bootloader) --->
    5Communication Interface 选择 USBSERIAL
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (Raspberry Pi RP2040/RP235x) --->
    Processor model (rp2040) --->
    Bootloader offset (16KiB bootloader) --->
    Communication Interface (USBSERIAL) --->
    6启用 Optimize stepper code for 'step on both edges'
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (Raspberry Pi RP2040/RP235x) --->
    Processor model (rp2040) --->
    Bootloader offset (16KiB bootloader) --->
    Communication Interface (USBSERIAL) --->
    USB ids --->
    [*] Optimize stepper code for 'step on both edges'
    7Q 键退出配置界面
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (Raspberry Pi RP2040/RP235x) --->
    Processor model (rp2040) --->
    Bootloader offset (16KiB bootloader) --->
    Communication Interface (USBSERIAL) --->
    USB ids --->
    [*] Optimize stepper code for 'step on both edges'
    () GPIO pins to set at micro-controller startup
    8出现 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/rp2040/bootrom.o
    Compiling out/src/rp2040/usbserial.o
    Compiling out/src/generic/usb_cdc.o
    Compiling out/src/rp2040/chipid.o
    Compiling out/src/rp2040/hard_pwm.o
    Compiling out/src/rp2040/spi.o
    Compiling out/src/rp2040/i2c.o
    Preprocessing out/src/rp2040/rpxxxx_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データケーブルで接続したら、resetボタンをダブルクリックしてください。この時、メインボード上のLEDライトが点滅します。
警告
  • LEDライトが点滅しない場合は、Katapultファームウェアを再度書き込んでください:Katapultファームウェアの書き込み
  • LEDライトが点滅しない場合は、Katapultファームウェアの書き込みが完了した後、次のステップに進んでください

ファームウェアの書き込み

適用範囲

この手順は、USB Katapult を使用して、コンパイルしたばかりの Klipper ファームウェアを書き込むためのものです。現在のページで選択したファームウェアタイプのみを操作してください。

1. Katapult USB ID を検索

FLY 公式以外のホストコンピュータでは、先に Katapult をインストールする必要があります:

Katapult のインストール方法を確認

以下のコマンドを実行してください:

ls /dev/serial/by-id/*
認識結果

検索結果に usb-katapult_ を含む完全なパスが表示されるはずです。例:

/dev/serial/by-id/usb-katapult_<チップ型番>_<デバイスID>-if00

各下位機の ID は異なるため、自分のデバイスに表示された完全なパスをコピーしてください。

2. Klipper ファームウェアを書き込む

デバイス ID の置き換え

コマンド内の <Katapult USB ID> を前の手順で検索した完全なパスに置き換えてください。山括弧は残さないでください。

~/klippy-env/bin/python ~/katapult/scripts/flashtool.py -d <Katapult USB ID>

3. 書き込み結果を確認

コマンドの実行が完了し、エラーが発生していなければ、ファームウェアの書き込みは完了です。書き込み後、Katapult USB ID は消えます。現在の製品ページの後続手順に従って、再度電源を入れ、対応する Klipper ID を検索してください。

Loading...

ファームウェアの再書き込み

今後、すでに書き込まれた Klipper ファームウェアを更新する場合、Katapult を再度書き込む必要はありません。まず現在のページで対象ファームウェアを再コンパイルし、デバイスの現在の状態に応じて以下のいずれかの方法を選択してください。

方法 1:コマンドで自動的に Katapult に入る

現在 usb-Klipper_ ID が検索できる場合、Klipper に下位機へ Katapult に入るよう自動的に要求し、再書き込みを完了させることができます:

cd ~/klipper && make flash FLASH_DEVICE=<usb-Klipper ID>

<usb-Klipper ID>ls /dev/serial/by-id/* で検索した完全なパスに置き換えてください。コマンドはデフォルトで ~/klipper/out/klipper.bin を使用します。

方法 2:RST をダブルクリックして手動で書き込む

現在 usb-Klipper_ ID がない場合、または方法 1 が失敗した場合は、以下の方法を使用してください:

電源断の操作

開始前にプリンターを完全に停止し、電源を切断してください。通電状態で USB ケーブルを抜き差ししたり、端子に触れたりしないでください。

  1. 電源を切った後、Type-C データケーブルを再接続します。

  2. 下位機の RST ボタンを素早くダブルクリックし、ステータスランプが点滅するのを待ちます。これで Katapult に入ったことを示します。

  3. Katapult USB ID を検索します:

    ls /dev/serial/by-id/*
  4. 検索した usb-katapult_ ID を使用して書き込みを実行します:

    通常の Linux ホスト:

    ~/klippy-env/bin/python ~/katapult/scripts/flashtool.py -d <Katapult USB ID> -f ~/klipper/out/klipper.bin

    FLYOS / FLY ホスト:

    python3 ~/katapult/scripts/flashtool.py -d <Katapult USB ID> -f ~/klipper/out/klipper.bin
注意

再書き込み時は、現在の接続方式に対応するファームウェアを使用する必要があります。USB ブリッジ CAN ファームウェアは最終的に CAN で動作しますが、Katapult の再書き込みでは引き続き USB ID と USB 書き込みコマンドを使用します。

書き込み後のUSB IDの検索

ファームウェアの書き込みが完了し、メインボードに再び電源を供給したら、USB IDの検索を続けてください。

USB IDの取得方法を見る

Loading...