Startseite Über EasyKit Über EasyLab Produkte Partner Downloads Kontakt Suche

Werkzeugketten

Über EasyLabDokumentation für EntwicklerBibliotheken 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.