作者: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-

猜你喜欢

再论PID,PID其实很简单。。。

聊聊指针

看完这篇文章,还不会做平衡小车,你来打我。

最 后

若觉得文章不错,转发分享,也是我们继续更新的动力。

5T资源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,PCB、FPGA、DSP、labview、单片机、等等

在公众号内回复「更多资源」,即可免费获取,期待你的关注~

长按识别图中二维码关注

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

  1. 使用STM32F103CBT6自制ST LINK V2-1多功能烧录器

    基于STM32的ST LINK V 2-1多功能烧录器制作 前 言 根据官方相关文档可知 ST LINK V2-1拥有以下四大功能: ST LINK V2-1制作教程和资料说明 主空部分原理图(参考) ...

  2. ST-LINK Utility + ST LINK+ STM32G474 erase chip fails

    今天遇到个诡异的问题,用ST-LINK Utility修改STM32G4XX的option byte 和下载程序时,突然发现MCU flash里的内容全为0.. 并且用full chip erase ...

  3. 安装ST LINK驱动后显示成功,但无法识别问题的解决办法之一

    如果你遇到:STM32安装ST LINK驱动后显示成功,但会显示各种"NO ST-LINK detected",或者用XCOM显示没有搜到接口以及设备管理器没有显示驱动的情况,而且 ...

  4. 使用STM32 ST-LINK Utility 烧录程序,ST LINK烧录程序,解锁FLASH

    关键词:ST LINK烧录程序,STLINK烧录程序,ST-LINK烧录程序,STLINK烧录程序,ST LINK解锁Flash 1.读取STM32内部FLASH及芯片信息 使用ST-Link连接硬件 ...

  5. st-link v2怎么连接_使用ST Link下载和进行调试输出

    ST LINK引脚定义和对应MCU引脚如下图 ​ ​ 只有下载功能,接线方式如下: ST LINK引脚序号 ST LINK引脚名称 STM引脚 19 VDD ST Link的2号TVCC引脚 1 TV ...

  6. 整理ST Link V2 与stm32连接经过

    整理ST Link V2 与stm32连接经过 一.购买合适的ST Link V2仿真器: 二.下载ST Link V2的驱动并安装: 本人过程并没有修改安装路径,直接下一步,对于驱动最好为默认安装路 ...

  7. STM32 ST link V2 固件 ST-LinkV2.J16.S4.hex

    STM32 ST link V2 固件 将一个STM32F103C8T6变成ST link V2 STM32 ST link V2 固件 ST-LinkV2.J16.S4.hex https://do ...

  8. 正点原子STM32103 战舰V3 开发板的ST LINK(SWD)接线图

    正点原子STM32103 战舰V3 开发板的ST LINK(SWD)接线如下图,5V供电旁边有个自锁开关,需要按下去(右下角有个POWER蓝色灯会点亮)才是上电的,另外另外根据实验测试使用ST LIN ...

  9. SAStruts リンク記述におけるs:linkとhtml:linkの比較

    http://localhost:8080/app/subapp/action/method/1 ホスト名以降.「メインアプリ/サブアプリ/アクション/メソッド/パラメータ」とします. SAStrut ...

  10. STM32开发笔记之——CMSIS DAP

    都说开发stm32都是使用kail iar+jatg/swd的方式,然而arm公司已经开发出了CMSIS DAP的开源下载工具,全称是CoreSight Debug Access Port,网络上有大 ...

最新文章

  1. 双时隙的工作原理_工业内窥镜的原理是什么?有哪些测量方法
  2. matlab 级联cic,Matlab中CIC滤波器的应用
  3. kafka传递文件_从面试角度一文学完 Kafka
  4. 主板螺丝是机箱配还是主板配_要配新电脑,A520主板和B450主板哪一个更加值得购买?...
  5. mysql oracle 表空间大小_Oracle各种空间大小及占用大小
  6. 智能标注、电力和地下管网巡检,CV算法落地方案
  7. 2017.10.24 上升序列 思考记录
  8. 利用ros3d.js实现 turtlebot3 在web 端显示并导航
  9. Redis五大数据类型
  10. 6. php 基本语法
  11. 修改Apache配置文件开启gzip压缩传输
  12. Error: DPI-1047: Cannot locate a 64-bit Oracle Client library: “问题
  13. c语言输入1显示你好,你好,求指教!该怎么用C语言的scanf实现一次输入若干个数据...
  14. 30种常用管理工具模型整理分享(下)
  15. 电力大数据存在的问题和解决方案
  16. wp缩略图php,wordpress缩略图彻底解决方法,自动获取第一张图片缩略图
  17. html页面如何实现搜索功能,使用jQuery怎么实现一个页面关键字搜索功能
  18. 数码相机和单反相机有什么区别?(已解决)
  19. 福禄克FLUKE DTX-1800和DSX2-8000系列电缆认证分析仪如何导出测试报告?
  20. 楼宇控制服务器显示FT,【产品介绍】楼宇智控系统

热门文章

  1. 502 Bad Gateway - Registered endpoint failed to handle the request
  2. 将Fiddler的服务器证书导入到Java的cacerts证书库里
  3. 一个最简单的bootstrap例子
  4. How to configure a different backend system for OData consumption
  5. nodejs部署神器pm2的使用体验
  6. 如何分析SAP CRM UI label显示成technical name的问题
  7. TypeScript的非空断言操作符(感叹号)
  8. 中leetcode提示未登录_分享一款将 LeetCode 中 AC 的题目转化为 MarkDown 表格的插件...
  9. python概念英文版_python重要概念
  10. 人类一败涂地做图教程_《人类一败涂地》形象绘画技巧图文指南