Shared Interrupt Client
Die Funktionen des Shared Interrupt Clients ermöglichen einer RMOS3-Task das API des
Shared Interrupt Servers zu nutzen. Die Library RMISHCLI.LIB muss zu jeder RMOS3-Task,
die sie benutzt, dazugebunden werden.
Die Initialisierung des Shared Interrupt Clients erfolgt über den Aufruf
Dadurch werden aus einer definierten Mailbox die Zugriffsinformationen auf den Server
abgeholt. Erst dann können die weiteren Funktionen des Clients ausgeführt werden.
Es wird zwischen 2 Modi des Interrupthandlings unterschieden:
● Im Mode 1 (Compatibility Mode,
● Im schnelleren Mode 2 (Fast Mode,
RmClrShIntISHandler
Handler-Eintrag aus dem Server löscht, unabhängig vom Mode des Eintrages. Nach dem
Entfernen des letzten Eintrags für diesen Interrupt wird der Default-Interrupt-Handler von
RMOS3 installiert.
PCI Scanner
Die Funktionen des PCI-Scanners (
ermöglichen einer RMOS3-Task alle PCI-Devices am Bus zu suchen oder gezielt nach PCI-
Devices zu suchen, deren Vendor-ID und Device-ID, oder deren Vendor-ID, Device-ID,
Subsystem-VendorID und Subsystem ID bekannt sind (siehe Technische Beschreibung der
jeweiligen Baugruppe).
Die Configuration-Spaces dieser Devices bzw. dieser Functions (für den Fall von Mulit-
Function-Devices) werden ausgelesen und in einer Struktur PCI_CONFIG abgelegt. Die
Reihenfolge des Eintrages erfolgt PCI-konform.
Der Interrupt-Client benötigt aus der PCI_CONFIG-Struktur die den Devices zugeordneten
Interruptnummern.
RMOS3 V3.50 Benutzerhandbuch
Bedienhandbuch, 07/2012, A5E03692290-01
I- und S-Handler-Routinen auch noch eine, vom Anwender zu schreibende, Routine
GetIntReqState übergeben, anhand derer entschieden wird, ob ein aktiver Interrupt von
den Handlern bearbeitet werden soll. Dadurch können bestehende I- und S-Handler-
Routinen übernommen werden.
RMOS3-Funktion
RmSetIntISHandler
Betriebssystem RMOS3 nur der I- und S-Handler-Routinen übergeben. Ob der aktive
Interrupt für die Handler bestimmt ist, muss von der I-Handler-Routine selbst abgefragt
werden.
ruft eine Funktion des Servers auf, die den entsprechenden Interrupt-
Betriebssystem-Eigenschaften von RMOS3
8.3 Interrupt-Bearbeitung unter RMOS3
) wird neben bereits vorhandenen
RmSetShIntISHandler1
RmSetShIntISHandler2
für flankengetriggerte Interrupts, dem
und
RmPciSearchFunction
RmInitShIntClient
) werden, wie mit der Standard
RmPciSearchSubFunction
.
)
105