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.
