DEENESPTFRRUARHIKOZHNL

EEPROM Abstraction (Ea)

ModulEa (EEPROM Abstraction)
BSW-Modul-ID40
Standard-Header#include "Ea.h"
SWS-SpezifikationAUTOSAR_SWS_EEPROMAbstraction.pdf
ClusterMemory Services

Guide du moduleGÉNÉRÉ PAR IA

Mappe les blocs de mémoire logique sur des adresses EEPROM et traite de manière asynchrone les tâches de lecture et d'écriture.
GÉNÉRÉ PAR IA non vérifié Modèle : claude-opus-5-5 · Effort : high · Température : non réglable · Prompt : 55a6c103b1ca Provenance Questions ouvertes (4)
Ancre causale : R20-11 Valable à partir de R20-11 Synthétisé pour cette version de spécification.
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Mappe les blocs de mémoire logique sur des adresses EEPROM et traite de manière asynchrone les tâches de lecture et d'écriture.

L'EEPROM Abstraction mappe les blocs logiques du NvM sur les adresses d'une EEPROM et utilise en R20-11 le pilote Eep. Les tâches de lecture, d'écriture, d'invalidation et d'effacement sont acceptées de manière synchrone et exécutées de façon asynchrone dans la Main Function appelée cycliquement ([SWS_Ea_00096]). Le module signale l'achèvement ou l'échec par callback au NvM ou via le résultat de tâche. Une écriture concerne toujours l'ensemble du bloc. Seul R20-11 contient encore Ea_SetMode et un Ea_Cancel synchrone ([SWS_Ea_00088]).

L'EEPROM Abstraction (Ea) mappe les blocs logiques sur les adresses EEPROM. Elle se situe entre MemIf et le pilote EEPROM Eep ; le numéro de bloc désigne également l'adresse de début du bloc ([SWS_Ea_00087]). Vers le bas, Ea utilise dans R20-11 les services Eep de lecture, d'écriture, d'effacement, d'annulation et de changement de mode ([SWS_Ea_00097]). Ce n'est qu'à partir de R21-11 que MemAcc remplace le pilote Eep et que Ea_SetMode est supprimé (SWS EA p. 1).

ea_kontext EcuM EcuM Ea Ea EcuM->Ea Ea_Init(ConfigPtr) SchM BSW Scheduler SchM->Ea Ea_MainFunction() Diag Diagnose-/Systemdienst Diag->Ea Ea_EraseImmediateBlock NvM NvM MemIf MemIf NvM->MemIf MemIf_Read / MemIf_Write / MemIf_Cancel / MemIf_SetMode MemIf->Ea Ea_Read, Ea_Write, Ea_Cancel, Ea_SetMode Ea->NvM NvM_JobEndNotification / NvM_JobErrorNotification Eep Eep Ea->Eep Eep_Read, Eep_Write, Eep_Erase, Eep_Cancel, Eep_SetMode, Eep_GetStatus, Eep_GetJobResult Det DET Ea->Det Det_ReportRuntimeError, Det_ReportError (optional) Eep->Ea Ea_JobEndNotification / Ea_JobErrorNotification

Diagramme de contexte : Ea entre NvM/MemIf et Eep, initialisé par EcuM et cadencé par le BSW Scheduler. Sources : [SWS_Ea_00084], [SWS_Ea_00096], [SWS_Ea_00097]

Après Ea_Init avec un pointeur vers le jeu de configuration ([SWS_Ea_00084]), Ea_GetStatus signale l'un des états MEMIF_IDLE, MEMIF_BUSY ou MEMIF_BUSY_INTERNAL ([SWS_Ea_00089]). Ce dernier représente une gestion interne telle qu'un ramasse-miettes (SWS EA p. 28).

La lecture, l'écriture, l'invalidation et l'effacement immédiat sont asynchrones. E_OK confirme uniquement que la tâche a été acceptée. L'exécution a lieu dans la Ea_MainFunction appelée cycliquement ([SWS_Ea_00086], [SWS_Ea_00096]). La lecture est possible avec un décalage et une longueur quelconques. L'écriture concerne toujours l'ensemble du bloc avec un décalage nul (SWS EA p. 25). Le fait que la tâche d'écriture démarre également dans la Main Function relève de l'interprétation.

Tâche d'écriture via EaNvMMemIfEaEepBSW SchedulerUse Case: Auftragsannahme (synchron)MemIf_Write(DeviceIndex, BlockNumber, DataBufferPtr)Ea_Write(BlockNumber, DataBufferPtr)Adresse à partir de BlockNumber, offset 0Longueur = longueur de bloc configuréeBlock als inkonsistent markierenE_OKE_OKUse Case: Asynchrone AbarbeitungEa_MainFunction()Eep_Write(...)Hypothèse : la tâche du pilote est démarrée dans Ea_MainFunctionloopbis Treiberauftrag beendetEep_MainFunction()Ea_JobEndNotification()Block als konsistent markierenJobergebnis MEMIF_JOB_OKNvM_JobEndNotification()

Diagramme de séquence : acceptation synchrone, exécution asynchrone via Eep et retour par callback au NvM. Sources : SWS Eep p. 50, [SWS_Ea_00094], [SWS_Ea_00099]

Ea_Cancel est synchrone dans R20-11 ([SWS_Ea_00088]). Le module signale les erreurs via les codes EA_E_UNINIT à EA_E_INVALID_CANCEL ([SWS_Ea_91001], [SWS_Ea_91002]). Selon la configuration, les erreurs matérielles parviennent au NvM par l'une des deux voies :

  • par l'interrogation du résultat de la tâche MEMIF_JOB_FAILED,
  • par le callback NvM_JobErrorNotification.

La restauration est prise en charge dans chaque cas par le NvM (ErrorDescription p. 48).

Rôle dans la pile mémoire : du bloc logique à l'adresse EEPROM

L'EEPROM Abstraction (Ea) se situe dans la pile mémoire entre le Memory Abstraction Interface (MemIf) et le pilote EEPROM (Eep). Vers le haut, elle propose des services orientés bloc. Le numéro de bloc désigne un bloc logique et en même temps son adresse de début dans l'EEPROM ([SWS_Ea_00086], [SWS_Ea_00087]). MemIf transmet les tâches de lecture et d'écriture au module d'abstraction sélectionné par le paramètre DeviceIndex et transmet sa valeur de retour (SWS MemIf p. 18, SWS MemIf p. 19).

Vers le bas, Ea utilise dans R20-11 les services du pilote EEPROM : Eep_Read, Eep_Write, Eep_Erase, Eep_Cancel, Eep_GetStatus, Eep_GetJobResult et Eep_SetMode. À cela s'ajoute Det_ReportRuntimeError ([SWS_Ea_00097]). Det_ReportError est une interface optionnelle ([SWS_Ea_00098]). Les types importés Eep_AddressType, Eep_LengthType, MemIf_StatusType, MemIf_JobResultType et MemIf_ModeType reflètent cette intégration ([SWS_Ea_00083]).

Concernant la classification des versions : selon l'historique des modifications, Ea_SetMode disparaît à partir de R21-11. De plus, Ea_Cancel devient asynchrone, l'alignement des tampons est ajouté et MemAcc remplace Eep comme couche inférieure (SWS EA p. 1). Pour R20-11, Eep constitue donc encore la couche inférieure et Ea_SetMode un service. Les règles relatives à l'alignement des tampons (SWS EA p. 19) ne s'appliquent pas à R20-11.

ea_kontext EcuM EcuM Ea Ea EcuM->Ea Ea_Init(ConfigPtr) SchM BSW Scheduler SchM->Ea Ea_MainFunction() Diag Diagnose-/Systemdienst Diag->Ea Ea_EraseImmediateBlock NvM NvM MemIf MemIf NvM->MemIf MemIf_Read / MemIf_Write / MemIf_Cancel / MemIf_SetMode MemIf->Ea Ea_Read, Ea_Write, Ea_Cancel, Ea_SetMode Ea->NvM NvM_JobEndNotification / NvM_JobErrorNotification Eep Eep Ea->Eep Eep_Read, Eep_Write, Eep_Erase, Eep_Cancel, Eep_SetMode, Eep_GetStatus, Eep_GetJobResult Det DET Ea->Det Det_ReportRuntimeError, Det_ReportError (optional) Eep->Ea Ea_JobEndNotification / Ea_JobErrorNotification

Diagramme de contexte : Ea assure l'intermédiaire entre NvM/MemIf en haut et le pilote Eep en bas. EcuM initialise le module, le BSW Scheduler l'active cycliquement et DET réceptionne les signalements d'erreurs. Sources : [SWS_Ea_00084], [SWS_Ea_00096], [SWS_Ea_00097], [SWS_Ea_00098], [SWS_Ea_00099], [SWS_Ea_00100], SWS EA p. 34

Démarrage et états du module

Ea_Init initialise le module de manière synchrone et n'est pas réentrant. ConfigPtr pointe vers le jeu de configuration sélectionné ([SWS_Ea_00084]). Ea_ConfigType est une structure comportant des éléments spécifiques à l'implémentation ([SWS_Ea_00190]). D'après le diagramme de séquence de la spécification, l'ECU State Manager appelle Ea_Init lors du démarrage (SWS EA p. 47). Comme il ne s'agit que d'un appel unique, il apparaît dans le diagramme d'états ci-dessous sous la forme d'une transition.

Ea_GetStatus fournit l'état de fonctionnement de manière synchrone sous forme de MemIf_StatusType ([SWS_Ea_00089]) :

  • MEMIF_UNINIT : avant l'initialisation.
  • MEMIF_IDLE : aucune tâche ni gestion interne n'est en cours.
  • MEMIF_BUSY : un ordre de la couche supérieure est en cours de traitement.
  • MEMIF_BUSY_INTERNAL : une opération de gestion interne est en cours, telle qu'une réorganisation de la mémoire EEPROM (ramasse-miettes). Le pilote peut également être temporairement occupé à cette occasion.

Les états sont décrits dans SWS EA p. 28. Le module accepte une tâche d'écriture aussi bien dans l'état MEMIF_IDLE que dans l'état MEMIF_BUSY_INTERNAL (SWS EA p. 25).

ea_status start MEMIF_UNINIT MEMIF_UNINIT start->MEMIF_UNINIT MEMIF_IDLE MEMIF_IDLE MEMIF_UNINIT->MEMIF_IDLE Ea_Init(ConfigPtr) MEMIF_BUSY MEMIF_BUSY MEMIF_IDLE->MEMIF_BUSY Auftrag angenommen (Ea_Read, Ea_Write, ...) MEMIF_BUSY_INTERNAL MEMIF_BUSY_INTERNAL MEMIF_IDLE->MEMIF_BUSY_INTERNAL interne Verwaltung startet (z. B. Garbage Collection) MEMIF_BUSY->MEMIF_IDLE Tâche terminée (succès/erreur) ou Ea_Cancel MEMIF_BUSY_INTERNAL->MEMIF_IDLE interne Verwaltung beendet MEMIF_BUSY_INTERNAL->MEMIF_BUSY Ea_Write angenommen

Diagramme d'états : cycle de vie de l'état du module de MEMIF_UNINIT via MEMIF_IDLE vers MEMIF_BUSY ou MEMIF_BUSY_INTERNAL. Une tâche d'écriture est acceptée depuis la gestion interne. Sources : [SWS_Ea_00084], [SWS_Ea_00089], SWS EA p. 28, SWS EA p. 25, SWS EA p. 27

Accepter des tâches et les exécuter dans Ea_MainFunction

Ea_Read, Ea_Write, Ea_InvalidateBlock et Ea_EraseImmediateBlock sont asynchrones. E_OK signifie seulement que le module a accepté la tâche. E_NOT_OK signifie qu'il l'a rejetée ([SWS_Ea_00086], [SWS_Ea_00087], [SWS_Ea_00091], [SWS_Ea_00093]). Jusqu'à l'obtention du résultat, Ea_GetJobResult signale la valeur MEMIF_JOB_PENDING ([SWS_Ea_00090]).

Le travail effectif est réalisé par Ea_MainFunction, accessible via SchM_Ea.h ([SWS_Ea_00096]). Le Basic Software Scheduler appelle directement la fonction. Elle ne prend aucun paramètre, ne renvoie aucune valeur et n'est pas réentrante (SWS EA p. 36).

ea_annahme start d1 Modul initialisiert? (Status ≠ MEMIF_UNINIT) start->d1 d2 Status MEMIF_BUSY? d1->d2 Oui e1 Signaler EA_E_UNINIT Retourner E_NOT_OK d1->e1 Non d3 Numéro de bloc, offset, longueur, pointeur valides ? d2->d3 non (IDLE ou BUSY_INTERNAL) e2 Signaler EA_E_BUSY Retourner E_NOT_OK d2->e2 Oui e3 Signaler EA_E_INVALID_BLOCK_NO / _OFS / _LEN ou EA_E_PARAM_POINTER Retourner E_NOT_OK d3->e3 Non ok Reprendre les paramètres Statut MEMIF_BUSY Résultat de tâche MEMIF_JOB_PENDING Retourner E_OK d3->ok Oui mf Abarbeitung in Ea_MainFunction ok->mf hinweis Hypothèse : ordre des vérifications hinweis->d1 betrifft

Diagramme d'activité : vérifications lors de l'acceptation d'une tâche et leurs codes d'erreur. L'ordre des vérifications est une supposition. Sources : [SWS_Ea_91001], [SWS_Ea_91002], [SWS_Ea_00089], [SWS_Ea_00090], SWS EA p. 25

Ea_Read calcule l'adresse de lecture à partir du numéro de bloc et de l'offset. L'offset et la longueur peuvent prendre n'importe quelle valeur de leur plage de types, de sorte qu'un nombre arbitraire d'octets peut être lu à partir de n'importe quelle position dans le bloc. L'opération de lecture s'exécute expressément de manière asynchrone dans la Main Function (SWS EA p. 24).

Ea_Write calcule l'adresse d'écriture à partir du numéro de bloc avec un offset fixe de zéro. La fonction définit la longueur sur la longueur configurée pour le bloc (SWS EA p. 25). Une écriture concerne donc toujours le bloc entier ([SWS_Ea_00087]). Le schéma relatif à la demande d'écriture montre le cheminement ultérieur via Eep_Write, la Eep_MainFunction cyclique, Ea_JobEndNotification et NvM_JobEndNotification (SWS Eep p. 50).

Interprétation : pour la lecture, le démarrage de la tâche de pilote dans Ea_MainFunction est expressément requis. Question Q-50dcdf4156855a99 (ouverte) Pour l'écriture, il devrait en être de même, car Ea_MainFunction traite les demandes requises ([SWS_Ea_00096]). Dans le cas d'une bibliothèque spécifique à un constructeur, les diagrammes de séquence ne sont contraignants que pour la relation avec les modules appelants, et non pour les appels adressés au pilote (SWS EA p. 45).

Tâche d'écriture via EaNvMMemIfEaEepBSW SchedulerUse Case: Auftragsannahme (synchron)MemIf_Write(DeviceIndex, BlockNumber, DataBufferPtr)Ea_Write(BlockNumber, DataBufferPtr)Adresse à partir de BlockNumber, offset 0Longueur = longueur de bloc configuréeBlock als inkonsistent markierenE_OKE_OKUse Case: Asynchrone AbarbeitungEa_MainFunction()Eep_Write(...)Hypothèse : la tâche du pilote est démarrée dans Ea_MainFunctionloopbis Treiberauftrag beendetEep_MainFunction()Ea_JobEndNotification()Block als konsistent markierenJobergebnis MEMIF_JOB_OKNvM_JobEndNotification()

Diagramme de séquence : une demande d'écriture est acceptée de manière synchrone, exécutée de manière asynchrone via le pilote et signalée au NvM par un callback. Sources : SWS Eep p. 50, SWS MemIf p. 19, [SWS_Ea_00087], [SWS_Ea_00094], [SWS_Ea_00099]

Gestion des blocs : mappage d'adresses, cohérence et invalidation

La fig. 7.1 compare la mémoire virtuelle et la mémoire physique. Le numéro de bloc (16 bits) et l'offset (16 bits) forment une adresse virtuelle, de sorte qu'un bloc peut couvrir jusqu'à 64 KiB. Physiquement, les blocs sont alignés sur la taille de page virtuelle configurée EA_VIRTUAL_PAGE_SIZE ; l'espace virtuel non utilisé n'occupe pas de mémoire (SWS EA p. 23).

Ea gère pour chaque bloc sa propre information de cohérence. Au démarrage d'une opération d'écriture, le bloc est considéré comme incohérent, puis de nouveau comme cohérent après un achèvement réussi. Ea doit pouvoir distinguer un bloc incohérent d'un bloc intentionnellement invalidé (SWS EA p. 19, version R24-11). Pour l'appelant, les deux cas deviennent visibles via les résultats de job MEMIF_BLOCK_INCONSISTENT et MEMIF_BLOCK_INVALID ([SWS_Ea_00090]).

Ea_InvalidateBlock invalide le bloc BlockNumber ([SWS_Ea_00091]). Selon l'implémentation, cela s'effectue via la fonction d'effacement du pilote ou via une information de gestion interne qui doit alors être stockée de manière non volatile (SWS EA p. 31).

Ea_EraseImmediateBlock efface un bloc ([SWS_Ea_00093]). La fonction est destinée aux services de diagnostic ou aux services système comparables qui effacent au préalable la zone pour les données immédiates. Elle calcule l'adresse avec un offset de zéro. Elle garantit qu'Ea peut écrire des données immédiates (SWS EA p. 34).

Mode de fonctionnement, annulation et notifications

Dans R20-11, Ea_SetMode commute le mode du pilote EEPROM avec le paramètre Mode de type MemIf_ModeType. Le service est asynchrone et non réentrant ([SWS_Ea_00085]). La signature abrégée sans paramètre dans les éléments d'API en diffère ; la description du service fait foi. Les schémas présentent la chaîne NvM → MemIf_SetMode → Ea_SetMode → Eep_SetMode (SWS EA p. 42). À partir de R21-11, ce service disparaît (SWS EA p. 1).

Changement de mode avec Ea_SetMode (R20-11)NvMMemIfEaEepMemIf_SetMode(MemIf_ModeType)Ea_SetMode(MemIf_ModeType)Eep_SetMode(MemIf_ModeType)Eep_SetMode()Ea_SetMode()MemIf_SetMode()Ea_SetMode uniquement jusqu'à R20-11, supprimé à partir de R21-11

Diagramme de séquence : un changement de mode est transmis depuis le NvM via MemIf et Ea jusqu'au pilote (uniquement jusqu'à R20-11). Sources : [SWS_Ea_00085], SWS EA p. 52, SWS EA p. 42

Ea_Cancel annule la demande asynchrone en cours et est synchrone dans R20-11 ([SWS_Ea_00088]). Le passage ultérieur du document décrit le service comme asynchrone ; pour R20-11, c'est l'exigence qui fait foi. Sur le fond, selon ce passage : à l'état MEMIF_BUSY, Ea appelle la fonction d'annulation du pilote et réinitialise ses variables internes. Le résultat du job est alors MEMIF_JOB_CANCELED (SWS EA p. 27). MemIf transmet l'annulation (SWS MemIf p. 20). Une annulation sans demande en attente produit EA_E_INVALID_CANCEL ([SWS_Ea_91002]).

Annulation d'une tâche avec Ea_CancelNvMMemIfEaEepMemIf_Cancel(DeviceIndex)Ea_Cancel()altStatus MEMIF_UNINIT (DET aktiv)EA_E_UNINIT meldenvariables internes inchangéesStatus MEMIF_BUSYEep_Cancel()Retourréinitialiser les variables internesJobergebnis MEMIF_JOB_CANCELEDprêt pour une nouvelle tâcheaucune tâche en attenteEA_E_INVALID_CANCEL meldenRetourRetour

Diagramme de séquence : Ea_Cancel se ramifie, selon l'état du module, en annulation auprès du pilote, message d'erreur ou retour sans modification. Sources : [SWS_Ea_00088], [SWS_Ea_91002], [SWS_Ea_00097], SWS EA p. 27, SWS MemIf p. 20

La couche inférieure signale le succès ou l'échec d'une tâche asynchrone via Ea_JobEndNotification ou Ea_JobErrorNotification ([SWS_Ea_00094], [SWS_Ea_00095]). Ea signale ensuite au NvM NvM_JobEndNotification ou NvM_JobErrorNotification depuis NvM_MemIf.h ([SWS_Ea_00099], [SWS_Ea_00100]). MemIf ne fournit lui-même aucun callback (SWS MemIf p. 24).

Les callbacks peuvent s'exécuter au niveau interruption. Leur temps d'exécution doit donc rester court, et la conception du système doit y adapter la configuration (SWS EA p. 35). Ea_GetVersionInfo est le seul service réentrant ([SWS_Ea_00092]).

Comportement en cas d'erreur

Les codes d'erreur figurent dans deux tableaux.

  • Premier tableau ([SWS_Ea_91001]) : EA_E_UNINIT (0x01), EA_E_INVALID_BLOCK_NO (0x02), EA_E_INVALID_BLOCK_OFS (0x03), EA_E_PARAM_POINTER (0x04) et EA_E_INVALID_BLOCK_LEN (0x05).
  • Second tableau ([SWS_Ea_91002]) : EA_E_BUSY (0x06) et EA_E_INVALID_CANCEL (0x08).

EA_E_INIT_FAILED a été supprimé avec R20-11 (SWS EA p. 1). Interprétation : le premier tableau devrait recenser les erreurs de développement via le Det_ReportError optionnel, le second les erreurs d'exécution via Det_ReportRuntimeError ([SWS_Ea_00097], [SWS_Ea_00098]). Question Q-8443a03d306e4143 (ouverte)

Lorsque la détection des erreurs de développement est active, à l'état non initialisé : Ea_GetJobResult signale EA_E_UNINIT et renvoie MEMIF_JOB_FAILED (SWS EA p. 30). Ea_Cancel signale EA_E_UNINIT et retourne sans modifier les variables internes (SWS EA p. 27). Ea_GetVersionInfo signale EA_E_PARAM_POINTER en cas de pointeur NULL (SWS EA p. 32). Ea_InvalidateBlock et Ea_EraseImmediateBlock ne renvoient E_NOT_OK que lorsque DET est actif ([SWS_Ea_00091], [SWS_Ea_00093]).

Le pilote EEPROM détecte les erreurs matérielles. La réaction d'Ea dépend de l'implémentation. Selon la configuration, le signalement s'effectue par l'une des deux voies : par une interrogation avec le résultat de job MEMIF_JOB_FAILED ou par le callback NvM_JobErrorNotification. La restauration est prise en charge par le NvM (ErrorDescription p. 48, [SWS_Ea_00095], [SWS_Ea_00100]). Pour la voie par interrogation, la description des erreurs mentionne Eep_GetJobResult. Le fait qu'Ea interroge cette fonction dans sa Main Function est vraisemblablement sous-entendu ainsi, mais n'est pas expressément stipulé. Question (ouverte)

Le résultat du job distingue finement les types d'erreur ([SWS_Ea_00090]) :

  • MEMIF_JOB_CANCELED : annulation, considéré comme ayant échoué.
  • MEMIF_JOB_FAILED : la tâche a échoué.
  • MEMIF_BLOCK_INCONSISTENT : le bloc peut contenir des données corrompues.
  • MEMIF_BLOCK_INVALID : le bloc a été invalidé, l'opération n'est pas exécutable.
Signalement d'une erreur de piloteNvMEaEepEep détecte une erreur dans la tâche asynchronealtKonfiguration: Callback-BenachrichtigungEa_JobErrorNotification()implementierungsspezifische ReaktionNvM_JobErrorNotification()Konfiguration: PollingEep_GetJobResult()MEMIF_JOB_FAILEDAnnahme: Abfrage in Ea_MainFunctionEa_GetJobResult()MEMIF_JOB_FAILEDRestauration : tâche du NvM

Diagramme de séquence : selon la configuration, une erreur de pilote parvient au NvM par callback ou par interrogation du résultat de job. Sources : ErrorDescription p. 48, [SWS_Ea_00095], [SWS_Ea_00100], [SWS_Ea_00090], [SWS_Ea_00097]

Preuves détaillées supplémentaires

Guide généré par IA sur la base des exigences et des passages de documents R20-11 fournis dans le payload. Les passages de documents issus de releases ultérieures sont identifiés ; en cas de divergence, l'exigence fait foi. Les déclarations signalées comme interprétation ne sont pas normatives.

EEPROM Abstraction (Ea)

Provides uniform access to external and internal EEPROM devices.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

fonction Ea_Init [SWS_Ea_00084] 📄 PDF

void Ea_Init (const Ea_ConfigType* ConfigPtr);

Initializes the EEPROM abstraction module.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 758621a616a5 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 0x00 est 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 (type const 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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : a4f6e1f8e66c Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 Mode est 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 43bc307f1243 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 41c9f0ddc8f3 Provenance Questions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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_OK signale que l'ordre d'écriture a été accepté par le module Ea pour exécution ; E_NOT_OK signifie 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 7fde513694e7 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 2c1c29a1fe37 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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_EraseImmediateBlock [SWS_Ea_00093] 📄 PDF

Std_ReturnType Ea_EraseImmediateBlock (uint16 BlockNumber);

Erases the block Block Number.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 11c26d81184d Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 type Std_ReturnType : E_OK signale 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_OK lorsque 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, aucun E_NOT_OK ne 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 est 0x09 ([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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 234afd19dc30 Provenance Questions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 9e75b5e5784e Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 982c19d62ccc Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 5f055de9eae0 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 6fbe1fe6a235 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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.

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

Initialisation et état

Ea_GetStatus fonction

Service to return the Status.

MemIf_StatusType Ea_GetStatus (void);

Service to get the version information of this module.

void Ea_GetVersionInfo (Std_VersionInfoType* VersionInfoPtr);
Ea_Init fonction

Initializes the EEPROM abstraction module.

void Ea_Init (const Ea_ConfigType* ConfigPtr);

Services

Ea_Cancel fonction

Cancels the ongoing asynchronous operation.

void Ea_Cancel (void);

Erases the block Block Number.

Std_ReturnType Ea_EraseImmediateBlock (uint16 BlockNumber);

Service to return the Job Result.

MemIf_JobResultType Ea_GetJobResult (void);

Invalidates the block Block Number.

Std_ReturnType Ea_InvalidateBlock (uint16 BlockNumber);

Service to report to this module the successful end of an asynchronous operation.

void Ea_JobEndNotification (void);

Service to report to this module the failure of an asynchronous operation.

void Ea_JobErrorNotification (void);
Ea_Read fonction

Reads Length bytes of block Blocknumber at offset Block Offset into the buffer Data Buffer Ptr.

Std_ReturnType Ea_Read (uint16 BlockNumber, uint16 BlockOffset, uint8* DataBufferPtr, uint16 Length);
Ea_SetMode fonction

Function to switch the mode of the underlying EEPROM Driver

void Ea_SetMode (MemIf_ModeType Mode);
Ea_Write fonction

Writes the contents of the Data Buffer Ptr to the block Block Number.

Std_ReturnType Ea_Write (uint16 BlockNumber, const uint8* DataBufferPtr);

Function to be used by the underlying memory abstraction to signal end of job without error.

void NvM_JobEndNotification (void);

Function to be used by the underlying memory abstraction to signal end of job with error.

void NvM_JobErrorNotification (void);

Cyclique

Service to handle the requested jobs and the internal management operations.

void Ea_MainFunction (void);

Types

Configuration data structure of the Ea module.