ARM公司的Keil系列产品包括了一整套嵌入式系统开发方案如C/C++编译器、调试器、集成开发仿真环境、RTOS以及软件库,同时包括各种处理器的评估板(ARM、Cortex-M、Cortex-R4、8051、C166和251系列)。
ULINK系列是ARM推出的嵌入式系统硬件仿真调试工具,不仅能支持Keil系列的各种评估套件,也能应用在许多Keil所支持的处理器的其他开发板上,应用十分广泛。ULINK系列调试工具有3种版本:ULINKpro、ULINK2和ULINK-ME,下面来看看它们相同之处和不同的地方。
ULINK-ME
ULINK系列中最低成本调试工具。ULINK-ME不单独出售,只包括在Keil自己的评估套件中,因此不保证能够支持其他的开发板。因为低成本ULINK-ME的功能会有一定的限制,是3个版本中最简单的。
ULINK-ME连接计算机的USB口和评估板的JTAG口,用户可以下载和调试评估板的应用程序。它能够完成:
- 片上调试
- FLASH存储编程
使用ULINK-ME的软件工具必须MDK v3.04或以上版本和C51 v8.15或以上版本。
ULINK2
ULINK一代的升级版本,使用最广泛的ULINK调试工具。ULINK2是其中支持处理器种类最多的1个版本,它的内部还提供了各种不同规格JTAG插座,可以连接不同线缆支持不同的开发板。
ULINK2连接计算机的USB口和评估板的JTAG口,用户可以下载和调试评估板的应用程序。它能够完成:
- 片上调试
- FLASH存储编程
使用ULINK2的软件工具必须MDK v3.04或以上版本、C51 v8.15或以上版本以及C166 v6.06或以上版本。
ULINKpro
ULINK系列中功能最强,速度最快也是价格最高的一个版本。ULINKpro是专门对ARM系列的处理器开发的调试工具,针对Cortex-M系列提供了特有的代码流跟踪(Streaming Trace)功能,实现实时的代码调试。
ULINKpro具有USB2.0接口,支持JTAG口和Cortex-M专用的调试口,用户可以下载和调试评估板的应用程序。它的功能更加强大,能对程序进行更精确的分析:
- 能够提供完全的代码覆盖率来分析应用程序的测试和验证
- 能够提供程序的性能分析来确定瓶颈、优化代码和隔离问题
- 代码流跟踪,需要处理器具有 ETM功能(Cortex-M3或者Cortex-M4)
使用ULINKpro的软件工具必须MDK v4.02或以上版本。
ULINK调试工具的参数对比(针对ARM系列)
名称
ULINKpro
ULINK2
ULINK-ME
设置断点
RAM 断点
无限制
无限制
无限制
ROM 断点(ARM7/9)
最多2
最多2
最多2
ROM 断点(Cortex-M3)
最大8
最大8
最大8
调试模式
Real-time Agent(ARM7/9)
Χ
√
√
SWD(Cortex-M)
√
√
√
数据跟踪SWV(Cortex-M3)
√
√
√
指令跟踪(Cortex-M3)
√
Χ
Χ
性能
JTAG时钟
<=50MHz
<=10MHz
<=10MHz
存储读写
≈1MB/s
≈28KB/s
≈28KB/s
FLASH读写
32KB/s
≈25KB/s
≈25KB/s
数据跟踪流
800Mb/s
1Mb/s
1Mb/s
接口
Cortex debug(10pin 1.27mm)
√
√
√
ARM JTAG(20pin 2.54mm)
√
√
√
Cortex+ETM(10pin 1.27mm)
√
Χ
Χ
电压范围
1.2V-3.3V
2.7V-5.5V
3.0V-3.6V
支持处理器
ARM7
√
√
√
ARM9
√
√
√
Cortex-M0
√
√
√
Cortex-M1
√
√
√
Cortex-M3
√
√
√
Cortex-M4
√
√
√
JTAG接口
ULINK系列调试工具都支持标准的ARM JTAG接口(20脚2.54mm间距)和标准Cortex JTAG接口(10脚1.27mm间距),其中ULINKpro还支持Cortex+ETM接口(20脚1.27mm间距)。ULINK2内部支持更多种其他厂商的JTAG接口。下面主要来看看这三种JTAG接口:
标准JTAG接口 20pin 2.54mm(注意连接到ULINKpro需要适配器)
Cortex Debug接口 10pin 1.27mm
Cortex+ETM接口 20pin 1.27mm(ULINKpro特有接口)
- TMS/SWDIO: 测试模式选择/数据输入输出——100欧电阻上拉到VCC
- TDO/SWO: 测试数据输出/可选跟踪数据输出
- RTCK: 测试时钟返回信号
- TDI: 测试数据输入——100欧电阻上拉到VCC
- TRST: 测试复位信号——100欧电阻上拉到VCC(可选,可以悬空)
- TCLK/SWCLK: 测试时钟——100欧电阻下拉
- VCC: 电源
- GND: 地
- RESET: 目标系统复位
小结
介绍了3种ULINK仿真调试工具,对比功能以及JTAG接口。
原创申明:本文为爱板网原创,谢绝转载!