Installing Processor Expert into MCUXpresso IDE

With the new MCUXpresso versions out, and because it has been a while I showed how to install Processor Expert into Eclipse, here is an update how to do this.

Processor Expert in MCUXpresso IDE
Continue reading

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

GNU Coverage (gcov) with NXP S32 Design Studio IDE

The open-source GNU tools provide a rich set of tools to help developing software. Some are clearly more for the high-end application development. But many of the tools are applicable for the more restricted embedded software development process as well. One is gcov, or the GNU Coverage Tool. Coverage is essential for the testing phase, as it tells you what part of code have been used and ‘covered’. This article describes how GNU coverage can be added the NXP S32 Design Studio IDE.

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

Using Custom Source File Extensions with Eclipse CDT Gnu Make Builder Projects

One great thing with the Eclipse Gnu Make Builder (aka ‘auto make’ or ‘auto build’) feature: just add source files (*.c, *.cpp, …), and with kind of magic, they all get compiled and linked properly.

But for something easy and convenient: is it hard to use custom file extensions? So what if I want to use a different file extension for my source files, different from the standard ones? Actually Eclipse CDT can do this too, it just takes two settings to recognize, compile and link source files with custom extension.

Custom file extension with Eclipse auto-build
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

Spilling the Beans: volatile Qualifier

It is interesting to see that some aspects (mostly unintended) can stimulate lots of good and fruitful discussions. So this happened with “Spilling the Beans: Endless Loops” (recommended to read 🙂 where using (or not using) volatile for inline assembly created thoughts which warrant an article on that subject.

The volatile qualifier in C/C++ is misunderstood by many programmers, or wrongly used.

Photo by Tara Winstead on

Still, ‘volatile’ is very useful if you know what it means for the compiler and what is good use of it.

Continue reading