Werkzeugketten
Über EasyLab →
Dokumentation für Entwickler →
Bibliotheken und Schnittstellen → Werkzeugketten
Werkzeugketten im Überblick
Im modellgetriebenen Entwicklungsansatz, der in
EasyLab verfolgt wird, wird aus den vom
Benutzer spezifizierten Modellen C-Code, der nach einem
Übersetzungsprozess als Maschinencode auf der Zielplattform abläuft.
Werkzeugketten dienen in
EasyLab dazu, die für die Übersetzung verwendeten Werkzeuge sowie einige weitere Einstellungen gebündelt zu definieren. Zusammen mit einer zugehörigen
Laufzeitbibliothek ist es somit mit Hilfe der Definition einer neuen
Werkzeugkette möglich, sowohl die Codegenerierung als auch den nachfolgenden Übersetzungsprozess an eine neu zu unterstützende Mikrocontroller-Plattform zu anzupassen.
Die in einer
Werkzeugketten-Definition enthalten Information gliedern sich in drei Gruppen:
- (Kommandozeilen-)Werkzeuge für den Übersetzungsprozess, die z.T. vom Hersteller der jeweiligen Mikrocontroller-Plattform bezogen werden können, sowie deren Aufrufparameter.
- Referenzen auf andere Erweiterungsmodule EasyLab.
- Weitere Einstellungen
Die hier aufgelisteten Informationen werden in einer XML-Datei im Unterverzeichnis
toolchains von
EasyLab abgelegt. Hierfür kommt die XML-Schemadefinition
toolchains.xsd zum Einsatz. Siehe auch
XML-Schemas.
Werkzeuge für den Übersetzungsprozess
- Make-Kommando: Das Make-Kommando wird dazu verwendet, die für den Übersetzungsprozess notwendigen Schritt in geeigneter Reihenfolge auszuführen um schlussendlich aus dem generierten Quellcode ein ablauffähiges Binärabbild des Programms zu erzeugen.
- Compiler: Der Kompiler dient dazu, den generierten C-Code in Objektcode zu übersetzen.
- Linker: Mit Hilfe des Linkers werden die vom Compiler erzeugten Objekte zusammen mit optional eingesetzten Bibliotheken (etwa: Laufzeitbibliothek TODO) zu einem lauffähigen Programm (Binärabbild) zusammengefügt.
- Archiver: Der Archiver ist ein Werkzeug, der einzelne Objekte zu Bibliotheken zusammenfasst. Im EasyLab-Übersetzungsprozess wird dies dazu verwendet, die zu einem Unterprogramm gehörenden Objekte zusammenzufassen.
Referenzen auf andere Erweiterungsmodule
- Uploader: Dieser Eintrag ist eine Referenz auf ein mit EasyLab ausgeliefertes Übertragungmodul (Uploader), mit den das fertige Binärabbild des Programmes auf die Zielhardware übertragen wird.
- Debugger: Dieser Eintrag ist eine Referenz auf eine mit EasyLab ausgelieferte Debugging-Einrichtung, mit der Programmwerte zur Laufzeit zwischen der Zielhardware und einer auf dem Entwicklungsrechner laufenden EasyLab-Instanz ausgetauscht werden können.
Weitere Einstellungen
- Über Konfigurationsvariablen (siehe TODO) können Werte festgelegt werden, die in den anderen Feldern einer Werkzeugkettendefinition wiederverwendet werden können.
- Über der Einstellung für Umgebungsvariablen (siehe TODO) ist es möglich zu kontrollieren, welche Umgebungsvariablen für die verschiedenen Schritt des C-Übersetzungsprozesses mit welchen Werten sichtbar sind.
- Im Abschnitt Defines können Defines festgelegt werden, die beim Aufruf des C-Kompilers verwendet werden.
- Das Mittel der Typtransformation bietet die Möglichkeit, die innerhalb des EasyLab-Typsystems definierten Datentypen auf die durch die jeweilige Werkzeugkette unterstützte Zielplattform abzubilden. Hierzu zählt zum Einen die Abbildung des jeweiligen Typs aus dem Modell auf den entsprechenden C-Datentyp. Zum Anderen kann optional eine Liste von include-Dateien angegeben werden, mit die für die Verwendung des jeweiligen C-Datentyps benötigt werden.