VME-Configuration liest die Datei `vme.cfg' vom aktuellen 
working directory. Die Datei ist mit vollständigem Pfadnamen
am Anfang des Fensters angegeben. Zum Beispiel

  Build Options (/home/bel/herlo/lnx/workspace/isau/vme.cfg)

Ist die Datei vme.cfg nicht vorhanden, versucht VME-Configuration
die Datei '<Gerätemodell>-default.cfg' zu öffnen. Wenn auch diese
nicht vorhanden ist, verwendet VME-Configuration eine Default-
Einstellung. Mit `[Save]' werden die Einstellungen abgespeichert, 
mit `[Cancel]' nicht. 

Wurden neue Einstellungen abgespeichert, dann werden mit den 
Daten aus `vme.cfg' Dateien erstellt, die für die Generierung 
der gewählten Software notwendig sind. Alle erstellten Dateien 
liegen auf dem aktuellen working directory:

  MOPS: diverse (bis V08)
  ECM:  diverse
  USRs: Makefile, options.mk, linkusrs.ld,
        <Eq. Model>-usrs-version.h, userini-<Eq. Model>.c
  EQMs: Makefile, options.mk, linkeqms.ld,
        [tbs]

Hinweis: Die Abhängigkeiten in `Makefile' werden durch das
Tool `makedepend' automatisch erzeugt. Ändern sich Includes
in einer Quelldatei, dann müssen diese Abhängigkeiten neu
erzeugt, also ein neues Makefile generiert werden. Dies
erreicht man durch Aufruf von VME-Configuration und beenden
mit `[Save]'.


Die Optionen im Einzelnen:

Software:
   Welche Software soll generiert werden?

Platform (ab V09): 
   Für welche Plattform soll generiert werden?

Device (ab V09):
   Welche Basisklasse soll für die USRs verwendet werden? 
   - VME für USRs die mit EQMs zudsammenarbeiten.
   - Native für "stand-alone" USRs.

Board:
   Für welches VME-Board soll die Software generiert werden?

Target:
   Für welches Target (Speicherbereich) soll die Software 
   gelinkt werden?

Eq. Model:
   Welches Gerätemodell soll generiert werden (z.B. `MD')?
   Die Angabe kann in Klein- oder Großbuchstaben erfolgen. 
   Für Dateinamen wird in lower case gewandelt, für den 
   Versions-String in upper case.

   Hinweis: Da alle Aktionen auf dem working directory
   stattfinden, macht es keinen Sinn, auf `$eqp_md' das 
   Gerätemodell `DGX' anzugeben.

Version:
   Welche Version soll die Software haben? Es gelten 
   unterschiedliche Formate.

     MOPS und ECM:  ss.pp, also z.B. `08.42'
     USRs und EQMs: ss.dd.pp, also z.B. `08.47.11'

   Im privaten Teil der Versionsnummer (`pp') sind 
   auch Buchstaben erlaubt.

EQM Variant:
   Die angegebene Variante der EQMs wird generiert. 
   So wird z.B. mit der Angabe `SIS' die Datei 
   <Board>-<Eq. Model>-sis-eqms<Version>.sr generiert, 
   also etwa f-dg-sis-eqms0804ca-ecm08ci.sr. 

   Die Angabe kann in Klein- oder Großbuchstaben erfolgen. 
   Für Dateinamen wird in lower case gewandelt, für den 
   Varaianten-String in upper case.

Additional Files:
   Benötigen USRs bzw. EQMs noch weitere als die üblichen
   Dateien, müssen diese hier angegeben werden. Abhängig von 
   der Datei-Extension wird sowohl das Makefile mit den 
   zusätzlichen Quell- und Zieldateien und den notwendigen 
   Abhängigkeiten als auch die Linker-Direktive mit den 
   zusätzlichen Objekt-Dateien generiert, was beim Aufruf 
   von `make' dann zu folgenden Aktionen führt:

     <Datei>.c: Kompilieren mit dem Ergebnis <Board>-<Datei>.o
           und Zusammenlinken mit den USRs bzw. EQMs.
     <Datei>.S: Wie <Datei>.c
     <Datei>.s: Assemblieren mit dem Ergebnis <Board>-<Datei>.o
           und Zusammenlinken mit den USRs bzw. EQMs.
     <Datei>.o: Nur Zusammenlinken mit den USRs bzw. EQMs.

   Es können mehrere Dateien angegeben werden, die durch 
   mindestens ein Blank getrennt werden müssen. Zum 
   Beispiel: `abc.c def.s xyz.o'. Notwendige zusätzliche
   Dateien sollten in '<Gerätemodell>-default.cfg'
   angegeben werden.

   Achtung! Mit dieser Option können *nicht* USRs weiterer
   Gerätemodelle gelinkt werden, weil die notwendige 
   Anpassung von `userini' nicht durchgeführt wird, was 
   dazu führt, dass die Anmeldung der USRs (addUsr) bei 
   MOPS unterbleibt.

Link SWPZ:
   Möchte man zu den USRs des angegebenen Gerätemodells 
   die der Software-Pulszentrale dazu linken, dann muss 
   hier die Version der SWPZ-USRs angegeben werden. Das 
   Makefile und die Linker-Direktive werden entsprechend 
   erweitert. Mit der Angabe `08.03.ca' werden z.B. die 
        SWPZ-USRs `$eqp_swpz/obj/<Board>-swpz0803ca-usrs.o' 
   dazu gelinkt.

Debug:
   Soll mit Debug übersetzt und gelinkt werden? Wird mit
   Debug übersetzt, dann wird zusätzlich auch ein Listing
   erstellt.

Warnings:
   Soll der Compiler ausführliche Warnings ausgeben?
   Nach größeren Änderungen im Code ist das sehr sinnvoll,
   da der Compiler auf mögliche `Nachlässigkeiten' hinweist,
   wie etwa uninitialisierte Variable.

Optimize:
   Soll der Compiler den Code optimieren? Beim Aufruf von
   VME-Configuration ist die Einstellung zunächst immer `Yes', 
   egal was beim letzten Mal eingestellt wurde. Dies ist aus
   Sicherheitsgr"unden so, weil nicht optimierter Code ein
   wesentlich schlechteres Laufzeitverhalten hat.

Additional compiler flags:
   Falls zur Generierung spezielle Compiler-Optionen notwendig 
   sind, kann man sie hier angegen. Ein Macro könnte man z.B. 
   mit '-DMYMACRO' angeben. Notwendige zusätzliche Optionen 
   sollten in '<Gerätemodell>-default.cfg' angegeben werden.

Topic revision: r3 - 18 Aug 2011, UnknownUser
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback