USB ファームウェア書き込み
ホストマシンへの接続
Fly-D8メインボードは、Klipper通信のためにType-C USBインターフェースのみを使用してホストマシンに接続できます。
ファームウェアコンパイル簡易ガイド
注意事項
- ネットワーク: 上位機(ラズベリーパイなど)がネットワークに接続されていることを確認してください
- ログイン方法: SSH を使用してネットワーク経由でログインする必要があります。シリアルポートは無効にしてください
- 入力方式: キーボードは英数字半角モードに保ってください
SSHログインとユーザー切り替え
MobaXterm、PuTTY などのツールを使用して上位機にSSHログインします。
ユーザー切り替え:
- 通常システム(ラズベリーパイ公式システムなど)
rootの使用は禁止されており、通常ユーザーに切り替える必要があります:su <ユーザー名> - FLY上位機(FlyOS-FASTシステム)
rootユーザーでのログインのみサポート(パスワード:mellow)
ファームウェアコンパイル操作ガイド
Klipper ファームウェア設定画面ではキーボード操作のみサポートされており、マウスは使用できません。
| キー | 機能 |
|---|---|
| ↑ / ↓ | 上下にカーソルを移動し、メニュー項目を選択 |
| Enter / スペース | 選択の確定、オプションのチェック、またはサブメニューに入る |
| ESC | 前のメニューに戻る |
| Q | 設定画面を終了 |
| Y | 終了時にプロンプトが表示されたら Y を押して設定を保存 |
以下にファームウェアのコンパイル方法を説明します:
-
SSHに接続後、以下のコマンドを入力し、
Enterキーを押します:cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig -
このうち
rm -rf ~/klipper/.config && rm -rf ~/klipper/outは以前のコンパイルデータとファームウェアを削除するもので、make menuconfigはファームウェアをコンパイルするものです。実行後、以下の画面が表示されるはずですLoading... -
Enable extra low-level configuration optionsを選択し、Enterキーを押しますLoading... -
メニュー
Micro-controller Architectureに入り、STMicroelectronics STM32を選択し、Enterキーを押しますLoading... -
メニュー
Processor modelに入り、STM32H723を選択してEnterキーを押しますLoading... -
Bootloader offsetを選択し、128KiB bootloaderを選択しますLoading... -
Clock Reference (8 MHz crystal)を選択し、25 MHz crystalを選択しますLoading... -
Communication interfaceを選択し、USB (on PA11/PA12)を選択しますLoading...
Qキーを押すと、Save configurationが表示されるので、次にYキーを押しますLoading...- これで設定が保存され、コマンドラインインターフェースに戻るはずです
- 以下のコマンドを入力してコンパイルを開始します。時間がかかります
make -j4
- 最後に以下の内容が出力されればコンパイル成功です
- Klipperのバージョンによって、
out/klipper.binが表示されれば成功ですLinking out/klipper.elfCreating bin file out/klipper.bin
書き込みモードへの移行
- Type-Cケーブルでメインボードをホストマシンに接続した後、RSTボタンをダブルクリックします。これにより、メインボード上のLEDが点滅します。
ファームウェアの書き込み
書き込み開始
- Fly公式以外の上位機種にはKatapultのインストールが必要です
- Katapultのインストール
マザーボードIDの取得
以下のコマンドを実行してデバイスIDを検索します。通常、下図のようなIDが表示されます(注意:マザーボードごとにIDは異なります):
ls /dev/serial/by-id/*
検索されたIDに
usb-katapult_stm32xxxxxxxxが含まれている場合、次のステップに進めます
ファームウェアの書き込み
- コンパイル済みのファームウェアファイルを用意してください
- 以下のコマンド内の
<あなたのマザーボードID>を、前の手順で確認した実際のIDに置き換えてください
- 通常の上位機種は以下のコードを使用
~/klippy-env/bin/python ~/katapult/scripts/flashtool.py -d <あなたのマザーボードID>
- FLY上位機種は以下のコードを使用
python3 ~/katapult/scripts/flashtool.py -d <あなたのマザーボードID>
書き込み過程の参考:
書き込み成功の参考:
ファームウェアの更新
- USBファームウェア更新
- ブリッジCANファームウェア更新
USBファームウェア更新手順
- マザーボードIDの確認
ls /dev/serial/by-id/*
下図の /dev/serial/by-id/usb-katapult_rp2040_E662549553642032-if00 がマザーボードIDです
- ファームウェアの更新
cd ~/klipper/ && make flash FLASH_DEVICE=<あなたのマザーボードID>
<あなたのマザーボードID>を実際に確認したIDに置き換えてください
ブリッジCANファームウェア更新手順
- 書き込みモードにリセット
<あなたのマザーボードID> は printer.cfg 設定ファイル内のマザーボードの CANBUS UUID です
- 通常の上位機種は以下のコードを使用
~/klippy-env/bin/python3 ~/katapult/scripts/flashtool.py -i can0 -r -u <あなたのマザーボードID>
- FLY上位機種は以下のコードを使用
python3 ~/katapult/scripts/flashtool.py -i can0 -r -u <あなたのマザーボードID>
下図の f95cee90e1f9 はマザーボードの CANBUS UUID です(あくまで例です)
- 新しいデバイスIDの確認
ls /dev/serial/by-id/*
- これは参考です!
- 下図の
/dev/serial/by-id/usb-Klipper_stm32f072xb_38001B000551324752333720-if00が新たに認識されたマザーボードIDです
- 新しいファームウェアの書き込み
cd ~/klipper/ && make flash FLASH_DEVICE=<あなたのマザーボードID>
誤ったファームウェアを書き込んだ場合の対処法
方法一:素早く書き込みモードに入る
- マザーボードの電源を切る
- 再通電後、RESETボタンを素早く2回押す
- 書き込みモードに再度入る