In many cases I prefer wood as material: it has a warm feeling and with its texture it makes things unique and special. For some time I was thinking about creating a wooden case for eyeglasses as a gift. And here is a first version of it:

In many cases I prefer wood as material: it has a warm feeling and with its texture it makes things unique and special. For some time I was thinking about creating a wooden case for eyeglasses as a gift. And here is a first version of it:

You might never heard about ROM Libraries, and you are probably not alone. Some might thing that this refers to the boot ROM modern MCUs have built in, which is kinda close. But the thing here is about to build your own (possibly constant) ROM library, program it to your device of choice, and then use it from the application running on the device.
So the concept is to have a (fixed, stable) part with code and data on your device, which can be used by a (possibly changing) application: Think about a stable LoRaWAN network stack in the ROM, with a changing application using it: Would that not be cool?

This not only adds flexibility, but as well allows smaller updates, as only a part of the program has to be changed or updated.
The question is: how to create and use such a ROM Library with the normal GNU build tools?
Continue readingSometimes it is needed or desired just to add or link a piece of data or BLOB (Binary Large OBject) to the application. For example I have created a .bin file of my code and constant data, and I need to add it to an application using the linker file. How to do this?

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.

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.

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.

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.

And in case you want to use that board or device with semihosting, I have you covered.
Continue readingI’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….

Continue readingSpoiler Alert: It has a new view for FreeRTOS lovers, plus new features for energy/power measurements!
Split-flap displays are electromechanical display devices, which were common in airports or railway stations a few years ago.Unfortunately, most of them are gone and replaced by LED displays. Why not create a DIY version of it?

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.

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