EEPROM Abstraction (Ea)
Provides uniform access to external and internal EEPROM devices.
Funktionen — Übersicht
void Ea_Init (const Ea_ConfigType* ConfigPtr);Initializes the EEPROM abstraction module.void Ea_SetMode (MemIf_ModeType Mode);Function to switch the mode of the underlying EEPROM DriverStd_ReturnType Ea_Read (uint16 BlockNumber, uint16 BlockOffset, uint8* DataBufferPtr, uint16 Length);Reads Length bytes of block Blocknumber at offset Block Offset into the buffer Data Buffer Ptr.Std_ReturnType Ea_Write (uint16 BlockNumber, const uint8* DataBufferPtr);Writes the contents of the Data Buffer Ptr to the block Block Number.void Ea_Cancel (void);Cancels the ongoing asynchronous operation.MemIf_StatusType Ea_GetStatus (void);Service to return the Status.MemIf_JobResultType Ea_GetJobResult (void);Service to return the Job Result.Std_ReturnType Ea_InvalidateBlock (uint16 BlockNumber);Invalidates the block Block Number.void Ea_GetVersionInfo (Std_VersionInfoType* VersionInfoPtr);Service to get the version information of this module.Std_ReturnType Ea_EraseImmediateBlock (uint16 BlockNumber);Erases the block Block Number.void Ea_JobEndNotification (void);Service to report to this module the successful end of an asynchronous operation.void Ea_JobErrorNotification (void);Service to report to this module the failure of an asynchronous operation.void Ea_MainFunction (void);Service to handle the requested jobs and the internal management operations.void NvM_JobEndNotification (void);Function to be used by the underlying memory abstraction to signal end of job without error.void NvM_JobErrorNotification (void);Function to be used by the underlying memory abstraction to signal end of job with error.
Typen — Übersicht
struct Ea_ConfigTypeConfiguration data structure of the Ea module.
Funktionen & Typen — Detailansicht
fonction Ea_Init [SWS_Ea_00084] 📄 PDF
void Ea_Init (const Ea_ConfigType* ConfigPtr);
Initializes the EEPROM abstraction module.
La fonction Ea_Init sert à l'initialisation du module EEPROM Abstraction ([SWS_Ea_00084]). Elle est mise à disposition via le fichier d'en-tête Ea.h et place le module dans l'état opérationnel ([SWS_Ea_00084]).
Conformément à la spécification d'interface dans [SWS_Ea_00084], les caractéristiques et conditions aux limites suivantes s'appliquent à l'appel :
- Sémantique et ID de service : l'appel s'effectue de manière synchrone. L'ID de service
0x00est attribué au service. - Réentrance : la fonction est spécifiée comme non réentrante (Non Reentrant) et ne doit donc pas être exécutée de manière concurrente.
- Paramètres : le paramètre d'entrée est
ConfigPtr(typeconst Ea_ConfigType*), qui pointe vers le jeu de données de configuration sélectionné. Il n'existe ni paramètres d'entrée/sortie ni paramètres de sortie. - Valeur de retour : la fonction ne renvoie aucune valeur de retour (
void).
Concernant le contexte d'appel, la présente entrée ne contient aucune prescription explicite ; l'initialisation devrait typiquement être effectuée de manière centralisée lors de la phase de démarrage du calculateur, avant l'exécution d'autres fonctions du module. Question Q-b2b40930e5fd0ee7 (ouverte) Aucun code d'erreur spécifique, aucune réaction en cas d'erreur ni aucun message vers DET et DEM ne sont mentionnés dans [SWS_Ea_00084].
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction Ea_SetMode [SWS_Ea_00085] 📄 PDF
void Ea_SetMode (MemIf_ModeType Mode);
Function to switch the mode of the underlying EEPROM Driver
Utilisation et sémantique
La fonction Ea_SetMode sert à commuter le mode de fonctionnement du pilote EEPROM sous-jacent ([SWS_Ea_00085]). Elle accepte comme paramètre d'entrée le mode souhaité Mode de type MemIf_ModeType ([SWS_Ea_00085]). La fonction ne possède pas de valeur de retour (void) et est disponible avec l'ID de service 0x01 via le fichier d'en-tête Ea.h ([SWS_Ea_00085]).
L'exécution s'effectue de manière asynchrone (Asynchronous), de sorte que la commutation effective du pilote continue d'être traitée en arrière-plan après l'appel ([SWS_Ea_00085]).
Concurrence et restrictions
-
Réentrance : la fonction est spécifiée comme non réentrante (
Non Reentrant) ([SWS_Ea_00085]). Les appels parallèles depuis des tâches ou des contextes différents doivent être évités du côté appelant. -
Contexte d'appel et paramètres : aucun paramètre d'entrée/sortie ou de sortie pure ne doit être transmis ; seul le paramètre d'entrée
Modeest prévu ([SWS_Ea_00085]).
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)
fonction Ea_Read [SWS_Ea_00086] 📄 PDF
Std_ReturnType Ea_Read (uint16 BlockNumber, uint16 BlockOffset, uint8* DataBufferPtr, uint16 Length);
Reads Length bytes of block Blocknumber at offset Block Offset into the buffer Data Buffer Ptr.
Utilisation et sémantique
La fonction Ea_Read sert à lire des données utiles à partir d'un bloc EEPROM logique spécifié via l'en-tête Ea.h [SWS_Ea_00086]. Le paramètre Block Number permet d'adresser le bloc logique, ce qui détermine également son adresse de départ dans l'EEPROM [SWS_Ea_00086]. Le paramètre Block Offset définit le décalage de lecture relatif au sein du bloc, tandis que Length définit le nombre d'octets à lire [SWS_Ea_00086]. Les données de destination sont écrites dans le tampon référencé par Data Buffer Ptr [SWS_Ea_00086].
L'appel se comporte de manière asynchrone (Asynchronous) : la valeur de retour E_OK signale exclusivement que le module Ea a accepté la demande d'ordre, tandis que E_NOT_OK indique un rejet de l'ordre [SWS_Ea_00086]. Interprétation : le transfert de données s'effectuant de manière asynchrone en arrière-plan, le tampon référencé devrait devoir être mis à disposition inchangé et valide jusqu'à l'exécution complète de l'ordre. Question Q-34c9b29f373bd6cf (ouverte)
Concurrence et restrictions
L'interface est spécifiée comme non réentrante (Non Reentrant) [SWS_Ea_00086]. Les appels parallèles issus de différents contextes d'exécution ne sont par conséquent pas autorisés et doivent être synchronisés du côté appelant.
Cette note d'utilisation a été générée automatiquement sur la base de la spécification R20-11.
fonction Ea_Write [SWS_Ea_00087] 📄 PDF
Std_ReturnType Ea_Write (uint16 BlockNumber, const uint8* DataBufferPtr);
Writes the contents of the Data Buffer Ptr to the block Block Number.
La fonction Ea_Write déclenche l'écriture asynchrone de données depuis un tampon vers un bloc EEPROM logique [SWS_Ea_00087]. Elle est déclarée via le fichier d'en-tête Ea.h et possède le Service-ID 0x03 [SWS_Ea_00087].
Paramètres et valeur de retour
BlockNumber(entrée,uint16) : désigne le numéro du bloc logique et représente également son adresse de départ dans l'EEPROM [SWS_Ea_00087].DataBufferPtr(entrée,const uint8*) : pointeur vers le tampon qui contient les données à écrire [SWS_Ea_00087].- Valeur de retour (
Std_ReturnType) :E_OKsignale que l'ordre d'écriture a été accepté par le module Ea pour exécution ;E_NOT_OKsignifie que la demande a été rejetée [SWS_Ea_00087].
Concurrence et restrictions
La fonction est spécifiée comme non réentrante (Non Reentrant) [SWS_Ea_00087]. Par conséquent, les appels concurrents ne doivent probablement pas intervenir de façon non coordonnée sans synchronisation externe préalable. Question Q-a52fbcca6963c760 (ouverte) Le processus d'écriture étant exécuté de manière asynchrone (Asynchronous) [SWS_Ea_00087], l'appelant devrait devoir maintenir le tampon fourni DataBufferPtr inchangé en mémoire jusqu'à l'achèvement complet de l'ordre. Aucun code d'erreur DET ou DEM spécifique n'est mentionné dans l'extrait de spécification de la fonction.
Cette note d'utilisation a été générée par une IA sur la base de la spécification d'AUTOSAR Release R20-11.
fonction Ea_Cancel [SWS_Ea_00088] 📄 PDF
void Ea_Cancel (void);
Cancels the ongoing asynchronous operation.
La fonction Ea_Cancel interrompt une opération asynchrone actuellement en cours du module EEPROM Abstraction ([SWS_Ea_00088]). Le service est fourni via le fichier d'en-tête Ea.h et possède l'ID de service 0x04 ([SWS_Ea_00088]).
Concernant le comportement d'appel et la définition d'interface, les caractéristiques suivantes s'appliquent ([SWS_Ea_00088]) :
- Sémantique : l'appel lui-même s'effectue de manière synchrone (
Synchronous), bien qu'il interrompe une opération asynchrone en cours ([SWS_Ea_00088]). - Paramètres et retour : la signature est
void Ea_Cancel(void). La fonction n'attend aucun paramètre d'entrée, de sortie ou de transmission et ne possède aucune valeur de retour ([SWS_Ea_00088]). - Réentrance : l'interface est définie comme non réentrante (
Non Reentrant) ([SWS_Ea_00088]). Par conséquent, elle ne doit pas être appelée de manière concurrente depuis plusieurs contextes d'exécution ou tâches interruptives.
Comme Ea_Cancel ne prend aucun identifiant de tâche ou de bloc, l'interruption se rapporte directement à l'opération globale asynchrone actuellement en cours de traitement ([SWS_Ea_00088]). Les données de spécification ne contiennent aucun code d'erreur spécifique ni retour vers des mécanismes de détection. Vraisemblablement, l'appel est généralement effectué par des couches supérieures telles que la Memory Abstraction Interface (MemIf), afin d'interrompre prématurément et de manière ciblée des opérations prolongées de lecture, d'écriture ou d'effacement. Question Q-e441cbf6a5097568 (ouverte)
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R20-11.
fonction Ea_GetStatus [SWS_Ea_00089] 📄 PDF
MemIf_StatusType Ea_GetStatus (void);
Service to return the Status.
fonction Ea_GetJobResult [SWS_Ea_00090] 📄 PDF
MemIf_JobResultType Ea_GetJobResult (void);
Service to return the Job Result.
fonction Ea_InvalidateBlock [SWS_Ea_00091] 📄 PDF
Std_ReturnType Ea_InvalidateBlock (uint16 BlockNumber);
Invalidates the block Block Number.
Utilisation
La fonction Ea_InvalidateBlock sert à invalider un bloc désigné par le numéro de bloc logique [SWS_Ea_00091]. Elle possède l'ID de service 0x07 et est mise à disposition via le fichier d'en-tête Ea.h [SWS_Ea_00091]. En tant que paramètre d'entrée, elle reçoit Block Number de type uint16 ; celui-ci désigne le numéro de bloc logique et indique en même temps l'adresse de début du bloc concerné dans l'EEPROM [SWS_Ea_00091]. Aucun paramètre d'entrée/sortie ou de sortie pure n'est défini pour ce service [SWS_Ea_00091].
L'appel est exécuté en tant qu'opération asynchrone (Asynchronous) [SWS_Ea_00091]. Une valeur de retour E_OK de type Std_ReturnType confirme à l'appelant que le module EA a accepté la demande de tâche pour traitement ultérieur [SWS_Ea_00091].
Gestion des erreurs
Si le module EA n'a pas pu accepter la tâche demandée, la valeur d'erreur E_NOT_OK est renvoyée [SWS_Ea_00091]. Selon la spécification, ce renvoi de E_NOT_OK a toutefois lieu exclusivement si DET est activé [SWS_Ea_00091].
Concurrence et restrictions
L'interface est spécifiée comme non réentrante (Non Reentrant) [SWS_Ea_00091]. Interprétation : par conséquent, les appelants ne doivent probablement pas appeler la fonction en parallèle ou de manière interruptive, car aucune réentrance n'est garantie du côté du module [SWS_Ea_00091]. Question Q-81d805517d2eac88 (ouverte)
Cette note d'utilisation a été créée de manière automatisée sur la base de la spécification d'AUTOSAR Classic R20-11.
fonction Ea_GetVersionInfo [SWS_Ea_00092] 📄 PDF
void Ea_GetVersionInfo (Std_VersionInfoType* VersionInfoPtr);
Service to get the version information of this module.
fonction Ea_EraseImmediateBlock [SWS_Ea_00093] 📄 PDF
Std_ReturnType Ea_EraseImmediateBlock (uint16 BlockNumber);
Erases the block Block Number.
La fonction Ea_EraseImmediateBlock sert à effacer un bloc logique dans l'EEPROM conformément à [SWS_Ea_00093].
- Utilisation et sémantique : l'appel s'effectue de manière asynchrone ([SWS_Ea_00093]). Le numéro du bloc logique, qui désigne également l'adresse de début de ce bloc dans l'EEPROM, est transmis via le paramètre d'entrée
Block Number([SWS_Ea_00093]). La valeur de retour est de typeStd_ReturnType:E_OKsignale que la tâche demandée a été acceptée par le module ([SWS_Ea_00093]). - Traitement des erreurs : si le Default Error Tracer (DET) est activé, la fonction renvoie
E_NOT_OKlorsque la tâche n'a pas pu être acceptée par le module EA ([SWS_Ea_00093]). Si DET n'est pas activé, d'après les termes de la spécification, aucunE_NOT_OKne devrait être renvoyé en cas d'erreur. Question Q-5015a2135dbd4723 (ouverte) - Concurrence et restrictions : la fonction est spécifiée comme non réentrante (Non Reentrant) ([SWS_Ea_00093]). Les appelants doivent donc s'assurer d'éviter les appels parallèles ou chevauchants. La déclaration est disponible via le fichier d'en-tête
Ea.h, et l'ID de service est0x09([SWS_Ea_00093]).
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR.
fonction Ea_JobEndNotification [SWS_Ea_00094] 📄 PDF
void Ea_JobEndNotification (void);
Service to report to this module the successful end of an asynchronous operation.
La fonction Ea_JobEndNotification sert à notifier au module Ea l'achèvement réussi d'une opération asynchrone préalablement initiée [SWS_Ea_00094]. L'interface est fournie via l'en-tête Ea.h et possède l'ID de service 0x10 [SWS_Ea_00094].
Concernant la sémantique et la définition d'interface, les propriétés suivantes s'appliquent selon [SWS_Ea_00094] :
- Signature et paramètres : la fonction n'attend aucun paramètre de transmission (
void) et ne renvoie aucune valeur de retour (void). - Synchronisme : l'appel est traité de manière synchrone.
- Traitement des erreurs : l'interface signale exclusivement l'achèvement réussi ; aucun code d'erreur spécifique ou message d'erreur n'est défini pour cette notification dans l'élément.
Concernant la concurrence, Ea_JobEndNotification est spécifiée comme non réentrante (Non Reentrant) [SWS_Ea_00094]. Les appelants doivent donc s'assurer qu'aucun appel parallèle ou imbriqué n'a lieu. Interprétation : la fonction devrait typiquement être appelée par un pilote sous-jacent dès que son traitement asynchrone est terminé, le contexte appelant devant vraisemblablement veiller à l'enchaînement séquentiel sans préemption mutuelle. Question Q-296b61b743e7c9b8 (ouverte)
Cette note d'utilisation a été générée par une IA sur la base de la spécification AUTOSAR R20-11.
fonction Ea_JobErrorNotification [SWS_Ea_00095] 📄 PDF
void Ea_JobErrorNotification (void);
Service to report to this module the failure of an asynchronous operation.
La fonction Ea_JobErrorNotification sert d'interface de notification pour signaler au module Ea l'erreur d'une opération asynchrone préalablement initiée [SWS_Ea_00095]. Elle est disponible via le fichier d'en-tête Ea.h et possède le Service-ID 0x11 [SWS_Ea_00095].
Les propriétés suivantes s'appliquent en ce qui concerne la spécification de l'interface et son utilisation :
- Paramètres et valeur de retour : la fonction ne possède ni paramètres de transmission (ni in, out, ni inout) ni valeur de retour (signature
void Ea_JobErrorNotification(void)) [SWS_Ea_00095]. - Comportement d'exécution et réentrance : l'appel est traité de manière synchrone, mais est spécifié comme non réentrant (Non Reentrant) [SWS_Ea_00095]. Les appelants doivent donc s'assurer que les appels interviennent de manière séquentielle et ne se chevauchent pas par des contextes parallèles.
- Interaction : puisque la fonction signale l'échec d'un ordre asynchrone, l'appel devrait typiquement être effectué par un module d'abstraction matérielle sous-jacent ou un pilote de mémoire dès qu'un ordre échoue (interprétation). Question Q-810e76dee987a5a1 (ouverte)
Aucun code d'erreur spécifique, erreur de développement (DET) ou erreur de production (DEM) n'est défini pour ce service ; aucun comportement d'erreur particulier pour l'appel lui-même n'est spécifié dans l'élément.
Ce texte a été rédigé par une IA. Toutes les affirmations techniques reposent exclusivement sur les données de spécification d'AUTOSAR R20-11.
fonction Ea_MainFunction [SWS_Ea_00096] 📄 PDF
void Ea_MainFunction (void);
Service to handle the requested jobs and the internal management operations.
Utilisation
La fonction Ea_MainFunction sert au traitement des tâches demandées ainsi qu'à la gestion des opérations internes d'administration au sein du module EEPROM Abstraction [SWS_Ea_00096]. Conformément à la définition d'interface void Ea_MainFunction(void), la fonction ne prend aucun paramètre de transmission et ne renvoie aucune valeur de retour à l'appelant [SWS_Ea_00096].
Contexte d'appel et concurrence
L'interface possède l'ID de service 0x12 et est déclarée via le fichier d'en-tête SchM_Ea.h [SWS_Ea_00096]. Interprétation : en raison de sa mise à disposition via SchM_Ea.h, l'appel devrait généralement être effectué de manière cyclique par le gestionnaire d'ordonnancement (BSW Scheduler) dans le contexte d'une tâche, afin de poursuivre continuellement en arrière-plan le traitement asynchrone des ordres de mémoire. Question Q-23f33a40a1e08c34 (ouverte)
Gestion des erreurs
Comme Ea_MainFunction ne fournit aucune valeur de retour, les états d'erreur ou la progression de la tâche ne sont pas transmis directement via l'appel de fonction [SWS_Ea_00096]. Aucun code d'erreur spécifique ni exigence de notification vers le module d'interface de développement (DET) ou le module de diagnostic (DEM) ne sont définis pour ce service dans le présent extrait de spécification.
Ce texte a été généré automatiquement. Toutes les indications se basent exclusivement sur les données de spécification de la release R20-11.
fonction NvM_JobEndNotification [SWS_Ea_00099] 📄 PDF
void NvM_JobEndNotification (void);
Function to be used by the underlying memory abstraction to signal end of job without error.
Utilisation et sémantique
Conformément à [SWS_Ea_00099], la fonction de rappel NvM_JobEndNotification sert à signaler aux modules supérieurs la fin réussie et sans erreur d'une tâche pour l'abstraction de mémoire sous-jacente. Le service possède la signature void NvM_JobEndNotification(void) ; il n'attend aucun paramètre d'entrée ni d'entrée/sortie et ne renvoie aucune valeur [SWS_Ea_00099]. L'exécution est spécifiée comme synchrone, et l'interface est mise à disposition via le fichier d'en-tête NvM_MemIf.h [SWS_Ea_00099].
Concurrence et conditions d'appel
Concernant le comportement au moment de l'exécution, NvM_JobEndNotification est classée comme non réentrante (Non Reentrant) [SWS_Ea_00099]. Les instances appelantes doivent donc s'assurer que la notification n'est pas appelée de manière interruptive ou parallèle depuis plusieurs contextes. Interprétation : la couche d'abstraction de mémoire devrait typiquement exécuter la fonction dans le cadre de sa fonction principale cyclique ou après l'achèvement d'une tâche de pilote asynchrone, dès qu'il est établi que l'opération s'est achevée sans erreur. Question Q-adabc07be0a3e7d2 (ouverte)
Traitement des erreurs et interaction
Pour cette fonction de notification, aucun code d'erreur spécifique, ni erreur de développement (DET), ni erreur de production (DEM) ne sont définis dans [SWS_Ea_00099]. Cela s'explique par le fait que l'appel signale exclusivement la fin sans erreur d'une tâche [SWS_Ea_00099]. Si une erreur survient pendant une tâche mémoire, cette notification n'est pas appelée.
Ce texte a été généré par une IA sur la base de la spécification.
fonction NvM_JobErrorNotification [SWS_Ea_00100] 📄 PDF
void NvM_JobErrorNotification (void);
Function to be used by the underlying memory abstraction to signal end of job with error.
La fonction de notification NvM_JobErrorNotification est utilisée par l'abstraction de mémoire sous-jacente (Memory Abstraction) pour signaler l'achèvement en erreur d'une tâche au NVRAM Manager [SWS_Ea_00100]. La déclaration de cette interface est mise à disposition via le fichier d'en-tête NvM_MemIf.h [SWS_Ea_00100].
Les propriétés suivantes s'appliquent à l'appel et à l'intégration de l'interface conformément à la spécification [SWS_Ea_00100] :
-
Signature et syntaxe : la fonction possède la signature
void NvM_JobErrorNotification (void)[SWS_Ea_00100]. -
Paramètres et valeurs de retour : la fonction ne possède ni paramètre d'entrée (
Parameters (in): None), ni paramètre d'entrée/sortie (Parameters (inout): None), ni paramètre de sortie (Parameters (out): None), et ne retourne aucune valeur (Return value: None) [SWS_Ea_00100]. -
Synchronicité : l'appel est spécifié comme synchrone (
Synchronous) [SWS_Ea_00100]. -
Concurrence : la fonction est définie comme non réentrante (
Non Reentrant) [SWS_Ea_00100]. Les appels correspondants depuis l'abstraction de mémoire ne doivent donc pas être concurrents ou se chevaucher.
La définition ne contient pas de codes d'erreur spécifiques, de paramètres de différenciation des erreurs ou d'exigences de notification au module Default Error Tracer (DET) ou Diagnostic Event Manager (DEM) [SWS_Ea_00100]. La fonction sert exclusivement de simple message d'état sur le résultat de la tâche achevée avec une erreur [SWS_Ea_00100].
Cette note d'utilisation a été générée automatiquement et s'appuie exclusivement sur la spécification d'AUTOSAR Classic R20-11.
type Ea_ConfigType [SWS_Ea_00190] 📄 PDF
Configuration data structure of the Ea module.
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_Ea- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_Ea@rel:R20-11#85a6b7bc- Content hash
85a6b7bc- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_EEPROMAbstraction.pdf#nameddest=SWS_Ea_00084
gemini-3.8-flash-low· 2026-10-13 · Original allemand