The new year 2024 is coming, so time to close the current year with a new release: I’m pleased to announce a new release of the Processor Expert components, available on SourceForge and GitHub.

The new year 2024 is coming, so time to close the current year with a new release: I’m pleased to announce a new release of the Processor Expert components, available on SourceForge and GitHub.

An important part of every CI/CD pipeline is having a testing phase. In this article I show how to use GNU gcov (coverage) with an embedded target, using Visual Studio Code as front end:

With this, I can run the code on the embedded target which stores the coverage data on the host.
Continue readingDeveloping for an embedded target means using a certain version of GNU compiler, debugger and other tools. The challenge gets bigger if working with multiple different tool chains and environments.

Conda is package, dependency and environment management tool. While it is heavily used for Python and Data Science development, it is surprisingly working very well to set up and managing environments for embedded development. Conda is great for managing non-Python dependencies and setups.
Continue readingIn my previous article I showed how to import, build and debug MCUXpresso SDK projects in VS Code. In my lectures and labs we are using a robot based on the NXP Kinetis K22FX512 ARM Cortex-M4F microcontroller, and there is only the v2.13.0 SDK available.

The software on the robot uses the latest NXP MCUXpresso SDK v2.3.1. The he Eclipse based MCUXpresso IDE 11.8.0 works fine with all the 2.x SDKs, up to the latest 2.13.0 one.
Continue readingUpgrading to a newer GNU toolchain always has its risks. That’s why I always recommend to stay on a given toolchain for production code.
But sometimes one needs to upgrade, or gets a code or project that works in one environment, but not in another. Today I have run into a problem with code read-out projection:

Well, the code read-out protection is not the root of the problem, but a good example why problems could occur.
Continue readingIn a previous article I have imported an example project. Now I want to compile and build it.
Traditionally, the build action inside VS Code is somewhat hidden. There is a keyboard shortcut, but recent additions to VS Code making the build action more accessible.

After having imported the repository with the SDK, it is now time to create a first project.

In a previous article I have installed the MCUXpresso extension and used the MCUXpresso Installer to install the necessary development tools.
In this article I’m going to import the SDK.

With “Adding RGBW Wings and Enclosure to a Debug Probe” I have a really shiny enclosure for the MCU-Link Pro Enclosure.
But I did not had enough time to replicate this for a full set of classroom hardware. The original card boxes from NXP showed already after one semester severe wear, so I have to setup something more robust: a box to store all the cables, and an enclosure to protect the PCB, for 40 units.
3D printing would take to much time, so I ended up with buying storage boxes and creating an laser-cut acrylic (PMMA) enclosure for the debug probe itself:

Dealing with and debugging distributed systems, I end up with multiple debug probes and target boards on my desk. When starting a debugging session, it can be hard to identify a debug probe by its serial number. What I do in such a situation: put a color stick on the debug probe and have it assigned a nickname.

That nickname then shows up during the debug connection, and I’m sure I connect to the right probe and board that way.
Continue reading