probe-rscargo-embed

probe-rs は、OpenOCD に似ていますが、より緊密に統合された、組み込みデバッグ向けの便利なツールセットです。

  • CMSIS-DAP、ST-Link、J-Link プローブ経由の SWD(Serial Wire Debug)と JTAG
  • GDB スタブと Microsoft DAP(Debug Adapter Protocol)サーバー
  • Cargo 統合

cargo-embed は、バイナリのビルドとフラッシュ、RTT(Real Time Transfers)出力のログ記録、GDB への接続を行うための cargo サブコマンドです。設定は、プロジェクトディレクトリ内の Embed.toml ファイルで行います。

  • CMSIS-DAP は、インサーキットデバッガーがさまざまな Arm Cortex プロセッサの CoreSight Debug Access Port にアクセスするための、USB 上の Arm 標準プロトコルです。これは、BBC micro:bit のオンボードデバッガーで使われているものです。
  • ST-Link は ST Microelectronics のインサーキットデバッガー製品群で、J-Link は SEGGER の製品群です。
  • Debug Access Port は通常、5 ピンの JTAG インターフェースまたは 2 ピンの Serial Wire Debug のいずれかです。
  • probe-rs は、必要に応じて自分のツールに組み込めるライブラリです。
  • Microsoft Debug Adapter Protocol により、VSCode やその他の IDE は、サポートされている任意の マイクロコントローラー上で実行されるコードをデバッグできます。
  • cargo-embed は、probe-rs ライブラリを使ってビルドされたバイナリです。
  • RTT(Real Time Transfers)は、複数のリングバッファを介してデバッグ ホストとターゲットの間でデータを転送する仕組みです。