AUTOSAR_SWS_RTE
FIG-30e0876dfac64583
540 × 318 px
1 Release(s)
Figure 4.25: ParameterElementGroup in single pointered method context
SHA-256 Inhalts-Fingerabdruck:
30e0876dfac645833f576398849d151e863b782d76959e9c3d1c49e7bf515f69
✦
KI-generierte Bildanalyse & technische Beschreibung
Modell: gemini-3.8-flash (via agy) · Rezept figure-series@1 · erstellt am 2026-10-08
1. Diagrammtyp & Architektur-Kontext
- Klassifikation: Physisches Speicher- und Zeiger-Layout-Diagramm (Memory Mapping / Data Indirection Model).
- Technischer Zweck: Visualisierung des Adressierungs- und Indirektionsprinzips für die Software-gestützte Datenemulation mittels Single Pointered Method (Data Emulation with SW support) in der AUTOSAR Runtime Environment (AUTOSAR_SWS_RTE, Kap. 4.2.8.3.5).
- Systemische Einordnung: Ermöglicht Online-Kalibrierung (MCD-Tools via XCP/CDD) von Kalibrierparametern im Flash/ROM oder NVRAM über Laufzeit-Zeigerumlenkung im RAM ohne hardwarebasierte Emulationseinheit (z. B. Overlay-RAM).
2. Komponenten, Entitäten & Schnittstellen
Calibration reference table(<RteParameterRefTab>):- Typ: Global sichtbares, lineares Pointer-Array vom Basistyp
void*(normiert über [SWS_Rte_03913] und benannt via [SWS_Rte_03947]). - Allokationsort: Explizit im flüchtigen Schreib-/Lese-Speicher (RAM).
- Semantik: Jeder Tabelleneintrag (
Slot) hält die Basisadresse einer zugeordnetenParameterElementGroup. Bei NVRAM-Parametern zeigt der Eintrag direkt auf den als RAM-Puffer fungierenden Per-Instance-Memory (PIM, [SWS_Rte_03936]).
- Typ: Global sichtbares, lineares Pointer-Array vom Basistyp
ParameterElementGroup:- Struktur: Zusammenhängender Speicherblock (ROM/Flash oder RAM/PIM).
- Kardinalität: 1:1 zu genau einem Slot in der
<RteParameterRefTab>. Fasst ein oder mehrere Kalibrierelemente logisch/physisch zusammen, um die Zeigertabellengröße zu begrenzen.
ParameterElement:- Struktur: Konkreter Kalibrierparameter (Skalar, Achse, Kennlinie
CURVE, KennfeldMAPoder Struktur/Record). - Kardinalität: 1:n zu einer
ParameterElementGroup. - Adressierungsbeziehung: Ein Einzelelement besitzt keinen eigenen Eintrag in der Zeigertabelle; es wird über die Gruppen-Basisadresse zzgl. eines zur Compile-/Linkzeit feststehenden Byte-Offsets adressiert: $$\text{Addr}(\text{ParameterElement}_i) = \text{RteParameterRefTab}[k] + \text{Offset}_i$$
- Struktur: Konkreter Kalibrierparameter (Skalar, Achse, Kennlinie
3. Dynamisches Verhalten & Sequenzablauf
- Lesezugriff durch SWC/RTE (Normalbetrieb):
- RTE-API (
Rte_CData_*/Rte_Prm_*) dereferenziert den Zeiger aus<RteParameterRefTab>[GroupIndex]. - Ausführung der Speicherleseoperation mit relativem Offset auf das Ziel-
ParameterElement.
- RTE-API (
- Online-Kalibrierung / Datenemulation (Trigger durch XCP / CDD / BSW):
- Kopieren: Externe Kalibriertools (über XCP on CAN/Ethernet) oder ein CDD fordern die Allokation eines Schatten-RAM-Puffers an und spiegeln den Inhalt der originalen (Flash-basierten)
ParameterElementGroup. - Modifikation: Anpassen einzelner
ParameterElement-Werte innerhalb des Schatten-RAMs. - Zeigerswap (Atomic Pointer Switch): Der entsprechende Zeiger in
<RteParameterRefTab>[GroupIndex]wird atomar von der Flash-Basisadresse auf die Startadresse des modifizierten Schatten-RAM-Blocks umgebogen. - Wirkung: Sämtliche nachfolgenden Lesezugriffe aller Runnable Entities auf Elemente dieser Gruppe liefern unmittelbar die geänderten Kalibrierwerte.
- Kopieren: Externe Kalibriertools (über XCP on CAN/Ethernet) oder ein CDD fordern die Allokation eines Schatten-RAM-Puffers an und spiegeln den Inhalt der originalen (Flash-basierten)
4. Normative Relevanz & Entwickler-Hinweise
- Standardisierung & A2L-Generierung ([SWS_Rte_03947], SRS_Rte_00154):
- Das Symbol
<RteParameterRefTab>ist fix spezifiziert, damit externe Kalibriertools (ASAP2/MCD) und BSW-Module (z. B. Memory Emulation Treiber) die Tabellenbasis ohne proprietäre Linker-Symbolschnittstellen im ELF/A2L auflösen können.
- Das Symbol
- Granularitäts-Trade-off (Group-Sizing):
- Je kleiner die
ParameterElementGroup(Extremfall: 1 Parameter = 1 Gruppe), desto feingranularer ist die RAM-Puffer-Zuweisung bei der Kalibrierung, aber desto größer der permanente RAM-Verbrauch der Zeigertabelle (sizeof(void*) * N). - Große Gruppen sparen Pointer-RAM in der Tabelle, bedingen aber größere zusammenhängende RAM-Arbeitsbereiche beim Kalibrieren kompletter Gruppen.
- Je kleiner die
- Laufzeit-Overhead & Codegenerierung:
- Jeder Zugriff erfordert eine indirekte Adressierung (
load-indirect+ Base-Register-Addition) anstelle direkter PC-relativer oder absoluter Flash-Adressierung.
- Jeder Zugriff erfordert eine indirekte Adressierung (
- NVRAM-Integration ([SWS_Rte_03936], SRS_Rte_00157):
- Für NVRAM-gepufferte Kalibrierparameter zeigt der Tabelleneintrag statisch auf den korrespondierenden RAM-Mirror (PIM/NvM-RAM-Block), womit ein konsistenter Zugriffspfad über dieselbe Indirektionslogik gewährleistet bleibt.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.