VxWorks Programmierung

Inhaltsverzeichnis

Nach oben: (index)   [Inhalt]

# VxWorks Programmierung #

(System und Anwendungen)


        May 2024 K. Huber, Strahlenzentrum Univ. Gießen
        Version 27.Sep.2024



Nächste: , Nach oben: Top   [Inhalt]

1 History

VxWorks System
  VxWorks 5.1 auf DECstation 5000/33 unter Ultrix (TUTNIX)
  Tornado 1.0 auf PC unter Windows 98 (??????)
    > in VBox unter Windows 7 (RADON)
    > in VBox unter Windows 10 (RADON)
    > in VBox unter Debian 11 (IONIX)
  VxWorks 21.07 unter Ubuntu 1804 in VBox unter Debian 11 (IONIX)

VxWorks Anwendungen
  VxWorks 5.1 auf DECstation 5000/33 unter Ultrix (TUTNIX)
  VxWorks 5.3 auf DECstation 5000/33 unter Ultrix (TUTNIX)

!!!Baustelle!!!


Nächste: , Vorige: , Nach oben: Top   [Inhalt]

2 VxWorks 5.3 für MVME CPU


Nächste: , Nach oben: VxWorksMVME   [Inhalt]

2.1 VxWorks Image Build

Die Software zum Erzeugen von VxWorks 5.3 Systemen ist auf Windows 98 installiert. Dieses Win98 hat alle Systemwechsel in einer VBox überlebt (z.Z. auf huber@radon und huber@ionix).

Die Anpassung des VxWorks wurde durch Editieren der Konfigurationsdateien vorgenommen. Die Dokumentation dazu liegt in gedruckter Form vor (s.u.).

Alternativ kann durch die Systemgenerierung mittels WindRiver-Tornado geführt werden.

Für die vorhandenen, verschiedenen MVME-Laborrechner existieren bootbare VxWorks Images:

/usr/exp/vxw/MVME/
vx162           Standard für Motorola MVME162
vx162no_nfs     ohne NFS-Transfers
vx162no_passw   ohne Passwort bei Netzwerk-Logins
vx172           Standard für Motorola MVME172, MVME172P
vx172_16MB      mit 16 MB Memory
vx172no_nfs     ohne NFS-Transfers
vx172no_passw   ohne Passwort bei Netzwerk-Logins
*.sym           die zugehörigen Symbol Tables 

Nächste: , Vorige: , Nach oben: VxWorksMVME   [Inhalt]

2.2 VxWorks Boot

Der Boot Loader ist auf einem Boot-Rom installiert. Die Boot Parameter sind auf einem NV-RAM abgelegt. Nach Abbrechen des Boot können Sie mit dem Kommando c editiert werden.


Boot-Parameter für das 017-Experiment nach dem Umzug in die Physik:

boot deviceei
processor number0
host nameboothost
file name~/ex_home/vxw/MVME/vx172
inet on erhernet (e)134.176.21.35:ffffff00
inet on backplane (b)
host inet (h)134.176.20.18
gateway inet (g)134.176.21.1
user (u)exeis
ftp password (pu)
flags (f)[0x0]
target name (tn)exeis
startup script (s)ex_home/ex_param/Startup.vxw
other (o)

Vorige: , Nach oben: VxWorksMVME   [Inhalt]

2.3 Dokumentation 5.3

Die Dokumentation für VxWorks 5.3 liegt in gedruckter Form vor:

VxWorks Programmer's Guide 5.3
VxWorks Reference Manual 5.3
GNU ToolKit User's Guide 2.6

Und ist teilweise bei Wind River noch zu finden:

https://docs.windriver.com
  > Discontinued Products (ganz unten)
   > VxWorks
    > VxWorks 5.3

Nächste: , Vorige: , Nach oben: Top   [Inhalt]

3 VxWorks 21.07 für Intel CPU

Für die VxWorks-Systemgenerierung und die Entwicklung der Anwendungsprogramme stehen zur Zeit die Versionen 2103 und 2107 zur Verfügung. Da die VxWorks-Entwicklung nicht mit Debian verträglich ist, wurde sie in einer VBox unter Ubuntu installiert, unter

  VXHOME/WindRiver2103
  VXHOME/WindRiver2107

Zur Zeit mit

  VXHOME = /home/huber
  VXHOME/WindRiver --> VXHOME/WindRiver2107

in der VBox: huber-virtualbox


Nächste: , Nach oben: VxWorksIntel   [Inhalt]

3.1 VxWorks Installation

Dear Justus-Liebig-University Giessen,

Thank you for your recent purchase of a Wind River solution. This email will be your guide for:

1. Registering for a Wind River support account

https://wrsn.windriver.com/accounts/faces/userRegistration

2. Downloading, installing, and activating Wind River software

https://wrsn.windriver.com/esd/faces/esd.jsp?orderNo=4516827&val2567277-101-PU7W-AMMLZ

3. Managing product licenses

http://www.windriver.com/licensing

4. Accessing product documentation

https://knowledge.windriver.com/en-us

5. Contacting support

https://knowledge.windriver.com/en-us/Wind_River_Support_Network

Please forward this email to other entitled end users of Wind River software to access any of the products purchased in this order. Each person will need to create their own personal Wind River support account using the information in this email.

Order Information

- Customer Name: Justus-Liebig-University Giessen

- Sales Order: 4516827

- Purchase Order: Uni Grant VxWorks

- License Number: 683907

- License Authorization Code (LAC): 683907-5FKR-XNJEY

- License Administration Token (LAT): YCTUOKY-683907-9OCYOFX

- Support Contract Number:

- Support Contract End Date:


Nächste: , Vorige: , Nach oben: VxWorksIntel   [Inhalt]

3.2 VxWorks Lizenzserver

Für die Systemgenerierung und die Entwicklung der Anwendungen ist eine Lizenz erforderlich. Wir haben zur Zeit eine kostenlose Uni-Lizenz für VxWorks 2103 und 2107, die gelegentlich wieder verlängert werden muss. Dabei sollten wir uns mal nach einem Upgrade erkundigen...

Der laufende Betrieb von VxWorks und Anwendungen erfolgt lizenzfrei.

Der Lizenzserver ist lokal installiert, zur Zeit unter WindRiver2103. Er vergibt bis zu 8? Lizenzen gleichzeitig. Er muss vor Beginn der Arbeiten gestartet werden. Für Start und Stop gibt es zwei Scripts:

VXHOME/WindRiver2103/license/startFlexNet
VXHOME/WindRiver2103/license/stopFlexNet

Nächste: , Vorige: , Nach oben: VxWorksIntel   [Inhalt]

3.3 VxWorks Image Build

Zum Erstellen eines VxWorks Betriebssystems stehen zwei Wege zur Verfügung:

Eine VxWorks-Generierung erfolgt in zwei getrennten Schritten:

Jeder der beiden Schritte kann wiederholt werden um Änderungen einzubringen.


Nach oben: IntelVxWorks   [Inhalt]

3.3.1 VxWorks Build mit Workbench

Das Arbeiten mit Workbench verlangt einige Erfahrung. Deshalb vorab ein kurze Einführung in die Bedienung um VSB und VIP Projekte zu erstellen.


Nächste: , Nach oben: VxWorksWorkbench   [Inhalt]

3.3.1.1 VxWorks VSB Project

Im VxWorks-Source-Build-Projekt werden die notwendigen Bibliotheken zusammengestellt und kompiliert.

Die Anpassungen an den CPU-Typ und das CPU-Board erfolgen über das Board Support Package (BSP) und die CPU-Typangabe.

Für Intel-Prozessoren gemeinsam ist das BSP itl-generic.

Mit der Wahl von CORE (Nachfolger von Pentium, Vorgänger von CORE-i, Empfehlung vom WR-Support) als CPU erhält man ein VxWorks-Image, das auch für den OptiPlex 5000 (12. Generation) im Labor 017 und etliche ältere geeignet ist. Dies in der Hoffnung, dass ein Rechnertausch ohne große Probleme erfolgen kann. Neuere Entwicklungen bleiben dabei jedoch möglicherweise ungenutzt. Mehr Info zu diesem Thema findet man unter

VXHOME/WindRiver2107/vxworks/21.07/os/board/intel/itl_generic/*_readme.md

und der Liste der Intel-CPU-Generationen im Anhang.

Nachtrag:
Sandy-Bridge (2. Gen.) und Sky-Lake (6. Gen.) sind ebenfalls für den OptiPlex 5000 geeignet, möglicherweise aber nicht für ältere Generationen.

Starten Sie das VSB-Projekt mit:

File > New > Wind River Workbench Project...
  Im Menüfenster wählen Sie den Projekttyp: VxWorks Source Build
Next >
  Projekt name: Core-VSB (z.B.)
Next >
  Based on: a board support package (BSW)
  BSW: itl-generic....
  CPU: CORE (z.B.)
  Processor mode: SMP support
Finish >

Anschließend können Ergänzungen vorgenommen werden. Der Default enthält bereits weitgehend alle benötigten Funktionen:

Öffnen Sie Ihr VSB-Projekt in der Projektliste
Doppelklicken Sie auf: Source Build Configuration
Folgende Layer wurden ergänzt:

Im letzten Schritt werden die Bibliotheken kompiliert:

rechte Maustaste auf Ihr VSB-Projekt > Build

Das dauert...


Vorige: , Nach oben: VxWorksWorkbench   [Inhalt]

3.3.1.2 VxWorks VIP Project

Im VxWorks-Image-Build-Projekt wird das Image konfiguriert und anschließend fertig gestellt. Die BSP-Parameter sind bereits voreingestellt, es gibt aber noch viel zu tun...

Starten Sie das VIP-Projekt mit:

File > New > Wind River Workbench Project...
  Im Menüfenster wählen Sie den Projekttyp: VxWorks Image Project
Next >
  Project name: Core-VIP (z.B.)
Next >
  Based on: a Source Build Project (VSB)
  Projekt: Core-VSB (z.B.)
Next >
  Profile: (no profile)
  ggf. verwenden eines zuvor erstellten Profiles eines bereits
  passend konfigurierten VIP (z.B. PROFILE_CORE-VIP).
Finish >

Anschließend müssen die VIP-Parameter angepasst werden. Dazu öffnen Sie Ihr VIP-Projekt im Project Explorer und Doppelklicken auf: Kernel Configuration.

Wenn Sie einen VIP-Profile verwendet haben (s.o.), dann können Sie in der Datei

VXHOME/WindRiver2107/vxworks/21.07/os/vip_profiles/profiles/
    vip_profile_PROFILE_CORE-VIP.cdf  (z.B.)

sehen, mit welchen Includes und Parameter die BSP-Einstellungen durch das Profile ergänzt wurden. Das Core-VIP Profile finden Sie auch im Anhang.

Für das Core-VIP wurden folgende Parameter angepasst (mit ’Synopsys’ erhalten Sie eine Beschreibung der Parameter):

Im letzten Schritt wird das VxWorks Image erstellt:

rechte Maustaste auf Ihr VIP-Projekt > Build

Das bootbare VxWorks Image finden Sie z.B. unter:

VXHOME/WindRiver2107/workspace/Core-VIP/default/vxWorks

Damit außerhalb der VBox unter /usr/exp/vxw/INTEL darauf zugegriffen werden kann, muss es dahin noch übertragen werden. Durch die mehrfachen Wechsel der Unix-Systeme, ist dies zur Zeit ein ziemlich verschlungener Pfad:

cp vxWorks /media/sf_servix/usr2s/users/huber/ex_tools/vxw/INTEL/vxWorks-Core

Wobei /media/sf_servix/ das Shared Folder /home/servix mit dem VBox-Host (z.Z. Ionix) ist.

Weitere Hilfen:
Der Makefile zeigt die Details:

VXHOME/WindRiver2107/workspace/Core-VIP/Makefile.mk

Mit Workbench lassen sich Log-Files erstellen:

Help -> Collect log Files

Nächste: , Vorige: , Nach oben: VxWorksIntel   [Inhalt]

3.4 Boot Loader Build


Nächste: , Nach oben: IntelLoader   [Inhalt]

3.4.1 UEFI Boot Loader

VxWorks bietet mehrere unterschiedliche Boot-Möglichkeiten. Für die Zukunft ist jedoch UEFI vermutlich eine gute Wahl.

Die UEFI Boot Loader sollten bereits kompiliert sein:

Für 32 Bit CPU:

VXHOME/WindRiver2107/vxworks/21.07/workspace/uefi_ia32/BOOTIA32.EFI

Für 64 Bit CPU:

VXHOME/WindRiver2107/vxworks/21.07/workspace/uefi_x86_64/BOOTX64.EFI

Falls noch nicht kompiliert, erledigt dies folgendes Make:

cd VXHOME/WindRiver2107/vxworks/21.07/boot/uefi
make

Vorige: , Nach oben: IntelLoader   [Inhalt]

3.4.2 VxWorks Boot Loader

Der VxWorks Boot Loader ist ein VxWorks-Betriebssystem mit einer speziellen Konfiguration.


Starten Sie das VSB-Projekt mit:

File > New > Wind River Workbench Project...
  Im Menüfenster wählen Sie den Projekttyp: VxWorks Source Build
Next >
  Projekt name: CoreBoot-VSB (z.B.)
Next >
  Based on: a board support package (BSW)
  BSW: itl-generic....
  CPU: CORE (z.B.)
  Processor mode: UP support
Finish >

Im letzten Schritt werden die Bibliotheken kompiliert:

rechte Maustaste auf Ihr VSB-Projekt > Build

Starten Sie das VIP-Projekt mit:

File > New > Wind River Workbench Project...
  Im Menüfenster wählen Sie den Projekttyp: VxWorks Image Project
Next >
  Project name: CoreBoot-VIP (z.B.)
Next >
  Based on: a Source Build Project (VSB)
  Projekt: CoreBoot-VSB (z.B.)
Next >
  Profile: PROFILE_BOOTAPP
Finish >

Im letzten Schritt wird das VxWorks Boot Image erstellt:

rechte Maustaste auf Ihr VIP-Projekt > Build

Nächste: , Vorige: , Nach oben: VxWorksIntel   [Inhalt]

3.5 VxWorks Boot

VxWorks bietet unterschiedliche Boot-Möglichkeiten: von ROM, HD, USB-Stick, Netzwerk usw...

Die zur Zeit bevorzugte Variante:

Diese Boot-Konfiguration bietet folgende Eigenschaften:


Der USB-Stick muss folgendermaßen vorbereitet werden:
Angenommen er ist als <USBstick> gemountet.

Kopieren der UEFI Boot Loader:

mkdir <USBstick>/EFI
mkdir <USBstick>/EFI/BOOT
cd VXHOME/WindRiver2107/vxworks/21.07/workspace/
cp uefi_ia32/BOOTIA32.EFI <USBstick>/EFI/BOOT
cp uefi_x86_64/BOOTX64.EFI <USBstick>/EFI/BOOT

Kopieren des VxWorks Boot Loaders (z.B. Core-Boot-VIP) auf den USB-Stick:

cd VXHOME/WindRiver2107/workspace/Core-Boot-VIP/default/
cp vxWorks <USBstick>/EFI/BOOT/bootapp.sys
umount <USBstick>

Editieren der Boot-Parameter-Datei EFI/BOOT/bootapp.cfg. Diese enthält in einer einzigen Zeile alle zum Booten notwendigen Informationen.

Boot-Zeile, aktuelle Testversion (eine Zeile!):

bootline:gei(0,0)bootHost:/usr/exp/vxw/INTEL/vxWorks-Core
    e=134.176.20.74:ffffff00 h=134.176.20.18 g=134.176.20.40
    u=huber tn=vmetst 
    s=/host.bootHost/home/huber/ex_home/ex_param/startup.vxwi

Boot-Zeile für das 017-Experiment nach Umzug in die Physik:

bootline:gei(0,0)bootHost:/usr/exp/vxw/INTEL/vxWorks-Core
    e=134.176.21.35:ffffff00 h=134.176.20.18 g=134.176.21.1
    u=exeis tn=exeis
    s=/host.bootHost/home/exeis/ex_home/ex_param/startup.vxwi

Das Shell-Script startup.vxwi wird am Ende des Boot-Prozesses ausgeführt und kann editiert werden zur Anpassung an die Erfordernisse des Experimentes.

Die Boot-Parameter können beim Booten nochmals geändert werden durch Abbrechen des Boot-Vorgangs (s.h. Help). Die Änderungen werden allerdings nicht auf dem Stick gespeichert.

Boot-Parameter

boot devicegei (bzw. rtg für RealTek Ethernet)
processor number0
host namebootHost
file name/usr/exp/vxw/INTEL/vxWorks-Core (z.B.)
inet on erhernet (e)134.176.21.35:ffffff00
inet on backplane (b)
host inet (h)134.176.20.18
gateway inet (g)134.176.21.1
user (u)exeis
ftp password (pu)
flags (f)[0x0]
target name (tn)exeis
startup script (s)/host.bootHost/home/exeis/ex_home/ex_param/startup.vxwi
other (o)

Nächste: , Vorige: , Nach oben: VxWorksIntel   [Inhalt]

3.6 Anwendungen

Die Mess- und Auswerteprogramme sind aus historischen Gründen in C geschrieben. Die zunächst für VxWorks 5.3 entwickelten Programme konnten nach einigen Ergänzungen auch unter VxWorks 210x kompiliert werden (#ifdef VXINTL bzw. VXMVME). In wenigen Fällen war es angebracht Teile neu zu schreiben.


Nächste: , Nach oben: IntelApps   [Inhalt]

3.6.1 Programmquellen

Die Programmquellen sind zu finden unter

/usr/exp/ex_src/Progs/
  Applib   Bibliothek für spezielle Auswertungen
  Daclib   Bibliothek für Messprogramme
  Danlib   Bibliothek für Auswerteprogramme
  Daxlib   Bibliothek für Nicht-Experiment-Programme
  Exlib    Bibliothek für gemeinsame Funktionen
  esa22    Elektronenspektrometer
  ex016    Labor 016
  ex017    Labor 017 (EXEIS)
  pipe     Pipe-Experiment
  misc     allgemein genutzte Programme (MCA, PEAK usw...)

Nächste: , Vorige: , Nach oben: IntelApps   [Inhalt]

3.6.2 Kompilierung

Die Anwendungen können ebenfalls mit Workbench kompiliert werden. Ich habe jedoch die vorhandene Makefile-Struktur beibehalten, da nur eine geringfügige Anpassung notwendig war (s.h. Makefile.dac).

Die Anwendungen werden beim Kompilieren mit den Bibliotheken des VxWorks-Projektes (Board Support Package, CPU) verbunden (s.h. VSB), so dass eigentlich für alle Projekte mit unterschiedlicher CPU jeweils eine eigene Kompilation nötig ist. Es hat sich jedoch (mit Vorbehalt!) gezeigt, dass für das Intel-BSP die Wahl der CPU keine auffälligen Unterschiede macht. In den Makefiles (Makefile.dac, Makefile.dan) ist zur Zeit als Bezug Core-VSB angegeben.

Die ladbaren Programme sind unter /usr/exp/progs zu finden, und für jeden Experiment-Account auch unter ~/ex_home/ex_progs:

  *.o VxWorks 5.3 Version
  *.out VxWorks 2107 Version

Wird ein Programm neu installiert, so erhält der Vorgänger das Datum angehn̈gt, an dem er ersetzt wurde.


Nächste: , Vorige: , Nach oben: IntelApps   [Inhalt]

3.6.3 Dokumentation

Die Mess- und Auswerteprogramme sind mit dem Info-System (texinfo) von GNU dokumentiert. Mit Info können die gebräuchlichen Ausgabeformate erzeugt werden (HTML, PDF, DVI, Info, Text).

Die Quellen für texinfo finden Sie in dem Unterverzeichnis texi von jedem Mess- und Auswerteprogramm. Die zu editierenden Quellen haben die Endung .txi und nachdem in einem ersten Schritt die Umlaute umgesetzt wurden, erhalten sie die Endung .texi.

Das Kompilieren der verschiedenen Ausgabeformate erfolgt mit

  make info ....

Die Ausgaben erfolgen (z.B. für MCA) in das Verzeichnis

  /usr/exp/ex_help/mca

Vorige: , Nach oben: IntelApps   [Inhalt]

3.6.4 Makefiles

Makefile-Hierarchie für das Messprogramm MCA

/usr/exp/ex_src/Progs/misc/mca
  --> ./Makefile
    --> ../../Makefile.dac (Cross Compiler Auswahl)
      --> ./Makefile.mca (Cross Compiling)

Makefile-Hierarchie für das Auswerteprogramm PEAK

/usr/exp/ex_src/Progs/misc/peak
  --> ./Makefile
    --> ../../Makefile.dan (Cross Compiler Auswahl)
      --> ./Makefile.peak (Cross Compiling)

Makefile-Hierarchie für die MCA Info-Dokumentation

/usr/exp/ex_src/Progs/misc/mca
  --> ./Makefile
    --> ../../../Makefile.info.top.V2
      --> ../../../Makefile.info.OSF1make.V2 (Servix)
      --> ../../../Makefile.info.GNUmake.V2 (Ionix)

Makefile-Hierarchie für HTML-Index und -FAQs

/usr/exp/ex_src/Progs
  --> ./Makefile
    --> ./Makefile.index
    --> ./Makefile.FAQs

Nächste: , Vorige: , Nach oben: VxWorksIntel   [Inhalt]

3.7 VxWorks 21.07 Dokumentation und Support

Für VxWorks gibt es unglaublich viel Dokumentation, so dass es nicht einfach ist das Passende zu finden. Der Zugriff zur Doku erfordert ein Login:

User: schippers@jlug.de
Passw: Stefan fragen

Eine Einstiegsmöglichkeit zur VxWorks Dokumentation ist folgende:

https://docs.windriver.com

oder nach ’WindRiver Login’ suchen. Weiter mit:

  > Support (rechts oben)
  
    - Lesen der Dokumentation:
    > Documentation
     > VxWorks
      > VxWorks 21.07
       > Configuration & Build (z.B.)
       
    - oder Kontakt mit Wind River aufnehmen (bisher mit Note 2+):
    > Submit a Case
      Für ein 'Support Case' ist eine persönliche Anmeldung 
      bei WindRiver notwendig.
    
    - oder das Forum befragen:
    > Knowledge Forum
    
    - und Einiges mehr...

Weitere Startmöglichkeiten:

https://docs.windriver.com/category/os_vxworks_21_07
https://knowledge.windriver.com/en-us/Wind_River_Support_Network

Nächste: , Vorige: , Nach oben: VxWorksIntel   [Inhalt]

3.8 Gut zu wissen...


Nächste: , Nach oben: IntelWissen   [Inhalt]

3.8.1 Login

Die aktuelle Konfiguration des User Managements:


Vorige: , Nach oben: IntelWissen   [Inhalt]

3.8.2 Kernel Shell

Die Kernel Shell hat einen C- und einen CMD-Interpreter. Nach dem Login gelangt man zunächst in den C-Interpreter, von dem aus man in den mächtigeren CMD-Interpreter wechseln kann und auch wieder zurück. Und man kann Kommandos des jeweils anderen Interpreters ausführen ohne zu wechseln:


Editieren der Kommandozeile:
Es stehen zwei Command-line Editoren zur Verfügung, vi und emacs. Aktuell ist emacs-like voreingestellt, wegen der größeren Ähnlichkeit mit Linux.


Command History:


Die CTRL-Funktionen der Kernel Shell:

siehe auch:

Kernel Shell User's Guide
https://docs.windriver.com/bundle/Kernel_Shell_Users_Guide_1/page/1643959.html

Command-line Editing
https://www.vxworks6.com/command-line-editing-and-object-module-loader.html

Nächste: , Vorige: , Nach oben: VxWorksIntel   [Inhalt]

3.9 Bekannte Probleme


Nächste: , Nach oben: IntelProbleme   [Inhalt]

3.9.1 Start-Menü

Der Transfer der Kontrolle von einem Login zum anderen funktioniert wie geplant, solange ein Anwenderprogramm (MCA, PEAK) aktiv ist. Wird dieses verlassen und danach der Bildschirm (Login) gewechselt, dann erfolgt bei einem neuen Start eines Anwenderprogramms die Ausgabe auf den alten Bildschirm. Mit einem neuen Start-Kommando auf dem alten Bildschirm ist dies zu reparieren.


Vorige: , Nach oben: IntelProbleme   [Inhalt]

3.9.2 Spy-App

Spy zeigt die Aktivität von CPUs und Tasks an. In der aktuellen Core-VIP Konfiguration lässt sich Spy starten, auf dem Alder Lake (12. Generation) erfolgt aber keine Ausgabe. Einigen Hinweisen zufolge steht möglicherweise die benötigte auxClock nicht zur Verfügung.

Lösung: Wechsel der auxClock

Auxiliary clock source select
  alt: I8253
  neu: MC146818

Funktioniert auch auf älteren Generationen, eventuelle Nebenwirkungen noch unbekannt.


Vorige: , Nach oben: VxWorksIntel   [Inhalt]

3.10 Anhang


Nächste: , Nach oben: IntelAnhang   [Inhalt]

3.10.1 Parameter für PC-Console

Das vxWorks-Core-Projekt ist für die Bedienung über einen seriellen Anschluss und über Telnet konfiguriert und kann damit mittels ’Tera Term’ (Windows) und ’xTerm’ (linux) gesteuert werden. Die lokalen Komponenten des VxWorks-Laborrechners (Monitor, Tastatur und Maus) werden daher nicht benötigt.

Alternativ ist für einige PC-Modelle eine lokale Bedienung mittels USB-Tastatur und Monitor mg̈lich (PC-Console-Betrieb), der jedoch nicht für die Mess- und Auswerteprogramme geeignet ist, da er keine VT240-Kontrollsequenzen und -Grafik versteht.

Für den PC-Console-Betrieb sind folgende Parametereinstellungen notwendig, man findet sie mit dem Stichwort ’Console’:


Nächste: , Vorige: , Nach oben: IntelAnhang   [Inhalt]

3.10.2 Telnet mit Tera Term

Mittels Tera Term kann der VxWorks-Laborrechner sowohl über den seriellen Port (COM) als auch über Telnet gesteuert werden. Vorzugsweise wird Telnet verwendet, da damit die Grafikausgaben deutlich schneller dargestellt werden als über die serielle Leitung.

Damit die Telnet-Verbindung nicht wegen Inaktivität abgebrochen wird, sind folgende Einstellungen an Windows und Telnet vorzunehmen:

Windows ist üblicherweise so eingestellt, dass es nach einer 
gewissen Zeit der Inaktivität in den Energiesparmodus wechselt. 
Die Telnet-Verbindung geht dadurch verloren. 
Notwendige Änderung:
    Einstellungen 
    -> Netzwerkbetrieb und Energiesparmodus
    -> Energiesparmodus: nie

Tera Term hat einen 'Keep alive' Parameter, der dafür sorgt, 
dass periodisch eine minimale Übertragung zum Telnet-Server 
erfolgt, um eine Inaktivität zu vermeiden. 
Ein 'Keep alive' Takt von 1s hat funktioniert:
    Setup -> TCP/IP -> Keep alive: 1

Weitere nützliche Tera Term Setups:
    Terminal
    -> ID: VT320
    -> Autoswitch VT <-> TEK: yes
    -> Termsize = WINSIZE: yes

Das Grafikprogramm (Peak) muss für Tera Term konfiguriert sein:
    Analyse Spectrum
    -> ^Z
    -> Set configuration
    -> Terminals and printers
    -> Select terminal
    -> TeraTerm (TEK4010)

Nächste: , Vorige: , Nach oben: IntelAnhang   [Inhalt]

3.10.3 Telnet mit xTerm

Alternativ zu Tera Term unter Windows bietet xTerm unter Linux die selben Funktionen, jedoch kein ’Keep alive’. Da der Telnet-Server unter VxWorks so konfiguriert ist, dass er Inaktivität ignoriert, sollte dies kein Problem sein. Entsprechende Tests stehen noch aus...

Das Grafikprogramm (Peak) muss für xTerm konfiguriert sein:
    Analyse Spectrum
    -> ^Z
    -> Set configuration
    -> Terminals and printers
    -> Select terminal
    -> xTerm (TEK4010)

Nächste: , Vorige: , Nach oben: IntelAnhang   [Inhalt]

3.10.4 Navigating in VI

To start working with the VI editor, you need to press ESC to enter line-editing mode. Here is a list of those commands.

k  - Backwards through history buffer
j  - Forwards through history buffer
h  - Move cursor to the left
l  - Move cursor to the right
a  - Append after cursor
A  - Append at end of line
i  - Insert before cursor
I  - Insert at beginning of line
rc - Replace current character with character c
x  - Delete current character
dd - Delete entire line
nG - Go to history line /string Search for string

 


Nächste: , Vorige: , Nach oben: IntelAnhang   [Inhalt]

3.10.5 Intel CPU Generationen

Die CPU-Generation g bzw. gg ist der ix-ggxxx Bezeichnung zu entnehmen bei Abfrage der Prozessor Info (z.B. g = 7):

Intel Core i7-7700K CPU @ 4.20GHz x 8
3 Mikroarchitekturen
    3.1 Vorgänger: Pentium M, Core- und Core-2-Mikroarchitektur
        3.1.1 Core-Mikroarchitektur
        3.1.2 Core-2-Mikroarchitektur
    3.2 Nehalem-Mikroarchitektur
        3.2.1 Nehalem (1. Generation)
        3.2.2 Westmere (1. Generation)
    3.3 Sandy-Bridge-Mikroarchitektur
        3.3.1 Sandy-Bridge (2. Generation)
        3.3.2 Ivy-Bridge (3. Generation)
    3.4 Haswell-Mikroarchitektur
        3.4.1 Haswell (4. Generation)
        3.4.2 Broadwell (5. Generation)
    3.5 Skylake-Mikroarchitektur
        3.5.1 Skylake (6. Generation)
        3.5.2 Kaby-Lake (7. Generation)
        3.5.3 Coffee Lake (8. Generation)
        3.5.4 Coffee Lake Refresh (9. Generation)
        3.5.5 Cannon Lake (8. Generation)
        3.5.6 Whiskey Lake (8. Generation)
        3.5.7 Comet Lake (10. Generation)
        3.5.8 Cascade Lake (10. Generation)
        3.5.9 Rocket Lake (11. Generation)
    3.6 Ice-Lake-Mikroarchitektur
        3.6.1 Ice Lake (10. Generation)
        3.6.2 Lakefield (10. Generation, hybrid: 1 Core i-Kern und 4 Atom-Kerne)
        3.6.3 Tiger Lake (11. Generation)
        3.6.4 Alder Lake (12. Generation)
        3.6.5 Raptor Lake (13. Generation)
        3.6.6 Raptor Lake Refresh (14. Generation)

Vorige: , Nach oben: IntelAnhang   [Inhalt]

3.10.6 VIP Includes und Parameter für das Core-Projekt

In der VIP-Profile Datei für das Core-Projekt

VXHOME/WindRiver2107/vxworks/21.07/os/vip_profiles/profiles/
    vip_profile_PROFILE_CORE-VIP.cdf

ist dokumentiert, mit welchen Includes und Parametern die BSP-Einstellungen ergänzt wurden um die benötigten Funktionen zu konfigurieren:

Profile PROFILE_CORE-VIP 

PROFILES BSP_DEFAULT

COMPONENTS INCLUDE_IPTELNETS\
	INCLUDE_IPARP_CMD\
	INCLUDE_IPCOM_SYSLOGD_CMD\
	INCLUDE_IPCOM_SYSLOGD_USE_LOG_FILE\
	INCLUDE_IPCOM_SYSVAR_CMD\
	INCLUDE_IPIFCONFIG_CMD\
	INCLUDE_IPD_CMD\
	INCLUDE_IPNETSTAT_CMD\
	INCLUDE_IPPING_CMD\
	INCLUDE_IPROUTE_CMD\
	INCLUDE_IPSNTP_CMD\
	INCLUDE_IPNTP_CMD\
	INCLUDE_IPNTP\
	INCLUDE_IPSYSCTL_CMD\
	INCLUDE_IPCOM_USE_TIME_CMD\
	INCLUDE_NETPOOLSHOW\
	INCLUDE_NET_HOST_SHOW\
	INCLUDE_NETSTAT\
	INCLUDE_PING\
	INCLUDE_RLOGIN\
	INCLUDE_TELNET_CLIENT\
	INCLUDE_NFS2_CLIENT\
	INCLUDE_NFS3_CLIENT\
	INCLUDE_ANSI_ASSERT\
	INCLUDE_ANSI_COMPLEX\
	INCLUDE_ANSI_CTYPE\
	INCLUDE_ANSI_ERRNO\
	INCLUDE_ANSI_FENV\
	INCLUDE_ANSI_FLOAT\
	INCLUDE_ANSI_INTTYPES\
	INCLUDE_ANSI_ISO646\
	INCLUDE_ANSI_LIMITS\
	INCLUDE_ANSI_LOCALE\
	INCLUDE_ANSI_MATH\
	INCLUDE_ANSI_SETJMP\
	INCLUDE_ANSI_SIGNAL\
	INCLUDE_ANSI_STDALIGN\
	INCLUDE_ANSI_STDARG\
	INCLUDE_ANSI_STDATOMIC\
	INCLUDE_ANSI_STDBOOL\
	INCLUDE_ANSI_STDDEF\
	INCLUDE_ANSI_STDINT\
	INCLUDE_ANSI_STDIO\
	INCLUDE_ANSI_STDLIB\
	INCLUDE_ANSI_STDNORETURN\
	INCLUDE_ANSI_STRING\
	INCLUDE_ANSI_TGMATH\
	INCLUDE_ANSI_THREADS\
	INCLUDE_ANSI_TIME\
	INCLUDE_ANSI_UCHAR\
	INCLUDE_ANSI_WCHAR\
	INCLUDE_ANSI_WCTYPE\
	INCLUDE_C_STDLIB\
	INCLUDE_SHOW_ROUTINES\
	INCLUDE_DEFAULT_TIMEZONE\
	INCLUDE_POSIX_AIO_SHOW\
	INCLUDE_POSIX_MQ_SHOW\
	INCLUDE_POSIX_SEM_SHOW\
	INCLUDE_TRIGGER_SHOW\
	INCLUDE_RBUFF_SHOW\
	INCLUDE_DATACOLLECTOR_SHOW\
	INCLUDE_EXC_SHOW\
	INCLUDE_ISR_SHOW\
	INCLUDE_POOL_SHOW\
	INCLUDE_SYSCTL_CLI\
	INCLUDE_ACPI_SHOW\
	INCLUDE_RTP_SHELL_CMD\
	INCLUDE_RTP_SHOW_SHELL_CMD\
	INCLUDE_SHL_SHELL_CMD\
	INCLUDE_DEV_NULL\
	INCLUDE_SHELL_EMACS_MODE\
	INCLUDE_SHELL_HISTORY_FILE\
	INCLUDE_STAT_SYM_TBL\
	INCLUDE_RAM_DISK\
	INCLUDE_RAM_DISK_FORMAT_HRFS\
	INCLUDE_FSINFO_SHOW\
	INCLUDE_NFS_CLIENT_ALL\
	INCLUDE_NFS_CLIENT_RPC_TCP\
	INCLUDE_RAMDRV\
	INCLUDE_STARTUP_SCRIPT\
	INCLUDE_IPNSLOOKUP_CMD\
	INCLUDE_MEM_PART_CACHE_SHOW\
	INCLUDE_DISK_UTIL_SHELL_CMD\
	INCLUDE_EDR_SHELL_CMD\
	INCLUDE_TASK_SHELL_CMD\
	INCLUDE_SYM_SHELL_CMD\
	INCLUDE_VM_SHOW_SHELL_CMD\
	INCLUDE_ADR_SPACE_SHELL_CMD\
	INCLUDE_SHARED_DATA_SHOW_SHELL_CMD\
	INCLUDE_MAPPED_FILES_SHOW_SHELL_CMD\
	INCLUDE_MEM_EDR_SHELL_CMD\
	INCLUDE_MEM_EDR_RTP_SHELL_CMD\
	INCLUDE_MODULE_SHELL_CMD\
	INCLUDE_UNLOADER_SHELL_CMD\
	INCLUDE_HISTORY_FILE_SHELL_CMD\
	INCLUDE_SPY_SHELL_CMD\
	INCLUDE_TIP_CMD\
	INCLUDE_USER_MGT_SHELL_CMD\
	INCLUDE_TIMER_SYS_SHOW\
	INCLUDE_USB_GEN2_STORAGE_INIT\
	INCLUDE_EHCI_INIT\
	INCLUDE_OHCI_INIT\
	INCLUDE_UHCI_INIT\
	INCLUDE_USB_XHCI_HCD_INIT\
	INCLUDE_USB_SHOW\
	INCLUDE_MC146818_AUX_CLK\
	INCLUDE_INTEL_CPU_SHOW\
	INCLUDE_EHCI\
	INCLUDE_DEV_DRV\
	INCLUDE_DEV_ZERO\
	INCLUDE_DEV_RANDOM\
	INCLUDE_DEV_URANDOM\
	INCLUDE_DEV_ARANDOM\
	INCLUDE_DEV_TTY\
	INCLUDE_DEV_CONSOLE\
	INCLUDE_DEV_FULL\
	INCLUDE_TMP_DIR\
	INCLUDE_USB_GEN2_STORAGE\
	INCLUDE_USB_GEN2_MOUSE_INIT\
	INCLUDE_USB_GEN2_SER_FTDI232\
	INCLUDE_USB_GEN2_SER_PL2303\
	INCLUDE_OHCI\
	INCLUDE_UHCI\
	INCLUDE_USB_XHCI_HCD\
	INCLUDE_MPTBL_SHOW\
	INCLUDE_MP_APIC_DATA_SHOW

BUNDLES 

PARAMETER_VALUES  IPCOM_TELNET_IDLE_TIMEOUT "0" 
	 TIMEZONE_ENV_VAR "TZ=CET-1CEST,M3.5.0/02,M10.5.0/03" 
	 VX_SMP_NUM_CPUS VX_MAX_SMP_CPUS 
	 SHELL_COMPATIBLE FALSE 
	 SHELL_DEFAULT_CONFIG ("INTERPRETER=,LINE_EDIT_MODE=emacs,LINE_LENGTH=1024,STRING_FREE=manual,VXE_PATH=.;/bin;/usr/bin;/romfs")
	 DNSC_DOMAIN_NAME "IAMP" 
	 DNSC_PRIMARY_NAME_SERVER "134.176.2.7" 
	 DNSC_SECONDARY_NAME_SERVER "134.176.2.5" 
	 NTP_INIT_PARAM NULL 
	 NTP_CONFIG_PARAM NULL 
	 NTP_CONFIG_FILENAME NULL 
	 SYSFLG_NO_SECURITY_ENABLE FALSE 
	 UDB_HASH_KEY .....
	 UDB_STORAGE_PATH "/ram0/cxUserDB.txt" 
	 UDB_PROMPT_INITIAL_USER TRUE 
	 SYS_CLK_RATE (100) 
	 USB_GEN2_SERIAL_IOS_RING_BUFFER_SIZE 131072 

PROFILES_EXCLUSIONS 


Vorige: , Nach oben: Top   [Inhalt]

4 Neues Experiment

Am Beispiel des Experimentes EXEIS wird im Folgenden gezeigt welche System- und Account-Einstellungen notwendig sind für den Anschluss eines Experiments.


Nächste: , Nach oben: VxWorksServer   [Inhalt]

4.1 System-Einstellungen

siehe auch: /root/firewall.sh, /root/Umzug017


*** Firewall anpassen ***

* Allow rlogin and rsh for EXEIS only

sudo ufw allow proto tcp from 134.176.21.35 to any port 513 comment 'rlogin'
sudo ufw allow proto tcp from 134.176.21.35 to any port 514 comment 'rsh'

* Allow NFS for EXEIS only

sudo ufw allow from 134.176.21.35 to any port 111 comment 'Portmapper'
sudo ufw allow from 134.176.21.35 to any port nfs comment 'NFS'
# Der folgende mountd-Port wurde auf 33333 festgelegt (s.u. NFS)
sudo ufw allow from 134.176.21.35 to any port 33333 comment 'mountd'

* Show Firewall settings

sudo ufw status verbose
sudo ufw reload

* Hilfen

sudo ufw delete nn    #delete rule nn (1...)
sudo cat /var/log/ufw.log   -> ...[UFW BLOCK]... SRC=... DST=... DPT=<Port>

* Problem
Obwohl der Port 514 frei gegeben ist, taucht beim Booten von VxWorks eine unterschiedliche Zahl (3-10?) von Block-Meldungen im Log-File auf. Offensichtlich ohne weitere Auswirkungen:

Oct  8 11:50:54 ionix kernel: [1191732.334599] [UFW BLOCK]
 IN=enp0s31f6 OUT=
 MAC=54:bf:64:6e:c7:d0:34:17:eb:c8:17:04:08:00 
 SRC=134.176.21.35 
 DST=134.176.21.37 
 LEN=40 TOS=0x00 PREC=0x00 TTL=64 ID=61970 
 PROTO=TCP SPT=1009 DPT=514 
 WINDOW=0 RES=0x00 RST URGP=0

*** /etc/hosts ergänzen ***

134.176.21.35   exeis.strz.uni-giessen.de       exeis

*** NFS ***
* NFS Einstellungen
Der normalerweise dynamische mountd-Port muss für die Firewall festgelegt werden. Dazu muss NFS V4 abgeschaltet werden, sonst gibt es Fehler beim Restart.
/etc/default/nfs-kernel-server ergänzen:

RPCMOUNTDOPTS="--manage-gids"
RPCMOUNTDOPTS="-no-nfs-version 4"
RPCMOUNTDOPTS="--port 33333"

* /etc/exports (NFS) ergänzen

/home/exeis   134.176.21.35(rw,root_squash,sync,no_subtree_check)

* Restart und Check NFS

sudo systemctl restart nfs-server
sudo systemctl is-enabled nfs-server
sudo systemctl status nfs-server

Vorige: , Nach oben: VxWorksServer   [Inhalt]

4.2 Account-Konfiguration

Für das Experiment EXEIS z.B. sind folgende Verzeichnisse anzulegen:

Messdaten:         /home/exeis/ex_home/ex_data
Dokumentation:     /home/exeis/ex_home/ex_help -> /usr/exp/ex_help
Programmparameter: /home/exeis/ex_home/ex_param
Programme:         /home/exeis/ex_home/ex_prog -> /usr/exp/ex_prog
Quellen:           /home/exeis/ex_home/ex_src -> /usr/exp/ex_src
VxWorks-Systeme:   /home/exeis/ex_home/vxw -> /usr/exp/vxw

Um rsh und rlogin zu erlauben, wird für EXEIS in .rhosts folgender Eintrag benötigt:

/home/exeis/.rhosts 
134.176.21.35
exeis.strz.uni-giessen.de

VxWorks lädt nach dem Booten zum Konfigurieren die Datei

/home/exeis/ex_home/ex_param/startup.vxw   für MVME-Rechner
bzw.
/home/exeis/ex_home/ex_param/startup.vxwi  für INTEL-Rechner

Nach dem Kopieren einer solchen, bereits vorhandenen Datei sind einige Änderungen zur Anpassung notwendig.