SEQUOIA
Byte code interpreter
SQC-Interpreter
SEQUIOA ist ein Bytecode-Interpreter für die C-ähnliche Programmiersprache SQC. Bytecode-Sprache wie Java oder Python sind sehr beliebt und stellen einen guten Kompromiss zwischen kompilierten und interpretierten Sprachen dar. Sie kompilieren den Quellcode zunächst in einen Zwischencode für die einfache Maschinensprache einer virtuellen CPU. Der Interpreter arbeitet wie eine kleine virtuelle Maschine (VM), innerhalb derer das Programm ausgeführt wird. Die VM interpretiert den Bytecode zur Laufzeit und führt die entsprechenden Befehle der unterliegenden Hardware aus. Bytecode-Programme sind dadurch von der eigentlichen Hardware unabhängig und können auf allen Systemen laufen, für die ein Interpreter vorhanden ist. Auf diese Weise kombinieren sie die Geschwindigkeitsvorteile der Kompilation mit der hohen Portabilität interpretierter Sprachen.
Platform-Kompatibilität
Der SEQUIOA SQC-Interpreter kann auf x86- und ARM-Systemen betrieben werden und ist speziell für den Einsatz in Embedded Devices konzipiert.
Entwicklungsumgebung
SEQUIOA liefert einen vollständigen Werkzeugsatz mit Präprozessor, Compiler, Linker und Interpreter für die Kommandozeile. Darüber hinaus ist eine einfache grafische Entwicklungsumgebung für die SQC-Programmierung enthalten. Die SEQUIOA-IDE (Integrated Development Environment) läuft auf Windows-Systemen und kombiniert Editor, Entwicklungstools und Debugger in einer übersichtlichen Programmoberfläche.
Sicherheit
Durch die VM ist das Programm vom restlichen System isoliert und kann nur über klar definierte Schnittstellen mit Hardware und Betriebssystem interagieren. Ein Verändern der potenziell sicherheitskritischen Grundfunktionen des Gerätes ist somit nicht möglich.
Programmiersprache
SQC – Der SEQUIOA C-Dialekt SQC ist eine kleine, vereinfachte Untermenge der bekannten und weitverbreiteten Programmiersprache C. Obwohl SQC bewusst klein gehalten ist, unterstützt sie weite Teile der C-Syntax. C gilt als relativ leicht zu erlernen und ist durch ihre maschinennahen Datentypen und Funktionen hervorragend für die Hardware-Programmierung geeignet.
Statische Bibliotheken
Das System unterstützt statische Funktionsbibliotheken. Hardware-Anbieter können so neue Funktionen an ihre Kunden ausliefern, ohne den Quellcode herausgeben zu müssen.
Performance
Für eine bessere Performance verfügt SQC über einen grundlegenden Satz fest in den Interpreter eingebauter Funktionen. Dazu zählen: Netzwerkkommunikation per Sockets für Client-Server-Systeme Zeitroutinen, Dateifunktionen, Interrupt-Routinen für die Behandlung asynchroner Hardware-Ereignisse.
Verbessern Sie Ihr Produkt und erweitern Sie es um freie Programmierbarkeit
SEQUIOA ermöglicht viele verschiedene Einsatzzwecke. Bestehende Embedded Devices lassen sich um individuelle, kundenspezifische Programme erweitern, ohne die vorhandene Software umschreiben oder ersetzen zu müssen.
Die vorstellbaren Einsatzbereiche umfassen: Datalogger für Maschinen, Messtechnik, technische oder wissenschaftliche Sensorsysteme Signalverarbeitung in der Elektronik und Telekommunikation Erweiterungen für industrielle Steuersysteme sowie Kontroll- und Datenterminals zusätzliche Funktionen für Router, Network-Appliances und IoT-Devices Testsysteme in der Produktion Automatisierung und Steuerung in Bereichen wie Smart-Home und Multimedia-Geräten
Da SQC-Anwendungen die wichtigen Low-Level-Funktionen des Systems nicht verändern können, bleiben betriebskritische Funktionen wie Sensor-Kalibrierung, präzise Zeiterfassung und ähnliches unangetastet.