CAN ファームウェアのビルド
ビルド開始
ファームウェアコンパイル簡易ガイド
注意事項
- ネットワーク: 上位機(Raspberry Piなど)がネットワークに接続されていることを確認してください。
- ログイン方法: SSH を使用してネットワーク経由でログインし、シリアルポートは無効にしてください。
- 入力方法: キーボードを英数半角モードに設定してください。
SSHログインとユーザー切り替え
MobaXterm、PuTTYなどのツールを使用してSSHで上位機にログインします。
ユーザー切り替え:
- 通常システム(Raspberry Pi公式システムなど)
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はファームウェアをコンパイルするコマンドで、実行後は以下の画面が表示されるはずです。 -
ここで、
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 to CAN bus bridge (USB on PA11/PA12)を選択します。Loading...
Qキーを押すと、Save configurationが表示されます。この状態でYキーを押します。Loading...- これで設定が保存され、コマンドラインインターフェースに戻ります。
- 以下のコマンドを入力してコンパイルを開始します。時間がかかります。
make -j4
- 最後に以下の内容が出力されれば、コンパイルは成功です。
- Klipperのバージョンによっては、
out/klipper.binが表示されれば成功を意味します。Linking out/klipper.elf
Creating bin file out/klipper.bin
書き込みモードに入ったか確認
- Type-Cケーブルでメインボードを上位機に接続後、リセットボタンをダブルクリックすると、メインボード上のLEDが点滅します。
- LEDが点滅しない場合は、katapultファームウェアを再書き込みしてください:katapultファームウェア書き込み
- LEDが点滅しない場合は、katapultファームウェア書き込み後、次の手順を実行してください
ファームウェア書き込み
ファームウェア書き込み開始
- 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>
誤ったファームウェアを書き込んだ場合の解決方法
方法1: 素早く書き込みモードに入る
- 基板の電源を切る
- 電源を入れ直し、RESETボタンを素早くダブルクリック
- 書き込みモードに再び入る