良许Linux教程网 干货合集 CMSIS-DAP和J-Link、ST-Link的关系

CMSIS-DAP和J-Link、ST-Link的关系

熟悉使用Cortex-M处理器或STM32的读者对于J-Link和ST-Link这两个下载调试器应该不会感到陌生。除了这两种常见的调试器,市面上还存在另一种常见的调试器,即CMSIS-DAP Debugger。在选择调试器时,无论是在Keil还是在IAR,都会有一些调试器选项供选择。

image-20230814212606979
image-20230814212606979

折腾过市面上调试器的读者应该发现一个问题,有一些不同的调试器,在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,调试访问端口。

image-20230814212602854
image-20230814212602854

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

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

image-20230814212559974
image-20230814212559974

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.7.0\CMSIS\DAP\Firmware

(目前MDK V5.33,CMSIS版本为5.7.0)

image-20230814212557023
image-20230814212557023

3.源码描述

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

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

CMSIS-DAP Debugger

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

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

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

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部