1.J-Link

J-Link是德国SEGGER公司为支持仿真ARM内核芯片推出的JTAG仿真器,很多ARM芯片的接口协议是JTAG,JLink一端接电脑USB接口,一端接CPU的JTAG接口,JLink充当的作用就是USB转JTAG,支持JTAG和SWD两种模式。

  • 可配合IAR EWAR,ADS,KEIL,WINARM,RealView等集成开发环境;
  • 支持ARM7/ARM9/ARM11,Cortex M0/M1/M3/M4,Cortex A5/A8/A9等内核芯片的仿真;

JLINK-JTAG下载方式:

                jlink的第1脚(VDD)第3脚(TRST对应stm32的PB4)第5脚(TDI对应stm32的PA15)第7脚(TMS/SWDIO对应stm32的PA13)第9脚(TCK/SWCLK对应stm32的PA14)第13脚(TDO\SWO对应stm32的PB3)第15脚(RESET对应stm32的NRST)第4.6.8.10.12.14.16.18.20中的任意一个脚(地脚)。

JLINK-SWD下载方式:

                 jlink的第1脚(VDD)第7脚(TMS/SWDIO对应stm32的PA13)第9脚(TCK/SWCLK对应stm32的PA14)第4.6.8.10.12.14.16.18.20中的任意一个脚(地脚)第15脚(RESET对应stm32的NRST)可接可不接。

1)J-Link下载程序时先安装J-link驱动,打开MDK,并按下面指示配置

2)选择J-LINK,点击setting

3)配置flash download

下面简单的说一下什么是JlinkOB 。Jlink_ob 官方说法(简单来说是“板载调试”J-Link OB是一种板载调试探针,作为您的评估板的一部分。 微控制器的一侧有USB接口,设备侧有JTAG / SWD + SWO等接口。 它允许调试随附的板上的目标器件,而无需额外的调试探针。 J-Link OB由多个评估板制造商用于各种目标CPU的各种评估板上。以前我们下载MCU程序是用ST-Link或JLink这个东西很贵,功能很强大,体积也大。但是实际上我们常用的就是下载程序,而且我们用的最多的是SWD下载,所有就有了JLinkOB这个东西,小巧实用。

这个项目是SEGGER公司的开源项目,有兴趣的朋友可以去官网看看,里面有很多关于JLinkOB 的说明文档和资料。

         原理图

原理图还是比较简单的,STM32最小系统+电阻电容,具体的原理,我还没看明白,USB接口连接到了PA11和PA12,STM32的这两个引脚可以用来模拟USB设备。另外,当时设计的时候,没有考虑到一些保护电路,如自恢复保险丝,所以实际使用时,要注意不要接反了

         PCB图

焊接了两块小板,焊接没什么难度,电阻电容大部分是0603封装,还比较好焊接。

如果某个阻值的电阻没有,如上下拉电阻和限流电阻,可以用相近的阻值来替换,不过个别电阻最好使用对应的值,如R5、R12,如果不一样,可以会导致USB识别失败。

确保电源没问题后,就可以下载固件了,使用另一个调试器,配合JFlash或者ST-LINK Utility烧录软件,SWD模式,把hex固件烧录进去,重新上电,就可以看到设备管理器里多了一个Jlink driver,打开Keil选择Jlink调试器,试一下看能不能用,第一次使用会提示升级固件,可以放心点击升级,这样就会把当前JlinkOB的固件升级到最新版本。SWD方式连接好ARM芯片,如STM32,可以看到成功检测到芯片,而且速度最大支持50MHz。

说明:这里采用SWD下载方式,可以用的JLink连接需要下载固件的JLink,这里焊上排针不好看就直接用杜邦线斜着插,稍微上点力就能有效连接了。
                SWDIO-------------------------SWDIO
                SWCLK-------------------------SWCLK
                VCC-----------------------------VCC
                GND----------------------------GND

2.ST-Link

ST-Link是ST意法半导体为评估、开发STM8/STM32系列MCU而设计的集在线仿真与下载为一体的开发工具,支持JTAG/SWD/SWIM三种模式。

  • 支持所有带SWIM接口的STM8系列单片机
  • 支持所有带JTAG/SWD接口的STM32系列单片机

3.CMSIS-DAP

CMSIS-DAP 是一个协议规范和支持访问 CoreSight 调试访问端口(DAP)的固件实现。为各种 Arm Cortex 处理器提供 CoreSight 调试和跟踪。CMSIS-DAP 支持包含一个或多个 Cortex 处理器的目标设备。一个设备提供一个调试访问端口(DAP) ,通常有一个5针的 JTAG 或一个连接到调试单元的2针的串行有线调试(SWD)接口。CMSIS-DAP 是连接 Debug Port 和 USB 的调试单元的接口固件。在主机上执行的调试器通过 USB 和调试单元连接到运行应用软件的设备。

  • 支持各种Cortex处理器CoreSight调试和跟踪。
  • 为调试器提供标准化的接口,支持5线JTAG或2线SWD,其固件作为源代码提供

DAPLink之前叫CMSIS-DAP。它的硬件和软件都是开源的(开源的Github网址:https://github.com/ARMmbed/DAPLink),它支持对运行在Arm Cortex的单片机上的应用软件进行编程和调试。DAPLink的源码是开源的,意味着你可以对代码进行修改、提速、增加功能等,比如可以改为无线调试、Wifi功能等。它连接到目标MCU的swd或jtag端口。因为要实现DAPLink只需要一个MCU而且外围器件很少,所以很多官方的开发板上都集成了DAPLink。DAPLink的串口功能和SWD、JTAG模式连接关系如下:

常见的DAPLink原理图:

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. ULink

ULINK已经停产,在售的是ULINK2和ULINKpro版本,ULINK2是ARM/KEIL公司(2005年ARM收购了KEIL)最新推出的配套RealView MDK使用的仿真器,ULINK2仿真器也被称为Keil ULINK2、ARM ULINK2仿真器。

ULINK2仿真器支持:

  • 片上调试(使用片上JTAG/SWD/SWV)
  • FLASH存储器编程(用户可配置FLASH编程算法)
  • 以下是各版本ULINK仿真器的区别,可见支持的芯片内核,软件开发工具等内容;

总结一下J-Link、ST-Link、ULink三种仿真器之间的区别:

  • JLink是通用型的ARM内核芯片仿真器,支持的芯片和软件开发环境多,优选;
  • ST-Link是针对STM8/STM32,如果你使用STM8/STM32单片机,首选ST-Link,当然用JLink下载ST系列单片机也可以;
  • ULink专注于Keil平台,支持ARM7/9,Cortex-M0~M4,ULink2还支持8051系列芯片,综合性能(支持芯片种类、软件开发环境及及调试速度)均不如JLink;
  • 三者都支持JTAG和SWD模式;

总结一下JTAG、SWD、SWIM三种下载模式的区别:

  • JTAG接线比较多,高速模式下稳定性不如SWD;
  • SWD接线少,可空出多余的GPIO,所需要的接线信号不同仿真器会有所差别(主要在VCC和RESET),DIO和CLK必接;
  • SWIM常见于STM8单片机,需用4根线;

STM32 J-LINK、ST-Link、CMSIS-DAP相关推荐

  1. NOIp 数据结构专题总结 (1):STL、堆、并查集、ST表、Hash表

    系列索引: NOIp 数据结构专题总结 (1) NOIp 数据结构专题总结 (2) STL structure std::vector #include <vector> std::vec ...

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

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

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

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

  4. 日常英语---九、MapleStory Link Skills Guide

    日常英语---九.MapleStory Link Skills Guide 一.总结 一句话总结:选最值得练的link技能列上来,先熟悉一部分,没必要一开始就全部弄懂,这样压力太大,可以先熟悉比较有意 ...

  5. 在CSS中定义a:link、a:visited、a:hover、a:active顺序

    摘自:http://www.qianyunlai.com/post-2.html 以前用CSS一直没有遇到过这个问题,在最近给一个本科同学做的项目里面.出现一些问题,搜索引擎查了一些网站和资料,发现很 ...

  6. a与a:link、a:visited、a:hover、a:active

    起因: a与a:link的CSS代码处,忽觉茫茫然不知所以然:这a的CSS和a:link什么关系?貌似有些冲突啊?还有这a:link. a:visited.a:hover.a:active伪类之间有没 ...

  7. 配置数据引擎(BDE、SQL Link)的简单方法 /制做快速按钮条的方法/建立临时表的方法

    配置数据引擎(BDE.SQL Link)的简单方法 在 数据库 程序分发时,需要携带数据引擎(BDE.SQL Link),并且在客户端安装完程序后还需要配置数据引擎,如用户名(username).密码 ...

  8. 【经验】在CSS中定义超链接样式a:link、a:visited、a:hover、a:active的顺序

    以前用CSS一直没有遇到过这个问题,在最近给一个本科同学做的项目里面.出现一些问题,搜索引擎查了一些网站和资料,发现很多人问到这个问题,给出的结果我试了试,大部分都不正确. 给出我试的顺序,可能会对大 ...

  9. link library 、target library、symbol library、synthetic library对照分析-基础小知识(九)

    文章目录 1.1 概念介绍 1.2 疑问解析 参考文档 DC 应用过程中涉及link library .target library.symbol library.synthetic library, ...

  10. 【Linux命令】ip addr、ip link、ifconfig 用法 二

    文章目录 1. 前言 2. ip link 2.1 ip link add 2.1.1 命令实例 2.2 ip link set 2.3 ip link show 2.4 ip link delete ...

最新文章

  1. python爬取图片全网通_UC头条:全网通杀——暴强工具推荐: 下载你看到的任意视频...
  2. 物联网智能网关应用系统的一般设计方法
  3. 封装算法: 模板方法(Template Method)模式
  4. 外卖侠cps V5.6版本小程序源码_支持多种CPS收益和流量主收益
  5. 查找主机信息的两个协议:DHCP协议+NBNS协议
  6. 网易邮箱支持手机收发邮件的服务器,[IT博览]网易163/126免费邮箱100%兼容iPhone/iPad邮件收发...
  7. 诗词大全给力版_思维导图 | 6种高效记忆法,教你速背古诗词!
  8. 恢复Windows10的经典照片查看器
  9. npm查看源地址以及更换源地址
  10. 纵横算法之二:社招如何面对算法面试
  11. 2019年6月4日 VIVO提前批笔试 题目3
  12. go语言实现简单的在线词典
  13. [XSY 3147]子集计数
  14. 麒麟信安:从“一云多芯”到“三V一体”,创新从来不是一句空话
  15. I. chino with mates
  16. 23.5 jumpserver介绍
  17. 爱鸿森技术引进创新方法
  18. 零基础学python鱼c-鱼C-小甲鱼 零基础入门学习Python 97节课程
  19. 2016-2017 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2016)题解
  20. Element UI 中table合并单元格

热门文章

  1. java 高德地图 车型比价计算_高德地图的高速公路过路费计算功能是如何实现的?有相应开放的API吗?...
  2. java 蓝桥杯 Huffuman树
  3. 机器学习集成模型学习——Boosting集成学习(四)
  4. 区块链矿池(pool)汇总(不定期更新,欢迎评论区留言)
  5. Linux文件名中加入时间
  6. Unity调试外部DLL
  7. 【APIO2009-3】抢掠计划
  8. Java虚拟机笔记(五):JVM中对象的分代
  9. cmd切换为administrator用户
  10. Linux如何自动获取IP地址