ULINK Family

Debug and Trace Adapters

Arm Keil MDK supports various debug and trace adapters connected your PC's USB port to your target system (via JTAG or serial wire debug interface):

  • Arm's ULINK family of debug and trace adapters.
  • CMSIS-DAP, an open-source debug firmware that is used on many inexpensive development boards.
  • Debug adapters from silicon vendors:
    • Nuvoton Nu-Link
    • SiliconLabs UDA-32
    • STMicroelectronics ST-LINK
    • Texas Instruments XDS Debugger
  • Other third-party adapters:
    • PEmicro Multilink
    • Segger J-Link/J-Trace

ULINK Family

A ULINK debug adapter allows you to debug, trace and analyze embedded programs running on the target hardware. All ULINK adapters enable you to:

  • Download programs to your target hardware.
  • Examine memory and registers.
  • Single-step through programs and insert multiple breakpoints.
  • Run programs in real-time.
  • Program Flash memory.
  • Connect to a target via JTAG or Serial Wire Debug (SWD).
  • Debug Arm Cortex-M devices on-the-fly.
  • Examine trace information from Armv7-M and Armv8-M devices.

These are the members of the family:

  • ULINKpro is a debug and trace adapter that supports run/stop debug, high-speed serial wire trace, and unlimited streaming trace.
  • ULINKplus is a versatile debug and trace adapter that supports run/stop debug, fast serial wire trace, and adds power-aware debug. It also offers test I/Os for direct communication with the target.
  • ULINK2 is a simple debug adapter for run/stop debugging and serial wire trace.

Compare ULINK debug and trace units

Buy online Buy online Buy online
Debugging features
RAM breakpoints Unlimited Unlimited Unlimited
ROM breakpoints (Arm Cortex-M) 6 max 6 max 6 max
ROM breakpoints (Arm7/9) 2 max 2 max 2 max
Execution breakpoints
(Set while executing)
Yes Yes Yes
Access breakpoints (Arm Cortex-M) 4 max
(with value)
4 max
(with value)
4 max
(with value)
Access breakpoints (Arm7/9) 2 max
(R/W only, with value)
2 max
(R/W only, with value)
2 max
(R/W only, with value)
Debugging support
Serial wire debug (Arm Cortex-M) Yes Yes Yes
Data trace (Arm Cortex-M with SWO)
(Serial wire viewer - SWV)
Yes Yes Yes
Instruction trace (Arm Cortex-M3/4/7/33)
(Embedded trace macrocell - ETM)
Power measurement   Yes  
Digital/Analog I/Os
For test automation
Real-time agent (Arm7/9)     Yes
JTAG/SW clock ≤ 50 MHz ≤ 10 MHz ≤ 10 MHz
Memory R/W ≈ 3 MB/s ≈ 1 MB/s ≈ 28 KB/s
Flash R/W 32 KB/s 32 KB/s ≈ 25 KB/s
Trace streaming 800 Mb/s 50 Mb/s 1 Mb/s
10-pin (0.05")
(Cortex debug connector)
Yes Yes Yes
20-pin (0.05")
(Cortex debug + ETM connector)
20-pin (0.1")
(Arm standard JTAG connector)
Yes   Yes
16-pin (0.1")
(Infineon OCDS connector)
14-pin (0.1")
(STMicroelectronics µPSD connector)
I/O voltage range 1.2 V - 3.3 V 1.2 V - 5.5 V 2.7 V - 5.5 V
Supported device families
Arm Cortex-M Yes Yes Yes
Arm Cortex-A (32-bit) Yes Yes  
Arm7, Arm9 Yes   Yes
XC800, µPSD, XC166/XE166/XC2000     Yes
LPC950 (8051)     Yes