Friedrich-Alexander-Universität UnivisSuche FAU-Logo
Techn. Fakultät Willkommen am Department Informatik FAU-Logo
Logo I4
Lehrstuhl für Informatik 4
Echtzeitsysteme
 
  Vorlesungsüberblick
  Schein, Prüfung
  Übungen
  Evaluation
Übung
 
  UnivIS Information
  Ziel der Übungen
  Durchführung
  Fragen und Antworten
  Testarena
  Übungsaufgaben
 
Weitere Informationen  
  Getting Started
  Dokumentation
  Entwicklungsumgebung
  SVN
  Gruppeneinteilung
Department Informatik  >  Informatik 4  >  Lehre  >  WS 2008/09  >  Echtzeitsysteme  >  Übung  >  Getting Started

Echtzeitsysteme (EZS) - Getting Started (WS 2008/09)

Getting started

Für alle hier genannten Hinweise wird davon ausgegangen, dass der Gruppenname test ist, test ist also durch den eigenen Gruppennamen zu ersetzen. Für die Subversion-Komnmandos ist eine Authentifizierung erforderlich. Die entsprechenden Daten hierfür bekommt ihr in den Tafelübungen.

  1. Struktur des Subversion-Repository anlegen

    faui48b:~temp> mkdir tmpdir
    faui48b:~temp> cd tmpdir/
    faui48b:~/temp/tmpdir> mkdir
    faui48b:~/temp/tmpdir> mkdir trunk
    faui48b:~/temp/tmpdir> mkdir branches
    faui48b:~/temp/tmpdir> mkdir tags
  2. vorgabe_0.tar.bz2 in das Unterverzeichnis trunk entpacken

    faui48b:~/temp/tmpdir> tar xjf vorgabe_0.tar.bz2 -C trunk
    faui48b:~/temp/tmpdir> ll trunk
    insgesamt 12
    drwxr-xr-x 2 scheler i4staff 512 2006-10-27 10:33 debug
    drwxr-xr-x 2 scheler i4staff 512 2006-10-27 10:02 devices
    drwxr-xr-x 3 scheler i4staff 512 2006-10-27 10:19 gen
    drwxr-xr-x 2 scheler i4staff 512 2006-10-13 10:35 infra
    drwxr-xr-x 2 scheler i4staff 512 2006-10-27 10:20 interrupt
    drwxr-xr-x 2 scheler i4staff 512 2006-10-27 10:11 make
    -rw-r--r-- 1 scheler i4staff 1816 2006-10-13 10:35 Makefile
    drwxr-xr-x 2 scheler i4staff 512 2006-10-27 10:15 object
    drwxr-xr-x 2 scheler i4staff 512 2006-10-13 10:35 shutdown
    drwxr-xr-x 2 scheler i4staff 512 2006-10-18 16:09 startup
    drwxr-xr-x 2 scheler i4staff 512 2006-10-13 10:35 tests
    faui48b:~/temp/tmpdir> rm vorgabe0.tar.bz2
  3. Die Verzeichnisstruktur in das Subversion-Repository importieren

    faui48b:~/temp/tmpdir> svn import . https://www4.informatik.uni-erlangen.de:8088/i4ezs/test -m 'initial repository layout'
    Hinzufügen trunk
    ...
    Hinzufügen trunk/Makefile
    Hinzufügen branches
    Hinzufügen tags

    Revision 1 übertragen.
  4. Das Subversion-Repository auschecken

    Das Verzeichnis, das man in das Repository importiert hat, ist nicht versioniert! Bevor man mit dem versionierten Repository arbeiten kann, muss man es noch auschecken.

    faui48b:/home/scheler> svn co https://www4.informatik.uni-erlangen.de:8088/i4ezs/test/trunk ezstubs
    A ezstubs/infra
    ...
    A ezstubs/make/variables.mk
    Ausgecheckt, Revision 1.
    faui48b:/home/scheler> ll ezstubs/
    insgesamt 12
    drwxr-xr-x 3 scheler i4staff 512 2006-10-30 17:13 debug
    drwxr-xr-x 3 scheler i4staff 512 2006-10-30 17:13 devices
    drwxr-xr-x 4 scheler i4staff 512 2006-10-30 17:13 gen
    drwxr-xr-x 3 scheler i4staff 512 2006-10-30 17:13 infra
    drwxr-xr-x 3 scheler i4staff 512 2006-10-30 17:13 interrupt
    drwxr-xr-x 3 scheler i4staff 512 2006-10-30 17:13 make
    -rw-r--r-- 1 scheler i4staff 1816 2006-10-30 17:13 Makefile
    drwxr-xr-x 3 scheler i4staff 512 2006-10-30 17:13 object
    drwxr-xr-x 3 scheler i4staff 512 2006-10-30 17:13 shutdown
    drwxr-xr-x 3 scheler i4staff 512 2006-10-30 17:13 startup
    drwxr-xr-x 3 scheler i4staff 512 2006-10-30 17:13 tests
    /home/scheler>
  5. Einen Branch (time_tiggered) erstellen

    faui48b:/home/scheler> cd ezstubs/
    faui48b:~/ezstubs> svn copy . https://www4.informatik.uni-erlangen.de:8088/i4ezs/test/branches/time_triggered
  6. Auf den neu erstellten Branch (time_tiggered) wechseln

    faui48b:~/ezstubs> svn switch https://www4.informatik.uni-erlangen.de:8088/i4ezs/test/branches/time_triggered
  7. Die Datei vorgabe_1.tar.bz2 in das ezstubs-Verzeichnis entpacken

    faui48b:~/ezstubs> tar xjf vorgabe1.tar.bz2
  8. Die Dateien aus vorgabe_1.tar.bz2 zum Repository hinzufügen

    faui48b:~/ezstubs> svn status .
    ? ...
    ...
    ? ...
    faui48b:~/ezstubs> svn add ...
    A ...
    ...
    A ...
    faui48b:~/ezstubs> svn commit . -m 'Dateien aus vorgabe_1.tar.bz2'
    Hinzufügen ...
    ...
    Übertrage Daten ..................
    Revision 2 übertragen.
    faui48b:~/ezstubs>
  9. Die Pfade in den make-Dateien anpassen

    siehe Environment
  10. Nun sollten sich die Quelltextdateien im ezstubs-Verzeichnis übersetzen lassen

    faui48b:~/ezstubs> make all
    CXX gen/obj/devices/derivate_implementation.o
    ...
    CXX gen/obj/startup/invoke_constructors.o
    CXX gen/obj/thread/guarded_scheduler.o
    AS gen/obj/interrupt/setup_IDT.o
    AR gen/lib/libezstubs.a
    faui48b:~/ezstubs>
  11. Happy Hacking ...

Aufgaben abgeben

Für die Abgabe einer Aufgabe muss nur ein entsprechender Tag im SVN-Repository erstellt werden. Die Erstellung des Tags erfolgt mit Hilfe von make:

faui48b:~/ezstubs> make EXERCISE=aufgabe1 abgabe

Testfälle

Testfälle sind einfache, kleine Anwendungen für das EZ-Stubs-Betriebssystem und C++-Programme. Für das Übersetzen und die Ausführung von Testfällen sollten die Hinweise hier eigentlich ausreichend sein. Ein Beispiel für einen solchen Testfall findet ihr hier (diesen Testfall könnt ihr übrigens auch als Testfall für die erste Übungsaufgabe verwenden).

Tutorial

Das in den Folien zu EZStubs angesprochene Tutorial-EZStubs-System: tutorial.tar.bz2

  Impressum   Datenschutz Stand: 2008-10-06 15:30   scheler