Warum ist eine Ausführung auf dem Mikrocontroller sinnvoll?

Embedded Firmware wird üblicherweise auf einem Desktop-PC entwickelt. Code ohne direkte Abhängigkeit zur Hardware kann mit einem herkömmlichen Desktop-Compiler kompiliert und bereits auf dem Entwicklungsrechner (Off-Target) ausgeführt werden. Dieser Ansatz wird häufig gewählt, um lange Kompilieren-Flashen-Debug Schleifen auf dem mikrocontroller zu umgehen.

Dabei muss allerdings beachtet werden, dass der so getestete Code bei der Ausführung auf dem echten Zielsystem (On-Target) unter Umständen ein anderes Verhalten zeigt. Im besten Fall kommt es bereits bei der Kompilierung mit dem Cross-Compiler zu einem Fehler. Mit weniger Glück verhält sich der kompilierte Code in Details anders. Im Off-Target Verfahren „verifizierter“ Code ist plötzlich nicht mehr korrekt.

Ursachen für Unterschiede in der On- und Off-Target Ausführung

 Compiler unterstützen nicht die gleichen Features
 Bugs in Compilern und Laufzeitbibliotheken
 Platform-spezifische Eigenschaften, wie die Größe der Datentypen
 Undefiniertes Verhalten und Optimierung
 Hardware Bugs
 Hardware-spezifische Einstellungen

Technische Informationen, Erläuterungen und Beispiele zu diesen Ursachen finden Sie in unserem Whitepaper On- und Off-Target Ausführung im Vergleich.

Vielfach wird der Off-Target Ansatz für die Ausführung von Unit-Tests gewählt. Das ist im Hinblick auf ein effizientes Entwickeln sinnvoll. Werden diese Tests allerdings nicht zusätzlich auch On-Target – mit potentiell unterschiedlichen Ergebnissen! – ausgeführt, ergibt sich schnell eine rein „gefühlte Sicherheit“.

Die ExecutionPlatform ermöglicht eine schnelle, einfache und sichere On-Target Ausführung.

Sie möchten erfahren, wie genau die ExecutionPlatform in Ihrem Projekt helfen kann? Gerne besprechen wir Ihre Anforderungen in einem persönlichen Gespräch.