probe-rs
Rustで書かれたデバッグ・書き込みツール群。OpenOCDを介さずに、ほとんどのプローブと直接やり取りできる。
2019年ごろ、Rustの組み込みコミュニティから生まれた。OpenOCD、GDB、設定スクリプトという連鎖を、ただ動くものに置き換えるのが目的だった。ライブラリであると同時にコマンド群でもある。cargo flash はファームウェアを書き込み、cargo embed は書き込みに加えてRTTログを開く。内蔵のDebug Adapter ProtocolサーバーによってVS Codeからターゲットをそのままステップ実行できる。
対応プローブはCMSIS-DAP、ST-Link、J-Link、ESP32内蔵のUSB-JTAGなど。チップの定義は手書きのTclではなく、ベンダーのCMSISパックから生成される。Rust製ファームウェアに限定されるわけではなく、GCCでビルドしたELFも問題なく書き込めるが、デファクトになったのはRustの世界だ。