The NXP MCU-Link is a powerful $10 debug probe for ARM Cortex-M devices and works with the NXP LinkServer for debugging. The LinkServer does not an implement a gdb server, so it limits its usage e.g. for scripting or command line debugging. But as MCU-Link is also a CMSIS-DAP compatible debug probe, I can use it with OpenOCD which is open source and implements a GDB server. This article shows how I can use it with the MCU-Link.
Just before the Snow
It has been snowing down to the lower areas in Switzerland the past days: Winter finally arrived in my area. So I consider last weekend the ‘weekend before winter’, at least in a meteorological sense. And because it was a wonderful ‘inversion’ situation with fog below and sunny sky above, it is a good time to share a few impressions.
Standalone and Command Line Programmer with MCUXpresso
The MCU-Link is a $10 CMSIS-DAP capable debug probe which works out-of-the box with the MCUXpresso Eclipse based IDE. This is great for development, but how can I programming with the push of a button or a script? The answer is no: there is an easy way to use the debug probe outside Eclipse from a shell script, and you can use that MCU-Link probe to do the job. This is especially useful as with the example below where I have to program 60 boards this week-end :-).
Configure hidden and internal Shortcuts in Eclipse
A very useful feature in Eclipse is Ctrl+Shift+L which lists all the available shortcuts:
Pressing Ctrl+Shift-L again will open up a dialog where I can configure them. But what if the shortcut or action is not listed there?
Getting a 96bit Unique ID for each Kinetis Device using MCUXpresso SDK
The NXP Kinetis devices implement a UID (Unique ID) for each device, using the ‘Unique Identification Register) which is part of the SIM (System Integration Module):
While this number should be unique, I was wondering last week why students in the labs reported the same UID for multiple robots in the lab. So maybe this number is not so unique as it should be?
Continue reading
New MCU-Link Debug Probe from NXP
The NXP MCUXpressso IDE Release V11.2.1 gave a hint about a coming new debug probe, the MCU-Link which is available now:
Laser Cut Advent Calendar 2020
Tomorrow is the 1st Advent, and right on time I was able to finish a special version of an Advent calendar for the Christmas 2020:
RTOS Trace: TraceX with Microsoft Azure RTOS (aka ThreadX)
Having visibility and insights into a running system is highly valuable or critical: not only for optimizations but as well to verify the system design and behavior. In Getting Started with Microsoft Azure RTOS (aka ThreadX) I showed how to quickly run Azure RTOS. This article is about getting trace out of an ThreadX application and show it in TraceX.
Dark or Light: What is your Preference?
Most of my students seems to prefer the ‘Dark’ desktop and tool theme. So this is getting popular, and I was reluctant to use it. But tools support is getting better (see MCUXpresso IDE) and I switched do the ‘dark’ side for now :-).
But what do you prefer? Not Eclipse in particular, but as a general color theme? Is it the ‘new’ Dark, black, darker-than-dark, … theme?
Or is it the ‘classic’ Light, bright, white, … theme?
Please let us know:
Happy undarking 🙂
Steps to use FreeRTOS with newlib reentrant Memory Allocation
Reentrancy is an attribute of a piece of code and basically means it can re-entered by another execution flow, for example by an interrupt or by another task or thread. This is an important concept and still a lot of code ‘in the wild’ does violate reentrancy. As a result the application crashes immediately in the best case. Worse it crashes randomly or even worse it behaves incorrectly 😦 .
Reentrancy is always a concern if using standard library functions, including printf() or malloc(). FreeRTOS offers a reentrant wrapper to the standard malloc() and free() (Memory Scheme 3)










