probe-rs 和 cargo-embed

probe-rs 是一个方便的嵌入式调试工具集,跟 OpenOCD 较为相似,但集成度更高。

  • 通过 CMSIS-DAP、ST-Link 和 J-Link 探针实现 SWD(串行调试)和 JTAG
  • GDB 桩和 Microsoft DAP(调试适配器协议)服务器
  • Cargo integration

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(实时传输)是一种通过多个环形缓冲区,在调试主机和目标之间进行数据传输的机制。