ULINKPLUS-Universal Debug Trace Adapter - Review

Table of contents

RoadTest: ULINKPLUS-Universal Debug Trace Adapter

Author: snidhi

Creation date:

Evaluation Type: Development Boards & Tools

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?: SEGGER J-Link Debug Probes, IAR I-jet Trace for Arm Cortex-A/R/M

What were the biggest problems encountered?: Get the system running together with the hardware. Some development boards and micro-controllers are not supported by KEIL ULINKPLUS-Universal Debug Trace Adapter.

Detailed Review:

  1. Motivation for the Road Test
  2. Introduction
  3. Unboxing and Setup
  4. ULINKPLUS Debugger JTAG/SWD Interface Description
  5. Keil MDK Software Installation
  6. EA LPC11U37H LPCXpresso Board with ULINKPLUS
    1. ULINKplus Debugger Settings in KEIL MDK
    2. Hello Word and Blinky on the LPCLPC11U37H
  7. Power and Events Measurements with ULINKPLUS
  8. Challenges in interfacing ulinkplus with Keil MDK
  9. Summary



Motivation for the Road Test


Having previously with micro-controllers and debuggers from other providers such as Segger and IAR this roadtest was particularly interesting to me. Until now I had not laid my hands on Keil debugger as many ARM boards can be tested with USB-UART Hyperterminal and the normal printf or leds blinky. This device bugs off the rest of its competitors because of its special feature of debugging embedded systems from a power perspective combined with the usual JTAG based functionality. Hence my curiosity peaked and here we are.........




ULINKplus connects to Arm Cortex-based devices and combines the traditional debugging functionality with power and I/O measurement. The classic features such as breakpoints, SWV trace, and multi-core debugging are there. The new features using Event Recorder and Event Statistics to profile for timing and energy consumption is a step up. Also one can use the System Analyzer to analyze power consumption with events, threads, interrupts, and variable changes.


Unboxing and Setup


The ULINKplus kit which was delivered includes:


  1. 1x ULINKplus USB-JTAG adapter.
  2. 1x USB A/MicroB cable.
  3. 1x 10-pin ribbon cable for connecting to target hardware using the Cortex debug connector.
  4. 14x jumper wires for power measurement and I/O test connections.
  5. 6x power measurement shunts (5 mA, 10 mA, 25 mA, 50 mA, 100 mA and 250 mA)


A quick look into what was delivered in the packet.


Fig. 1 Delivered in the box


Fig. 2  A quick size comparison with a tea bag (where clearly ARM wins image)



     Fig. 3  6x power measurement shunts (5 mA, 10 mA, 25 mA, 50 mA, 100 mA and 250 mA)


ULINKplus Debugger JTAG/SWD Interface Description


     A look into the technical features of the ULINKplus JTAG/SWD interface.


    • An interface uses a 10 pin (0.05'') Samtec 10-pin: FTSH-105-01-L-DV-007-K connector.
    • The connector supports both JTAG and Serial Wire signals which is re-configurable.
    • Alls pins on the connector are 1kV isolated.
    • Connector offers ITM and DWT trace information.


     Technical characteristics



Fig. 4

     The humble Schematic 


Fig. 5

     JTAG Signals


    Fig. 6

     Serial Wire Signals




     ULINKplus JTAG/SWD interface connector




Further support for choosing the right connector is also available at their CoreSight Connectors webpage. ULINKplus debugger supports 10-Pin (0.05") connector. With their other ULINK family debuggers more traditional 20-pin connectors are available.


Fig. 9 ULINK family debuggers with more traditional 20-pin connectors


Although it would have been better if the 20 pin connector could be supported with the new ULINKplus debugger. As there are many old micro-controller boards out there which only have 20-pinout and not a10-pinout on-board. Clearly, with this debugger one has to develop its own intermediate10-pin to 20-pin connector converter.


Keil MDK Software Installation


In order to get started with the KEIL ULINKPLUS Debugger I installed the Keil MDK software. It is a software development studio for Arm based microcontrollers. There are 4 versions of it  and MDK-Lite is the free version. There is also the a 7 day trial of MDK-Professional License which I will evaluate quickly in the end and what extra features they offer. Although I think the trial software should be available for atleast 2 - 3 weeks for extensive testing if I later want to buy the IDE.



Fig. 10 Comparison of the MDKs


MDK-Core which is based on µVision is the Windows only IDE. For Linux they offer Eclipse based DS-MDK. There are also some software packs for the IDEs available which can be later installed in the IDEs as required such as CMSIS drivers, RTOS, USB drivers and the list goes on.


Fig. 11 Keil MDK Microcontroller Development Kit


What I liked the most was they offer MDK5 Software Packs for a very large selection of micro-controller boards with working examples, sensor drivers, application notes, board support packages. It includes external vendors such as NXP, Hitex, Infineon, AnalogDevices and the list goes on..  Then for someone like me who has been using Keil since early 2000s. there is the MDK v4 Legacy Support to keep up the compatibility with my old code.

To get a headstart with my NXP development board I downloaded the software pack.


imageimageimage Attention: Prior to using the MDK5 IDE one must check beforehand if their micro-controller is currently supported or one needs the legacy MDK4 IDE. MDK v4 Legacy Software can be handy if there is an old micro-controller being used or there is some work to be done on an old code which was written with earlier versions.


Some important Links are shared below:

imagePre-check MDK5 Device List for micro-controllers

imagePre-check for the micro-controller boards supported by KEIL IDE

imageMDK v4 Legacy Support Software Series



This Road-test is further divided into the following blogs


EA LPC11U37H LPCXpresso Board with ULINKPLUS

Power and Events Measurements with ULINKplus

Difficulties in interfacing ulinkplus with Keil MDK





In conclusion, the ARM ULINKplus debugger is quite a new device in the market. Any many of the claims made about the supported families such as Cortex M0 and Cortex M0+ is not completely true (they are supported but not for the new fancy stuff). Unfortunately this is not mentioned in when you scan though the basic documentation but comes up quite later in the detailed documentation only. They are still in the process of making working examples for these devices; which I can totally understand as Cortex M0 is an old family of ARM micro-controllers. The other families such as Cortex M3 and Cortex M4 seem to be better supported (at-least thats what I realized after digging through their website and from the ARM tech support guy) with ULINKplus debugger if one wants to use all the nice features. imageA word of caution to the fellow road-testers, if they want to utilize the full features of this debugger then use Cortex M3 or Cortex M4 families of micro-controller development boards. I would be eager to see their results. By the way ARM tech support is very responsive to the issues so do make full use of that.


In the end it was a nice learning experience to work with this type of new generation debuggers. To understand the current and voltage consumption of each function in your code can be a valuable specially for IOT and connected devices as they need to sleep for quite long times then wake up, collect data and goto sleep again. During the sleep cycles; reducing the overall energy consumption of the system can be paramount. 

  • Nice road test report.



  • This road-test has officially ended.


    I am open to feedback now or any questions.




  • Probably then you are commenting in the wrong way. I felt that you just commented without reading the full review and did not even bother to go over to the other pages or read the complete article. And other members just followed on with commenting without even reading the whole article.

    I am very much aware of the standards at element14 and I am sure keeping up with it.


    Thanks for offering help though. When you start writing a road test review you have to do the rating thing as it come right on top, so I guess thats the format for writing reviews.

    I normally pace myself between working and writing as it gives me more clarity in writing.

  • You are taking these comments the wrong way - first of all, as far as I can see you are the ONLY UlinkPlus road tester to post anything at all - so kudos for that !


    Secondly, my point was that I thought it was a bit odd to score the road test before it was finished - I certainly didn't mean to imply that it should have been finished or not.


    Thirdly, can I help you where you are stuck - I have  a Ulink Plus (as well as all the other Ulinks) and have been using Keil tools for 20 years or more (which is why I didn't apply for the RoadTest) .



  • Just chill out guys. and


    image I had already informed about all the issues on this road test before the deadline and got a time extension of 3 weeks. I am also waiting for some technical support answers from the KEIL Technical Forum. Some issues are arising from the website itself which I have raised in the Feedback Forum already.


    I do my best image



  • As I said again, you may want to read until the end of the review and all the written blogs.  The table of contents has the links to all the blogs.

  • Sorry but you may want to refresh your browser.



    I couldn't see a WIP anywhere ...



  • "Work In Progress"  is mentioned if one reads the full review to the end.


    Please read until the end



  • Keep Calm and be patient!!

    It was a fair question given that there is no "Work In Progress" or other note to indicate it was incomplete.



  • For starters; the road test is not finished.


    Keep Calm and be patient!! I am not able to upload the working videos on the website due to technical issues.


    It seems you have indeed missed the main aim of the road test.image