JLink 介绍
1 介绍
1.1 产品概述
- 型号:ARM V11
- IDE支持:KEIL/IAR/ADS
- 接口类型:JTAG/SWD
- 精密运行计时器:1
- 仿真电压:3.3V
- 通信方式:USB2.0
- 仿真频率:15MHz
1.2 V11 支持的 cores
-
Arm Cortex cores:
Cortex-A32/A35/A55/A57/A72, Cortex-R7/R8/R52/R52+, Cortex-M55/M85 -
Cadence Tensilica cores:
HiFi 1/HiFi 3/HiFi 3z/HiFi 4/Fusion F1/Xtensa LX6/Xtensa LX7 -
Microchip PIC cores:
PIC32WK -
Renesas RX cores:
R113/RX130/RX140/RX231/RX23T/RX24T/RX65N/RX651/RX660/RX-660/RX66T/RX71M/RX72M/RX72N/RX72T -
Andes Tech (RISC-V) cores:
A25/A25MP/A27/A27L2/A45/A45MP/D25F/D45/N22/N25/N25F/N45/AX25/AX25MP/AX27/AX27L2/AX45/AX45MP/NX-25F/NX25F/NX45 -
codasip (RISC-V) cores:
L10/L11/L30/L31F/L30F/L50/L50F/H50X/50XF -
Nuclei Systems (RISC-V) cores:
N101/N203/N203E/N205/N208/N305/N307/N308/N605/N607/N608/N900/N900MP/NX605/NX607/NX608/NX900/NX900MP/UX605/UX607/UX608/UX900/UX900MP -
SiFive (RISC-V) cores:
E20/E21/E24/E31/E34/E61/E61-MC/E76/E76-MC/P270/P550/S21/S51/S54/S61/S61-MC/S76/S76-MC/U54/U54-MC/U64/U64-MC/U74/U74-MC/X280/X280-MC
RISC-V cores misc:CloudBEAR BM-310/NEORV32/Syntacores SCR1/Syntacores SCR3/CloudBEAR BM-610
这些CPU支持单核或者双核的配置,并且后续新出的核心只有V11才能支持。
1.3 ARM V8、V9、V11 对比
特性 | V8 | V9 | V11 |
---|---|---|---|
支持的速度 | 最多支持到10M (JTAG调试模式)/4M (SDW调试模式) | 支持到15M (JTAG调试模式)/12M (SWD调试模式) | 未明确提及,但至少与V9相当 |
稳定性 | 只能调试3.3V版本的CPU,调试5V CPU稳定性差 | 驱动IC具有电压自适应能力,可调试1.8-5.5V的CPU | 未明确提及,但至少与V9相当 |
固件稳定性 | 容易掉固件而成砖头 | 基本没有这种情况,或者丢固件概率微乎其微 | 未明确提及,但至少与V9相当 |
支持的CPU类型 | 不再支持最新的一些CPU | 支持几乎所有的ARM CPU,除了RISC-V/M55/M85/R52等核心 | 支持V9支持的所有CPU,以及RISC-V/M55/M85/R52等核心 |
2 接口
接口定义
5V-Supply引脚可以通过指令控制输出,指令如下:
Command | Explanation |
---|---|
power on | Switch target power on (接通电源) |
power off | Switch target power off (关闭电源) |
power on perm | Set target power supply default to “on” (开机默认接通电源) |
power off perm | Set target power supply default to “off” (开机默认关闭电源) |
VTref
VTREF是内部参考电压,此引脚需要接MCU的VCC
如果需要对外供电打开外壳,短接供电侧可以输出3.3V
如果目标板使用外部供电,请不要短接供电侧串电使用。
虚拟串口功能
可以通过Link Command命令行软件指令控制输出,
打开串口命令:vcom enable
关闭串口命令:vcom disable
JTAG 连接方式
提示:
- 虚线3/11/19脚备选项,不用接;
- RESET 如果没条件不接也可以。
- 仿真器的VTREF默认通过跳冒内置3.3V,并通过1脚对外供电3.3V,也可以不接。
SWD 连接方式
提示:
- 虚线13/19脚备选项,不用接;
- RESET如果没条件不接也可以。
- 仿真器的VTREF默认通过跳冒内置3.3V,通过1脚对外供电3.3V,也可以不接。
供电方式一般有三种【JTAG/SWD】
- 使用5V-supply引脚经过目标板的LDO给MCU供电。
- 调整跳冒到供电侧,使用VTREF给MCU供电。
- 用户也可以选择目标板自带供电。
注意:无论那种供电方式,VTREF引脚都必须连接到MCU的VCC。
3 KEIL 软件烧录
3.1 选择目标芯片
3.2 选择仿真器
3.3 Debug 设置
3.4 Flash 设置
3.5 下载
4 各种调试接口(SWD、JTAG、Jlink、Ulink、STlink)的区别
调试接口 | 描述 | 特点 | 支持的协议 |
---|---|---|---|
JTAG | 联合测试行动小组 | 标准的JTAG接口是4线:TMS、TCK、TDI、TDO | IEEE 1149.1 |
SWD | 串行调试接口,比JTAG使用更少的引脚 | 只需要4个(或者5个)引脚 | 串行调试协议 |
Jlink | 德国SEGGER公司推出的基于JTAG的仿真器 | 通用的开发工具,可以用于KEIL、IAR、ADS等平台 | JTAG、SWD |
Ulink | ARM/KEIL公司推出的仿真器 | 仅可以在Keil软件上使用,增加了串行调试(SWD)支持 | JTAG、SWD |
STlink | 专门针对意法半导体STM8和STM32系列芯片的仿真器 | 支持全速运行、单步调试、断点调试等 | SWIM、JTAG、SWD |
JTAG协议
JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如ARM、DSP、FPGA器件等。标准的JTAG接口是4线:TMS、 TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。 相关JTAG引脚的定义为:
TMS:测试模式选择,TMS用来设置JTAG接口处于某种特定的测试模式;
TCK:测试时钟输入;
TDI:测试数据输入,数据通过TDI引脚输入JTAG接口;
TDO:测试数据输出,数据通过TDO引 脚从JTAG接口输出;
SWD接口
SWD(Serial Wire Debug,串行调试接口)是一种比JTAG使用更少的引脚的调试协议。标准的SWD接口只需要4个或者5个引脚:SWDIO、SWCLK、GND、VCC和可选的RESET。相比于JTAG,SWD的优势在于它只需要较少的引脚即可实现基本的调试功能,从而降低了硬件设计的复杂度并提高了灵活性。使用范围没有JTAG广泛,主流调试器上也是后来才加的SWD调试模式。
SWDIO是双向数据线,用于传输数据;
SWCLK是时钟线,用于同步数据的发送与接收;
GND和VCC分别是地线和电源线,为整个接口提供电气连接;
RESET是一个可选的复位信号线,用于将目标设备重置到初始状态。
Jlink仿真器
J-Link是由SEGGER公司推出的基于JTAG的仿真器,它可以用来对ARM处理器进行调试。
简单地说,是给一个JTAG协议转换盒,即一个小型USB到JTAG的转换盒,其连接到计算机用的是USB接口,而到目标板内部用的还是jtag协议。它完成了一个从软件到硬件转换的工作。
J-Link支持多种操作系统,包括Windows、Linux和Mac OS X等,并且可以兼容多个IDE,如Keil MDK、IAR EWARM、Eclipse等。此外,J-Link还提供了丰富的调试特性,例如全速运行、单步调试、断点调试、内存访问、寄存器查看等功能。
Ulink仿真器
ULINK是ARM/KEIL公司推出的仿真器,目前网上可找到的是其升级版本,ULINK2和ULINK Pro仿真器。ULINK/ULINK2可以配合Keil软件实现仿真功能,并且仅可以在Keil软件上使用,增加了串行调试(SWD)支持,返回时钟支持和实时代理等功能。开发工程师通过结合使用RealView MDK的调试器和ULINK2,可以方便的在目标硬件上进行片上调试(使用on-chip JTAG,SWD和OCDS)、Flash编程。
但是要注意的是,ULINK是KEIL公司开发的仿真器,专用于KEIL平台下使用,ADS、IAR下不能使用。
STlink仿真器
ST-LINK是专门针对意法半导体STM8和STM32系列芯片的仿真器。ST-LINK /V2指定的SWIM标准接口和JTAG / SWD标准接口,其主要功能有:
编程功能:可烧写FLASH ROM、EEPROM、AFR等;
仿真功能:支持全速运行、单步调试、断点调试等各种调试方法,可查看IO状态,变量数据等;
仿真性能:采用USB2.0接口进行仿真调试,单步调试,断点调试,反应速度快;
编程性能:采用USB2.0接口,进行SWIM / JTAG / SWD下载,下载速度快;
5 Keil 安装使用
Keil5 是一款广泛应用于嵌入式系统开发的集成开发环境(IDE),由 Keil Software 公司开发,并被 Arm 公司收购和持续维护。
6 J-Flash ARM
J-flash 软件 介绍
J-Flash 软件是由 Segger 公司开发的一款专业的固件下载和 Flash 操作工具,专为 ARM Cortex M 系列微控制器设计。它支持通过 JTAG 或 SWD 接口快速、稳定地将固件下载到 Flash 中。
在嵌入式系统开发领域,ARM Cortex M 系列微控制器因其高性能和低功耗特性,成为了众多开发者的首选。然而,固件下载和 Flash 操作一直是开发者面临的挑战。为了解决这一问题,我们推出了 J-flash 软件,一款专为 ARM Cortex M 系列微控制器设计的固件下载与 Flash 操作工具。J-flash 不仅功能强大,而且操作简便,能够极大地提升开发效率。
核心
J-flash 软件的核心技术在于其对 ARM Cortex M 系列微控制器的深度支持。通过 JTAG 或 SWD 接口,J-flash 能够快速、稳定地将固件下载到目标设备中。此外,软件还集成了多种 Flash 操作功能,如擦除、编程和校验,确保固件的正确写入和验证。调试功能的集成,使得开发者能够在开发过程中实时调试和排查错误,进一步提高了开发效率。
应用场景
固件更新:在产品发布后,开发者可以通过 J-flash 快速更新固件,修复漏洞或增加新功能。
产品测试:在产品测试阶段,J-flash 的调试功能可以帮助开发者快速定位和解决问题,确保产品质量。
原型开发:在原型开发阶段,J-flash 的快速固件下载功能可以大大缩短开发周期,加速产品上市。
特点
高效稳定:J-flash 的固件下载速度快,稳定性高,能够满足高频次的开发需求。
操作简便:软件界面友好,操作流程清晰,即使是初学者也能快速上手。
兼容性强:支持多种 ARM Cortex M 系列微控制器,适用于不同项目的需求。
功能全面:集成了固件下载、Flash 操作和调试功能,一站式解决开发中的常见问题。
下载安装
官网链接:https://www.segger.com/products/debug-probes/j-link/tools/j-flash/about-j-flash/
https://gitcode.com/open-source-toolkit/a505f/?utm_source=tools_gitcode&index=bottom&type=card
JFlash软件主要包含以下几个工具
- JFlash,主要用于程序下载和读取。
- JFlashLite,JFlash的Mini版
- JFlashSPI,用于给SPI存储器下载程序,如W25Q128。
- JLinkGDBServer,用于第三方软件的调试器,如使用Eclipse搭建STM32开发环境时,就要使用GDB Server来进行调试。
- JLink Command,命令操作窗口,输入指令执行连接,擦除、下载、运行等操作。
JLINK 官方网站下载最新驱动
先去JLINK 官方网站下载最新驱动,默认出厂仿真器内部固件版本已经更新到V6.52a或者更高的版本,下载地址如下:
https://www.segger.com/downloads/jlink/
关闭冲突软件
安装前先把keil mdk或者IAR等软件关闭掉,否则相应驱动会更新失败。双击软件 JLink_Windows_Vxxx.exe 按默认安装即可。
选中 next
License Agreement界面中,请选择 I Agree按钮,执行下一步
Choose Optional components 默认安装即可,也可以选择Install a new instance。
Finish 安装完成
JLINK驱动安装失败
设备管理器 > 更新驱动程序 > 浏览计算机以查找驱动程序软件
选择 F:\JLink\JLink_V810c\USBDriver,然后就好了。
7 烧录
准备
- Jlink软件
- Hex文件或者Bin文件
- Jlink调试器,如Jlink V11
打开JFlash
创建新工程
点击 File->NewProject
选择芯片的型号
连接芯片
打开烧写文件
JLink支持Hex、Bin等多种文件类型。
这里如果选择的是Bin文件,还需要指定烧写的起始地址,因为Bin文件是不包含烧写地址的,而Hex文件是包含的。
F7 开始烧录
参考
1、各种调试接口(SWD、JTAG、Jlink、Ulink、STlink)的区别
2、最详细,最快速上手安装 Keil5 教程(附安装包)
3、Keil5安装教程、汉化、及芯片包添加(1)
4、高效开发利器:J-flash 软件助力 ARM Cortex M 系列微控制器开发
5、NXP–J-Flash ARM
6、Jlink使用技巧之读取STM32内部的程序
7、Jlink使用技巧之单独下载HEX文件到单片机
8、如何在Jlink加入新MCU
9、JLINK驱动安装失败