Instructions Circuit Diagram
- 57 -
…und wenn das Programm keine Fehler enthält (was zu erwarten ist, da
gerade das Beispielprogramm geladen ist), erscheint unten die Meldung:
Errors: none.
Was ist passiert?
Aus der Datei test.c (und YETI.c) ist eine Datei test.hex generiert worden.
Diese Datei stellt das in Maschinencode übersetzte Programm dar, welches
nun in YETI Speicher geladen (geflasht) werden kann. Das Programm selbst
macht noch gar nichts, wir werden es später aber zum Ausprobieren des
Flash-Tools benötigen.
Wie hat’s funktioniert?
Der Menüeintrag `make` ruft die Batch-Datei Test-all.bat auf (eine Batch-
Datei enthält eine Liste mit Kommandozeilenbefehlen, die der Reihe nach
ausgeführt werden).
In Test-all.bat wird der Befehl ‘make all’ ausgeführt. ‘make’ führt immer ein
makele aus, das sich (bei der YETI-Programmierung) im gleichen Ordner
benden muss wie test.c.
Ein makele ist eine Textdatei, die festlegt, wie ein oder mehrere Programm
compiliert werden müssen. Bei Programmen, die nur aus einer Datei
übersetzt werden ist das noch recht übersichtlich. Nachdem aber ganze
Betriebssysteme in C geschrieben werden und der Code auf mehrere
Dateien aufgeteilt ist, die alle in einer bestimmten Reihenfolge übersetzt und
zusammengebunden (gelinkt) werden müssen, kann auch ein makele sehr
aufwändig werden. Das ‘all’ ruft den Eintrag im makele namens ‘all’ auf, was
bedeutet, dass ein komplettes Projekt und nicht nur einzelne Teile übersetzt
werden sollen.
Das zu unserem Beispielprogramm gehörige makele ist so geschrieben,
dass es eine Datei mit Namen test.c zusammen mit YETI.c (das einige
vordenierte Funktionen enthält) compiliert und eine .hex-Datei erzeugt, die so
auf YETI geladen werden kann.
Achtung! Das heißt auch, dass – solange das makele nicht geändert,
sondern nur kopiert wird – das das eigene Programm immer test.c
heißen muss.
Wer makeles komplett verstehen will (was aber für erste Schritte
nicht erforderlich ist) kann beispielsweise unter http://www.gnu.org/ die
Dokumentation zu Rate ziehen.
Die Grundlagen der YETI-Programmierung werden in Kapitel 13 erklärt.