现在市面上的单片机调试器种类太多了,什么jlink-ob、DAPLink、j-link PRO、ST-Link......
今天就来全部介绍并且梳理一下。
一、Segger的正版j-Link家族
首先来看一下正版的j-Link,速度和性能当然是最好的,还有各种附加功能,比如支持网路、Wifi等,同时使用Segger的j-Link可以很方便的使用他们家的各种调试软件。当前他们家的调试器价格也是很贵的,比如J-Link Pro原装进口的要8000多。相比起来J-Link EDU应该是性价比最高的,功能比较齐全而且价格比较亲民,只是速度比较一般,足够用了。
产品系列和功能对比如下:
实物图:
详情可以访问Segger的官网:https://www.segger.com/products/debug-probes/j-link/
二、DAPLink(CMSIS-DAP)
1、介绍
DAPLink之前叫CMSIS-DAP。它的硬件和软件都是开源的(开源的Github网址:https://github.com/ARMmbed/DAPLink),它支持对运行在Arm Cortex的单片机上的应用软件进行编程和调试。DAPLink的源码是开源的,意味着你可以对代码进行修改、提速、增加功能等,比如可以改为无线调试、Wifi功能等。它连接到目标MCU的swd或jtag端口。因为要实现DAPLink只需要一个MCU而且外围器件很少,所以很多官方的开发板上都集成了DAPLink。DAPLink的串口功能和SWD、JTAG模式连接关系如下:
2、常见的DAPLink原理图:
3、DAPLink的特点包括:
1)、MSC-支持拖拽式编程Flash,把DAPLink连接电脑后,电脑上会出现一个U盘,把hex或bin文件拖入其中就能完成程序烧写。
2)、CDC-虚拟串口,把DAPLink连接电脑后,电脑上会出现一个串口,可以使用串口助手打开实现与目标板的串口通信。
3)、DAPLink本身的固件支持U盘升级,只需将nRST接地,插入DAPLink,PC上即会出来一个U盘,只需将新的固件(hex或者bin文件)拖入到U盘中,即可完成固件升级。因为DAPLink实现了一个带U盘功能的bootloader,可以方便的完成固件升级。“若您有基于STM32的产品正在量产,而且产品后续可能需要升级,则DAPLink中的bootloader代码非常值得您参考,客户端不需要安装复杂的IDE或者烧写工具才能完成升级,只需拖动到U盘即可方便的完成您的产品升级。”
4)、支持主流上位机调试软件,包括keil、IAR、openocd,均支持使用SWD进行下载、单步调试。
5)、免驱动,插上就能用。
4、缺点:
因为原生的DAPLink使用的全速USB2.0,所以程序下载速度会受限于USB的传输速度,如下是缪斯实验室(https://item.taobao.com/item.htm?spm=a230r.1.14.10.7b1c3c3ektIGGu&id=586425846353&ns=1&abbucket=2#detail)的测试。当然因为DAPLink是开源的,所以可以自己把DAPLink移植到具有高速USB功能的单片机上去。
5、DIY教程,推荐https://www.cirmall.com/circuit/11016 和https://www.cirmall.com/circuit/9062
三、J-Link OB
1、介绍
J-Link-OB是由SEGGER开发的一套独立的调试下载器,通常被设计到各大公司的评估板上(“on-board”),这也是后缀为“OB”的原因。
2、一般原理图
3、DIY教程:https://blog.csdn.net/Hello_World_CWB/article/details/79236385和https://www.cnblogs.com/whik/p/10846032.html
四、ST-Link
ST-Link则是ST自己出的J-Link OB方案。区别不大。
五、总结
可以看到DAPLink、J-link OB、ST-Link的硬件电路都是一个单片机的最小电路,然后引出两个普通IO作为SWDIO、SWCLK给目标单片机烧写程序,只是他们的固件稍有不同。硬件的相同,决定了他们的烧录性能及其他功能都大同小异。甚至可以相互刷机改变,如廉价仿真器STLINK-V2变身V2-1,J-LINK-OB,CMSIS-DAP,DAPLink