メインコンテンツまでスキップ

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

ヒント
  • USB加速度計は工場出荷時にUSB接続用のKatapultファームウェアがプリロードされています
  • 焼付けされていない場合は自分で焼付けを行います
  • Katapultファームウェアの焼付け

コンパイルの開始

  • klipperサービスがインストールされた上位機を使用する必要があります ネットワーク経由でSSHに接続

  • そしてデバイスを上位機に接続してください

  • 注意:一般的な上位機を使用してください。例えば、ラズベリーパイやFLY派などです。改造された上位機(例:WiFiスティック、レッドミーなど)は問題が多いので、技術サポートを提供できません

手記
  • 下記のコマンドを入力してROOTユーザーから通常のユーザーに切り替えることができます
  • ROOTユーザーを使用しないでください
  • flyユーザーの場合、su flyと直接入力できます。flyユーザー以外の場合、<あなたの上位機のユーザーネーム>をあなたの上位機のユーザーネームに置き換えてください!
su <あなたの上位機のユーザーネーム>
ヒント
  • 请确保上位机可以正常联网
  • 固件编译前需要使用SSH通过网络登录上位机
  • 请不要使用串口工具登录上位机

Klipper固件编译和配置页面操作说明

ヒント

请确保键盘输入法为半角模式,即英文模式

  1. 键盘上键,下键,用于上下移动光标来选中菜单项
  2. 确认键Enter 或 空格键Space,用于勾选菜单或进入子菜单
  3. 退出键ESC,用于返回上一级菜单
  4. Q键,用于退出Klipper固件配置页面
  5. Y键,在退出Klipper固件配置页面时,如果有提示,则点击Y键保存配置文件
手記

如果配置页面选项比较少,请先勾选[ ] Enable extra low-level configuration options,用于显示部分隐藏选项

以下はファームウェアをコンパイルする方法です:

  • SSHに接続した後、次のコマンドを入力して Enter キーを押します:

    cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig
  • そのうち、rm -rf ~/klipper/.config && rm -rf ~/klipper/out は以前のコンパイルデータとファームウェアを削除し、make menuconfig はファームウェアをコンパイルします。実行すると下記のような画面が表示されるはずです。

  • Enable extra low-level configuration options を選択して Enter キーを押します

  • メニュー Micro-controller Architecture に進み、Raspberry Pi RP2040 を選択して Enter キーを押します

  • Bootloader offset を選択し、16KiB bootloader を選択します

  • Communication interface を選択し、USBSERIAL を選択します

  • マイクロコントローラー起動時に設定するGPIOピンを選択します。入力: gpio24
  • Q キーを押して Save configuration が表示されたら、その後に Y キーを押します
  • 現在、設定が保存され、コマンドラインに戻っているはずです
  • コンパイルを開始するために make -j4 を入力します。時間がかかります
  • 最後に以下の内容が出力されたらコンパイル成功です

    Linking out/klipper.elf
    Creating hex file out/klipper.bin

デバイスの検索

  • 上位機が正常にネットワークに接続でき、下位機と接続されているデータ線がデータ転送機能を持っていることを確認してください。
  • SSHで上位機に接続した後、lsusbと入力してEnterを押します。もし以下の画像で囲まれた情報が出力されたら、次のステップに進んでください。
    • 何も情報が返ってこない場合、これは上位機のシステム問題であり、こちらでは対応できません。正常なシステムに変更するか、上位機を交換してください。
    • lsusbコマンドがないと表示される場合、このコマンドでインストールできます。
      sudo apt-get install usbutils
  • 1d50:614eは今回使用するデバイスに該当します。OpenMoko, Inc. stm32f407xxのサフィックスは参考価値がありますが、判断基準ではありません。
    • 一部の上位機はシステムの問題により、完全に表示されない場合があります。
    • lsusbコマンドを入力するとデバイスが表示されるが、1d50:614eが表示されない場合は、データ線を交換し、マザーボードを上位機の他のUSBポートに接続してみてください。
  • 上記の手順を以前に実行し、成功してKlipperファームウェアを書き込み、マザーボードが正常に動作しているが、Klipperファームウェアを更新する必要がある場合は、「ファームウェア更新」セクションを確認してください。
注意事項

1d50:614eのデバイスが一つでも検出されるまで次のステップには進めません。

ファームウェアの焼付け

::: tip

  • プラグインの書き込み時にインターネットに接続されていることを確認してください。上位機が正常にインターネットに接続されていることを確認してください。
  • すでにインストール済みの場合、再インストールする必要はありません。 :::

書き込み開始

::: warning 警告

  • 非fly上位機 以下のコードを実行し、ファームウェア書き込みの依存パッケージをインストールしてください!ファームウェアを書き込めなくなります!
cd && git clone https://github.com/Arksine/katapult.git

:::

  • 下記のコマンドを使用してデバイスIDを検索し、下図のようなIDが表示されることを確認してください。(注:図内のIDは例示であり、各マザーボードのIDは異なります)

    ls /dev/serial/by-id/*
  • ファームウェアを書き込むには下記のコマンドを使用してください。ファームウェアが正常にコンパイルされていることを確認し、<あなたのマザーボードID>を前ステップで取得したIDに置き換えてください。

    ~/klippy-env/bin/python ~/katapult/scripts/flashtool.py -d /dev/serial/by-id/<あなたのマザーボードID>
  • 参考資料

  • 書き込み完了の参考

ファームウェアの更新

  • 下記のコマンドを使用してマザーボードIDを検索し、下図のようなIDが表示されることを確認してください。(注:図内のIDは例示であり、各マザーボードのIDは異なります)
ls /dev/serial/by-id/*

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

  • USBファームウェアの更新には、最新のファームウェアをコンパイルした後、以下のコマンドを使用して更新します。<あなたのマザーボードID>を前ステップで取得したIDに置き換えてください。
cd ~/klipper/ && make flash FLASH_DEVICE=<あなたのマザーボードID>

ファームウェアの誤り書き込み対策

  • マザーボードの電源を切って再起動し、リセットボタンを2回押すことで解決できます。
  • もしくは、WindowsでファームウェアをクリーンアップしてからBLを再び書き込むことができます。

ファームウェアが正常に起動したか確認

  • ファームウェアが正常に起動するとLEDが点灯します