Der Einschalt-Selbsttest (Power-On-Self-Test, POST) dient zum Testen der Integrität des SDRAM des Prozessors. Nach dem SDRAM-Test übergibt der POST die Steuerung entweder an das Standard-Boot-ROM-Image oder ein anderes Image. Der POST kann ebenfalls binäre Abbilder über den Service-Port herunterladen und sie in den FLASH-Speicher schreiben. Dies ermöglicht dem POST eine minimale Notfallwiederherstellung bei FLASH-Fehlern.
POST-Boot-Verhalten
ROM-Initialisierung
Eingeschaltet
Nach dem Einschalten leuchtet die LED "ERR" (Abbildung 1). Zu diesem Zeitpunkt initialisiert der Code postInit die internen Register und Subsysteme des Prozessors, einschließlich des SDRAM-Controllers. In dieser Phase des POST dient der interne RAM des Prozessors als Mini-Stack. Die Kontrolle geht dann auf die Routine Ipostmain für die SDRAM-basierten Speichertests über.
Abbildung 1. ROM-Initialisierung
Start-POST
PLD und Service-Port-Initialisierung
IpostMain startet mit der Initialisierung des Service-Ports und der programmierbaren Geräte (Programmable Logic Devices, PLD). Wenn erfolgreich, geht die LED "ERR"
aus, und die LED "RDY" (betriebsbereit) geht an (Abbildung 2).
Abbildung 2. Start-POST
POST zeigt dann am Service-Port die Firmware-Version an.
== POST Version nnn ==
Einfacher Zugriffstest
Der einfache Zugriffstest prüft, ob der Prozessor grundlegende Lese- und Schreiboperationen im SDRAM ausführen kann. Dieser Test wird durch Aufleuchten der LED "FC 1" angezeigt (Abbildung 3).
Abbildung 3. Einfacher Zugriff
Bitwalk-Test
Bei diesem Test erfolgt zuerst ein Ein-Bit- und anschließend ein Null-Bit-Durchlauf für jede SDRAM-Bank. Dieser Test wird durch Aufleuchten der LED "FC 2" angezeigt (Abbildung 4).
Abbildung 4. Bitwalk-Test
Speichergröße
Dieser Test prüft, ob die Größe des SDRAM innerhalb des für das Produkt angegebenen Größenbereichs liegt. Dieser Test wird durch Aufleuchten der FC 2LED angezeigt (Abbildung 5).
Abbildung 5. Speichergröße
Mustertest
Bei diesem Test werden eine Reihe von Diagnosemustern an jeder Speicherposition im SDRAM geschrieben und gelesen. Dieser Test wird durch Aufleuchten der LED "SCSI 2" angezeigt (Abbildung 6). Dieser Test kann einige Sekunden in Anspruch nehmen.
Abbildung 6. Mustertest
Adresstest
Bei diesem Test werden Adress-Tags in den Speicher geschrieben und gelesen, um fehlerhafte SDRAM-Adresszeilen zu ermitteln. Dieser Test wird durch Aufleuchten der LED"SCSI 3" angezeigt (Abbildung 7). Anschließend verlagert sich der POST in den SDRAM und verschiebt seinen Stack vom internen RAM des Prozessors in das SDRAM. Die Kontrolle geht dann auf den SDRAM-basierten sekundären POST über.
Abbildung 7. Adresstest
Sekundärer POST
In dieser POST-Phase wird die Zwischenladeroutine bzw. das Boot-ROM lokalisiert und ausgeführt. Wenn Sie die Unterbrechungstaste <Ctrl> <P> drücken, geht POST zum Service-Menü über. Im Abschnitt POST-Service-Menü finden Sie Einzelheiten hierzu.
Identifizieren und Ausführen des Boot-ROM
Der POST prüft die primären Boot-ROM-Positionen des FLASH-Speichers, um festzustellen, ob der Speicher ein gültiges Boot-ROM enthält. Wenn das Boot-ROM gültig ist, geht die Steuerung darauf über. Ist das Boot-ROM-Image ungültig, wird die Boot-ROM-Prüfung an der Position des sekundären Boot-ROM wiederholt. Dieser Schritt wird durch Aufleuchten der LED "SCSI 4" angezeigt (Abbildung 8).
Abbildung 8. Identifizieren und Ausführen
Starten des Boot-ROM
Wenn der POST ein Boot-ROM-Image startet, wird eine ähnliche Zeile wie die folgende angezeigt:
Bootrom (*FFF00100)(2)
Die Zahl in der ersten Klammer ist die Adresse des Boot-ROM-Startcodes. Die Zahl in der zweiten Klammer teilt dem Betriebssystem die Art des Starts, Warm- oder Kaltstart, mit. Der Boot-ROM-Code aktiviert bei der Neukonfiguration der PLD die LED "ERR" (Abbildung 9).
Abbildung 9. Starten des Boot-ROM
POST-Service-Menü
Sind die Memory-Tests abgeschlossen, erscheint das POST-Service-Menü:
== POST Version nnn ==
== POST MENU ==
A - Cold boot from [A]lternate bootrom B - Cold [B]oot from primary bootrom R - [R]eceive new boot image from serial port V - full [V]ersion information
A - Cold boot from [A]lternate bootrom
Bei Auswahl dieser Option überträgt der POST die Steuerung auf das alternative Boot-ROM-Image an Adresse 0xFFE00100 und geht von einem Kaltstart aus.
Bei Auswahl dieser Option überträgt der POST die Steuerung auf das standardmäßige bzw. primäre Boot-ROM-Image an Adresse 0xFFF00100 und geht von einem Kaltstart aus. Wählen Sie nach dem Laden eines neuen Boot-ROM-Images diese Option, um den SNC zu starten.
R - [R]eceive new boot image from serial port
Bei dieser Option wird das Übertragungsprogramm ZMODEM gestartet, das eine einzelne binäre Imagedatei des Boot-ROM über den Service-Port an den POST überträgt. Andere Arten von binären Imagedateien werden nicht empfangen. Nach erfolgreicher Übertragung programmiert der POST das Image in die FLASH-Speichereinheit ein. Während des Wartens auf die Datei zeigt der POST Folgendes an:
**B000000023be50
An dieser Stelle kann der Bediener mit Hilfe des ZMODEM-Protokolls eine ".bin"-Datei zum POST übertragen. Weitere Informationen finden Sie in der Dokumentation zum Terminalemulator. Nach Abschluss der Dateiübertragung erscheint folgende POST-Anzeige:
File transfer and update PASSED ZMODEM Messages: Writing to flash:MMMMMMMM-NNNN
MMMMMMMM ist die Adresse, die in den FLASH-Speicher geschrieben wird, und NNNN ist die Länge des Images. An diesem Punkt wählen Sie Option B, Cold [B]oot from primary bootrom.
Falls Fehler auftreten, zeigt der POST die entsprechenden Meldungen sowie die folgende Zeile an:
File transfer and update FAILED
V- full [V]ersion information
Mit diesem Befehl zeigt der POST die Versionsnummer des POST an. Des Weiteren wird angezeigt, wann, auf welchem System und von welchem Benutzer der POST erstellt wurde. Die Anzeige sieht ungefähr so aus:
POST version 0402.02 Built Apr 4 2001, 15:24:06 on TANGLEFOOT by jimu
Fehleranzeigen
Wenn vom POST durchgeführte Tests fehlerhaft sind, leuchtet die LED "ERR" zusammen mit der betreffenden LED auf. Die Bedeutung der LED-Anzeigen finden Sie in der Beschreibung des normalen POST-Ablaufs. Am Service-Port können ebenfalls Fehlermeldungen angezeigt werden.