USB ファームウェアのコンパイル
コンパイルの開始
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を選択し、**USB (on PA11/PA12)**を選びます。
-
Q
キーを押して Save configuration が表示されたら、Y
キーを押します。 -
これで設定が保存され、コマンドラインに戻ったはずです。
-
make -j4
を入力してコンパイルを開始します。時間がかかります。 -
最後に以下の内容が出力されれば、コンパイル成功です。
Linking out/klipper.elf
Creating hex file out/klipper.bin
書き込みモードの確認
- 上位機が正常にネットワークに接続できること、および下位機が上位機に接続するデータケーブルがデータ伝送機能を有していることを確認してください。
- SSH 接続で上位機に接続した後、
lsusb
と入力してエンターキーを押します。下の画像で囲まれた情報が表示されれば、次のステップに進めます。- 何の情報もフィードバックされない場合は、上位機のシステムの問題です。こちらではどうすることもできません。正常なシステムに変更するか、上位機を交換する必要があります。
lsusb
コマンドがないというメッセージが表示された場合は、このコマンドをインストールできますsudo apt-get install usbutils
1d50:6177
は今回使用するデバイスに属します。OpenMoko, Inc. stm32f407xx
のサフィックスはある程度の参考価値がありますが、判断基準とはなりません。- 一部の上位機はシステムの問題で、表示が不完全または表示されない場合があります。
lsusb
コマンドを入力してデバイスが表示されるが、1d50:6177
がない場合は、データケーブルを交換して、マザーボードを上位機の他の USB ポートに接続してみてください。
- もしあなたが以前に上記のステップを実行し、Klipper ファームウェアの書き込みに成功し、マザーボードが正常に動作しており、Klipper ファームウェアを更新するだけの場合は、このページの右側のメニューバーの「ファームウェア更新」セクションを直接参照してください。
1d50:6177
デバイスが検索されてから、次のステップに進めることができます
ファームウェアの書き込み
Katapultファームウェアを使用すると、後で直接SSH経由でファームウェアを更新でき、DFUモードに入る必要がなくなります。
フラッシュプラグインのインストール
フラッシュプラグインのインストールには、上位機がインターネットに接続されている必要があります。 既にインストールされている場合は、再度インストールする必要はありません。
-
pip install pyserial
をインストールしますpip install pyserial
-
-bash: pip: command not found
というメッセージが表示された場合は、以下のコマンドを実行してくださいsudo apt-get install pip
-
以下のようなエラーが表示された場合は、以下のコマンドを実行してください
pip install pyserial --break-system-packages
ファームウェアのフラッシュを開始
-
下のコマンドを使用してデバイスのシリアルポートアドレスを検索します
ls /dev/serial/by-id/*
-
以下は参考例です
-
ファームウェアのフラッシュには下記のコードを使用してください。ファームウェアが既にコンパイルされていることを確認してください。
=
の後にスペースはありません。 -
ファームウェアのフラッシュには、klipperディレクトリ内で作業する必要があります。
make flash FLASH_DEVICE=
-
以下は参考例です
-
フラッシュ完了時の参考例
ファームウェアの更新方法
-
USBファームウェアの更新には、最新のファームウェアをコンパイルした後、以下のコマンドを入力して更新します。
=
の後にスペースはありません。make flash FLASH_DEVICE=
-
USBブリッジCANファームウェアの更新には、最新のファームウェアをコンパイルした後、以下のコマンドを入力してKatapultにリセットします。
-
USBブリッジCAN用のklipperファームウェア以外にこのコマンドを実行するとエラーが発生します。
~/klippy-env/bin/python3 ~/katapult/scripts/flashtool.py -i can0 -r -u <MCU ID>
-
Katapultにリセット後、下記のコマンドを実行してファームウェアを更新します。
make flash FLASH_DEVICE=<あなたのデバイスのシリアルポートアドレス>
誤ったファームウェアの解決方法
- メインボードの電源を切って、再び電源を入れた後、迅速にメインボードのリセットボタンを2回押します。
- または、WINDOWSを使用してファームウェアをクリアし、BLを再インストールします。