查看原文
其他

CMSIS-DAP和J-Link、ST-Link是什么关系?

strongerHuang strongerHuang 2021-02-01
关注、星标公众,不错过精彩内容

作者:strongerHuang

公众号:strongerHuang


学习过STM32或Cortex-M处理器的读者对J-Link、ST-Link应该不陌生,都知道它们是下载调试器。


除了J-Link、ST-Link常见的调试器,市面上还有一种常见CMSIS-DAP Debugger,在Keil或IAR选择调试器的时候,会有一些调试器选项。


折腾过市面上调试器的读者应该发现一个问题,有一些不同的调试器,在Keil选择调试器都选择CMSIS-DAP Debugger,比如:E-Link、 GD-Link等。


那么,问题来了,CMSIS-DAP是什么?和J-Link、ST-Link有关系吗?


一、关于CMSIS-DAP

之前的文章《Cortex-M微控制器软件接口标准CMSIS详细内容》有简单描述CMSIS-DAP的内容。


CMSIS:Cortex Microcontroller Software Interface Standard,即Cortex微控制器软件接口标准。


DAP:Debug Access Port,调试访问端口。

CMSIS-DAP支持各种Cortex处理器CoreSight调试和跟踪。


CMSIS-DAP为调试器提供标准化的接口,支持5线JTAG或2线SWD,其固件作为源代码提供。



CMSIS-DAP更多信息参考地址:

https://arm-software.github.io/CMSIS_5/DAP/html/index.html

http://www.keil.com/support/man/docs/dapdebug/dapdebug_introduction.htm


二、CMSIS-DAP固件

上面说了CMSIS-DAP固件有Arm以源码形式提供,不存在版权问题(因为针对Arm Cortex处理器,他们还希望更多人使用)。


1.固件版本

目前有两个版本:

版本1配置使用USB HID作为与主机PC的接口。

版本2配置使用WinUSB作为与主机PC的接口,并提供高速SWO跟踪流。


2.源码位置

目前源码提供在Keil MDK V5版本,安装好Keil MDK,你在安装目录下就能找到源码。


C:\Keil_v5\ARM\Packs\ARM\CMSIS\5.6.0\CMSIS\DAP\Firmware

(目前MDK V5.29,CMSIS版本为5.6.0)


3.源码描述

从文件目录可以看出,官方源码提供了一些模板和例子。


目前只提供了LPC处理器的例子,如果你有这个处理器对应的板卡,可以直接使用该源码做一个调试器。


三、CMSIS-DAP Debugger

通过上面的介绍,你应该发现了CMSIS-DAP就是一套针对Cortex处理器的标准调试接口(协议),开发者可以在其基础上开发一套调试器,只需要遵从这套协议即可。


因此,你们看到的一些调试器,其实就是应用了这套标准的协议。在J-Link、ST-Link里面使用的协议也不列外。


感兴趣的朋友,可以花时间研究,并自制一个CMSIS-DAP调试器,如果你懂原理,我觉得你自己编写一套ST-Link源码都不是问题。


免责声明:本文部分素材来源网络,版权归原作者所有。如涉及作品版权问题,请与我联系删除。


‧  END  ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧
推荐阅读:
精选汇总 | 目录 | 搜索
详解消灭EMC的三大利器:电容器/电感/磁珠
Cortex-M微控制器软件接口标准CMSIS详细内容

微信公众号『strongerHuang』,后台回复“1024”,查看更多精彩内容


长按前往图中包含的公众号关注

Modified on

    您可能也对以下帖子感兴趣

    VMP源码分析:反调试与绕过方法
    TASKING增强对恩智浦汽车微控制器和处理器的工具支持
    做键盘必备,抛掉ST-Link,STM32F103通过USB烧录,STM32duino-bootloader踩坑记录
    实战大师课来袭!大神张银奎教你用硬件调试器看透ARM
    西南财经大学天府学院2024年秋季学期教师招聘公告

    文章有问题?点此查看未经处理的缓存