|Product Performed to Expectations:||9|
|Specifications were sufficient to design with:||8|
|Demo Software was of good quality:||3|
|Product was easy to use:||6|
|Support materials were available:||9|
|The price to performance ratio was good:||8|
|TotalScore:||43 / 60|
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.
The ULINKplus kit which was delivered includes:
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 )
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.
The humble Schematic
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.
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:
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. A 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.