Memory Abstraction Interface (MemIf)
Abstracts underlying Flash and EEPROM memory drivers.
Funktionen — Übersicht
void MemIf_SetMode (MemIf_ModeType Mode);Invokes the "Set Mode" functions of all underlying memory abstraction modules.Std_ReturnType MemIf_Read (uint8 DeviceIndex, uint16 BlockNumber, uint16 BlockOffset, uint8* DataBufferPtr, uint16 Length);Invokes the "Read" function of the underlying memory abstraction module selected by the parameter Device Index.Std_ReturnType MemIf_Write (uint8 DeviceIndex, uint16 BlockNumber, const uint8* DataBufferPtr);Invokes the "Write" function of the underlying memory abstraction module selected by the parameter Device Index.void MemIf_Cancel (uint8 DeviceIndex);Invokes the "Cancel" function of the underlying memory abstraction module selected by the parameter Device Index.MemIf_StatusType MemIf_GetStatus (uint8 DeviceIndex);Invokes the "Get Status" function of the underlying memory abstraction module selected by the parameter Device Index.MemIf_JobResultType MemIf_GetJobResult (uint8 DeviceIndex);Invokes the "Get Job Result" function of the underlying memory abstraction module selected by the parameter Device Index.Std_ReturnType MemIf_InvalidateBlock (uint8 DeviceIndex, uint16 BlockNumber);Invokes the "Invalidate Block" function of the underlying memory abstraction modulevoid MemIf_GetVersionInfo (Std_VersionInfoType* VersionInfoPtr);Returns version information.Std_ReturnType MemIf_EraseImmediateBlock (uint8 DeviceIndex, uint16 BlockNumber);Invokes the "Erase Immediate Block" function of the underlying memory abstraction module selected by the parameter Device Index.
Typen — Übersicht
enum MemIf_StatusTypeDenotes the current status of the underlying abstraction module and device drive.enum MemIf_JobResultTypeDenotes the result of the last job.enum MemIf_ModeTypeDenotes the operation mode of the underlying abstraction mod ules and device drivers.
Funktionen & Typen — Detailansicht
function MemIf_SetMode [SWS_MemIf_00038] 📄 PDF
void MemIf_SetMode (MemIf_ModeType Mode);
Invokes the "Set Mode" functions of all underlying memory abstraction modules.
Die Funktion MemIf_SetMode dient dem synchronen Umschalten des Betriebsmodus über die Speicherschnittstelle [SWS_MemIf_00038]. Bei Aufruf leitet sie den geforderten Modus an die individuellen „Set Mode“-Funktionen sämtlicher darunterliegender Speicherabstraktionsmodule weiter [SWS_MemIf_00038]. Als Parameter wird der Zielmodus Mode übergeben, während die Funktion keinen Rückgabewert liefert [SWS_MemIf_00038]. Definiert ist die Schnittstelle mit der Service-ID 0x01 im Header MemIf.h [SWS_MemIf_00038].
Hinsichtlich der Nebenläufigkeit ist MemIf_SetMode als nicht reentrant (Non Reentrant) spezifiziert [SWS_MemIf_00038]. Interpretation: Aufrufer dürfen die Funktion vermutlich nicht zeitgleich oder unterbrechend aus mehreren Tasks oder Interrupt-Service-Routinen aufrufen, weshalb ein nebenläufiger Zugriff bei Bedarf durch externe Schutzmechanismen koordiniert werden dürfte. Frage Q-02b14e9cb4b05dc9 (offen)
Aufgrund der synchronen Ausführungssemantik kehrt der Aufruf erst nach Weiterleitung der Anforderung an die Speicherabstraktionsmodule zum Aufrufer zurück [SWS_MemIf_00038]. Spezifische Rückgabewerte zur Fehleranzeige oder gesonderte DET- bzw. DEM-Fehlermeldungen sind für diese Funktion in der Elementspezifikation nicht vorgesehen [SWS_MemIf_00038].
Dieser Nutzungshinweis wurde automatisiert generiert und basiert ausschließlich auf den Angaben der Spezifikation AUTOSAR R20-11.
Implementer's Guide folgt (Komplexität I1)
function MemIf_Read [SWS_MemIf_00039] 📄 PDF
Std_ReturnType MemIf_Read (uint8 DeviceIndex, uint16 BlockNumber, uint16 BlockOffset, uint8* DataBufferPtr, uint16 Length);
Invokes the "Read" function of the underlying memory abstraction module selected by the parameter Device Index.
Die Funktion MemIf_Read leitet eine Leseanforderung synchron an das über den Parameter DeviceIndex ausgewählte unterlagerte Speicherabstraktionsmodul weiter [SWS_MemIf_00039]. Sie ist im Header MemIf.h deklariert und dient dem Auslesen von Daten eines logischen Speicherblocks.
Parameter und Schnittstelle
Der Aufruf von MemIf_Read umfasst folgende Ein- und Ausgabeparameter [SWS_MemIf_00039]:
DeviceIndex: Index des Zielgeräts zur Auswahl des Zielmoduls.BlockNumber: Logische Blocknummer des zu lesenden Speicherblocks.BlockOffset: Byte-Offset innerhalb des logischen Blocks, ab dem gelesen wird.DataBufferPtr: Zeiger auf den Puffer zur Speicherung der gelesenen Daten.Length: Anzahl der zu lesenden Datenbytes.
Fehlerbehandlung und Rückgabewerte
Wenn die Erkennung von Entwicklungsfehlern (Development Error Detection) aktiv ist und ein Entwicklungsfehler erkannt wird, gibt die Funktion E_NOT_OK zurück [SWS_MemIf_00039]. Andernfalls wird der Rückgabewert der aufgerufenen Lesefunktion des unterlagerten Moduls als Std_ReturnType weitergereicht [SWS_MemIf_00039].
Nebenläufigkeit und Einschränkungen
Die Funktion ist als synchron und nicht reentrant (Non Reentrant) spezifiziert [SWS_MemIf_00039]. Ein Aufruf dürfte daher typischerweise im Task-Kontext erfolgen; parallele oder verschachtelte Aufrufe müssen durch den Aufrufer vermieden bzw. serialisiert werden. Frage Q-b774bf07a69e28af (offen)
Dieser Nutzungshinweis wurde von einer KI generiert und basiert auf der AUTOSAR-Spezifikation R20-11.
function MemIf_Write [SWS_MemIf_00040] 📄 PDF
Std_ReturnType MemIf_Write (uint8 DeviceIndex, uint16 BlockNumber, const uint8* DataBufferPtr);
Invokes the "Write" function of the underlying memory abstraction module selected by the parameter Device Index.
Verwendung und Aufrufkontext
Die Schnittstellenfunktion MemIf_Write dient als Abstraktionsschicht und ruft die Write-Funktion des unterlagerten Speicherabstraktionsmoduls auf, welches über den Parameter DeviceIndex selektiert wird [SWS_MemIf_00040]. Beim synchronen Aufruf werden drei Eingangsparameter übergeben: der Geräteindex DeviceIndex zur Auswahl des Zieltreibers, die logische Blocknummer BlockNumber sowie der Zeiger DataBufferPtr auf den Puffer mit den zu schreibenden Daten [SWS_MemIf_00040]. Die Funktion ist unter der Service-ID 0x03 spezifiziert und über die Header-Datei MemIf.h verfügbar [SWS_MemIf_00040].
Fehlerbehandlung und Rückgabewerte
Der Rückgabewert ist vom Typ Std_ReturnType [SWS_MemIf_00040]. Falls die Erkennung von Entwicklungsfehlern (Development Error Detection) für das Memory Abstraction Interface aktiv ist und ein Entwicklungsfehler gemäß [SWS_MemIf_00022] festgestellt wird, liefert MemIf_Write den Fehlercode E_NOT_OK zurück [SWS_MemIf_00040]. Liegt kein Fehler vor, leitet die Funktion den Rückgabewert des aufgerufenen unterlagerten Moduls unverändert an den Aufrufer weiter [SWS_MemIf_00040].
Nebenläufigkeit und Randbedingungen
Hinsichtlich des Nebenläufigkeitsverhaltens ist MemIf_Write als synchron und nicht reentrant (Non Reentrant) definiert [SWS_MemIf_00040].
Dieser Nutzungshinweis wurde von einer KI auf Basis der Spezifikation AUTOSAR Classic R20-11 generiert.
function MemIf_Cancel [SWS_MemIf_00041] 📄 PDF
void MemIf_Cancel (uint8 DeviceIndex);
Invokes the "Cancel" function of the underlying memory abstraction module selected by the parameter Device Index.
Die synchrone Funktion MemIf_Cancel dient dazu, die Cancel-Funktion des unterlagerten Speicherabstraktionsmoduls aufzurufen, das über den Parameter Device Index ausgewählt wird [SWS_MemIf_00041]. Der Dienst besitzt keinen Rückgabewert und leitet den Abbruchauftrag unmittelbar an die adressierte Abstraktionsinstanz weiter [SWS_MemIf_00041].
Für den Aufruf und die Einbindung gelten folgende technische Eigenschaften:
- Aufrufkontext und Nebenläufigkeit: Die Funktion ist als nicht reentrant (
Non Reentrant) definiert [SWS_MemIf_00041]. Aufrufer müssen sicherstellen, dass die Ausführung nicht nebenläufig oder unterbrechend durch andere Kontexte erfolgt. - Signatur und Identifikation: Die Schnittstelle
void MemIf_Cancel (uint8 Device Index)besitzt die Service-ID0x04und wird über die Header-DateiMemIf.hbereitgestellt [SWS_MemIf_00041]. - Parameter: Der Eingangsparameter
Device Index(Typuint8) selektiert das Zielmodul; Ein-/Ausgabe- oder Rückgabeparameter sind nicht vorhanden [SWS_MemIf_00041]. - Fehlerbehandlung: Die Spezifikation beschreibt für diese Funktion keine spezifischen Fehlercodes, Rückgabewerte oder DET-Meldungen [SWS_MemIf_00041] (Interpretation: Eine Überprüfung auf unzulässige Geräteindizes dürfte der übergeordneten Systemarchitektur oder dem unterlagerten Modul überlassen sein). Frage Q-4a5d989ce611ba89 (offen)
Dieser Nutzungshinweis wurde von einer KI auf Basis der AUTOSAR-Spezifikation R20-11 erstellt.
function MemIf_GetStatus [SWS_MemIf_00042] 📄 PDF
MemIf_StatusType MemIf_GetStatus (uint8 DeviceIndex);
Invokes the "Get Status" function of the underlying memory abstraction module selected by the parameter Device Index.
function MemIf_GetJobResult [SWS_MemIf_00043] 📄 PDF
MemIf_JobResultType MemIf_GetJobResult (uint8 DeviceIndex);
Invokes the "Get Job Result" function of the underlying memory abstraction module selected by the parameter Device Index. Available v ia Mem If.h
function MemIf_InvalidateBlock [SWS_MemIf_00044] 📄 PDF
Std_ReturnType MemIf_InvalidateBlock (uint8 DeviceIndex, uint16 BlockNumber);
Invokes the "Invalidate Block" function of the underlying memory abstraction module AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_MemoryAbstractionInterface selected by the parameter Device Index.
Die synchrone Funktion MemIf_InvalidateBlock leitet den Auftrag zur Ungültigkeitserklärung eines logischen Blocks an das über den Parameter DeviceIndex ausgewählte unterliegende Speicherabstraktionsmodul weiter [SWS_MemIf_00044]. Die Schnittstelle wird über den Header MemIf.h bereitgestellt und führt die Service-ID 0x07 [SWS_MemIf_00044].
Verwendung und Parameter
Der Aufruf erfolgt synchron und übergibt die folgenden Eingabeparameter an das Adressierungsziel [SWS_MemIf_00044]:
DeviceIndex: Numerischer Index des zugrunde liegenden Speicherabstraktionsmoduls [SWS_MemIf_00044].BlockNumber: Eindeutige Kennung des zu invalidierenden Speicherblocks [SWS_MemIf_00044].
Fehlerbehandlung und Rückgabewerte
Die Funktion gibt einen Statuswert des Typs Std_ReturnType zurück [SWS_MemIf_00044]:
- Ist die Erkennung von Entwicklungsfehlern (Development Error Detection) für das Memory Abstraction Interface aktiviert und tritt ein Fehler gemäß
SWS_MemIf_00022auf, gibt die FunktionE_NOT_OKzurück [SWS_MemIf_00044]. - Wird kein Entwicklungsfehler festgestellt, gibt die Schnittstelle das Ergebnis der aufgerufenen Funktion des unterliegenden Moduls zurück [SWS_MemIf_00044].
Nebenläufigkeit
Die Funktion ist als nicht reentrant (Non Reentrant) spezifiziert [SWS_MemIf_00044].
Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation AUTOSAR Classic Release R20-11 generiert.
function MemIf_GetVersionInfo [SWS_MemIf_00045] 📄 PDF
void MemIf_GetVersionInfo (Std_VersionInfoType* VersionInfoPtr);
Returns version information.
function MemIf_EraseImmediateBlock [SWS_MemIf_00046] 📄 PDF
Std_ReturnType MemIf_EraseImmediateBlock (uint8 DeviceIndex, uint16 BlockNumber);
Invokes the "Erase Immediate Block" function of the underlying memory abstraction module selected by the parameter Device Index.
Verwendung
Die synchrone Funktion MemIf_EraseImmediateBlock veranlasst das Löschen eines als unmittelbar eingestuften Blocks im unterlagerten Speicherabstraktionsmodul [SWS_MemIf_00046]. Der Aufruf wird über den Header MemIf.h bereitgestellt und führt die Service-ID 0x09 [SWS_MemIf_00046]. Als Eingangsparameter dienen DeviceIndex zur Adressierung des spezifischen Speichergeräts bzw. Abstraktionsmoduls sowie BlockNumber zur Identifikation des Zielblocks [SWS_MemIf_00046]. Zusätzliche Inout- oder Out-Parameter existieren nicht [SWS_MemIf_00046].
Rückgabewerte und Fehlerbehandlung
Die Funktion gibt einen Statuswert vom Typ Std_ReturnType zurück [SWS_MemIf_00046]. Wenn die Erkennung von Entwicklungsfehlern für das Memory Abstraction Interface aktiviert ist und ein entsprechender Fehler gemäß [SWS_MemIf_00022] festgestellt wird, liefert der Aufruf den festen Rückgabewert E_NOT_OK [SWS_MemIf_00046]. Tritt kein derartiger Fehler auf, wird das unmittelbare Ergebnis der aufgerufenen Funktion des unterlagerten Moduls an den Aufrufer durchgereicht [SWS_MemIf_00046].
Nebenläufigkeit und Einschränkungen
Die Ausführung von MemIf_EraseImmediateBlock erfolgt synchron und ist als nicht reentrant (Non Reentrant) spezifiziert [SWS_MemIf_00046]. Interpretation: Da parallele Aufrufe der Schnittstelle unzulässig sind, dürfte die Funktion im Gesamtsystem vermutlich nur aus einem synchronisierten Kontext auf Task-Ebene aufgerufen werden, um Dateninkonsistenzen in den unterlagerten Speichertreibern zu verhindern. Frage Q-4fce518bab0115db (offen)
Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation AUTOSAR CP R20-11 generiert.
type MemIf_StatusType [SWS_MemIf_00064] 📄 PDF
Denotes the current status of the underlying abstraction module and device drive. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_MemoryAbstractionInterface
Der Aufzählungstyp MemIf_StatusType kennzeichnet den aktuellen Betriebs- und Ausführungsstatus des unterlagerten Speicherabstraktionsmoduls sowie des zugehörigen Gerätetreibers gemäß [SWS_MemIf_00064]. Definiert ist dieser Typ im Memory Abstraction Interface und steht Aufrufern über die Header-Datei MemIf.h zur Verfügung [SWS_MemIf_00064].
Die Enumeration umfasst vier distinkte Zustände zur Abbildung der Betriebsbereitschaft [SWS_MemIf_00064]:
MEMIF_UNINIT: Das unterlagerte Abstraktionsmodul oder der zugehörige Gerätetreiber ist (noch) nicht initialisiert [SWS_MemIf_00064].MEMIF_IDLE: Das Abstraktionsmodul oder der Gerätetreiber ist betriebsbereit und führt aktuell keine Aufträge aus [SWS_MemIf_00064].MEMIF_BUSY: Das unterlagerte Modul oder der Gerätetreiber verarbeitet gegenwärtig eine Operation [SWS_MemIf_00064].MEMIF_BUSY_INTERNAL: Das Abstraktionsmodul wickelt interne Verwaltungsoperationen ab, während der Treiber frei oder beschäftigt sein kann [SWS_MemIf_00064].
Aufrufende Schichten nutzen diesen Status, um vor Auftragsvergaben synchron festzustellen, ob die Speicherschichten betriebsbereit sind oder interne Verwaltungsvorgänge laufen [SWS_MemIf_00064]. Da MemIf_StatusType eine reine Datentypdefinition darstellt, sind funktionale Aspekte wie DET- oder DEM-Meldungen, Reentranzregeln oder Aufrufkontexte im Spezifikationselement nicht separat ausgewiesen.
Dieser Text wurde von einer KI auf Basis der AUTOSAR-Spezifikation generiert.
Implementer's Guide folgt (Komplexität I1)
type MemIf_JobResultType [SWS_MemIf_00065] 📄 PDF
Denotes the result of the last job.
Der Aufzählungstyp MemIf_JobResultType beschreibt das Ergebnis des zuletzt verarbeiteten Auftrags an die Speicherschnittstelle und wird über die Header-Datei MemIf.h bereitgestellt [SWS_MemIf_00065].
Die Enumeration definiert Zustände für die Ausführung sowie spezifische Fehler- und Blockzustände [SWS_MemIf_00065]:
MEMIF_JOB_OK: Der angeforderte Auftrag wurde erfolgreich beendet [SWS_MemIf_00065].MEMIF_JOB_PENDING: Der Auftrag wurde noch nicht abgeschlossen [SWS_MemIf_00065]. Interpretation: Dies deutet darauf hin, dass Aufträge asynchron bearbeitet werden und der Aufrufer den Abschluss über diesen Zwischenzustand ermittelt. Frage Q-31078cf25506334e (offen)MEMIF_JOB_FAILED: Der Auftrag wurde nicht erfolgreich abgeschlossen [SWS_MemIf_00065].MEMIF_JOB_CANCELED: Der Auftrag wurde abgebrochen [SWS_MemIf_00065].MEMIF_BLOCK_INCONSISTENT: Der angeforderte Block ist inkonsistent, enthält möglicherweise beschädigte Daten oder wurde nicht gefunden [SWS_MemIf_00065].MEMIF_BLOCK_INVALID: Der angeforderte Block wurde als ungültig markiert, sodass die gewünschte Operation nicht ausgeführt werden kann [SWS_MemIf_00065].
Bei der Auswertung des Auftragsergebnisses dient der Typ zur Differenzierung zwischen allgemeinen Ausführungsfehlern (MEMIF_JOB_FAILED) und blockbezogenen Problemen (MEMIF_BLOCK_INCONSISTENT, MEMIF_BLOCK_INVALID) [SWS_MemIf_00065].
Dieser Text wurde von einer KI generiert und dient der Orientierung.
type MemIf_ModeType [SWS_MemIf_00066] 📄 PDF
Denotes the operation mode of the underlying abstraction mod ules and device drivers.
Der Aufzählungstyp MemIf_ModeType definiert den Betriebsmodus der unterlagerten Speicherabstraktionsmodule und Gerätetreiber [SWS_MemIf_00066]. Er wird über die Header-Datei MemIf.h bereitgestellt und dient der Steuerung des Geschwindigkeits- und Betriebsverhaltens der Speicherzugriffe [SWS_MemIf_00066].
Der Wertebereich umfasst gemäß [SWS_MemIf_00066] zwei Zustände:
MEMIF_MODE_SLOW: Die unterlagerten Abstraktionsmodule und Gerätetreiber arbeiten im langsamen Modus (Slow Mode) [SWS_MemIf_00066].MEMIF_MODE_FAST: Die unterlagerten Abstraktionsmodule und Gerätetreiber arbeiten im schnellen Modus (Fast Mode) [SWS_MemIf_00066].
Hinsichtlich Fehlerbehandlung, Reentranz oder spezifischer Aufrufkontexte enthält die Spezifikation des Typs keine gesonderten Festlegungen; die Übergabe und Auswertung des Modus erfolgt synchron über die entsprechenden Schnittstellen der Speicherschnittstelle bzw. der unterlagerten Treiber [SWS_MemIf_00066].
Dieser Text wurde von einer KI generiert und dient der technischen Orientierung.
Implementer's Guide folgt (Komplexität I1)
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_MemIf- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_MemIf@rel:R20-11#a06cc739- Content hash
a06cc739- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_MemoryAbstractionInterface.pdf#nameddest=SWS_MemIf_00038
claude-opus-5-5· 2026-10-13