单片机学习小组
登录
直播中
苹果派派
11年用户
629经验值
私信
关注
STM32 J-LINK/ST-Link/CMSIS-DAP对比分析哪个好?
开启该帖子的消息推送
MCU 8051
STM32
J-LINK/ST-Link/CMSIS-DAP对比分析哪个好?
回帖
(1)
褚毕赋
2022-2-8 09:37:32
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脚(TDOSWO对应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根线;
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脚(TDOSWO对应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根线;
举报
更多回帖
rotate(-90deg);
回复
相关问答
MCU 8051
MCUXpresso是否支持检测和使用以
CMSIS-DAP
模式运行的
J-Link
探针?
2023-04-25
412
如何还原NUCLEO-L053R8的
ST-Link
固件?
2023-01-06
188
通过GUI闪存工具使用板载
CMSIS-DAP
对其进行编程,使用
哪个
连接脚本?
2023-03-16
300
CMSIS-DAP
的LPC-
Link
2问题求解
2023-03-16
332
请问
J-link
和
CMSIS-DAP
仿真器哪一个更好用?
2023-11-06
423
STM32
仿真器是选择
ST-LINK
还是选择
J-LINK
?各有什么优势啊?
2024-05-13
528
如何制作
ST-Link
PCB?
2022-02-17
895
使用
st-link
或者
j-link
下载一次后就无法再次下载怎么解决?
2022-01-27
736
CMSIS-DAP
调试MCU-
Link
Pro到LPC832的引出线,连接目标失败的原因?
2023-03-15
295
J-LINK
或者
ST-LINK
在线调试有什么优点啊
2018-10-02
6066
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分