Using Tracealyzer for Embedded Systems Analysis

In my latest research project I’m using the NXP FRDM-MCXN947 board. As part of that project I have to collect and export application trace data for later analysis. In that project I’m using the the Tracealyzer product from Percepio.

Trace Data in Percepio Tracealyzer
Trace Data in Percepio Tracealyzer

In this article I describe different ways to export trace data from the embedded target: using generic GDB commands or with an trace exporter in VS Code.

Continue reading

Semihosting with LinkServer in VS Code

For an university research project, I need to write some console output and the same time write a file with data from the embedded board to the host. A logical choice for this is using semihosting.

Semihosting with LinkServer in VS Code
Semihosting with LinkServer in VS Code
Continue reading

Build and Debug QEMU in Docker

For an university research project we are implementing a software simulator for the EZH (or SmartDMA) co-prozessor present on some NXP MCUs.

Debugging QEMU in container using VS Code
Debugging QEMU in container using VS Code

This article describes how to setup and build QEMU in a docker container, including debugging QEMU with VS Code.

Continue reading

Debug C/C++ Apps in Docker with VS Code: A Step-by-Step Guide

Debugging a C/C++ application inside a Docker Container using VS Code is surprisingly easy.

This article shows the needed steps.

Continue reading

Visualize Embedded Power Data in VS Code

With the NXP MCU-Link Pro I can measure current and power/energy of an embedded target. In this article I describe how I can use and visualize that data in VS Code:

Measurement Data in VS Code
Current Measurement Data Visualization with VS Code
Continue reading

Tutorial: Creating Self-Contained MCUXpresso SDK Projects

In Tutorial: Getting Started with MCUXpresso SDK – Repositories with VS Code and Tutorial: Getting Started with MCUXpresso SDK – west I showed how to get the MCUXpresso SDK. In this article it is about tweaking and streamlining the project.

The result is a clean, portable and self-contained MCUXpresso SDK project.

VS Code with streamlined NXP MCUXpresso project
VS Code with streamlined NXP MCUXpresso project
Continue reading

Debugging Linux Apps with VS Code: A Step-by-Step Guide

Recently I have been asked “How can I debug a Linux application with VS Code?”. I’m covering that topic in my ‘Embedded Application Development Course on Linux”.

Debugging Linux Application with VS Code over SSH
Debugging Linux Application with VS Code over SSH

I realized, that I have never covered that topic in any of my blog articles. So here we go: I show how easy it is to use VS Code to debug a Linux application. You can use this for example with an Raspberry Pi. Or for example the NXP i.MX93 which I’m using in this article.

Continue reading

Tutorial: Getting Started with MCUXpresso SDK – Repositories with VS Code

In “Tutorial: Getting Started with MCUXpresso SDK – west“, I demonstrated the ‘west’ tool’s usage. It helps in acquiring an SDK repository. Instead using the command line tool, I can use the NXP VS Code extension to do the same.

NXP VS Code Extension to import a repository
Continue reading

Tutorial: Getting Started with MCUXpresso SDK – Tool Installation

The engineering and development landscape is constantly changing. This includes the embedded tooling and SDKs.

Back in the year 2017 I have used the version 2 (see Tutorial: Using Eclipse with NXP MCUXpresso SDK v2 and Processor Expert). Back then, it was Eclipse with make. Now we are in 2026 and things have changed to VS Code, cmake, ninja, python and west.

VS Code with MCUXpresso Installer
VS Code with MCUXpresso Installer

Luckily, although more and different tools are needed these days, the installation experience has improved significantly. It has shifted from installing multiple different tools to a streamlined installation process.

Continue reading

Debug ELF/Dwarf Binaries in VS Code without a Project or Build

Sometimes, all what I have is a ELF/Dwarf binary, and I need to debug it. I don’t want to build it, only debug it. The NXP VS Code extension makes that possible. I simply import the binary and start debugging.

Debugging Executable
Debugging Executable
Continue reading