Recent articles

How to use our RP2040 online demo

You can try the ExecutionPlatform with our demo systems. Each demo consists of a VS Code instance that is connected to an ExecutionPlatform with a RP2040 microcontroller in it. You can view the schematics of the RP2040 integration. The integration …

Develop interactively for RP2040 PIO

The RP2040’s novel Programmable Input/Output (PIO) subsystem allows the execution of tiny ‘PIO-assembly’ programs parallel to the CPU. It has direct access to the chips DMA-controller and GPIO-pins and is thus a very powerful …

Automatic tests for I2C communication

I²C is a 2-wire protocol where a controller is communicating with one or more targets. Most often the controller is the microcontroller. Targets are sensors, eeproms or other peripheries. This article shows our novel approach to write …

Debugging on the ExecutionPlatform

When working with the ExecutionPlatform, you have the possibility to debug different things. Depending on what we are searching for we need to check code that is running on MCU or to look whether test case is working correctly. When to choose which …

Run unit tests on-target microcontroller

With our ExecutionPlatform, you can run unit tests directly on the target microcontroller (MCU). This is called on-target testing. Executing unit tests on the MCU is similar to running firmware. As a first step, the tests are compiled into a binary …

How we extend unit tests for pin behavior

What makes unit tests great? They ensure that functions or components work as intended. Unit tests are also very simple to use. This is because you can focus on a single piece of code – and isolate all dependencies through Stubs and Mocks. This …

What we did in 2023 – and why we need to talk about it

We made lot of progress in the past year. More about it below. But another thing really stands out for me: Through many long in-person discussions we gained a much better understanding of the very diverse problems our customers face. A few challenges …

The SPI Endpoint in practice

This article describes how automatic tests for the SPI communication of a STM32 look in practice. The result are automatic hardware/software integration tests for this microcontroller. SPI is a widely used in embedded systems. For example a sensor …

Open Loop Testing in Detail

Imagine the following scenario: You need to create a highly precise pulse on a microcontroller GPIO pin. The pulse needs to be within 1% of the desired value. This article shows you, how to compare two variations of a driver against these …

Open Loop Testing in Practice

Open Loop Tests have the potential to revolutionise firmware development. This article describes a technical approach to implementing such tests. Curious readers can try out the results directly in your browser. Requirements Open Loop Tests are …

Open Loop Testing

Testing of embedded firmware is too complicated. An enormous amount of resources are required for a system test that does not detect enough errors. Open loop testing is a new approach to hardware/software integration testing that saves development …

Compiler-dependent behaviour in practice

In my previous article, I described the most important factors for on and off-target execution. We will now take a closer look at one of the most important factors for such differences, namely the compiler. Most C and C++ developers are familiar with …

The hidden risks in off-target testing

Embedded firmware is developed on a desktop computer. Code that is not directly dependent on hardware can be compiled with a conventional desktop compiler, and executed on the development computer (off target). In certain circumstances, the code …

Mbed Unit test investigation

For one of our smaller projects, we wanted to try ARM Mbed for the first time. Surprisingly, we found a bug, just by executing the existing unit tests on an actual embedded target. This post describes how we found the bug, details the technical …

Trig function performance surprises

In issue number 393 of his popular newsletter The Embedded Muse, Jack Ganssle took a look at the performance of trig functions. Trigonometric functions such as cos are often used in time critical calculations. In particular, he compared the C math …