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.........

 

Introduction

 

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.

image

Fig. 1 Delivered in the box

image

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

 

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

 

     image

Fig. 4

     The humble Schematic 

image

Fig. 5

     JTAG Signals

image

    Fig. 6

     Serial Wire Signals

image

Fig.7

 

     ULINKplus JTAG/SWD interface connector

image

Fig.8

 

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.

image

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.

 

image

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.

image

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

 

 

Summary

 

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. 

Anonymous