Software
Download
Die Software für dieses Board kann als komplettes Paket von der Elektor-Homepage geladen werden unter dem Namen 030042-11.zip. Da der Controller selber keinen Bootstraploader hat, muss dieser im Flash liegen und muss der Flash
also einmal, vor dem ersten Einsetzen, extern programmiert werden. In der Datei Flash552.hex im Verzeichnis Flash ist
das Betriebssystem OS552 (eine angepasste Version von OS535 von Wickenhäuser) und ein kleines hello-world-Programm
untergebracht. Nachdem der Flash programmiert und eingesetzt ist, ist das Board betriebsbereit.
Betriebssystem
Zentrales Element der Software ist das Betriebssystem OS552. Dieses ermöglicht es, auf dem Board zu debuggen und den
Flash in-circuit zu programmieren. Direkt nach dem Start wird das Betriebssystem gestartet, das Board befindet sich im
Debugmodus. Es schickt über die serielle Schnittstelle einen Befehl an den PC. Läuft dort der Debugger oder der
FlashMon, so wird ein Befehl zurückgeschickt und bleibt das Board im Debugmodus. Dieser Zustand wird durch die blinkende
LED angezeigt. Kommt dieser Befehl vom PC nicht, dann überprüft das OS552, ob im Flash an der Adresse 0x00000 der Wert
0x02 (LJMP) liegt. Ist das der Fall, so geht das System davon aus, dass ein gültiges Benutzerprogramm vorliegt und
schaltet in den Runmodus. Das Programm ab Flashadresse 0x00000 wird für den Controller an Adresse 0x0000 als
Programmspeicher gemappt und gestartet. In der Hex-Datei Flash552.hex ist als Userprogramm ein hello-world-Programm
integriert. Es gibt auf einem Terminal (z.B. Hyperterminal in Windows) den Text "Hello World" aus, der nach einem
Tastdruck wiederholt wird.
In-circuit-Programmierung
Das Programm FlashMon aus der Entwicklungsumgebung von Wickenhäuser erlaubt es, den Flashspeicher in der Schaltung zu
programmieren. Bevor dies getestet werden kann, muss in dem bin-Verzeichnis der Entwicklungsumgebung die .bix-Datei
durch die in der ZIP-Datei ausgetauscht werden.
Wenn beim Einschalten des Boards dieses über ein serielles Kabel mit dem PC verbunden ist und dort das Programm FlashMon
läuft, dann wird das Betriebssystem auf dem Board in den Programmiermodus geschaltet. Jetzt kann mit dem FlashMon
der Flash gelöscht und neu programmiert werden. Beim ersten Befehl wird die .bix-Datei in das RAM das Boards
geladen, es handelt sich dabei um den Flashloader, der die Befehle von FlashMon in Empfang nimmt und den Flash
löscht oder neu programmiert. Mit dem Befehl Flash löschen wird nur der Userbereich des Flashs gelöscht, das OS552 bleibt erhalten.
Debugging
Mit dem Softwaredebugger SLD51 kann Software in das RAM des Boards geladen und getestet werden. Es werden die
üblichen Eigenschaften wie single-Step, Run und Breakpoints unterstützt. Außerdem können Registerinhalte untersucht
werden. Wenn der SLD51 läuft beim Einschalten des Boards, dann schaltet dieses in den Debugmodus und wartet auf
Befehle vom Debugger.
|