概要
probe-rs は Raspberry Pi 4B での JTAG デバッグをサポートしています。これは、カスタム OS やブートローダー、Linuxカーネル、またはボード上で動作するハイパーバイザーのデバッグに使用できます。
JTAG をサポートするデバッグプローブが必要です。Raspberry Pi では SWD はサポートされていません。J-Link プローブで広範にテストされていますが、probe-rs がサポートする ARM および JTAG 対応のプローブであれば動作するはずです。
32 ビットおよび 64 ビットの CPU モードの両方をサポートしています。probe-rs は CPU が動作しているモードを自動的に検出し、それに応じて調整します。
セットアップ
GPIO 経由で JTAG 信号を出力できるように、Raspberry Pi を設定する必要があります。これは、SD カード上の boot/config.txt に次の内容を追加することで行えます。
# プルダウンを無効化gpio=27=pu
# JTAG を有効化enable_jtag_gpio=1このボードには JTAG コネクタがありません。JTAG 信号は 40 ピンの GPIO ヘッダーに出ており、ジャンパー線でプローブに接続する必要があります。
| 信号 | GPIOピン | JTAG 2x10コネクタピン |
|---|---|---|
| TRST | GPIO22 | 3 |
| RTCK | GPIO23 | 11 |
| TDO | GPIO24 | 13 |
| TCK | GPIO25 | 9 |
| TDI | GPIO26 | 5 |
| TMS | GPIO27 | 7 |
少なくとも TDO、TCK、TDI、TMS、およびグラウンドピンをプローブに接続する必要があります。TRST も接続し、さらにプローブの VTref ピンを Raspberry Pi の 3.3v 出力ピンに接続することを推奨します。
probe-rs の使用
probe-rs で使用するチップ名は RaspberryPi4B です。接続時には、プロトコルを明示的に JTAG と指定してください。そうしないと接続エラーが発生する可能性があります。たとえば、gdb サーバーを使用するには次のようにします。
probe-rs gdb --protocol jtag --chip RaspberryPi4B