CANファームウェアのビルド
ビルドの開始
klipper
サービスがインストールされている上位機が必要です ネットワーク経由でSSHに接続- デバイスと上位機を接続します
- 注意:普通の上位機を使用してください。例えば、ラズベリーパイ、FLYパイなどです。もし魔改上位機(例えばWiFiスティック、Redmiなど)を使用すると、このような上位機は問題が多すぎて、技術サポートを提供できません
ROOT
ユーザーを使用しないでください
- ユーザー切り替えコマンド
su fly
- 请确保上位机可以正常联网
- 固件编译前需要使用SSH通过网络登录上位机
- 请不要使用串口工具登录上位机
Klipper固件编译和配置页面操作说明
请确保键盘输入法为半角模式,即英文模式
- 键盘上键
↑
,下键↓
,用于上下移动光标来选中菜单项 - 确认键
Enter
或 空格键Space
,用于勾选菜单或进入子菜单 - 退出键
ESC
,用于返回上一级菜单 Q
键,用于退出Klipper固件配置页面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に入り、STMicroelectronics STM32を選択し、Enterキーを押します。
-
メニューProcessor modelに入り、STM32H723を選択し、Enterキーを押します。
-
Bootloader offsetを選択し、128KiB bootloaderを選択します。
-
**Clock Reference (8 MHz crystal)**を選択し、25 MHz crystalを選択します。
-
Communication interfaceを選択し、**CAN bus (on PB8/PB9)**を選択します。
-
GPIOピンをマイクロコントローラの起動時に設定する選択、入力:!PA15 大文字の!に注意
-
Q
キーを押して Save configuration が表示されたら、次にY
キーを押す -
これで設定が保存され、コマンドラインインターフェースに戻るはずです
-
make -j4
を入力してビルドを開始、時間がかかります -
最後に以下の内容が出力されればビルド成功です
Linking out/klipper.elf
Creating hex file out/klipper.bin
デバイスの検索
-
上位機が正常にネットワークに接続されていることを確認してください
-
下位機と上位機のデータ線がデータ転送機能を持つことを確認してください
-
SSH接続で上位機に接続後、
lsusb
を入力してEnterキーを押すと、以下の3つの状況が発生する可能性があります- 認識されたUSBデバイスが表示されます
ls
コマンドがない場合、このコマンドを実行してインストールできますsudo apt-get install usbutils
- エラーは表示されず、他の情報もありません(システムの問題で、システムの交換が必要です)
-
lsusb
を入力しても何も反応がない場合、これはシステムの問題で私たちはどうすることもできません。正常に動作するシステムに交換する必要があります -
以下の画像で囲まれた情報が表示された場合、次のステップに進むことができます
-
1d50:606f
は今回使用するデバイスです。後の指示は気にしないでください。システムの問題が原因で、表示されないか、完全に表示されない可能性があります -
2つの
1d50:606f
がある場合、なぜ2つあるのかを確認し、そのうち1つを除外してからシステムを再起動する必要があります -
2つの
1d50:606f
があると、後続の書き込みとファームウェア接続に影響を与えます。例えば、FLY MINI PAD
の場合は、他のCANブリッジデバイスを使用せず、内蔵UTOCのみを使用することをお勧めします -
1d50:606f
がない場合は、データ線が正しく接続されているか、ファームウェアが正しく書き込まれているかを確認してください注意事項1d50:606f
がある場合にのみ次のステップに進むことができます
ファームウェアの書き込み
- ファームウェアの書き込み前に、XT30データケーブルを使用してツールボードをUTOCまたはブリッジファームウェアを書き込んだメインボードに接続します。以下は参考図
- ディップスイッチが対応する位置にあるかどうかを確認してください
- UTOCへの接続参考
- CAN HとCAN Lの間の抵抗が、電源オフの状態でマルチメータで測定すると約
60Ω
になるようにしてください。120Ω
の場合は120Ω
のジャンパーを接続し、40Ω
の場合はジャンパーを取り外します
- IDの検索とファームウェアの更新は、プリント中に行わないことをお勧めします
- 同じマザーボードまたはツールボードのKatapultのCANファームウェアとKlipperのCANファームウェアはIDが完全に一致します
- ホストマシンのCANネットワークが設定されていることを確認してください
lsusb
後、1d50:606f
が表示された場合にのみ、以下のコマンドを使用してCAN IDを検索できます- ツールボードのCAN速度はホストマシンと一致させる必要があります。そうしないとIDを見つけることができず、焼き付けもできません
-
以下のコマンドを実行してCANBus UUIDをクエリします:
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
-
入力後、以下のような状況が発生します:
- 第一種:ブリッジファームウェアを刷ったマザーボードで、IDが1つ表示され、
Application: Klipper
と示される - 第二種:ブリッジファームウェアを刷ったマザーボードにファームウェアが必要なツールボードを組み合わせ、2つのIDが表示される
- 第三種:UTOCを使ってファームウェアが必要なツールボードを組み合わせる
- 注意:UTOCにはIDが表示されません
- 第四種:IDが表示されない場合、通常はKlipperによって占有されているか、ホストマシンのCAN0速度が正しくないか、配線に異常がある場合です
- 第一種:ブリッジファームウェアを刷ったマザーボードで、IDが1つ表示され、
-
通常、ファームウェアを焼き付ける必要があるツールボードがCANBOOT状態にある場合、
Application: CanBoot
と表示され、対応するファームウェアのLEDが点滅します。このとき、Klipperファームウェアを焼き付ける必要があります。そうしないと接続できません!!! -
注意:KlipperファームウェアでIDを設定ファイルに記入した場合、IDは表示されずKlipperによって占有されます。IDを遮断し、完全に電源を切って再起動する必要があります。
手記- UUIDが見つからない場合、以下のドキュメントを参照してください
- CAN問題集
-
-
ファームウェアの焼き付け
-
以下のコマンドの
241696050c56
をUUID検索で見つけたUUIDに置き換えてください。-u
の後には空白がありますpython3 ~/klipper/lib/canboot/flash_can.py -u 241696050c56
-
以下の図のように、
CAN Flash Success
と表示されれば焼き付け成功です
-
-
ファームウェアを更新する場合は、ファームウェアをコンパイルしてから焼き付けコマンドを再実行するだけで更新できますが、IDが見つかるか、Klipperが接続されていることを確認してください
python3 ~/klipper/lib/canboot/flash_can.py -u <MCU ID>
ファームウェアが起動しているか確認
- ファームウェアが正常に起動するとLEDが点灯します