プラットフォーム固有の事項
probe-rs は複数のプローブを標準でサポートしています。
そのほとんどは、ほとんど、あるいはまったくセットアップを必要としません。Linux では、管理者権限なしでアクセスするために udev ルール が必要です。
Linux: udev rules
デフォルトでは、Linux ベースのシステムでは、デバッグプローブには root 権限を持つユーザー のみがアクセスできます。root 権限を持たないユーザーにもデバッグプローブへのアクセスを許可 するため、適切な udev ルールを使用することを推奨します。
- rules ファイルをダウンロードし、 /etc/udev/rules.d に配置します。
- 新しいルールが使用されるように、
udevadm control --reloadを実行します。 - すでに追加されているデバイスにも新しいルールが適用されるように、
udevadm triggerを実行します。
これらの手順を実行してもデバッグプローブにアクセスできない場合は、ユーザーを plugdev グループ に追加してみてください。systemd のバージョンが v258 より新しい場合、このグループは システムグループである必要があります。この場合、udev ルールを修正するために次の コマンドを試せます:
sudo groupadd --system plugdevsudo usermod -a -G plugdev $USERWSL を使用している場合、
udevサービスを有効にする必要があることがあります。サービスが 実行中かどうかを確認するには、service udev statusを実行してください。サービスが起動して いない場合は、/etc/wsl.confを(sudo で)編集し、次の内容が含まれていることを確認してください:
[boot]command="service udev start"Windows: WinUSB drivers
一部のプローブ実装は nusb を使用して実装されており、これが Windows 上で WinUSB ドライバーを使用します。これらのデバイスでは Zadig をダウンロードし、プローブ用のドライバーとして WinUSB を選択 する必要があります。これにより公式ドライバーはアンインストールされるため、その後は 公式ツールが動作しなくなる可能性が高くなります。
CMSIS-DAP
CMSIS-DAP は ARM によって管理されているデバッグプローブ向けの標準です。この標準を 実装しているすべてのプローブが probe-rs でサポートされています。
セットアップ
Linux
Linux システムで CMSIS-DAP ベースのプローブを使用するために、追加のドライバーは必要ありません。 root 権限を持たないユーザーもデバッグプローブを使用できるようにするには、 udev ルール で説明されているように udev を設定することを推奨します。
Windows, macOS
ドライバーのインストールは不要です。
ST-Link
ST-Link は ST Microelectronics のデバッグプローブです。Discovery ボードや Nucleo ボード などの評価ボードによく搭載されています。
サポートされるバージョン
次の ST-Link バージョンがサポートされています:
- ST-Link V2、Firmware version 2.26 以降
- ST-Link V3、Firmware version 3.2 以降
ファームウェアが古いことを示すエラーメッセージが表示された場合は、公式の ST ツールを使用 してファームウェアを更新してください。更新ツールは ST website で入手できます。
セットアップ
Linux
Linux システムで ST-Link デバッグプローブを使用するために、追加のドライバーは必要ありません。 root 権限を持たないユーザーもデバッグプローブを使用できるようにするには、 udev ルール で説明されているように udev を設定することを推奨します。
Windows
Windows で ST-Link を使用するには、公式ドライバーをインストールする必要があります。これは 次の ST website で入手できます。
macOS
ドライバーのインストールは不要です。
SEGGER J-Link
J-Link は Segger のデバッグプローブです。単体製品として 提供されていますが、一部の評価ボードには直接統合されてもいます。
J-Link はプロプライエタリであるため、probe-rs では公式の J-Link ツールと同じ 速度は出ません。
セットアップ
Linux
Linux システムで J-Link デバッグプローブを使用するために、追加のドライバーは必要ありません。 root 権限を持たないユーザーもデバッグプローブを使用できるようにするには、 udev ルール で説明されているように udev を設定することを推奨します。
Windows
残念ながら、probe-rs は Windows で公式ドライバーでは動作しません。probe-rs を 使用するには、汎用の WinUSB ドライバーをインストールする必要があります。推奨される 方法は J-Link Configurator ツールを使用することです。J-Link Configurator ツールで汎用 WinUSB ドライバーを インストールするには:
- J-Link Configurator ツールをダウンロードします
- 更新したい J-Link プローブを接続します
- J-Link Configurator ツールを起動します
- 概要でプローブが表示されている項目を右クリックし、 Configure を選択します
- USB Driver (Windows) で WinUSB を選択します
- OK をクリックします
一部の J-Link プローブでは、設定ダイアログで WinUSB を選択するオプションが 無効になっている場合があります。この場合は、Zadig を使用して プローブ用の汎用 WinUSB ドライバーをインストールしてください。
macOS
ドライバーのインストールは不要です。
FTDI
FTDI は、FTDI の USB-JTAG ブリッジを使用して構築された デバッグプローブのファミリーを指します。probe-rs は次のチップをサポートしています:
- FT232H
- FT2232C, FT2232D, FT2232H
- FT4232H
これらのチップは構成の自由度が高いため、すべてのプローブが probe-rs によって認識される とは限りません。FTDI チップを搭載していることが分かっているプローブがあるにもかかわらず、 probe-rs がそれを認識しない場合は、GitHub でチケットを作成してください。
以下のデバイスが probe-rs で動作することが確認されています:
- esp-prog
- ESP32-Ethernet-Kit V1.2 のデバッグインターフェース
- Adafruit FT232H Breakout
- Olimex ARM-USB デバイス:
セットアップ
Linux
Linux システムで FTDI ベースのデバッグプローブを使用するために、追加のドライバーは必要ありません。 root 権限を持たないユーザーもデバッグプローブを使用できるようにするには、 udev ルール で説明されているように udev を設定することを推奨します。
Windows
残念ながら、probe-rs は Windows で公式の(VCP または D2xx)ドライバーでは動作しません。probe-rs を 使用するには、汎用の WinUSB ドライバーをインストールする必要があります。推奨される 方法は Zadig を使用することです。
macOS
ドライバーのインストールは不要です。
内蔵 USB-JTAG インターフェースを備えた ESP32 デバイス
一部のESP32デバイスには、デバッグプローブが内蔵されています。このインターフェースの有無はデバイスによって異なりますが、通常、デバイスに2つのUSBポートがあり、一方に USB、もう一方に UART とラベル付けされている場合は、USB と記されたポートがデバッグプローブとして機能する可能性が高いです。
セットアップ
Linux
LinuxシステムでESP32の内蔵デバッグインターフェースを使用するために、追加のドライバーは必要ありません。 root権限のないユーザーもデバッグプローブを使用できるようにするには、 udev ルール で説明しているとおりに udev を設定することを推奨します。
Windows, macOS
ドライバーのインストールは不要です。
一部のESP32デバイスには、誤った WinUSB Descriptor が設定されています。probe-rs list でデバイスが表示されるものの、probe-rs info が Could not find DeviceInterfaceGUIDs in registry で失敗する場合は、Zadig を使用してドライバーを再インストールする必要があるかもしれません。詳細については、この GitHub ディスカッションを参照してください: https://github.com/probe-rs/probe-rs/discussions/3193
Glasgow Interface Explorer
どのOSでも追加のドライバーは不要ですが、最初に付属の Python ツールキットを使用してデバイスを設定する必要があります。詳細については、インストール手順 を参照してください。
セットアップ
probe-rs を実行する前に、glasgow CLI コマンドを使用してターゲット電圧とピン配置を設定してください。
たとえば、ターゲットの SWCLK がピン “A0” に接続され、SWDIO が
ピン “A1” に接続されていて、3.3 V のロジックレベルを使用している場合は、次を使用します:
$ glasgow run probe-rs -V A=3.3 --swclk A0 --swdio A1glasgow コマンドのターミナル出力には、probe-rs の実行に必要な引数が含まれます。
“*V”(voltage)ピンはターゲットに電力を供給し、“*S”(sense)ピンは
ターゲットのロジック電圧レベルを測定する点に注意してください。たとえば、ターゲットが
基準電圧レベル(Vtg など)を提供する場合は、それを “AS” ピンに接続して、
次のように glasgow ツールを実行できます:
$ glasgow run probe-rs -V A=SA --swclk A0 --swdio A1電源を “*V” ピンに接続して、プローブに逆給電しないでください。
シリアルターミナルなどのほかのアプレットと一緒にデバッグプローブ機能を使用することも可能です。たとえば、ターゲットの送信線がピン “A2” に接続され、 受信線がピン “A3” に接続されている場合は、次のようにします:
$ glasgow multi probe-rs -V A=3.3 --swclk A0 --swdio A1 ++ uart --rx A2 --tx A3 --auto-baud