Debugging the LPC804 on the MCU-Link Pro with an external Debug Probe

The NXP MCU-Link Pro debug probe includes a LPC804 as an additional microcontroller on the board, including its debug header.

MCU-Link Pro Debug Probe Board

The question is: how to debug the on-board extra LPC804 microcontroller with an external debug probe?

Continue reading

Recovering bricked LPC55Sxx EVK Boards

While developing applications, it can happen that things go wrong. And in my case I ended up with two LPC55Sxx EVK boards on my desk, which seemed not to be usable any more. The issue: the boards were not accessible with the debug probe, because right after main they muxed the pins in a wrong way :-(.

bricked board with set of debut probes

The standard GDB debug connections (both on-board and off-board) were not able to regain access of the board, because the MCU was running into the fault condition pretty much right out of reset.

Luckily, after a lot of trial-and-error, I have found a way to recover them.

Continue reading

Debugging with Dynamic Printf Breakpoints

I’m not a big fan of using printf() in embedded applications, but I have to admit that in some cases it is very useful. One problem in debugging embedded systems debugging is getting values or information off the target: because of the limited resources this can be very challenging.

So why not doing this with the debugger in an automated way? And here dynamic printf breakpoints can help: it adds printf()-style output on-the-fly to your program without the need to recompile or restart your program, without the need to run printf() on the target:

Using Dynamic Printf Breakpoint
Continue reading

Silicon Shortage and Semihosting with NXP MCUXpresso SDK on FRDM-KE02Z

The silicon shortage is still going on. While the NXP Kinetis KE devices might not be my first choice, they still seem to be available, in at least in lower quantities. This has been recognized by others, as I’m getting more and more questions and requests for the KE and KV family. This is why I un-dusted my old FRDM-KE02Z to be used with the latest MCUXpresso SDK and IDE.

FRDM-KE02Z Board

And in case you want to use that board or device with semihosting, I have you covered.

Continue reading

MCUXpresso IDE 11.5.0

I’m now in the middle of the university fall semester exam season with writing exams and grading student work, and the same time the new semester courses need to be prepared. With the global silicon and board shortage, this will be again a challenge to equip all the labs with the needed infrastructure. The good thing is that there is no shortage on software and tools side of the infrastructure: NXP released last week their new flagship Eclipse based IDE: the MCUXpresso IDE 11.5.0. Time to check it out for the upcoming lectures and classes….

NXP MCUXpresso IDE Version 11.5.0

Spoiler Alert: It has a new view for FreeRTOS lovers, plus new features for energy/power measurements!

Continue reading

Spilling the Beans: storage class and linkage in C, including static locals

In Spilling the Beans: C/C++ Header Files, I touched on interfaces and the difference between external and internal linkage. This article has a focus on internal linkage with using the static keyword in C.

Photo by Markus Spiske on Pexels.com

So this might be a programming language refresher, in case you are clear about the difference between declaration and definition, or if you are wondering about internal or external linkage in C.

Continue reading

McuOnEclipse Components: 26-Dec-2021 Release

I’m pleased to announce a new release of the McuOnEclipse components, available on SourceForge. This release includes several bug fixes, support for more devices, and updated components like FreeRTOS, MinINI, Percepio Tracealyzer and SEGGER SystemView.

SourceForge

SourceForge

Continue reading

Adding RGBW Wings and Enclosure to a Debug Probe

I’m using debug probes on a daily base. They have to be functional, and I value functionality over aesthetics. For cost reasons many debug probe vendors either only provide a bare PCB without enclosure, or the enclosure is made of simple plastic enclosure.

That’s OK. But when I received my NXP MCU-Link Pro debug probe, I wanted to add an enclosure for it: Not only to add protection,but to have it look cool too :-).

MCU-Link Pro Enclosure
Continue reading

Visual Studio Code for C/C++ with ARM Cortex-M: Part 10 – Assembly Stepping

The Microsoft Visual Studio Code is a great IDE, but does not (yet?) implement features for true embedded usage. Or things are there to some level, but hard to use. One of these things is how to step in the assembly code. This article shows how to do this.

Continue reading

New “MCU-Link Pro”: Debug Probe with Energy Measurement

After the release of the NXP MCU-Link debug probe, there have been hints in the Eclipse based MCUXpresso IDE that there must be another one coming. And indeed: another and more powerful debug probe is now available: the MCU-Link Pro. It is not only a debug probe but a power/energy measurement tool too, including an extra LPC804 mikrocontroller which can be used for all kind of things, like automation or scripting.

NXP MCU-Link Pro
Continue reading