DEENESPTFRRUARHIKOZHNL

AUTOSAR RTE

ModulRte (Runtime Environment)
BSW-Modul-ID2
Standard-Header#include "Rte.h"
SWS-SpezifikationAUTOSAR_SWS_RTE.pdf
ClusterRuntime Environment (RTE)

Modul-GuideKI-GENERIERT

Verbindet Softwarekomponenten untereinander sowie mit Basissoftware und koordiniert deren Ausführung.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: db6362f39e13 Herkunft Offene Fragen (2)
Kausaler Anker: R20-11 Gültig ab R20-11 Neu synthetisiert für diesen Spezifikationsstand.
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verbindet Softwarekomponenten untereinander sowie mit Basissoftware und koordiniert deren Ausführung.

Die Runtime Environment (RTE) verbindet AUTOSAR-Software-Komponenten untereinander sowie mit den Basis-Softwaremodulen und regelt über den Basic Software Scheduler (SchM) die deterministische Ablaufplanung auf der Classic Platform (SWS_RTE S. 100). Der Lebenszyklus wird über standardisierte Schnittstellen von SchM_Init und Rte_Start bis zu Rte_Stop und SchM_Deinit koordiniert [SWS_Rte_08060], [SWS_Rte_03015]. Neben Sender-Receiver- und Client-Server-Mustern sichern Software-Zeigerverfahren für Kalibrierparameter sowie Speicherschutzprüfungen an Partitionsgrenzen einen robusten Echtzeitbetrieb [SWS_Rte_03914], [SWS_Rte_02752].

Die Runtime Environment (RTE) entkoppelt AUTOSAR-Software-Komponenten von der Steuergeräte-Hardware und koordiniert gemeinsam mit dem Basic Software Scheduler (SchM) die Ausführung sämtlicher Anwendungs- und Basis-Softwareabläufe (SWS_RTE S. 100). Der kontrollierte Hochlauf erfolgt stufenweise über den EcuStateManager: Zunächst initialisiert SchM_Init die Scheduler-Strukturen, gefolgt von SchM_Start vor dem Aufruf von BswM_Init sowie SchM_StartTiming zur Freigabe periodischer BSW-Ereignisse [SWS_Rte_08060], [SWS_Rte_07273], [SWS_Rte_04548]. Die Anwendungs-SW-Cs werden anschließend über Rte_Start gestartet und beim Herunterfahren durch Rte_Stop vor der Deinitialisierung via SchM_Deinit gestoppt [SWS_Rte_03015], [SWS_Rte_01262], [SWS_Rte_04551].

Hochlauf- und Herunterfahrkoordination zwischen EcuM, SchM und RTEEcuMSchMBswMRTEUse Case: BSW-Scheduler HochlaufphaseSchM_Init(ConfigPtr)Interne Datenstrukturen & initial ModeMachines initialisierenSchM_Start()BswM_Init(ConfigPtr)SchM_StartTiming()BswTimingEvents periodisch aktivierenUse Case: RTE ApplikationsstartRte_Start()Applikations-Runnables & ModeTransitions freigebenRTE_E_OKUse Case: Herunterfahren (Shutdown)Rte_Stop()Runnables stoppen, Kommunikation ignorierenRTE_E_OKSchM_Deinit()Rte_Rips_SchM_Deinit() & Ressourcen freigeben

Sequenzdiagramm: Zeitliche Hochlauf- und Herunterfahrkoordination zwischen EcuM, SchM und RTE. Quellen: [SWS_Rte_08060], [SWS_Rte_07273], [SWS_Rte_04548], [SWS_Rte_03015], [SWS_Rte_01262], [SWS_Rte_04551], [SWS_Rte_89019].

Die Kommunikation deckt Sender-Receiver- und Client-Server-Muster sowohl intra- als auch inter-ECU ab (SWS_RTE S. 286). Ungepufferte Datenelemente stellen über initValue konsistente Ausgangswerte sicher, während gepufferte Ereignisse über FIFO-Warteschlangen abgearbeitet werden [SWS_Rte_06009], [SWS_Rte_02521]. In Client-Server-Interaktionen verknüpfen zweigliedrige Transaction Handles asynchrone Anforderungen mit den zugehörigen Antworten [SWS_Rte_02649]. Moduswechsel über Rte_Switch vollziehen eine deterministische Zehn-Stufen-Sequenz, wobei Distributed Shared Mode Queues die strikte Abarbeitungsreihenfolge mehrerer Modusmaschinen garantieren [SWS_Rte_02631], [SWS_Rte_02665], [SWS_Rte_91102].

CalprmPointered cluster_single Single Pointered Method cluster_double Double Pointered Method refTabSingle <RteParameterRefTab> (Array von void-Pointern im RAM) grpSingle1 ParameterElementGroup 1 (RAM / PIM / Flash) refTabSingle->grpSingle1 grpSingle2 ParameterElementGroup 2 (RAM / PIM / Flash) refTabSingle->grpSingle2 baseRef Base reference (Zeigervariable im RAM) refTabRom Calibration reference table (ROM / Flash) baseRef->refTabRom Initial refTabRam Calibration reference table (Kopie im RAM) baseRef->refTabRam Nach Umschaltung grpRom ParameterElementGroup (Flash-Originaldaten) refTabRom->grpRom grpRam ParameterElementGroup (Modifizierte RAM-Kopie) refTabRam->grpRam

Kontextdiagramm: Adressierungs- und Indirektionsstrukturen der Single Pointered und Double Pointered Kalibriermethoden. Quellen: [SWS_Rte_03913], [SWS_Rte_03914], [SWS_Rte_03947], AUTOSAR_SWS_RTE S. 180, AUTOSAR_SWS_RTE S. 181.

Für die Online-Kalibrierung erzeugt die RTE Zeigerstrukturen nach dem Single Pointered oder Double Pointered Prinzip, wodurch Parametergruppen ohne Hardware-Emulation im RAM modifiziert werden können [SWS_Rte_03913], [SWS_Rte_03914]. Fehlerhafte Bereichsüberschreitungen oder Timeouts werden über Std_ReturnType an die aufrufende Komponente gemeldet, während Speicherschutzprüfungen an Partitionsgrenzen unbefugte Manipulationen verhindern [SWS_Rte_01034], [SWS_Rte_03845], [SWS_Rte_02752].

Rolle und Systemgrenzen der RTE in der Classic Platform

Die Runtime Environment (RTE) bildet das funktionale Rückgrat der AUTOSAR-Classic-Architektur, indem sie Software-Komponenten (SW-Cs) vollständig von der zugrunde liegenden Rechnerhardware sowie den hardwarenahen Basis-Softwaremodulen (BSW) entkoppelt (SWS_RTE S. 100). Der RTE-Generator erzeugt für jedes Steuergerät eine maßgeschneiderte Schnittstelle, die sämtliche Kommunikationsbeziehungen – sowohl lokal auf einem Mikrocontroller (Intra-ECU) als auch netzwerkweit über Kommunikationsbusse (Inter-ECU) – über einheitliche API-Aufrufe wie Rte_Read, Rte_Write oder Rte_Call auflöst [SWS_Rte_01091], [SWS_Rte_01102]. Durch die Bereitstellung eines generierten BswModuleDescription-Elements sowie zugehöriger BswInternalBehavior-Beschreibungen integriert sich die RTE als integraler Bestandteil in das Konfigurations- und Paketierungsschema von AUTOSAR [SWS_Rte_05165], [SWS_Rte_05166].

Mehrfachinstanziierungen derselben Software-Komponente werden von der RTE ausschließlich über Code-Sharing reentrante Runnable Entities gelöst; eine Code-Duplizierung wird dabei ausdrücklich nicht unterstützt [SWS_Rte_03015], [SWS_Rte_02002]. Für jede Instanz wird im C-Code eine eindeutige Instanzkennung übergeben oder über die Component Data Structure (CDS) adressiert, wodurch parallele Instanzausführungen in gemeinsamen Task-Kontexten ohne gegenseitige Datenkorruption gewährleistet werden (SWS_RTE S. 126, SWS_RTE S. 804). Ergänzend zu den Applikations-SW-Cs deckt die RTE über den Basic Software Scheduler (SchM) die zyklische Ablaufplanung und Modusverwaltung sämtlicher BSW-Module ab [SWS_Rte_08060], [SWS_Rte_07273].

Lebenszyklus und Hochlaufkoordination von SchM und RTE

Der Systemstart erfordert eine strikt geregelte Reihenfolge zwischen dem BSW-Scheduler (SchM) und der anwendungsorientierten RTE (SWS_RTE S. 459). Bevor der SchM initialisiert wird, stehen systemsicherheitsbedingt ausschließlich die Sperrfunktionen SchM_Enter und SchM_Exit zur Verfügung. Der EcuStateManager ruft zunächst die Funktion SchM_Init auf, wodurch interne Datenstrukturen und Modusmaschinen initialisiert sowie BswSchedulableEntities mit Background-Events gestartet werden [SWS_Rte_08060], [SWS_Rte_07584]. Noch vor dem Aufruf von BswM_Init muss SchM_Start aufgerufen werden [SWS_Rte_07273], [SWS_Rte_04548]. Die Aktivierung periodischer BSW-Abläufe (BswTimingEvents) wird danach über SchM_StartTiming freigegeben [SWS_Rte_04548], [SWS_Rte_04551], [SWS_Rte_07574].

Hochlauf- und Herunterfahrkoordination zwischen EcuM, SchM und RTEEcuMSchMBswMRTEUse Case: BSW-Scheduler HochlaufphaseSchM_Init(ConfigPtr)Interne Datenstrukturen & initial ModeMachines initialisierenSchM_Start()BswM_Init(ConfigPtr)SchM_StartTiming()BswTimingEvents periodisch aktivierenUse Case: RTE ApplikationsstartRte_Start()Applikations-Runnables & ModeTransitions freigebenRTE_E_OKUse Case: Herunterfahren (Shutdown)Rte_Stop()Runnables stoppen, Kommunikation ignorierenRTE_E_OKSchM_Deinit()Rte_Rips_SchM_Deinit() & Ressourcen freigeben

Sequenzdiagramm: Zeitliche Hochlauf- und Herunterfahrkoordination zwischen EcuM, SchM und RTE. Quellen: [SWS_Rte_08060], [SWS_Rte_07273], [SWS_Rte_04548], [SWS_Rte_03015], [SWS_Rte_01262], [SWS_Rte_04551], [SWS_Rte_89019].

Erst wenn die erforderlichen Basisdienste laufen, aktiviert der EcuStateManager mit Rte_Start die Ausführung der Applikations-SW-Cs und leitet Modusübergänge für ungebündelte On-Entry-Runnables ein [SWS_Rte_03015], [SWS_Rte_06766]. Misslingt die Ressourcenallokation bei Rte_Start, meldet die Funktion den Fehlercode RTE_E_LIMIT zurück [SWS_Rte_01262]. Beim Herunterfahren des Steuergeräts beendet Rte_Stop zunächst die Applikationsausführung und ignoriert ab diesem Zeitpunkt eintreffende Anfragen und Daten [SWS_Rte_02538], [SWS_Rte_02535], [SWS_Rte_02536]. Erst nach vollständiger Terminierung von Rte_Stop darf SchM_Deinit aufgerufen werden, welches alle Systemressourcen des Schedulers freigibt und die Plug-in-spezifischen Bereinigungen über Rte_Rips_SchM_Deinit veranlasst [SWS_Rte_04551], [SWS_Rte_07277], [SWS_Rte_89019].

Kommunikationsmuster: Sender-Receiver und Client-Server

Die RTE unterscheidet im Sender-Receiver-Paradigma fundamental zwischen Daten- und Ereignissemantik (SWS_RTE S. 286). Bei Datensemantik (swImplPolicy != queued) wird jeweils der zuletzt geschriebene Wert im Puffer gehalten und mittels Rte_Read explizit oder über Rte_IRead implizit konsumiert [SWS_Rte_01091], [SWS_Rte_06000]. Bei implizitem Lesen garantiert die RTE eine konsistente Kopie des Datenwerts über die gesamte Ausführungszeit der Runnable Entity hinweg [SWS_Rte_06001]. Vor dem ersten Empfang stellt die RTE den konfigurierten initValue bereit, sodass keine uninitialisierten Speicherzustände verarbeitet werden [SWS_Rte_06009], [SWS_Rte_06010].

Inter-ECU Sender-Receiver-Kommunikation mit DataSemanticsSender-SWCSender-RTECOM-StackEmpfaenger-RTEEmpfaenger-SWCUse Case: InitialisierungsphasePuffer mit initValue vorbesetzenRte_Read_p_o(&data)data = initValue (RTE_E_OK)Use Case: DatenübertragungRte_Write_p_o(data)Com_SendSignal(signalId, &data)RTE_E_OKSignalempfang via Bus & Rte_COMCbkAktualisierung des internen SignalpuffersRte_Read_p_o(&data)data = empfangener Wert (RTE_E_OK)

Sequenzdiagramm: Inter-ECU Sender-Receiver-Kommunikation für ungepufferte Signale mit Initialwertabsicherung. Quellen: [SWS_Rte_01091], [SWS_Rte_06009], [SWS_Rte_01289], AUTOSAR_SWS_RTE S. 148.

Im Gegensatz dazu verarbeitet die Ereignissemantik (swImplPolicy = queued) Datenfolgen verlustfrei über FIFO-Pufferstrukturen, die mittels Rte_Send befüllt und durch Rte_Receive dekrementiert werden [SWS_Rte_01072], [SWS_Rte_01092], [SWS_Rte_02521]. Ist die über RteQueuedReceiverQueueLength festgelegte Puffergrenze erreicht, verwirft die RTE neu eintreffende Daten und setzt ein entsprechendes Fehlerflag [SWS_Rte_08940], [SWS_Rte_02523]. Für große Datenmengen nutzt die RTE spezialisierte Transportwege wie LdCom oder Large-Data-COM mit Signalbuffer-Locking [SWS_Rte_01376], [SWS_Rte_01379].

Die Client-Server-Kommunikation unterstützt synchrone Aufrufe (Rte_Call) sowie asynchrone Interaktionen mit separater Ergebnisabfrage via Rte_Result [SWS_Rte_01102], [SWS_Rte_01111]. Auf der Serverseite puffert die RTE eingehende Anforderungen in einer FIFO-Warteschlange, sofern kein Direktaufruf konfiguriert ist, während die Antwort auf Clientseite in einem Puffer der Länge 1 zwischengespeichert wird [SWS_Rte_02527], [SWS_Rte_02528]. Bei partitions- oder steuergeräteübergreifenden Aufrufen stellt ein zweigliedriger Transaction Handle, bestehend aus Client Identifier und Sequence Counter, die exakte Zuordnung von Antwortpaketen zur ursprünglichen Anforderung sicher [SWS_Rte_02649], [SWS_Rte_08711].

Modus-Management, Zustandsübergänge und Distributed Shared Mode Queues

Das Modus-Management ermöglicht koordiniertes Umschalten von Betriebszuständen über dedizierte Modusmaschinen (ModeMachineInstances), die über Rte_Switch angesteuert werden [SWS_Rte_02631]. Jeder Zustandsübergang durchläuft eine deterministische Sequenz aus zehn Einzelschritten, die unter anderem die Aktivierung von Modus-Sperren, das kontrollierte Warten auf das Beenden betroffener Runnables sowie das sequentielle Ausführen von OnExit-, OnTransition- und OnEntry-Entities umfasst [SWS_Rte_02665]. Erst nach vollständigem Abschluss aller Phasen wird der Quittierungsevent ModeSwitchedAckEvent ausgelöst, dessen Status über Rte_SwitchAck abgefragt werden kann [SWS_Rte_02679], [SWS_Rte_02725], [SWS_Rte_02758].

ModeTransition s1 1. Aktivierung der Mode Disablings s2 2. Warten auf Terminierung betroffener ExecutableEntities s1->s2 s3 3. Ausführung der OnExit ExecutableEntities s2->s3 s4 4. Warten auf Beendigung aller OnExit Entities s3->s4 s5 5. Ausführung der OnTransition ExecutableEntities s4->s5 s6 6. Warten auf Beendigung aller OnTransition Entities s5->s6 s7 7. Ausführung der OnEntry ExecutableEntities s6->s7 s8 8. Warten auf Beendigung aller OnEntry Entities s7->s8 s9 9. Umschalten der Mode Disablings s8->s9 s10 10. Auslösen der ModeSwitchAckEvents s9->s10

Aktivitätsdiagramm: Deterministischer Zehn-Stufen-Ablauf einer Modustransition innerhalb einer ModeMachineInstance. Quellen: [SWS_Rte_02665], [SWS_Rte_02679], EXP_ModeManagementGuide S. 16.

Um bei mehreren Modusmaschinen eine strikte Reihenfolgefolge der Moduswechsel zu erzwingen – beispielsweise zwischen Zündungsstatus und Motorzustand –, stellt die RTE Distributed Shared Mode Queues (DSMQ) bereit (SWS_RTE S. 442). Der Status von Ein- und Ausreihoperationen in solchen Warteschlangen wird über den Typ Rte_DsmqStatusType signalisiert [SWS_Rte_91102]. Für Software-Cluster-Übergänge bildet Rte_Rips_SwitchNotificationStatusType die entsprechenden Enqueue- und Dequeue-Zustände ab [SWS_Rte_91113]. Interpretation: Beim BSW-Scheduler dürfte die Konfiguration von Synchronisationspunkten vor Rte_Start gewählt werden, um deterministische Systemzustände vor der Freigabe zyklischer Tasks zu etablieren [SWS_Rte_06767]. Frage Q-d194460a04c885f3 (offen)

Kalibrierung, Datenemulation und Speichertopologie

Kalibrierparameter werden von der RTE zentral im Speicher verortet, da nur der RTE-Generator die Gesamtbelegung aller Komponenten und Partitionen auf dem Steuergerät kennt [SWS_Rte_03961]. Um Online-Kalibrierungen ohne spezialisierte Emulations-Hardware zu ermöglichen, unterstützt die RTE Software-Emulationsverfahren wie die Single Pointered Method und die Double Pointered Method (SWS_RTE S. 236, SWS_RTE S. 237). Bei der Single Pointered Method existiert im RAM eine Zeigertabelle (<RteParameterRefTab>) aus void*-Einträgen, die auf ParameterElementGroups verweisen [SWS_Rte_03913], [SWS_Rte_03947].

CalprmPointered cluster_single Single Pointered Method cluster_double Double Pointered Method refTabSingle <RteParameterRefTab> (Array von void-Pointern im RAM) grpSingle1 ParameterElementGroup 1 (RAM / PIM / Flash) refTabSingle->grpSingle1 grpSingle2 ParameterElementGroup 2 (RAM / PIM / Flash) refTabSingle->grpSingle2 baseRef Base reference (Zeigervariable im RAM) refTabRom Calibration reference table (ROM / Flash) baseRef->refTabRom Initial refTabRam Calibration reference table (Kopie im RAM) baseRef->refTabRam Nach Umschaltung grpRom ParameterElementGroup (Flash-Originaldaten) refTabRom->grpRom grpRam ParameterElementGroup (Modifizierte RAM-Kopie) refTabRam->grpRam

Kontextdiagramm: Adressierungs- und Indirektionsstrukturen der Single Pointered und Double Pointered Kalibriermethoden. Quellen: [SWS_Rte_03913], [SWS_Rte_03914], [SWS_Rte_03947], AUTOSAR_SWS_RTE S. 180, AUTOSAR_SWS_RTE S. 181.

Die Double Pointered Method nutzt demgegenüber eine zweistufige Indirektion: Eine im ROM/Flash abgelegte Referenztabelle verweist auf Parametergruppen, während ein modifizierbarer Basiszeiger (Base reference) im RAM initial auf diese Flash-Tabelle zeigt und bei einer Kalibrierung auf eine modifizierte RAM-Kopie umgebogen werden kann [SWS_Rte_03914]. ParameterDataPrototypes werden hierbei anhand ihrer swAddrMethod in distinkte Gruppen separiert [SWS_Rte_03908]. Sämtliche Struktur- und Zeigerinformationen exportiert der RTE-Generator im Container McSupportData via McSwEmulationMethodSupport, um Kalibrierwerkzeugen (wie INCA oder CANape) präzisen Zugriff auf die A2L-Adressierung zu geben [SWS_Rte_05118], [SWS_Rte_05137], [SWS_Rte_05138]. Interpretation: Für hochintegrierte Sicherheitssteuergeräte dürfte die Double Pointered Method bevorzugt werden, da die Zeigertabelle selbst primär im geschützten Flash verbleibt und nur bei aktiver Kalibrierung RAM-Puffer bindet. Frage Q-fb532d79c1eb906d (offen)

Partitionierung, Speicherschutz und Inter-OS-Application-Kommunikation

In Multi-Core- und speichergeschützten Architekturen verbindet die RTE Software-Komponenten über Partitionsgrenzen (OS-Applications) hinweg mittels Inter-OS-Application Communication (IOC) (SWS_RTE S. 372). Die RTE ersetzt hierbei interne Signalpuffer durch hardwarenahe IOC-Puffer und generierte Schutzfunktionen. Für den Zugriff auf Exklusivbereiche (ExclusiveAreas) wählt der Integrator mechanismspezifische Konfigurationsparameter (RteExclusiveAreaImplMechanism), die von Interrupt-Sperren bis hin zu OS-Spinlocks für Cross-Core-Zugriffe reichen (SWS_RTE S. 203).

Übergibt eine ungetestete oder nicht-vertrauenswürdige Partition (Non-Trusted) Zeigerparameter an eine vertrauenswürdige BSW- oder SWC-Partition, führt die RTE zwingend Adress- und Speicherbereichsprüfungen durch [SWS_Rte_02752], [SWS_Rte_02753]. Die Weiterleitung des Zeigers erfolgt nur dann, wenn das gesamte referenzierte Speicherobjekt der aufrufenden Partition gehört, wodurch Schutzbereichsverletzungen und unbefugtes Überschreiben fremder Speicherbereiche wirksam unterbunden werden (SWS_RTE S. 378).

Verhalten im Fehlerfall

Die Fehlerbehandlung der RTE trennt strikt zwischen Infrastrukturfehlern und Applikationsfehlern (SWS_RTE S. 579). Sämtliche Fehlerzustände werden dem Aufrufer unmittelbar über den Rückgabetyp Std_ReturnType signalisiert [SWS_Rte_01034]. Zu den unmittelbaren Infrastrukturfehlern gehören unter anderem RTE_E_TIMEOUT (129), RTE_E_LIMIT (130), RTE_E_NO_DATA (131), RTE_E_UNCONNECTED (134), RTE_E_IN_EXCLUSIVE_AREA (135) sowie RTE_E_SEG_FAULT (136) (SWS_RTE S. 586).

Bereichsprüfung und Fehlerpropagierung bei Rte_ReadCOM-StackRTE-EmpfangRTE-PufferApplikations-SWCNeuer Signalwert empfangenDataSemantics range check durchführenaltWert innerhalb des definierten BereichsPufferwert aktualisieren, Status = RTE_E_OKWert außerhalb des Bereichs (Out of Range)Pufferstatus = RTE_E_OUT_OF_RANGERte_Read_p_o(&data)Rückgabe: RTE_E_OUT_OF_RANGE

Sequenzdiagramm: Erkennung und Propagierung von Wertebereichsfehlern über Rte_Read. Quellen: [SWS_Rte_01091], [SWS_Rte_01371], [SWS_Rte_03845], AUTOSAR_CP_SWS_RTE S. 409.

Bei aktivierter Datenvalidierung (DataSemantics range check) prüft die RTE eingehende Signalwerte gegen definierte Wertebereiche [SWS_Rte_01371]. Liegt ein empfangener Wert außerhalb der Grenzen, retourniert die Lese-API RTE_E_OUT_OF_RANGE [SWS_Rte_03845], [SWS_Rte_03846]. Für Signale mit Invalidation-Policy ersetzt die RTE bei replace den Wert durch den initValue oder hält bei keep den bisherigen Wert und setzt ein Fehler-Event [SWS_Rte_05030], [SWS_Rte_05049]. Bei Timeout-Überwachung über aliveTimeout registriert die RTE das Ausbleiben über Rte_COMCbkRxTOut und propagiert RTE_E_TIMEOUT an wartende SW-Cs [SWS_Rte_08061], [SWS_Rte_03763].

Weiterführende Detailbelege

Die exakte technische Ausgestaltung der RTE und des Schedulers stützt sich auf folgende Kernanforderungen des Payloads:

Dieser Modul-Leitfaden wurde durch einen KI-Kurations-Assistenten auf Basis der AUTOSAR-Spezifikation für R20-11 erstellt.

AUTOSAR RTE

The RTE realizes the Virtual Functional Bus (VFB) on a specific ECU, providing communication between Software Components and basic software.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

function Rte_Start [SWS_Rte_03015] 📄 PDF

Std_ReturnType Rte_Start (void);

Rte_Start is intended to allocate and initialize system resources and communication resources used by the RTE.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 7e79d12edbc4 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Funktion Rte_Start allokiert und initialisiert die von der RTE genutzten System- und Kommunikationsressourcen [SWS_Rte_03015]. Die API wird stets generiert [SWS_Rte_01309], besitzt die Signatur Std_ReturnType Rte_Start (void) [SWS_Rte_02569] und muss zwingend innerhalb endlicher Ausführungszeit ohne Endlosschleife zurückkehren [SWS_Rte_02585].

Die Funktion darf auf jedem Core nur genau einmal durch den EcuStateManager aus einem vertrauenswürdigen OS-Kontext aufgerufen werden, nachdem alle von der RTE benötigten Basissoftware-Module initialisiert wurden [SWS_Rte_CONSTR_09035]. Der Aufruf wird auf jedem Core unabhängig ausgeführt [SWS_Rte_07615] und führt die partitionsspezifischen Startaktivitäten für alle diesem Core zugeordneten Partitionen aus [SWS_Rte_07616].

Während des Ablaufs initialisiert die RTE die für RAM-Blöcke allokierten Variablen abhängig von der konfigurierten Strategie [SWS_Rte_07632]. Nach den Variableninitialisierungen, jedoch noch vor der Ausführung von Runnables, ruft die RTE die Initialisierungsfunktionen Rte_Rips_Rte_Start aller beteiligten RTE Implementation Plug-Ins auf [SWS_Rte_80052]. Anschließend aktiviert die RTE einmalig alle durch InitEvent ausgelösten Runnables [SWS_Rte_06761] und leitet den Wechsel in die initialen Modi ein [SWS_Rte_06766]. Falls die API Rte_StartTiming nicht existiert, startet Rte_Start zudem die Aktivierung von Runnables, die durch TimingEvent [SWS_Rte_07575] oder BackgroundEvent [SWS_Rte_07178] ausgelöst werden.

Zur Fehlerbehandlung meldet die RTE bzw. der SchM bei aktiviertem RteDevErrorDetectUninit den Fehler RTE_E_UNINIT (0x07), wenn Rte_Start vor SchM_Init aufgerufen wird [SWS_Rte_07683]. Vor der Ausführung von Rte_Start dürfen Laufzeit-APIs der RTE nicht aufgerufen werden, da dies andernfalls ebenfalls zu RTE_E_UNINIT führt [SWS_Rte_07682]; Rte_SetMirror darf hingegen bereits vor Rte_Start aufgerufen werden [SWS_Rte_07319].

Dieser Nutzungshinweis wurde automatisch auf Basis der AUTOSAR-Spezifikation generiert.

Implementer's Guide folgt (Komplexität I2)

function Rte_Stop [SWS_Rte_01262] 📄 PDF

Std_ReturnType Rte_Stop (void);

Rte_Stop is used to finalize the RTE on the core it is called. This service releases all system and communication resources allocated by the RTE on that core.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 7279f2fa5c32 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Funktion Rte_Stop ([SWS_Rte_02570]) wird in jeder Konfiguration generiert ([SWS_Rte_01310]) und dient dazu, die RTE auf dem ausführenden Core zu finalisieren ([SWS_Rte_01262]). Dabei werden sämtliche von der RTE auf diesem Core allokierten System- und Kommunikationsressourcen freigegeben ([SWS_Rte_01262]). Der synchrone Aufruf kehrt garantiert innerhalb einer endlichen Laufzeit zurück ([SWS_Rte_02584]).

Im Gesamtsystem muss Rte_Stop durch den EcuStateManager aufgerufen werden, bevor die von der RTE benötigten Basissoftware-Module heruntergefahren werden ([SWS_Rte_CONSTR_09038]). Während des Ablaufs ruft die RTE die Stopp-Funktionen Rte_Rips_Rte_Stop aller beteiligten RTE-Implementation-Plug-Ins auf ([SWS_Rte_80053]), welche diese Lifecycle-Schnittstellen bereitstellen müssen ([SWS_Rte_70047]). Erst nach vollständiger Beendigung von Rte_Stop darf SchM_Deinit ausgeführt werden ([SWS_Rte_CONSTR_09056]).

Nach dem Aufruf von Rte_Stop auf einem Core werden dort durch die RTE keine RunnableEntity-Instanzen mehr aktiviert, gestartet oder freigegeben ([SWS_Rte_02538]). Davon unberührt bleibt Rte_GetMirror weiterhin aufrufbar, sofern das zugrundeliegende Betriebssystem aktiv ist ([SWS_Rte_07350]).

Im Fehlerfall liefert die Funktion RTE_E_LIMIT zurück, sofern ein internes Limit überschritten wurde oder die Allokation einer benötigten Ressource fehlschlägt ([SWS_Rte_01262]). Ist RteDevErrorDetectUninit aktiviert, meldet die RTE den Fehler RTE_E_UNINIT (0x07), wenn unzulässige APIs nach Rte_Stop aufgerufen werden ([SWS_Rte_07682]).

Dieser Nutzungshinweis wurde automatisiert auf Basis der AUTOSAR-Spezifikation R20-11 generiert.

Implementer's Guide folgt (Komplexität I2)

function Rte_StartTiming [SWS_Rte_06753] 📄 PDF

void Rte_StartTiming (void);

Rte_StartTiming API is intended to release the activation of RunnableEntitys triggered by TimingEvents and BackgroundEvents after the last call of a Rte_Init function.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: e0ce018ede17 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Funktion Rte_StartTiming dient dazu, nach dem Abschluss der RTE-Initialisierung die Aktivierung von RunnableEntitys freizugeben, die durch TimingEvents oder BackgroundEvents ausgelöst werden ([SWS_Rte_06753], [SWS_Rte_06756]). Sie wird als Funktion ohne Parameter und ohne Rückgabewert implementiert ([SWS_Rte_06754], [SWS_Rte_06758]) und muss innerhalb einer endlichen Ausführungszeit zurückkehren ([SWS_Rte_06757]).

Hinsichtlich des Aufrufkontexts und der Reihenfolge unterliegt die API strengen Randbedingungen:

  • Die Funktion darf erst aufgerufen werden, nachdem die RTE vollständig initialisiert wurde, konkret nach Beendigung des Aufrufs von Rte_Start ([SWS_Rte_CONSTR_09061]).
  • Sie ist dafür vorgesehen, nach dem letzten Aufruf einer Rte_Init-Funktion ausgeführt zu werden ([SWS_Rte_06753]).
  • Die API wird generiert bzw. bereitgestellt, sobald mindestens eine Rte_Init-API erzeugt wird ([SWS_Rte_06755]).

Wird Rte_StartTiming aufgerufen, startet sie unmittelbar die periodischen und hintergrundbasierten Aktivierungen ([SWS_Rte_06759], [SWS_Rte_06760]). Existiert die API in der Konfiguration hingegen nicht, übernimmt stattdessen bereits der Aufruf von Rte_Start die Freigabe der durch TimingEvents und BackgroundEvents getriggerten Runnables ([SWS_Rte_07178], [SWS_Rte_07575]). Spezifische Fehlercodes oder Rückgabewerte sind für diesen Aufruf nicht definiert ([SWS_Rte_06754]).

Dieser Text wurde von einer KI auf Basis der AUTOSAR-Spezifikation generiert.

Implementer's Guide folgt (Komplexität I2)

function SchM_Init [SWS_Rte_08060] 📄 PDF

void SchM_Init (const SchM_ConfigType* ConfigPtr);

SchM_Init is intended to allocate and initialize system resources used by the Basic Software Scheduler part of the RTE for the core on which it is called.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 33cf0d0b4f4b Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung und Semantik

Die Funktion SchM_Init allokiert und initialisiert die Systemressourcen, die vom Basic Software Scheduler (SchM) der RTE auf dem aufrufenden Core genutzt werden ([SWS_Rte_08060]). Die Schnittstelle wird stets generiert ([SWS_Rte_07271]) und besitzt die Signatur void SchM_Init(const SchM_ConfigType* ConfigPtr) ([SWS_Rte_07270]). Sie wird synchron ausgeführt und muss zwingend innerhalb einer endlichen Ausführungszeit zurückkehren, ohne in eine Endlosschleife einzutreten ([SWS_Rte_07273]).

Während des Initialisierungsablaufs führt SchM_Init folgende Schritte aus:

  • Sie initiiert für jede zum Basic Software Scheduler gehörende Modus-Maschinen-Instanz den Übergang in den Initialmodus ([SWS_Rte_07532]).
  • Sie startet die Aktivierung von BswSchedulableEntity-Instanzen, die durch BswBackgroundEvent-Ereignisse ausgelöst werden ([SWS_Rte_07584]).
  • Sie ruft die Initialisierungsfunktionen Rte_Rips_SchM_Init aller beteiligten RTE Implementation Plug-Ins auf ([SWS_Rte_80051]).

Aufrufkontext und Reihenfolgebedingungen

SchM_Init darf auf jedem Core nur genau einmal durch den EcuStateManager aufgerufen werden, sobald die vom Basic Software Scheduler benötigten BSW-Module initialisiert wurden ([SWS_Rte_CONSTR_09055]). Nachfolgende APIs wie Rte_Start dürfen erst nach vollständiger Beendigung von SchM_Init aufgerufen werden ([SWS_Rte_CONSTR_09036]).

Fehlerbehandlung

Wird SchM_Init mit einem NULL-Zeiger als Parameter aufgerufen, meldet der Basic Software Scheduler den Fehler RTE_E_DET_ILLEGAL_VARIANT_CRITERION_VALUE (0x02) ([SWS_Rte_07684]). Werden Scheduler-APIs (wie SchM_Switch, SchM_Mode oder SchM_Start) oder Rte_Start vor SchM_Init aufgerufen, wird bei aktiviertem RteDevErrorDetectUninit der Fehler RTE_E_UNINIT (0x07) gemeldet ([SWS_Rte_07683]).

Dieser Verwendungshinweis wurde von einem KI-System auf Basis der AUTOSAR-Spezifikation generiert.

Implementer's Guide folgt (Komplexität I2)

function SchM_Start [SWS_Rte_07273] 📄 PDF

void SchM_Start (void);

Basic Software Scheduler initialized. Shall be called before BswM_Init().

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 8cf50542ca2a Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die Funktion SchM_Start dient der Inbetriebnahme des Basic Software Schedulers im RTE-Modul und wird im Rahmen der Schnittstellengenerierung grundsätzlich immer bereitgestellt [SWS_Rte_04547]. Sie weist die parameterlose C-Signatur void SchM_Start(void) auf [SWS_Rte_04546] und liefert keinen Rückgabewert. Für die Ausführung gilt die verbindliche Vorgabe, dass der Aufruf innerhalb einer endlichen Laufzeit zurückkehren muss und keinesfalls in eine Endlosschleife geraten darf [SWS_Rte_04548]. Mangels asynchroner Callback-Mechanismen dürfte es sich um einen synchron blockierenden Initialisierungsaufruf handeln. Frage Q-b6ad9ed696841d7a (offen)

Aufrufkontext und Nebenläufigkeit

Für den Aufrufkontext und das Zusammenspiel mit anderen Systemkomponenten gelten strikte Einschränkungen:

  • Aufrufer und Häufigkeit: Die Funktion darf auf jedem Prozessorkern exklusiv durch den EcuStateManager und dort jeweils nur genau einmal aufgerufen werden [SWS_Rte_CONSTR_09055].
  • Reihenfolgebedingungen: Der Aufruf darf erst stattfinden, nachdem alle Basissoftwaremodule vollständig initialisiert wurden, die vom Basic-Software-Scheduler-Teil der RTE benötigt werden [SWS_Rte_CONSTR_09055].
  • Zusammenspiel beim Systemstart: Nach der Ausführung ist der Basic Software Scheduler betriebsbereit; der Aufruf muss zwingend vor der Initialisierung des BSW-Managers über BswM_Init() erfolgen [SWS_Rte_07273].

Fehlerbehandlung

Spezifische Fehlercodes, Rückgabewerte oder Benachrichtigungen an das DET oder DEM sind für diese Funktion im Payload nicht definiert.

Dieser Text wurde durch eine KI auf Basis der AUTOSAR-Spezifikation R20-11 erstellt.

Implementer's Guide folgt (Komplexität I2)

function SchM_StartTiming [SWS_Rte_04548] 📄 PDF

void SchM_StartTiming (void);

Start periodical events for BSW/SWCs. SchM_Init() has to be called before.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 381c7fe760c2 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die Funktion SchM_StartTiming besitzt die parameterlose Signatur void SchM_StartTiming(void) [SWS_Rte_04549] und wird durch den RTE-Generator stets erzeugt [SWS_Rte_04550]. Ihr Aufruf startet periodische Ereignisse für BSW und SWCs [SWS_Rte_04548], indem sie die Aktivierung von BswSchedulableEntity-Instanzen einleitet, die durch BswTimingEvents ausgelöst werden [SWS_Rte_07574]. Die Funktion muss innerhalb einer endlichen Ausführungszeit zurückkehren und darf keine Endlosschleife ausführen [SWS_Rte_04551].

Aufrufkontext und Einschränkungen

Vor dem Aufruf von SchM_StartTiming muss zwingend SchM_Init aufgerufen worden sein [SWS_Rte_04548]. Zudem gilt die verbindliche Einschränkung, dass SchM_StartTiming auf jedem Core nur genau einmal durch den EcuStateManager aufgerufen werden darf, nachdem alle für den Basic Software Scheduler erforderlichen Basissoftwaremodule initialisiert wurden [SWS_Rte_CONSTR_09055].

Fehlerbehandlung

Wird SchM_StartTiming vor SchM_Init aufgerufen, meldet der Basic Software Scheduler bzw. die RTE den Fehler RTE_E_UNINIT (0x07), vorausgesetzt, die Entwicklungsfehlererkennung RteDevErrorDetectUninit ist aktiviert [SWS_Rte_07683].

Dieser Text wurde von einer KI generiert und basiert auf den Spezifikationen des Releases R20-11.

Implementer's Guide folgt (Komplexität I2)

function SchM_Deinit [SWS_Rte_04551] 📄 PDF

void SchM_Deinit (void);

SchM_Deinit is used to finalize Basic Software Scheduler part of the RTE of the core on which it is called. This service releases all system resources allocated by the Basic Software Scheduler part on that core.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 7e0a6d638ce7 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung und Funktionsumfang

Die Funktion SchM_Deinit dient dazu, den Basic Software Scheduler-Teil der RTE auf demjenigen Core zu finalisieren, auf dem sie aufgerufen wird [SWS_Rte_04551]. Bei diesem Vorgang gibt der Dienst sämtliche Systemressourcen frei, die durch den BSW-Scheduler auf diesem Core belegt wurden [SWS_Rte_04551]. Die Funktion besitzt weder Parameter noch einen Rückgabewert (void SchM_Deinit(void)) [SWS_Rte_07274] und wird vom RTE-Generator grundsätzlich immer erzeugt [SWS_Rte_07275]. In Bezug auf das Zeitverhalten fordert die Spezifikation, dass SchM_Deinit innerhalb einer finiten Ausführungszeit zurückkehren muss [SWS_Rte_07277].

Aufrufkontext und Reihenfolgebedingungen

Für den Aufruf während der Abschaltphase des Steuergeräts gelten verbindliche Reihenfolgevorgaben:

  • Die Funktion SchM_Deinit darf erst verwendet werden, nachdem die RTE vollständig finalisiert wurde, das heißt nach der Beendigung von Rte_Stop [SWS_Rte_CONSTR_09056].
  • Der Aufruf muss durch den EcuStateManager erfolgen, bevor die Basisschichten heruntergefahren werden, die für den Betrieb des Basic Software Schedulers erforderlich sind [SWS_Rte_CONSTR_09057].
  • Nachdem SchM_Deinit auf einem Core aufgerufen wurde, darf der BSW-Scheduler auf diesem Core keinerlei Instanzen von BswSchedulableEntity mehr aktivieren oder starten [SWS_Rte_07586].

Plug-In-Bereinigung

Im Rahmen der Deinitialisierung ruft die RTE innerhalb von SchM_Deinit verbindlich die Funktionen Rte_Rips_SchM_Deinit aller teilnehmenden RTE Implementation Plug-Ins auf, um deren Bereinigung abzuschließen [SWS_Rte_80054].

Dieser Nutzungshinweis wurde automatisch auf Basis der Spezifikation AUTOSAR Classic Release R20-11 erstellt.

Implementer's Guide folgt (Komplexität I1)

function <name of the Invocation Handler> [SWS_Rte_89015] 📄 PDF

void <name of the Invocation Handler> (void);

Performs invocation of server runnables, hard error runnables, ASCR runnables and triggered runnables via a transformer".

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 6cdd781d14a1 Herkunft Offene Fragen (2)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Handler-Funktion <name of the Invocation Handler> übernimmt im Rte-Modul den synchronen Aufruf verschiedener Runnable-Typen über einen Transformer [SWS_Rte_89015]. Zu den unterstützten Einheiten zählen Server-Runnables, Hard-Error-Runnables, ASCR-Runnables sowie getriggerte Runnables [SWS_Rte_89015].

Die Schnittstelle besitzt weder Eingangs-, Ein-/Ausgangs- noch Ausgangsparameter und gibt keinen Wert zurück (Signatur void (void)) [SWS_Rte_89015]. Der Aufruf wird synchron abgewickelt und ist durch die Service-ID 0xEE gekennzeichnet [SWS_Rte_89015]. Die Deklaration wird über die Header-Datei Rte_Rips_<PlugIn>.h bereitgestellt [SWS_Rte_89015].

Bezüglich der Nebenläufigkeit ist die Funktion als bedingt reentrant (Conditional Reentrant) deklariert [SWS_Rte_89015]. Dies dürfte bedeuten, dass ein nebenläufiger Aufruf nur dann zulässig ist, wenn unterschiedliche Ausführungskontexte oder getrennte Plug-in-Instanzen vorliegen. Frage Q-24aabb36a2be58f4 (offen) Der Bezeichner <name of the Invocation Handler> sowie die Header-Bezeichnung <PlugIn> stellen Platzhalter dar; der tatsächliche Name wird vermutlich bei der Plug-in-Konfiguration festgelegt.

Dieser Nutzungshinweis wurde durch eine KI anhand der Spezifikation von AUTOSAR R20-11 generiert.

function Rte_Rips_SchM_Deinit [SWS_Rte_89019] 📄 PDF

void Rte_Rips_SchM_Deinit (void);

Rte_Rips_SchM_Deinit deinitializes those RTE Implementation Plug-In parts which are relevant for the SchM related operations.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 0110fabfda4a Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Funktion Rte_Rips_SchM_Deinit dient der Deinitialisierung derjenigen Bestandteile eines RTE Implementation Plug-Ins, die für die Operationen des Basic Software Schedulers (SchM) relevant sind [SWS_Rte_89019]. Sie gehört zu den verpflichtenden Lebenszyklus-Schnittstellen, die von jedem RTE Implementation Plug-In neben Rte_Rips_SchM_Init, Rte_Rips_Rte_Start und Rte_Rips_Rte_Stop bereitgestellt werden müssen [SWS_Rte_70047].

Für die Integration und Verwendung gelten die folgenden Festlegungen:

  • Aufrufkontext und Ablauf: Die Schnittstelle besitzt die Signatur void Rte_Rips_SchM_Deinit (void), nimmt keine Parameter entgegen und liefert keinen Rückgabewert [SWS_Rte_89019]. Sie wird synchron ausgeführt [SWS_Rte_89019]. Der Aufruf erfolgt nicht durch Software-Komponenten, sondern wird durch die RTE innerhalb von SchM_Deinit für alle beteiligten Plug-Ins koordiniert [SWS_Rte_80054].
  • Dateieinbindung und Kennung: Die Deklaration ist über den Header Rte_Rips_<PlugIn>.h verfügbar; die Funktion besitzt die Service-ID 0xF3 [SWS_Rte_89019].
  • Nebenläufigkeit und Einschränkungen: Die Funktion ist als nicht reentrant (Non Reentrant) spezifiziert [SWS_Rte_89019]. Daraus dürfte folgen, dass während des Aufrufs in SchM_Deinit keine konkurrierenden SchM-Aktivitäten mehr auf das Plug-In zugreifen dürfen. Frage Q-60aec1abc9e891b2 (offen)
  • Fehlerbehandlung: Die Spezifikation sieht für Rte_Rips_SchM_Deinit weder Fehlercodes noch Rückgabewerte vor und definiert keine Fehlermeldungen an DET oder DEM [SWS_Rte_89019].

Dieser Verwendungshinweis wurde automatisiert auf Basis der Spezifikation AUTOSAR Classic R20-11 generiert.

type Rte_Rips_SwitchNotificationStatusType [SWS_Rte_91113] 📄 PDF

Status of the en- and dequeue operation on a mode queue Tags: atp.Status=draft

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 71b0f38ace68 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Der Datentyp Rte_Rips_SwitchNotificationStatusType ([SWS_Rte_91113]) basiert auf uint8 und wird über Rte_Type.h bereitgestellt. Er dient der Signalisierung des Status von Enqueue- und Dequeue-Operationen an einer Modus-Warteschlange (Mode Queue) im Kontext von RTE Implementation Plug-Ins.

Der Wertebereich umfasst Statuscodes für beide Operationsrichtungen ([SWS_Rte_91113]):

  • RTE_SWITCH_NOTIFICATION_SKIP (0x00): Die Moduswechsel-Benachrichtigung kann nicht entnommen werden.
  • RTE_SWITCH_NOTIFICATION_ENQUEUED_FIRST (0x01): Die Benachrichtigung wurde in eine leere Warteschlange eingereiht.
  • RTE_SWITCH_NOTIFICATION_ENQUEUED_NOT_FIRST (0x02): Die Benachrichtigung wurde in eine bereits belegte Warteschlange eingereiht.
  • RTE_SWITCH_NOTIFICATION_ENQUEUE_FAILED (0x03): Das Einreihen in eine nicht-leere Warteschlange ist fehlgeschlagen.
  • RTE_SWITCH_NOTIFICATION_DEQUEUED_LAST (0x04): Die letzte Moduswechsel-Benachrichtigung wurde aus der Warteschlange entnommen.
  • RTE_SWITCH_NOTIFICATION_DEQUEUED_NOT_LAST (0x05): Eine Benachrichtigung wurde entnommen; weitere Benachrichtigungen verbleiben in der Warteschlange.

In der Verwendung tritt der Typ in zwei synchronen, reentranten Schnittstellen auf: Die Funktion Rte_Rips_<PlugIn>_Switch_<BswSwcI>_<MMI> ([SWS_Rte_91114]) erhält den Status als Eingabeparameter switchNotificationStatus, um das Plug-In über Enqueue-Vorgänge zu benachrichtigen. Demgegenüber liefert die Funktion Rte_Rips_<PlugIn>_DequeueModeSwitch_<MMI>_<OsTask> ([SWS_Rte_91115]) den Typ als Rückgabewert, wenn nach Beendigung der letzten On-Entry ExecutableEntity eine Benachrichtigung aus der Warteschlange entnommen wird.

Fehler beim Einreihen werden funktional über den Zustandswert RTE_SWITCH_NOTIFICATION_ENQUEUE_FAILED gemeldet ([SWS_Rte_91113]); gesonderte DET- oder DEM-Einträge sind im Payload nicht ausgewiesen. Interpretation: Der Spezifikationstext „was enqueued from mode queue“ bei den Dequeue-Konstanten dürfte redaktionell bedingt sein und meint die Entnahmeoperation. Frage Q-6e9e040dcd341f66 (offen) Das Element sowie die zugehörigen Schnittstellen sind als Entwurf (Draft) markiert ([SWS_Rte_91113]).

Dieser Nutzungshinweis wurde automatisiert erstellt und basiert ausschließlich auf den Spezifikationsdaten der AUTOSAR-Version R20-11.

Implementer's Guide folgt (Komplexität I1)

type Rte_DsmqStatusType [SWS_Rte_91102] 📄 PDF

Status of the enqueue operation on a distributed shared mode queue

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: cb8991cd989c Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Der Datentyp Rte_DsmqStatusType basiert auf uint8 und wird gemäß [SWS_Rte_80085] sowie [SWS_Rte_91102] zusammen mit seinen Literalen in der Header-Datei Rte_Type.h definiert. Er dient der Signalisierung des Status von Enqueue- und Dequeue-Operationen für Moduswechsel-Benachrichtigungen in einer Distributed Shared Mode Queue (DSMQ) [SWS_Rte_91102].

Der Wertebereich umfasst folgende Literale [SWS_Rte_91102]:

  • RTE_DSMQ_ENQUEUED_FIRST (0x01): Die Benachrichtigung wurde in eine zuvor leere DSMQ eingereiht.
  • RTE_DSMQ_ENQUEUED_NOT_FIRST (0x02): Das Einreihen erfolgte in eine bereits befüllte (nicht leere) DSMQ.
  • RTE_DSMQ_ENQUEUE_FAILED (0x03): Das Einreihen in eine nicht leere DSMQ ist fehlgeschlagen.
  • RTE_DSMQ_DEQUEUED_LAST (0x04): Die letzte Moduswechsel-Benachrichtigung wurde aus der DSMQ entnommen.
  • RTE_DSMQ_DEQUEUED_NOT_LAST (0x05): Eine Benachrichtigung wurde entnommen, während weitere Benachrichtigungen in der Queue verbleiben.

Zur Fehlerbehandlung signalisiert das Literal RTE_DSMQ_ENQUEUE_FAILED ein Scheitern des Einreihvorgangs bei nicht leerer Warteschlange [SWS_Rte_91102].

Verwendet wird der Typ als Übergabeparameter dsmqstatus an Schnittstellen des RTE Implementation Plug-Ins (RIPS). Die Funktion Rte_Rips_<PlugIn>_DsmqSwitch_<BswSwcI>_<MMI> informiert das Plug-In synchron über das Einreihen in eine DSMQ [SWS_Rte_91103]. Zudem meldet Rte_Rips_<PlugIn>_DsmqTransitionEnd_<BswSwcI>_<MMI> synchron den Abschluss eines Modusübergangs in einem DSMQ-Transition-OsTask an das RIPS [SWS_Rte_91106]. Beide Callback-Dienste sind als synchron und reentrant deklariert [SWS_Rte_91103], [SWS_Rte_91106].

Dieser Nutzungshinweis wurde von einer KI auf Basis der AUTOSAR-Spezifikation R20-11 generiert.

Implementer's Guide folgt (Komplexität I1)

type RteCalibrationSwAddrMethodRefParentContainerRteComponentType [SWS_Rte_05145] 📄 PDF

Reference to the SwAddrMethod for which software calibration support shall be enabled. Multiplicity 0..* Type Foreign reference to SW-ADDR-METHOD Post-Build Variant Multiplicity false Post-Build Variant Value false Multiplicity Configuration Class Pre-compile time X All Variants Link time – Post-build time – Value Configuration Class Pre-compile time X All Variants Link time – Post-build time – Scope / Dependency scope: local No Included Containers 8.7 Implicit communication configuration Figure 8.22: Configuration of the implicit communication SWS Item [ECUC_Rte_09034] Container Name

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/CP_MOD_Rte
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_Rte@rel:R20-11#f40c1e64
Content hash
f40c1e64
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_RTE.pdf#nameddest=SWS_Rte_03015

Initialisierung und Status

Rte_Rips_SchM_Deinit deinitializes those RTE Implementation Plug-In parts which are relevant for the SchM related operations.

void Rte_Rips_SchM_Deinit (void);
SchM_Deinit function

SchM_Deinit is used to finalize Basic Software Scheduler part of the RTE of the core on which it is called. This service releases all system resources allocated by the Basic Software Scheduler part on that core.

void SchM_Deinit (void);

Returns the version information of the Basic Software Scheduler.

void SchM_GetVersionInfo (Std_VersionInfoType* versioninfo);
SchM_Init function

SchM_Init is intended to allocate and initialize system resources used by the Basic Software Scheduler part of the RTE for the core on which it is called.

void SchM_Init (const SchM_ConfigType* ConfigPtr);

Dienste

Rte_Start function

Rte_Start is intended to allocate and initialize system resources and communication resources used by the RTE.

Std_ReturnType Rte_Start (void);

Rte_StartTiming API is intended to release the activation of RunnableEntitys triggered by TimingEvents and BackgroundEvents after the last call of a Rte_Init function.

void Rte_StartTiming (void);
Rte_Stop function

Rte_Stop is used to finalize the RTE on the core it is called. This service releases all system and communication resources allocated by the RTE on that core.

Std_ReturnType Rte_Stop (void);
SchM_Start function

Basic Software Scheduler initialized. Shall be called before BswM_Init().

void SchM_Start (void);

Start periodical events for BSW/SWCs. SchM_Init() has to be called before.

void SchM_StartTiming (void);

Callouts und erwartete Schnittstellen

Performs invocation of server runnables, hard error runnables, ASCR runnables and triggered runnables via a transformer".

void <name of the Invocation Handler> (void);

Typen

Status of the enqueue operation on a distributed shared mode queue

Status of the en- and dequeue operation on a mode queue Tags: atp.Status=draft

Reference to the SwAddrMethod for which software calibration support shall be enabled. Multiplicity 0..* Type Foreign reference to SW-ADDR-METHOD Post-Build Variant Multiplicity false Post-Build Variant Value false Multiplicity Configuration Class Pre-compile time X All Variants Link time – Post-build time – Value Configuration Class Pre-compile time X All Variants Link time – Post-build time – Scope / Dependency scope: local No Included Containers 8.7 Implicit communication configuration Figure 8.22: Configuration of the implicit communication SWS Item [ECUC_Rte_09034] Container Name