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
  Voraussetzungen
  Vorlesungsfolien
  Übungen
   Getting Started
   Docs
   Environment
   svn
   Gruppeneinteilung
  Schein, Prüfung
  Evaluation
Department Informatik  >  Informatik 4  >  Lehre  >  WS 2006/07  >  EZS  >  Übung  >  Getting Started

Echtzeitsysteme (EZS) - WS 2006/07

Übersicht

Getting started
Aufgaben abgeben
Testfälle

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. Die Datei vorgabe_1.tar.bz2 in das ezstubs-Verzeichnis entpacken

    /home/scheler> tar xjf vorgabe1.tar.bz2 -C ezstubs/
  6. Die Dateien aus vorgabe_1.tar.bz2 zum Repository hinzufügen

    faui48b:/home/scheler> cd ezstubs/
    faui48b:~/ezstubs> svn status .
    ? devices/alarm.cc
    ? devices/alarm.h
    ? devices/hardware_counter.h
    ? devices/tm_0.h
    ? devices/tm_1.h
    ? devices/alarm_queue.h
    ? devices/tm_2.h
    ? devices/tm_3.h
    ? devices/guarded_user_counter.h
    ? devices/user_counter.cc
    ? devices/user_counter.h
    ? devices/tm.h
    ? devices/basic_counter.h
    ? devices/guarded_alarm.h
    ? debug/test_interrupt_timer_0.h
    ? interrupt/dsr_executor.cc
    ? interrupt/dsr_executor.h
    ? interrupt/vectors.inc
    faui48b:~/ezstubs>
    faui48b:~/ezstubs>svn add devices/alarm.cc devices/alarm.h devices/hardware_counter.h devices/tm_0.h devices/tm_1.h devices/alarm_queue.h devices/tm_2.h devices/tm_3.h devices/guarded_user_counter.h devices/user_counter.cc devices/user_counter.h devices/tm.h devices/basic_counter.h devices/guarded_alarm.h debug/test_interrupt_timer_0.h interrupt/dsr_executor.cc interrupt/dsr_executor.h interrupt/vectors.inc
    A devices/alarm.cc
    ...
    A interrupt/dsr_executor.cc
    A interrupt/dsr_executor.h
    A interrupt/vectors.inc
    faui48b:~/ezstubs>
    faui48b:~/ezstubs>svn commit . -m 'Dateien aus vorgabe_1.tar.bz2'
    Hinzufügen debug/test_interrupt_timer_0.h
    Hinzufügen devices/alarm.cc
    Hinzufügen devices/alarm.h
    Hinzufügen devices/alarm_queue.h
    ...
    Übertrage Daten ..................
    Revision 2 übertragen.
    faui48b:~/ezstubs>
  7. Die Pfade in den make-Dateien anpassen

    siehe Environment
  8. 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>
  9. Happy Hacking ...

Aufgaben abgeben

Für die Abgabe einer Aufgabe muss nur ein entsprechender Tag erstellt werden, die Erstellung des Tags erfolgt mit dem Subversion-Befehl copy:

faui48b:~/ezstubs> svn info | grep URL
URL: https://www4.informatik.uni-erlangen.de:8088/i4ezs/test/trunk
faui48b:~/ezstubs> svn copy . https://www4.informatik.uni-erlangen.de:8088/i4ezs/test/tags/aufgabe1 -m 'Abgabe Aufgabe1'

Revision 3 übertragen.
faui48b:~/ezstubs>

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 zweite Übungsaufgabe verwenden).

  Impressum   Datenschutz Stand: 2006-10-30 17:34   scheler