probe-rs and cargo-embed

probe-rs 是適用於嵌入式偵錯的實用工具組,就像 OpenOCD,但整合效果更好。

  • 透過 CMSIS-DAP、ST-Link 和 J-Link 探測器執行 SWD (序列線偵錯) 和 JTAG
  • GDB 虛設常式和 Microsoft DAP (偵錯轉接程式通訊協定) 伺服器
  • Cargo 整合

cargo-embed 是 Cargo 子指令,用於建構和刷新二進位檔、記錄 RTT (即時傳輸)輸出內容,以及連結 GDB。這個指令是由專案目錄中的 Embed.toml 檔案來設定。

  • CMSIS-DAP 是針對 USB 的 Arm 標準通訊協定,供電路內偵錯工具存取各種 Arm Cortex 處理器的 CoreSight 偵錯存取埠。這就是 BBC micro:bit 內建偵錯工具所使用的通訊協定。
  • ST-Link 是 ST Microelectronics 推出的一系列電路內偵錯工具,J-Link 系列則來自 SEGGER。
  • 偵錯存取埠通常是 5 接腳的 JTAG 介面或 2 接腳的序列線偵錯介面。
  • 您可以視需要將 probe-rs 程式庫整合至自己的工具。
  • Microsoft 偵錯轉接程式通訊協定允許在任何支援的微控制器上執行 VSCode 及其他 IDE 偵錯程式碼。
  • cargo-embed 是使用 probe-rs 程式庫建構的二進位檔。
  • RTT (即時傳輸) 這種機制是透過多個環形緩衝區,在偵錯主機和目標之間傳輸資料。