• Keine Ergebnisse gefunden

Sicheres Fenster = 5

Kapitel 8 - Anhang

8.1. Installation des Softwarepakets SPIKELAB

8.1.1. Softwarepaket

Entpacken Sie das Softwarepaket in ein Verzeichnis (Installationsverzeichnis – z. B.

C:\Spikelab). Unterhalb des gewählten Verzeichnisses befinden sich die Verzeichnisse config, bin, lib, source und VC60. Das Verzeichnis source hat die Unterverzeichnisse Common, OMNIThread, ParameterManager, Partitioner, RACER-Driver, Randlib, Simulator, Spikelab-GUI, Spikelab-Utility und Utility-Progs.

8.1.2. Umgebungsvariablen

Setzten Sie die Umgebungsvariable SPIKELAB_ROOT = [Installationsverzeichnis]

Außerdem sollte auf dem System die Umgebungsvariable TEMP gesetzt sein.

8.1.3. Übersetzung

In dem Unterverzeichnis VC60 befindet sich ein Workspace für das Microsoft Developer Studio 6.0. Laden Sie den Workspace in das Developer Studio, aktivieren Sie das Projekt Spikelab und stoßen Sie mit F7 der Buildprozess an. Nach Abschluss des Buildprozesses befindet sich die ausführbare Datei Spikelab.exe in dem Verzeichnis [Installationsverzeichnis]\bin\Debug oder [Installationsverzeichnis]\bin\Release, je nachdem, welche Konfiguration (Debug oder Release) gewählt wurde.

8.1.4. RSH Deamon

Für den verteilten Betrieb des Simulators wird auf PCs mit dem Betriebssystem Win-dows NT4 oder WinWin-dows 2000 noch ein zusätzlicher rsh-Deamon benötigt. An dieser Stelle sei in Vertretung für viele alternativ einsetzbare rsh-Deamons die Einrichtung des rsh-Deamons atrls der Firma Ataman (http://www.ataman.com) beschrieben, welcher als Evaluierungsversion bezogen werden kann.

Nachdem die Dateien des rsh-Deamons in ein Verzeichnis entpackt wurden, sollte die-ses Verzeichnis in die Umgebungsvariable PATH mit aufgenommen werden. Anschlie-ßend muss der Deamon noch installiert und gestartet werden. Hierfür öffnet man eine DOS-shell und gibt als Administrator die Befehlsfolge „atrls install start“ ein. Ob die Installation erfolgreich war und der Dienst gestartet wurde, kann den Ausgaben ent-nommen werden.

Nach der Installation findet sich in der Systemsteuerung ein Icon in Form eines großen

„A“ für den rsh-Dienst. Durch einen Doppelklick auf dieses Icon wird der

Konfigura-tionsdialog des Dienstes geöffnet. Hier müssen die Benutzer eingetragen werden und die Rechner, von denen sie mittels rsh auf den betreffenden Rechner zugreifen möchten.

8.1.5. CORBA

Die CORBA-Version des Simulators ist auf Basis des Object Request Brokers (ORB) von AT&T, OmniORB entwickelt worden. Dieser ORB kann für nicht kommerzielle Projekte kostenfrei bezogen werden:

http://www.uk.research.att.com/omniORB/omniORB.html.

Entpacken Sie das Softwarepaket in ein Verzeichnis (z. B. C:\Programme\omni). Gege-benenfalls ist außerdem eine aktuelle Version von PYTHON zu installieren. Tragen Sie das Binärverzeichnis in die Umgebungsvariable PATH ein. Anschließend ist der Name-service zu installieren. Diese Prozedur ist nur auf einem der Rechner aus dem Netzwerk durchzuführen. Auf diesem sollte dann immer der Nameservice betrieben werden:

1. Legen Sie in dem Verzeichnis [Verzeichnis, in das OmniORB entpackt wurde]\config ein Unterverzeichnis mit dem Namen „Log“ an.

2. Öffnen Sie eine DOS-shell und geben Sie omninames –start 12345 ein. Hiermit wird der Nameservice initialisiert und generiert eine Ausgabe, welche die Interoperable Object Reference (IOR) des Nameservice enthält. Die Ausgabe könnte zum Beispiel folgendermaßen aussehen:

C:\Programme\omni\bin\x86_win32>omninames

Mon Aug 05 21:52:37 2002:

Read log file successfully.

Root context is

IOR:010000002b00000049444c3a6f6d672e6f72672f436f734e616d696e672f4e6 16d696e67436f6e746578744578743a312e30000001000000000000002700000001 0100000c0000003139322e3136382e312e310039304e610b0000004e616d6553657 276696365

Checkpointing Phase 1: Prepare.

Checkpointing Phase 2: Commit.

Checkpointing completed.

3. Kopieren Sie die IOR aus der Ausgabe heraus und fügen Sie diese in einen Editor ein. Es muss nun alles, beginnend mit „IOR:“ bis zum Ende der langen

Zahlenkolonne kopiert werden. Entfernen Sie im Editor alle Zeilenumbrüche, so dass eine lange, zusammenhängende Zahlenkolonne entsteht, an deren Anfang

"IOR:" steht.

4. Öffnen Sie den Registry-Editor (regedit.exe) und legen Sie unter dem Pfad HKEY_LOCAL_MACHINE\SOFTWARE einen Schlüssel „ORL“ an. Unterhalb dieses Schlüssels einen weiteren Schlüssel „omniORB“ und darunter den Schlüssel

„2.0“. In dem nun vorhandenen Schlüssel

HKEY_LOCAL_MACHINE\SOFTWARE\ORL\omniORB\2.0 fügen Sie eine Zei-chenfolge ein und benennen diese „NAMESERVICE“; als Wert dieser ZeiZei-chenfolge fügen Sie die IOR aus ihrem Editor ein – inklusive des führenden „IOR:“.

5. Für die Konfigurierung anderer Rechner im Netzwerk, die in die Simulation einge-bunden werden sollen, bietet es sich an, den kompletten Schlüssel

HKEY_LOCAL_MACHINE\SOFTWARE\ORL in eine *.reg Datei zu exportieren.

Tragen Sie anschließend diese Datei auf den anderen Rechnern per Doppelklick in die Registry ein. Der Rechner kann sich dann mit Hilfe der dort eingetragenen IOR

mit dem Nameservice verbinden, sofern dieser auf dem Rechner, auf dem die Initialisierung des Nameservice stattgefunden hat, gestartet wurde.

Um die CORBA-Implementierung in SPIKELAB zu übersetzen, müssen folgende Pro-jekte aus dem Workspace übersetzt werden: CDistrSim, CDistrSim_UI_Omni, CStarterOmni und CSubSim_omni. Gegebenenfalls müssen zudem die DLLs aus den Verzeichnissen %SPIKELAB_ROOT%\bin\[Release|Debug] in die entsprechenden Verzeichnisse [Debug|Release] der entsprechenden CORBA Projekte kopiert werden.

8.2. Installation des RACER Hardware-Treibers unter NT4 Das Treiberpaket besteht aus folgenden Dateien:

- Racer.sys - s5933lib.dll - s5933lib.h - s5933lib.lib

Die Installation des Treibers erfolgt in 5 Schritten:

1. Kopieren von Racer.sys in das Verzeichnis %SystemRoot%\SYSTEM32\DRIVERS 2. Kopieren von S5933lib.dll in das Verzeichnis %SystemRoot%\SYSTEM32

3. Eintragen von Startwerten unter dem Driver Service Key in der Registry

4. Booten des Systems, um den Service Control Manager vom neuen Treiber zu unter-richten

5. Wird der Treiber manuell gestartet, so wird hierfür das Applet „Dienste“ in der Sys-temsteuerung verwendet.

Erläuterungen zu Punkt 3:

Während des Bootvorgangs lädt Windows NT die Registry und extrahiert daraus ver-schiedene Werte. Unter anderem wird auch eine Liste von verfügbaren Treibern aufge-baut. Es ist daher wichtig, den Treiber durch einen entsprechenden Registry-Eintrag beim System anzumelden. Der Servicekey muss unter dem Pfad HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services angelegt werden und hat den gleichen Namen wie der Treiber (ohne Endung). Unterhalb dieses Servicekeys sind Werte für den Typ, die Startart und das Verhalten für den Fall anzugeben, in dem das Laden des Treibers fehlschlägt. Folgende Tabelle fasst die betreffenden Werte zu-sammen:

Name Datentyp Wert Beschreibung

Racer (Key) Der Name des Treibers ohne Endung (Racer.sys) Type REG_DWORD 0x1 Kernel-Mode-Treiber

0x2 File-System-Treiber

Start REG_DWORD 0x0 durch System Loader starten

0x1 während der Initialisierung von NT starten 0x2 nachdem das ganze System gestartet ist, starten 0x3 manuell starten

0x4 deaktiviert

ErrorControl REG_DWORD 0x0 Error loggen aber ignorieren 0x1 Error loggen und benachrichtigen 0x2 Error loggen und rebooten

Der Treiber sollte möglichst spät oder manuell geladen werden. ErrorControl kann ganz nach Wunsch eingestellt werden.

Ist der Treiber gestartet, könnte schon direkt über eine Win32 Applikation auf ihn zu-gegriffen werden. Die Zugriffe sollten jedoch ausschließlich über die Funktionen der DLL s5933lib.dll erfolgen. Um eine Win32 Applikation zu übersetzen, die Gebrauch von dieser DLL macht, muss einerseits der Header s5933lib.h in den Quellcode einge-bunden werden, andererseits muss die Datei 5933lib.lib durch den Linker zur Appli-kation gebunden werden.

Für einen direkten Zugriff auf den Treiber (unter Umgehung der DLL) muss der Header iocontrol.h in den Quellcode eingebunden werden. Ein solches Vorgehen empfiehlt ich jedoch nur, wenn die Funktionsweise von Treiber und DLL vollständig verstanden wurde.

8.3. Handhabung der RACER-Hardware

In Abbildung 76 sind die Konfigurationsschalter (DIP-Switches) der RACER-Hardware abgebildet. Die Schalter U57, U58 und U65 dienen einerseits dazu, den Typ des für die Programmierung des Kontroll-FPGAs und des PTU-FPGAs verwendeten EEPROMs einzustellen. Andererseits kann mit ihnen zwischen externer Programmierung und Pro-grammierung über den EEPROM Baustein umgeschaltet werden. Die Programmierste-cker der verschiedenen Bausteine befinden sich am linken Rand der RACER-Karte und sind mit der jeweiligen Bausteinnummer versehen.

Die Konfigurationsschalter U60 und U61 dienen dazu, den Default Offset für die

„Almost“-Signale der FIFOs zu bestimmen. Es sind die Werte 127, 4095, 8191 und 16363 Worte gemessen vom vollen, respektive vom leeren Zustand des FIFOs. Die Off-sets vom vollen und vom leeren Zustand ist immer identisch.

Abbildung 76: Lage und Belegung der Konfigurationsschalter (DIP-Switches) auf der RACER-Hardware

OFF ONU57

1

OFF ONU65

1 OFF ONU58

1 20K200 Internal Programming

Programming Mode Altera/Atmel

Switches 1-3: Programming Mode Switches 4-8: 20K100 Internal Programming

OFF ONU65

1 Atmel ATLV020

OFF ONU65

1 Altera EPC2

OFF ONU65

1 20K100 Internal Programming OFF

OFF ONU65

1 20K100 Internal Programming ON

1

OFF ONU58

Atmel ATLV020 1

OFF ONU58

Altera EPC2

1

OFF ONU57

1

OFF ONU57

20K200 Internal Programming OFF

20K200 Internal Programming ON

OFF ONU60

1

OFF ONU61

1 Input FIFO Offsets Switches 1,2: PT Switches 3,4: Module 0 Switches 5,6: Module 1 Switches 7,8: Module 2

Output FIFO Offsets Switches 1,2: Module 0 Switches 3,4: Module 1 Switches 5,6: Module 2

OFF ON

U60 / U61

127 Worte

OFF ON

4095 Worte

OFF ON

8191 Worte

OFF ON

16363 Worte