Recovering Cortex-M Microcontroller with a Power Glitch

If a Cortex microcontroller is unresponsive to a debug connection for various reasons, then this trick might help to recover that device for you. All you need is a debug probe from PEMICRO and a utility.

Continue reading

Using FatFS and MinINI with the NXP LPC55S16 EVK

For a research project we selected the NXP LPC55S16 but because it has due the silicon shortage it is not available probably for the next 52 weeks (yikes!) we can use the EVK Board.

The FatFS file system from Elm Chan is the de-facto file system for many embedded systems. As such it comes integrated with silicon vendor SDKs like the NXP MCUXpresso SDK. The problem is that the SDK only has examples for things on the board, and because that board does not have a SD card socket, no example for using FatFS with an SDK card is provided :-(. So I had to create one, and you can get it from GitHub.

Continue reading

Organizing Projects with Eclipse and Git

There are many ways to organize projects and workflows, and I would say Eclipse is flexible enough for everything. As I have been asked recently how I organize my projects, I’ll share it here.

Eclipse Workspace and Project Location with Git
Continue reading

Visual Studio Code for C/C++ with ARM Cortex-M: Part 5 – ToolKit

The previous parts were about installation, project setup, building and debugging. This one is about defining the ‘tool kit’ so I can make use more of the CMake infrastructure in Visual Studio Code:

Tool Chain loaded in Visual Studio Code
Continue reading

Visual Studio Code for C/C++ with ARM Cortex-M: Part 4 – Debug

The previous parts were about installation, project setup and building. This one is about debugging an ARM Cortex-M Microcontroller with Visual Studio Code:

Cortex-M4 (NXP K22FN512) Debugging with Visual Studio Code
Continue reading

Visual Studio Code for C/C++ with ARM Cortex-M: Part 3 – Build

This is the third part in a series to get up and running using the Microsoft Visual Studio Code for embedded development on ARM Cortex-M. So far we have installed the needed tools, created a project and are able to build it from the command line. Now it is about how execute directly scripts or the build from the IDE.

Building with a Visual Studio Code Task
Continue reading

Upgrade to a new NXP MCUXpresso SDK

As time flies by, my projects are evolving. My lab projects get used over multiple semesters, and the MCUXpresso projects by default use the SDK version used at that time.

This is great because I do want to have control over what SDK is used. But from time to time it makes sense to upgrade a project to a newer version. In this post I’ll show how an existing project can be upgraded to use a new SDK.

Continue reading

Attach with the Debugger to a Running Target

Sometime I’m pretty sure I wrote about a topic I can find or refer to, and I was pretty sure I did write about ‘attaching to a running target’ using MCUXpresso IDE in an article, but Google does not find it? The only rational outcome is that I can blame Google and I have to come up with a potential duplicate ;-).

Anyway: attaching to a running target is such an essential life saver it deserves a dedicated article.

Haltet Target
Continue reading

Play a Sound at the End of the Build with Eclipse

Using Post-Build feature in Eclipse is a great way to augment a build with all kind of actions. What if the build takes a long time and you want to get notified? One way is to play a sound at the end of the build process.

Post-Build Step with a Sound Action
Continue reading

Enhancing Binary Utilities in MCUXpresso IDE

The NXP MCUXpresso IDE has a nice context menu for executing different actions on a binary in the Eclipse Project Explorer View:

Binary Utilities

What it makes it even nicer: I can configure and use it to do anything I like. For example I can convert files and copy it in one action.

Continue reading