103版CANファームウェアのコンパイル
コンパイル開始
ファームウェアコンパイル簡易ガイド
注意事項
- ネットワーク: 上位機(ラズベリーパイなど)がネットワークに接続されていることを確認してください
- ログイン方法: 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はKlipperファームウェア設定画面を開くために使用します。 -
以下の順序に従って各項目を設定し、各項目が完了してから次の項目に進みます。
1启用 Enable extra low-level configuration options(Top)Klipper Firmware Configuration2Micro-controller Architecture 选择 STMicroelectronics STM32(Top)Klipper Firmware Configuration3Processor model 选择 STM32F103(Top)Klipper Firmware Configuration4关闭 Only 10KiB of RAM (for rare stm32f103x6 variant)(Top)Klipper Firmware Configuration5关闭 Disable SWD at startup (for GigaDevice stm32f103 clones)(Top)Klipper Firmware Configuration6Bootloader offset 选择 8KiB bootloader(Top)Klipper Firmware Configuration7Clock Reference 选择 8 MHz crystal(Top)Klipper Firmware Configuration8Communication interface 选择 CAN bus (on PB8/PB9)(Top)Klipper Firmware Configuration9CAN bus speed 设置为 1000000(Top)Klipper Firmware Configuration10启用 Optimize stepper code for 'step on both edges'(Top)Klipper Firmware Configuration11GPIO pins to set at micro-controller startup 设置为 !PC13(Top)Klipper Firmware Configuration12GPIO state at micro-controller startup 选择 Not set此项是 FLYOS-Klipper 功能。通常保持
Not set;如需设置全部 GPIO 的启动状态,请先阅读 GPIO 启动状态使用说明。(Top)Klipper Firmware Configuration13按 Q 键退出配置界面(Top)Klipper Firmware Configuration14出现 Save configuration 时按 Y 保存配置QuitSave configuration?(Y)es(N)o(C)ancel -
上記の最後の2つの手順を完了したら、
Qを押して設定画面を終了し、次にYを押して設定を保存します。 -
コマンドラインに戻ったら、以下のコマンドを入力して
Enterを押し、コンパイルを開始します:make -j4root@flyos-11e5f8 ~/klipper # make -j4Compiling out/src/stm32/i2c.oCompiling out/src/generic/canserial.oCompiling out/src/../lib/fast-hash/fasthash.oCompiling out/src/stm32/can.oCompiling out/src/generic/canbus.oCompiling out/src/stm32/chipid.oCompiling out/src/stm32/hard_pwm.oPreprocessing out/src/generic/armcm_link.ldBuilding out/compile_time_request.oVersion: XXXXLinking out/klipper.elfCreating bin file out/klipper.bin终端末尾出现
Linking out/klipper.elf和Creating bin file out/klipper.bin,即表示编译成功。 实际编译时,部分 Compiling 行和 Version 会随 Klipper 与系统版本变化。
配線
- ファームウェアを書き込む前に、XT30データケーブルを使用してツールボードをUTOCまたはブリッジファームウェアが書き込まれたマザーボードに接続します。以下は参考配線図です。
- ディップスイッチが対応する位置に設定されているか確認してください。
Loading...
- 電源を切った状態で、マルチメーターを使用してCAN HとCAN L間の抵抗値を測定し、
60Ω前後であることを確認してください。120Ωの場合は120Ωジャンパーを接続し、40Ω前後の場合はジャンパーを取り外す必要があります。Loading...
IDの検索と書き込み
CANBus UUIDの照会
- 非印刷状態でID照会とファームウェア書き込みを実行することを推奨します。印刷プロセスへの干渉を避けるためです。
- 同一マザーボード/ツールボードのKatapult(CANBoot)ファームウェアとKlipperファームウェアは同じCAN IDを使用します。
以下の条件を満たしていることを確認してください。満たしていない場合、CAN IDを正常に検出できない可能性があります:
- 上位機のCANネットワークが正しく設定されていること
- ツールボードのCANレートが上位機と完全に一致していること(レートが一致しないと通信できません)
lsusbコマンドを実行した際に1d50:606fデバイス(USB-CANアダプター)が表示されること
検索コマンド(システムに応じて選択)
- 一般的な上位機検索コマンド
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
- FLY上位機検索コマンド
python3 ~/klipper/scripts/canbus_query.py can0
検索結果の説明
ケース1:Klipperファームウェアが書き込まれているマザーボード/ツールボード
- 表示例:CAN IDが1つ表示され、
Application: Klipperと表示される - 説明:デバイスはKlipperファームウェアで動作しており、そのまま使用可能です。このIDはマザーボードのIDである可能性も、ツールボードのIDである可能性もあります。
- 区別方法:ツールボードのCAN接続ケーブルを外して再度検索します。そのIDが消えた場合はツールボードのID、残っている場合はマザーボードのIDです。
ケース2:マザーボード + 書き込み待ちツールボード
- 表示例:2つのCAN IDが表示される
- 説明:マザーボードはKlipperファームウェアで動作し、ツールボードはCanBootファームウェアで動作しており、書き込み待ちです。
ケース3:UTOC + 書き込み待ちツールボード
- 表示例:UTOC自体はIDを表示せず、ツールボードのIDのみが表示される
- 説明:UTOCはブリッジとしてのみ機能し、ツールボードがCanBootモードであることを確認する必要があります。
ケース4:IDが表示されない
- 表示例:IDが何も表示されない
- 考えられる原因:
- CANバスがKlipperに占有されている
- 上位機のCAN0レート設定が誤っている
- 物理的な配線に異常がある
- デバイスがCanBootモードになっていない
- 書き込み待ち状態:ツールボードがCanBootモードの場合、
Application: CanBootと表示され、ファームウェアLEDが点滅します。この状態でファームウェアの書き込みが可能です。 - ID占有処理:デバイスがKlipperファームウェアで動作しており、IDが設定ファイルに記入されている場合、そのIDは表示されません(Klipperに占有されているため)。再度表示させるには、設定ファイルでそのIDを無効化し、完全に電源を切って再起動する必要があります。
UUIDを照会できない場合は、以下を参照してください: CAN問題解決ガイド
ファームウェア書き込み
書き込みコマンド
- 以下のコマンド内の
241696050c56を実際に照会したUUIDに置き換えてください - 注意:
-uパラメータの後にはスペースが必要です
-
FlyOS-FAST 1.3.8 以上 または 2026年4月9日以降にKlipperを更新したシステムでは、新しいコマンドを使用してください:
python3 ~/klipper/lib/katapult/flashtool.py -u 241696050c56 -
旧バージョンシステム(FAST 1.3.8未満 または 2026年4月9日以前にKlipperを更新していない場合)では、旧コマンドを使用してください:
python3 ~/klipper/lib/canboot/flash_can.py -u 241696050c56
書き込み成功の確認
CAN Flash Success というメッセージが表示されれば、書き込み成功です:
ファームウェア更新
更新方法
ファームウェアを更新する必要がある場合は、以下の手順を実行します:
- ファームウェアを再コンパイルする
- デバイスのCAN IDが照会できること(またはKlipperがデバイスに接続していること)を確認する
- 同じ書き込みコマンドを実行する
-
FlyOS-FAST 1.3.8 以上 または 2026年4月9日以降にKlipperを更新したシステム:
python3 ~/klipper/lib/katapult/flashtool.py -u <MCU ID> -
旧バージョンシステム(FAST 1.3.8未満 または 2026年4月9日以前にKlipperを更新していない場合):
python3 ~/klipper/lib/canboot/flash_can.py -u <MCU ID>
更新成功例
ファームウェアが起動したかどうかの確認
- ファームウェアが正常に起動するとLEDが点灯します。
Loading...