DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_RTE FIG-64847a04817ee805 620 × 320 px 1 Release(s)

Figure 4.24: ParameterElementGroup in double pointered method context

SHA-256 Inhalts-Fingerabdruck: 64847a04817ee805f6c70013b91ed2f4115b5b1a1c90fa39869ab23438d1a948
✦ KI-generierte Bildanalyse & technische Beschreibung Modell: gemini-3.8-flash (via agy) · Rezept figure-description@2 · erstellt am 2026-10-07

1. Diagrammtyp & Architektur-Kontext

  • Klassifikation: Speicher- und Zeigerindirektions-Layout (Memory Layout / Pointer Indirection Architecture).
  • Technischer Zweck & Einordnung: Spezifikation der softwaregestützten Datenemulation für Kalibrierparameter (Data Emulation with Software Support – Double Pointered Method) gemäß AUTOSAR_SWS_RTE. Das Verfahren ermöglicht die Laufzeitkalibrierung (z. B. via XCP/ASAM MCD-1b) von im Flash/ROM abgelegten Parametern durch eine zweistufige Zeigerindirektion. Dadurch können modifizierte Parametergruppen partiell in den RAM gespiegelt werden, ohne die gesamte Flash-Page oder teure Hardware-Emulationseinheiten (wie Overlay-RAM / Emulation-Devices) vorzuhalten.

2. Komponenten, Entitäten & Schnittstellen

  • Base reference:
    • Standardisierter Basiszeiger (void**), global und mit festem Label gemäß [rte_sws_3948] exportiert.
    • Zeigt initial auf die Flash/ROM-Version der Calibration reference table und kann zur Laufzeit durch BSW-Module (z. B. CDD oder XCP-Handler) auf eine modifizierte RAM-Kopie umgebogen werden.
  • Calibration reference table:
    • Vom RTE-Generator erzeugtes Zeiger-Array (void* []) gemäß [rte_sws_3914].
    • Jeder Indexeintrag adressiert die Startadresse einer spezifischen ParameterElementGroup.
  • ParameterElementGroup:
    • Zusammenhängender, typisierter Speicherbereich (C-Struktur/Array), der eine fachlich oder taktisch zusammengehörende Menge von Kalibrierwerten kapselt.
    • Bildet die minimale Granularitäts- und Umschalteinheit für die RAM-Umleitung.
  • ParameterElement:
    • Diskreter Kalibrierwert (Skalar, Kennlinie/Curve, Kennfeld/Map) innerhalb einer Gruppe, auf den Anwendungs-SWCs über RTE-APIs (z. B. Rte_CData_*) zugreifen.
  • Kardinalitäten & Beziehungen:
    • Base reference → Calibration reference table: 1 : 1 (Referenz auf aktive Tabelle).
    • Calibration reference table → ParameterElementGroup: 1 : n (Tabellenzeilen adressieren einzelne Gruppen).
    • ParameterElementGroup → ParameterElement: 1 : m (Elemente liegen als Offsets innerhalb der Gruppe).

3. Dynamisches Verhalten & Sequenzablauf

Der Zugriff und die Umschaltung (Page Switching / Online Calibration) vollziehen sich in vier sequenziellen Phasen:

  1. Replikation der Zeigertabelle: Die initiale Calibration reference table wird aus dem ROM/Flash vollständig in einen zugewiesenen RAM-Puffer kopiert.
  2. Allokation & Modifikation der Nutzdaten: Ein RAM-Bereich wird mit den neuen Werten für die zu modifizierende ParameterElementGroup beschrieben.
  3. Zeigerumlenkung im RAM: In der RAM-Kopie der Referenztabelle wird der Pointer-Eintrag der betroffenen Gruppe auf die Adresse der neuen RAM-ParameterElementGroup umgebogen.
  4. **Atomare Umschaltung (Commit):** Der Base reference-Zeiger wird auf die Basisadresse der RAM-Zeigertabelle umgesetzt.
  5. RTE-Lesezugriff durch SWC: $$\text{Zieladresse} = \left(\left(\text{void}^{**}\right)\text{BaseReference}\right)[\text{GroupIndex}] + \text{ElementOffset}$$ Ab diesem Taktzyklus liest die SWC ohne Unterbrechung oder Dateninkonsistenz den neuen Kalibrierwert.

4. Normative Relevanz & Entwickler-Hinweise

  • RTE-Generierung & Footprint:
    • [rte_sws_3914]: Der RTE-Generator muss bei aktivierter Double-Pointer-Methode die Referenztabelle im ROM/Flash als const void*[] erzeugen.
    • [rte_sws_3948]: Der Symbolname des Basiszeigers unterliegt einer strikten Namenskonvention, damit Kalibriertreiber (CDD/XCP) plattformunabhängig darauf zugreifen können.
  • Laufzeit- & Cache-Performance:
    • Jeder Zugriff auf Kalibrierparameter erzwingt zwei sequentielle Speicher-Dereferenzierungen vor dem eigentlichen Nutzdaten-Lesezugriff. Dies führt zu zusätzlichem Befehls-Overhead und potenziellen CPU-Pipeline-/Data-Cache-Misses in harten Echtzeit-Tasks.
  • Granularität & RAM-Budgetierung:
    • Da nicht einzelne ParameterElemente, sondern stets vollständige ParameterElementGroups in den RAM ausgelagert werden, entscheidet die SWC-Clusterung über den RAM-Verbrauch während der Kalibrierphase. Feingranulare Gruppen minimieren den RAM-Pufferbedarf, vergrößern jedoch die Calibration reference table.
  • Nebenläufigkeit & Core-Konsistenz:
    • Das Setzen der Base reference muss atomar erfolgen. Auf 32-Bit- bzw. 64-Bit-Architekturen ist sicherzustellen, dass Pointer-Schreiboperationen bus-atomar ausgeführt werden, um inkonsistente Zwischenzustände bei nebenläufigen SWC-Lesezugriffen (insbesondere über Core-Grenzen hinweg) auszuschließen.

Versionsvergleich KI-generiert · gemini-3.8-flash (via agy)

R4.0.3 → R4.1.3 keine inhaltliche Änderung Nachfolger: FIG-eb322259c3a6aeb5

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Begleitender Spezifikationstext:

Specification of RTE V3.2.0 R4.0 Rev 3 reference is initially filled with a reference to the calibration reference table. Action during calibration procedure e.g. calibration parameter value exchange is not focus of this specification. Nevertheless an example is given for better understanding. Example how the exchange of calibration parameters could be done for double pointered method: 1. Copy the calibration reference table into RAM 2. Fill a RAM buffer with modified calibration parameter values for complete ParameterElementGroup 3. Modify the corresponding entry in the RAM copy of the reference table so that a redirection to new ParameterElementGroup is setup 4. Change the content of the base reference so that it references the calibration reference table copy in RAM. Now calibration parameter accesses deliver the modified values. Figure 4.24: ParameterElementGroup in double pointered method context [rte_sws_3914]⌈If data emulation with SW support with double pointered method is enabled, the RTE generator shall create a table located in ROM respectively FLASH with references to ParameterElementGroups. The type of the table is an array of void pointers. ⌋(RTE00154, RTE00156) Figure 4.24 illustrates the method. To allow a Basic-SW respectively a complex driver to emulate other calibration parameters the standardization of the base reference is required. [rte_sws_3948]⌈If data emulation with SW support with double method is enabled the name (the label) of the calibration base refer

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R4.0.3 AUTOSAR_SWS_RTE S. 161 4.24 Figure 4.24: ParameterElementGroup in double pointered method context