原文链接:CMSIS-DAP: Overview


CMSIS-DAP 概述

许多 Arm Cortex 处理器实现了 CoreSight DAP,为其提供了强大的片上调试和跟踪功能。CMSIS-DAP 作为一种协议规范和固件实现,允许在以下两者之间进行标准化通信:

  • 运行嵌入式应用程序的 Arm Cortex 处理器;

  • 运行在主机计算机上的软件调试工具。

CMSIS-DAP 支持通过 CoreSight DAP 支持的物理接口与目标处理器连接:5 针 JTAG 或 2 针串行线调试(SWD)接口。此外,它还可以通过 UART 提供串行到 USB 的通信。CMSIS-DAP 支持包含一个或多个 Arm Cortex 内核的目标设备。

与调试程序的通信使用 USB 连接。一组广泛的 CMSIS-DAP 命令使得无论实际探针如何,都能实现统一的支持。

CMSIS-DAP 固件提供了 CMSIS-DAP 概念的模板实现,以及多个流行调试单元的示例项目。可以使用相关脚本验证调试探针是否符合 CMSIS-DAP 的要求。

注意:

  • CMSIS-DAP v1.x 已被弃用,不建议用于新设计。

  • 建议使用 CMSIS-DAP v2.x,它提供高速 SWO 跟踪流,并且在现代操作系统(Mac OS、Linux、Windows)中无需安装驱动程序。


特性和优势

  • 为调试器提供标准化接口,支持多种标准调试器。

  • 访问所有 Cortex 处理器架构(Cortex-A/R/M)的 CoreSight 寄存器。

  • 通过 5 针 JTAG 或 2 针串行线调试(SWD)连接。

  • 支持多核调试。

  • 支持 Cortex-M 设备的串行线输出(SWO)。

  • 易于部署到基于 Cortex-M 微控制器的调试单元。

  • 调试单元可以集成在评估板上。

  • 使用 USB 批量传输,避免在主机 PC 上安装驱动程序。

  • 支持时间关键的 JTAG 或 SWD 命令执行。

  • 支持使用调试单元进行时间测量的测试域计时器(Test Domain Timer)。

  • 支持 UART 通信端口,可选择路由到 USB COM 端口或原生 CMSIS-DAP 命令(CMSIS-DAP v2.1.0 中的新功能)。

  • 支持使用供应商特定命令进行灵活定制。


访问 CMSIS-DAP

CMSIS-DAP 在 GitHub 仓库 上积极维护,包含 CMSIS-DAP 固件的完整源代码以及相关文档。仓库结构如下:

  • Documentation:包含 CMSIS-DAP 文档的源文件。

  • Firmware:包含 CMSIS-DAP 固件的源代码和示例项目。

  • LICENSE:许可证协议(Apache 2.0)。

  • README.md:仓库描述文件。

有关 CMSIS 软件组件、工具和规范的概述,请参阅 CMSIS 文档。


支持的工具和探针

CMSIS-DAP 在流行的嵌入式软件开发工具中得到了广泛支持。以下是一些关键示例:

软件开发工具和框架:

此外,许多芯片供应商的开发工具也依赖 CMSIS-DAP 协议与设备通信。

调试适配器:

CMSIS-DAP 固件提供了源代码、示例和指南,用于在自定义调试单元上启用 CMSIS-DAP。


许可证

CMSIS-DAP 由 Arm 免费提供,遵循 Apache 2.0 许可证。


Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐