STM32 J-LINK、ST-Link、CMSIS-DAP
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相关推荐
- NOIp 数据结构专题总结 (1):STL、堆、并查集、ST表、Hash表
系列索引: NOIp 数据结构专题总结 (1) NOIp 数据结构专题总结 (2) STL structure std::vector #include <vector> std::vec ...
- 使用STM32 ST-LINK Utility 烧录程序,ST LINK烧录程序,解锁FLASH
关键词:ST LINK烧录程序,STLINK烧录程序,ST-LINK烧录程序,STLINK烧录程序,ST LINK解锁Flash 1.读取STM32内部FLASH及芯片信息 使用ST-Link连接硬件 ...
- 整理ST Link V2 与stm32连接经过
整理ST Link V2 与stm32连接经过 一.购买合适的ST Link V2仿真器: 二.下载ST Link V2的驱动并安装: 本人过程并没有修改安装路径,直接下一步,对于驱动最好为默认安装路 ...
- 日常英语---九、MapleStory Link Skills Guide
日常英语---九.MapleStory Link Skills Guide 一.总结 一句话总结:选最值得练的link技能列上来,先熟悉一部分,没必要一开始就全部弄懂,这样压力太大,可以先熟悉比较有意 ...
- 在CSS中定义a:link、a:visited、a:hover、a:active顺序
摘自:http://www.qianyunlai.com/post-2.html 以前用CSS一直没有遇到过这个问题,在最近给一个本科同学做的项目里面.出现一些问题,搜索引擎查了一些网站和资料,发现很 ...
- 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伪类之间有没 ...
- 配置数据引擎(BDE、SQL Link)的简单方法 /制做快速按钮条的方法/建立临时表的方法
配置数据引擎(BDE.SQL Link)的简单方法 在 数据库 程序分发时,需要携带数据引擎(BDE.SQL Link),并且在客户端安装完程序后还需要配置数据引擎,如用户名(username).密码 ...
- 【经验】在CSS中定义超链接样式a:link、a:visited、a:hover、a:active的顺序
以前用CSS一直没有遇到过这个问题,在最近给一个本科同学做的项目里面.出现一些问题,搜索引擎查了一些网站和资料,发现很多人问到这个问题,给出的结果我试了试,大部分都不正确. 给出我试的顺序,可能会对大 ...
- link library 、target library、symbol library、synthetic library对照分析-基础小知识(九)
文章目录 1.1 概念介绍 1.2 疑问解析 参考文档 DC 应用过程中涉及link library .target library.symbol library.synthetic library, ...
- 【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 ...
最新文章
- python爬取图片全网通_UC头条:全网通杀——暴强工具推荐: 下载你看到的任意视频...
- 物联网智能网关应用系统的一般设计方法
- 封装算法: 模板方法(Template Method)模式
- 外卖侠cps V5.6版本小程序源码_支持多种CPS收益和流量主收益
- 查找主机信息的两个协议:DHCP协议+NBNS协议
- 网易邮箱支持手机收发邮件的服务器,[IT博览]网易163/126免费邮箱100%兼容iPhone/iPad邮件收发...
- 诗词大全给力版_思维导图 | 6种高效记忆法,教你速背古诗词!
- 恢复Windows10的经典照片查看器
- npm查看源地址以及更换源地址
- 纵横算法之二:社招如何面对算法面试
- 2019年6月4日 VIVO提前批笔试 题目3
- go语言实现简单的在线词典
- [XSY 3147]子集计数
- 麒麟信安:从“一云多芯”到“三V一体”,创新从来不是一句空话
- I. chino with mates
- 23.5 jumpserver介绍
- 爱鸿森技术引进创新方法
- 零基础学python鱼c-鱼C-小甲鱼 零基础入门学习Python 97节课程
- 2016-2017 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2016)题解
- Element UI 中table合并单元格