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

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

ヒント
  • Micro4は出荷時にUSB接続用のKatapultファームウェアがプリインストールされているため、再度書き込む必要はありません。

コンパイルを開始する

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

注意事項

  • ネットワーク: 上位機(ラズベリーパイなど)がネットワークに接続されていることを確認してください
  • ログイン方法: 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 (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
    GPIO state at micro-controller startup (Not set) --->
    2Micro-controller Architecture 选择 Raspberry Pi RP2040/RP235x
    (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
    GPIO state at micro-controller startup (Not set) --->
    3Processor model 选择 rp2040
    (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
    GPIO state at micro-controller startup (Not set) --->
    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) --->
    Communication Interface (USBSERIAL) --->
    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) --->
    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) --->
    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) --->
    6USB ids 保持默认,无需进入
    (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
    GPIO state at micro-controller startup (Not set) --->
    7启用 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'
    () GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    8GPIO pins to set at micro-controller startup 保持为空
    (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
    GPIO state at micro-controller startup (Not set) --->
    9GPIO 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 (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
    GPIO state at micro-controller startup (Not set) --->
    10Q 键退出配置界面
    (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
    GPIO state at micro-controller startup (Not set) --->
    11出现 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ケーブルでマザーボードを上位機に接続した後、リセットボタンをダブルクリックします。このとき、マザーボード上のLEDが点滅します。
注意
  • LEDが点滅しない場合は、Katapultファームウェアを再書き込みしてください:Katapultファームウェアの書き込み
  • LEDが点滅しない場合は、Katapultファームウェアの書き込み完了後に次の手順を実行してください

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

書き込み開始

  • Fly公式以外の上位機種にはKatapultのインストールが必要です
  • Katapultのインストール

マザーボードIDの取得

以下のコマンドを実行してデバイスIDを検索します。通常、下図のようなIDが表示されます(注意:マザーボードごとにIDは異なります):

ls /dev/serial/by-id/*

検索されたIDにusb-katapult_stm32xxxxxxxxが含まれている場合、次のステップに進めます

Loading...

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

⚠️ 準備作業
  • コンパイル済みのファームウェアファイルを用意してください
  • 以下のコマンド内の <あなたのマザーボードID> を、前の手順で確認した実際のIDに置き換えてください
  • 通常の上位機種は以下のコードを使用
    ~/klippy-env/bin/python ~/katapult/scripts/flashtool.py -d <あなたのマザーボードID>
  • FLY上位機種は以下のコードを使用
    python3 ~/katapult/scripts/flashtool.py -d <あなたのマザーボードID>

書き込み過程の参考:

Loading...

書き込み成功の参考:

Loading...

ファームウェアの更新

USBファームウェア更新手順

  1. マザーボードIDの確認
ls /dev/serial/by-id/*
識別のポイント

下図の /dev/serial/by-id/usb-katapult_rp2040_E662549553642032-if00 がマザーボードIDです

Loading...
  1. ファームウェアの更新
cd ~/klipper/ && make flash FLASH_DEVICE=<あなたのマザーボードID>
注意
  • <あなたのマザーボードID> を実際に確認したIDに置き換えてください
Loading...

誤ったファームウェアを書き込んだ場合の対処法

方法一:素早く書き込みモードに入る

  1. マザーボードの電源を切る
  2. 再通電後、RESETボタンを素早く2回押す
  3. 書き込みモードに再度入る

方法二:Katapultファームウェアを再書き込み

Katapultファームウェア書き込みガイドを確認する

書き込み後にUSB IDを検索する

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

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

Loading...