Friedrich-Alexander-Universität UnivisSuche FAU-Logo
Techn. Fakultät Willkommen am Department Informatik FAU-Logo
Logo I4
Lehrstuhl für Informatik 4
Betriebssystemtechnik
 
  Vorlesungsüberblick
  Voraussetzungen
  Vorlesungsfolien
  Übungen
  Tools
  Teamarbeit mit svn
  Schein, Prüfung
  Evaluation
Department Informatik  >  Informatik 4  >  Lehre  >  SS 2005  >  OSE  >  Übung

Betriebssystemtechnik (OSE) - SS 2005

AO-Stubs Betriebsystem

Import in Eclipse

Die Dateien des AO-Stubs Betriebssystems liegen im SVN Repository https://www4.informatik.uni-erlangen.de:8088/i4ose/ose-2005. Diese URL kann der Repository-Liste von Eclipse hinzugfügt werden, wie es im Folgenden beschrieben ist (ihr könnt svn natürlich auch weiterhin über die Kommandozeile verwenden):

  1. Konfiguriert das SVN Plugin so, wie es auf der Tools-Seite beschrieben wird.
  2. Öffnet die SVN Perspektive
  3. Wählt im Repository-Browser (linker Rand) [rechte Maus]->"New"->"Repository Location..."
  4. Textfeld "URL" : https://www4.informatik.uni-erlangen.de:8088/i4ose/ose-2005
  5. Textfeld "User" : Benutzernamen
  6. Dialog schließen

Im Repository-Browser wählt ihr nun das Verzeichnis trunk/aose des ose-2005 Repository aus und betätigt [rechteMaus]->"Check out as Project"

Einrichtung des Projekts

Ist das Projekt erfolgreich importiert, müssen noch einige Einstellungen vorgenommen werden, die leider nicht zusammen mit den Projektinformationen gesichert werden:

  1. Öffne Dialogfenster "Project"->"Properties" des AO-Stubs Projekts
  2. Wechsle zur Ansicht "C/C++ Make Projekt"
  3. Die Registerzunge "AspectC++ Make" auswählen
  4. Textfeld "Repository file" : <absolute path to workspace>/aose/config/os/ac.repo
  5. Textfeld "new prefix to be set" : config/os
Tipp: Um eine Übersicht der Make Targets zu bekommen, öffnet in eurer Perspektive die "Make Targets" Ansicht. Darin findet ihr --nach der Konfigurierung-- unter config/os eine Übersicht der Make Targets.

Hinweis: Damit ihr das Projekt verwenden könnt, muss die pure::variants Lizenz installiert sein, wie auf der Tools-Seite beschrieben. Die Installation der Lizenz muss einmalig für jeden Benutzer durchgeführt werden.

Struktur

Unterhalb des Wurzelverzeichnisses existieren folgende Unterverzeichnisse:

config: Familien-Modell. Außerden landen hier die konfigurierten Quelldateien
model: Feature- und Komponenten-Modelle aller Subdomänen
os: Quelldateien des Betriebssystems
base: Startup Code, Linker section file
com: Kommunikation (D6)
debug: Debugging und Monitoring mit AspectC++ (D1)
devices: Gerätetreiber (D5)
guard: Unterbrechungsbehanlung und Kernsychronisation (D3)
make: Makefiles und Scripts der Build-Umgebung
mem: Speicherverwaltung (D4)
object: Utility-Klassen, wie einfache Container und Streams
test: Verzeichnis für Testprogramme
thread: Fadenverwaltung und Synchronisation (D2)

Die Verzeichnissen mit einer Domänenangabe "gehören" ab jetzt den jeweiligen Gruppen, d.h. diese sind dafür verantwortlich. Alle anderen Verzeichnise (insbesondere object) "gehören" jedoch allen, hier müsst ihr euch bei Änderungen einigen.

Konfigurierung

Um AO-Stubs zu konfigurieren, müsst ihr das Familien Modell config/config.vdm öffnen, die gewünschten Merkmale selektieren und abschließend diese Konfiguration mittels des "Transform Model" Knopfes auswerten. Dieser Vorgang generiert unter config das Verzeichnis os, in dem nun die konfigurierten Quelldateien zu finden sind. Eventuell ist dieses Verzeichnis erst nach einem "Refresh" der Navigatoransicht zu sehen.

Übersetzen

Ist das Betriebssystem konfiguriert, kann es anschließend im Verzeichnis config/os übersetzt werden. Dies kann entweder aus Eclipse heraus geschehen oder durch einen make Aufruf in diesem Verzeichnis. Alle wichtigen Make Targets und relevanten Umgebungsvariablen erhält man durch das make help Kommando.

Simulieren und Debuggen von Testprogrammen

Um ein Testprogramm zu übersetzen, muss man innerhalb des Verzeichnisses config/os einen make Aufruf starten der als Target den Pfad zum Testprogramm übergeben bekommt. Zum Beispiel: make test/com/t_serial_stream

Um den Simulator mit einem Testprogramm zu starten, wird bei einem make Aufruf an den Namen des Testprogramms die Dateiendung .sim angehängt. Zum Beispiel: make test/com/t_serial_stream.sim
Die Ausgabe der "seriellen Schnittstelle" des RXCSimulators, kann man mit dem Programm simSendRecv.sh aus dem /proj/i4ose/tools/bin Verzeichniss verfolgen. Damit können auch Zeichen an die "serielle Schnittstelle" übertragen werden.
Möchte man ein Testprogramm debuggen ruft man make <testprogramm>.gdb auf, wenn man den GNU Debugger verwenden will oder make <testprogramm>.ddd um den Data Display Debugger zu starten.

Überspielen (Download) von Testprogrammen auf den RCX

Das Überspielen eines Testprogramms auf den RCX Baustein erfolgt durch den Aufruf make <testprogramm>.rcx . Damit der Transfer ordungsgemäß funktioniert, muss sich der RCX Baustein im Ausgangszustand befinden und eingeschaltet sein. Der Ausgangszustand kann durch ein Softwarereset oder durch die Entnahme einer Batterie wieder hergestellt werden.
Nach dem Start des des Testprogramms, kann man mit dem terminal Programm (in /proj/i4ose/tools/bin) Zeichen vom RCX Baustein empfangen oder dorthin senden.

  Impressum   Datenschutz Stand: 2005-06-02 10:13   DL