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
fonction MemIf_SetMode [SWS_MemIf_00038] 📄 PDF
void MemIf_SetMode (MemIf_ModeType Mode);
Invokes the "Set Mode" functions of all underlying memory abstraction modules.
La fonction MemIf_SetMode sert à commuter de manière synchrone le mode de fonctionnement via l’interface de mémoire [SWS_MemIf_00038]. Lors de l’appel, elle transmet le mode demandé aux fonctions individuelles « Set Mode » de l’ensemble des modules d’abstraction de mémoire sous-jacents [SWS_MemIf_00038]. Le mode cible Mode est transmis comme paramètre, tandis que la fonction ne fournit aucune valeur de retour [SWS_MemIf_00038]. L’interface est définie avec l’ID de service 0x01 dans l’en-tête MemIf.h [SWS_MemIf_00038].
Concernant la concurrence, MemIf_SetMode est spécifiée comme non réentrante (Non Reentrant) [SWS_MemIf_00038]. Interprétation : les appelants ne doivent probablement pas appeler la fonction de manière simultanée ou avec interruption depuis plusieurs tâches ou routines de service d’interruption, raison pour laquelle un accès concurrent devrait être coordonné, si nécessaire, par des mécanismes de protection externes. Question Q-02b14e9cb4b05dc9 (ouverte)
En raison de la sémantique d’exécution synchrone, l’appel ne revient à l’appelant qu’après la transmission de la demande aux modules d’abstraction de mémoire [SWS_MemIf_00038]. Aucune valeur de retour spécifique pour l’indication d’erreurs ni aucun message d’erreur DET ou DEM distinct ne sont prévus pour cette fonction dans la spécification de l’élément [SWS_MemIf_00038].
Cette note d’utilisation a été générée de manière automatisée et repose exclusivement sur les indications de la spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction 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.
La fonction MemIf_Read transmet de manière synchrone une requête de lecture au sous-module d'abstraction de mémoire sélectionné via le paramètre DeviceIndex [SWS_MemIf_00039]. Elle est déclarée dans l'en-tête MemIf.h et sert à la lecture de données d'un bloc de mémoire logique.
Paramètres et interface
L'appel de MemIf_Read comprend les paramètres d'entrée et de sortie suivants [SWS_MemIf_00039] :
DeviceIndex: index du périphérique cible pour la sélection du module cible.BlockNumber: numéro de bloc logique du bloc de mémoire à lire.BlockOffset: décalage en octets (offset) au sein du bloc logique à partir duquel la lecture est effectuée.DataBufferPtr: pointeur vers le tampon destiné au stockage des données lues.Length: nombre d'octets de données à lire.
Gestion des erreurs et valeurs de retour
Si la détection des erreurs de développement (Development Error Detection) est active et qu'une erreur de développement est détectée, la fonction renvoie E_NOT_OK [SWS_MemIf_00039]. Sinon, la valeur de retour de la fonction de lecture appelée du module sous-jacent est transmise comme Std_ReturnType [SWS_MemIf_00039].
Concurrence et restrictions
La fonction est spécifiée comme synchrone et non réentrante (Non Reentrant) [SWS_MemIf_00039]. Un appel devrait donc typiquement avoir lieu dans un contexte de tâche ; les appels parallèles ou imbriqués doivent être évités ou sérialisés par l'appelant. Question Q-b774bf07a69e28af (ouverte)
Cette note d'utilisation a été générée par une IA et est basée sur la spécification AUTOSAR R20-11.
fonction 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.
Utilisation et contexte d'appel
La fonction d'interface MemIf_Write sert de couche d'abstraction et appelle la fonction Write du module d'abstraction de mémoire sous-jacent qui est sélectionné via le paramètre DeviceIndex [SWS_MemIf_00040]. Lors de l'appel synchrone, trois paramètres d'entrée sont transmis : l'index de périphérique DeviceIndex pour la sélection du pilote cible, le numéro de bloc logique BlockNumber ainsi que le pointeur DataBufferPtr vers le tampon contenant les données à écrire [SWS_MemIf_00040]. La fonction est spécifiée sous l'ID de service 0x03 et est disponible via le fichier d'en-tête MemIf.h [SWS_MemIf_00040].
Gestion des erreurs et valeurs de retour
La valeur de retour est de type Std_ReturnType [SWS_MemIf_00040]. Si la détection des erreurs de développement (Development Error Detection) pour le Memory Abstraction Interface est active et qu'une erreur de développement selon [SWS_MemIf_00022] est constatée, MemIf_Write renvoie le code d'erreur E_NOT_OK [SWS_MemIf_00040]. S'il n'y a pas d'erreur, la fonction transmet la valeur de retour du module sous-jacent appelé de manière inchangée à l'appelant [SWS_MemIf_00040].
Concurrence et contraintes
En ce qui concerne le comportement de concurrence, MemIf_Write est défini comme synchrone et non réentrant (Non Reentrant) [SWS_MemIf_00040].
Cette note d'utilisation a été générée par une IA sur la base de la spécification AUTOSAR Classic R20-11.
fonction 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.
La fonction synchrone MemIf_Cancel sert à appeler la fonction Cancel du module d'abstraction de mémoire sous-jacent, qui est sélectionné via le paramètre Device Index [SWS_MemIf_00041]. Le service ne possède pas de valeur de retour et transmet immédiatement la requête d'interruption à l'instance d'abstraction adressée [SWS_MemIf_00041].
Les propriétés techniques suivantes s'appliquent à l'appel et à l'intégration :
- Contexte d'appel et concurrence : la fonction est définie comme non réentrante (
Non Reentrant) [SWS_MemIf_00041]. Les appelants doivent s'assurer que l'exécution n'a pas lieu de façon concurrente ou avec interruption par d'autres contextes. - Signature et identification : l'interface
void MemIf_Cancel (uint8 Device Index)possède l'ID de service0x04et est mise à disposition via le fichier d'en-têteMemIf.h[SWS_MemIf_00041]. - Paramètres : le paramètre d'entrée
Device Index(typeuint8) sélectionne le module cible ; aucun paramètre d'entrée/sortie ou de retour n'est présent [SWS_MemIf_00041]. - Traitement des erreurs : la spécification ne décrit aucun code d'erreur spécifique, valeur de retour ou message DET pour cette fonction [SWS_MemIf_00041] (interprétation : une vérification des index de périphériques non autorisés devrait être laissée à l'architecture système de niveau supérieur ou au module sous-jacent). Question Q-4a5d989ce611ba89 (ouverte)
Cette note d'utilisation a été créée par une IA sur la base de la spécification AUTOSAR R20-11.
fonction 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.
fonction 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
fonction 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.
La fonction synchrone MemIf_InvalidateBlock transmet la demande d’invalidation d’un bloc logique au module d’abstraction de mémoire sous-jacent sélectionné via le paramètre DeviceIndex [SWS_MemIf_00044]. L’interface est fournie via l’en-tête MemIf.h et porte l’ID de service 0x07 [SWS_MemIf_00044].
Utilisation et paramètres
L’appel s’effectue de manière synchrone et transmet les paramètres d’entrée suivants à la cible d’adressage [SWS_MemIf_00044] :
DeviceIndex: index numérique du module d’abstraction de mémoire sous-jacent [SWS_MemIf_00044].BlockNumber: identifiant univoque du bloc de mémoire à invalider [SWS_MemIf_00044].
Gestion des erreurs et valeurs de retour
La fonction renvoie une valeur d’état du type Std_ReturnType [SWS_MemIf_00044] :
- si la détection des erreurs de développement (Development Error Detection) est activée pour le Memory Abstraction Interface et qu’une erreur selon
SWS_MemIf_00022survient, la fonction renvoieE_NOT_OK[SWS_MemIf_00044]. - si aucune erreur de développement n’est constatée, l’interface renvoie le résultat de la fonction appelée du module sous-jacent [SWS_MemIf_00044].
concurrence
La fonction est spécifiée comme non réentrante (Non Reentrant) [SWS_MemIf_00044].
Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR Classic Release R20-11.
fonction MemIf_GetVersionInfo [SWS_MemIf_00045] 📄 PDF
void MemIf_GetVersionInfo (Std_VersionInfoType* VersionInfoPtr);
Returns version information.
fonction 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.
Utilisation
La fonction synchrone MemIf_EraseImmediateBlock déclenche l’effacement d’un bloc classé comme immédiat dans le module d’abstraction de mémoire sous-jacent [SWS_MemIf_00046]. L’appel est fourni via l’en-tête MemIf.h et porte l’ID de service 0x09 [SWS_MemIf_00046]. Les paramètres d’entrée utilisés sont DeviceIndex pour l’adressage du périphérique de mémoire ou du module d’abstraction spécifique et BlockNumber pour l’identification du bloc cible [SWS_MemIf_00046]. Il n’existe pas d’autres paramètres Inout ou Out [SWS_MemIf_00046].
Valeurs de retour et gestion des erreurs
La fonction renvoie une valeur d’état de type Std_ReturnType [SWS_MemIf_00046]. Lorsque la détection des erreurs de développement est activée pour le Memory Abstraction Interface et qu’une erreur correspondante est constatée conformément à [SWS_MemIf_00022], l’appel fournit la valeur de retour fixe E_NOT_OK [SWS_MemIf_00046]. Si aucune erreur de ce type ne survient, le résultat immédiat de la fonction appelée du module sous-jacent est transmis à l’appelant [SWS_MemIf_00046].
Concurrence et restrictions
L’exécution de MemIf_EraseImmediateBlock s’effectue de manière synchrone et est spécifiée comme non réentrante (Non Reentrant) [SWS_MemIf_00046]. Interprétation : comme les appels parallèles de l’interface ne sont pas autorisés, la fonction ne devrait probablement être appelée dans l’ensemble du système que depuis un contexte synchronisé au niveau tâche, afin d’éviter des incohérences de données dans les pilotes de mémoire sous-jacents. Question Q-4fce518bab0115db (ouverte)
Cette note d'utilisation a été générée de manière automatisée sur la base de la spécification AUTOSAR CP R20-11.
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
Le type d’énumération MemIf_StatusType caractérise l’état actuel de fonctionnement et d’exécution du module d’abstraction de mémoire sous-jacent ainsi que du pilote de périphérique associé conformément à [SWS_MemIf_00064]. Ce type est défini dans le Memory Abstraction Interface et est disponible pour les appelants via le fichier d’en-tête MemIf.h [SWS_MemIf_00064].
L’énumération comprend quatre états distincts pour représenter l’état de préparation opérationnelle [SWS_MemIf_00064] :
MEMIF_UNINIT: le module d’abstraction sous-jacent ou le pilote de périphérique associé n’est pas (encore) initialisé [SWS_MemIf_00064].MEMIF_IDLE: le module d’abstraction ou le pilote de périphérique est prêt à fonctionner et n’exécute actuellement aucune demande [SWS_MemIf_00064].MEMIF_BUSY: le module sous-jacent ou le pilote de périphérique traite actuellement une opération [SWS_MemIf_00064].MEMIF_BUSY_INTERNAL: le module d’abstraction traite des opérations de gestion internes, tandis que le pilote peut être inactif ou occupé [SWS_MemIf_00064].
Les couches appelantes utilisent cet état afin de déterminer de manière synchrone, avant l’attribution de requêtes, si les couches de mémoire sont opérationnelles ou si des opérations de gestion internes sont en cours [SWS_MemIf_00064]. Comme MemIf_StatusType représente une simple définition de type de données, les aspects fonctionnels tels que les messages DET ou DEM, les règles de réentrance ou les contextes d’appel ne sont pas mentionnés séparément dans l’élément de spécification.
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR.
Guide de l'implémenteur à venir (complexité I1)
type MemIf_JobResultType [SWS_MemIf_00065] 📄 PDF
Denotes the result of the last job.
Le type d’énumération MemIf_JobResultType décrit le résultat de la dernière requête traitée auprès de l’interface de mémoire et est mis à disposition via le fichier d’en-tête MemIf.h [SWS_MemIf_00065].
L’énumération définit des états pour l’exécution ainsi que des états d’erreur et de bloc spécifiques [SWS_MemIf_00065] :
MEMIF_JOB_OK: la requête demandée s’est terminée avec succès [SWS_MemIf_00065].MEMIF_JOB_PENDING: la requête n’est pas encore terminée [SWS_MemIf_00065]. Interprétation : cela indique que les requêtes sont traitées de manière asynchrone et que l’appelant détermine l’achèvement par le biais de cet état intermédiaire. Question Q-31078cf25506334e (ouverte)MEMIF_JOB_FAILED: la requête ne s’est pas terminée avec succès [SWS_MemIf_00065].MEMIF_JOB_CANCELED: la requête a été annulée [SWS_MemIf_00065].MEMIF_BLOCK_INCONSISTENT: le bloc demandé est incohérent, contient éventuellement des données corrompues ou n’a pas été trouvé [SWS_MemIf_00065].MEMIF_BLOCK_INVALID: le bloc demandé a été marqué comme non valide, de sorte que l’opération souhaitée ne peut pas être exécutée [SWS_MemIf_00065].
Lors de l’évaluation du résultat de la requête, le type sert à différencier les erreurs d’exécution générales (MEMIF_JOB_FAILED) des problèmes liés aux blocs (MEMIF_BLOCK_INCONSISTENT, MEMIF_BLOCK_INVALID) [SWS_MemIf_00065].
Ce texte a été généré par une IA et sert d'orientation.
type MemIf_ModeType [SWS_MemIf_00066] 📄 PDF
Denotes the operation mode of the underlying abstraction mod ules and device drivers.
Le type d’énumération MemIf_ModeType définit le mode de fonctionnement des modules d’abstraction de mémoire sous-jacents et des pilotes de périphérique [SWS_MemIf_00066]. Il est fourni via le fichier d’en-tête MemIf.h et sert à commander le comportement de vitesse et de fonctionnement des accès à la mémoire [SWS_MemIf_00066].
La plage de valeurs comprend deux états conformément à [SWS_MemIf_00066] :
MEMIF_MODE_SLOW: les modules d’abstraction et pilotes de périphérique sous-jacents fonctionnent en mode lent (Slow Mode) [SWS_MemIf_00066].MEMIF_MODE_FAST: les modules d’abstraction et pilotes de périphérique sous-jacents fonctionnent en mode rapide (Fast Mode) [SWS_MemIf_00066].
Concernant le traitement des erreurs, la réentrance ou les contextes d’appel spécifiques, la spécification du type ne contient aucune stipulation particulière ; la transmission et l’évaluation du mode s’effectuent de manière synchrone via les interfaces correspondantes de l’interface de mémoire ou des pilotes sous-jacents [SWS_MemIf_00066].
Ce texte a été généré par une IA et sert à l'orientation technique.
Guide de l'implémenteur à venir (complexité 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#7e252a3c- Content hash
7e252a3c- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_MemoryAbstractionInterface.pdf#nameddest=SWS_MemIf_00038
gemini-3.8-flash-low· 2026-10-13 · Original allemand