You want to find out exactly how the ExecutionPlatform can help with your project? In a practice-oriented demonstration, you will come to understand how the ExecutionPlatform can simplify your life as a developer.

The ExecutionPlatform shortens the typical slow embedded feedback cycles, so you can bring a better product to the market faster.

Do you want to deliver a quality product?

The ExecutionPlatform verifies your software by executing code on the real microcontroller. In this way, you can do the tests on your microcontroller via the platform, parallel to the development process. This ensures that the test environment corresponds to the resulting firmware.

Furthermore, you can use the same tools and libraries for firmware and tests. This is the only way to achieve reliable results. Minimize risks in the firmware by executing code under realistic conditions!

Advantages at a glance

Execution of a wide range of tasks on the microcontroller
No additional hardware is required
Mapping of microcontroller and toolchain bugs
Best possible risk minimization
Reduce the barrier to the microcontroller
Supported for many architectures

How does the ExecutionPlatform function?

Each ExecutionPlatform is individually designed, according to your specifications, and provides you with two microcontrollers of your choice. Work packages are received via an Ethernet interface and processed on the microcontrollers. The results are displayed instantly. We deliver a Board Support Package for each microcontroller.

The apps we supply support frequent scenarios.

For example, you can use an app to work with the popular Google Test Framework, without the need for any adjustments. No configuration is required. Users can begin working immediately, with their user code. The first results are possible within minutes. Two tasks can be executed simultaneously.

Use Cases

Execute unit tests on the microcontroller easily with the ExecutionPlatform

The ExecutionPlatform can be used to execute unit tests on the target system. Apps support the popular frameworks, googletest, Catch2 and Unity. It is easy to integrate further frameworks too.
The result is delivered to you as a test report, in the usual format. Even existing tests can be executed directly on the microcontroller, without the need for any further adjustments. Program code is tested as it will run in the actual product.

Incorporate hardware and peripherals
Due to the execution on the microcontroller, the tests have full access to the peripherals. For example, a DMA driver can be tested in a range of different scenarios. This is important, because a stable driver layer is the backbone of any firmware.

Automate manual working steps
When developing firmware, you often encounter tasks that have to be executed manually on the microcontroller.
This happens, for example, if a runtime measurement for a certain code segment needs to be executed in order to determine the worst-case execution time. By linking various apps, the ExecutionPlatform makes it easy to perform such tasks. Incorporation into a unit test framework enables quick automation.

Open interfaces allow easy definition of new work packages. Working steps are therefore permanently automated and can be reproduced at any time, resulting in a significant reduction in the risk of regression.

Execute precise runtime measurements with the ExecutionPlatform

The ExecutionPlatform enables you to execute precise time measurements on the microcontroller
There is an app that offers various functions for measuring the time it takes to execute C and C++ functions.
• Achieve the highest level of temporal accuracy
• Determine the performance of functions or entire components quickly
• Detect performance regression in real time, via refactoring, compiler changes and adjusted settings

The following example determines how long it takes to calculate a CRC checksum in the crc32 function. For the measurement, test data is defined. Via bb_invoke, the actual measurement on the microcontroller, for a specific set of arguments, is initiated. The results show how many processor cycles each call has required.

Measure the crc32 function conveniently with the bench app

Results of the two runtime measurements for the crc32 function

Testing the microcontroller with the ExecutionPlatform

The explore app helps you in cases where you quickly want to try out a certain piece of program code on the microcontroller. It eliminates the need for time-consuming debugging on the target system. Output to the console is automatically redirected here, for example, so that you can quickly check the function of a certain register or an assembler statement.
• Evaluate microcontroller functions without additional hardware
• Use assembler and architecture-specific libraries

Evaluate functionality quickly, with the explore app

Output of the explore app

Features

The ExecutionPlatform is fast.
Thanks to automation, verification is completed within seconds.

The ExecutionPlatform is easy to use.
Because no additional hardware is required and existing unit tests can be adopted without any adaptation.

The ExecutionPlatform is transparent.
Because specific standards are applied and the software provided is open source. All C and C++ language versions and features can be used.

The ExecutionPlatform is self-explanatory.
Because the examples provided can be executed directly and adapted as necessary.

Learn more

The ExecutionPlatform is a perfect match for continuous integration and build server environments.
For the first time embedded projects with microcontrollers can be easily integrated in CI systems such as Jenkins or Bamboo.

Do you want to use the ExecutionPlatform for one of your projects?