Flash EEPROM Emulation (Fee)
Provides emulation of EEPROM-like data blocks on Flash memory devices.
Funktionen — Übersicht
void Fee_Init (const Fee_ConfigType* ConfigPtr);Service to initialize the FEE module.void Fee_SetMode (MemIf_ModeType Mode);Function to switch the mode of the underlying Flash DriverStd_ReturnType Fee_Read (uint16 BlockNumber, uint16 BlockOffset, uint8* DataBufferPtr, uint16 Length);Service to initiate a read job.Std_ReturnType Fee_Write (uint16 BlockNumber, const uint8* DataBufferPtr);Service to initiate a write job.void Fee_Cancel (void);Service to call the cancel function of the underlying flash driver.MemIf_StatusType Fee_GetStatus (void);Service to return the status.MemIf_JobResultType Fee_GetJobResult (void);Service to query the result of the last accepted job issued by the upper layer software.Std_ReturnType Fee_InvalidateBlock (uint16 BlockNumber);Service to invalidate a logical block.void Fee_GetVersionInfo (Std_VersionInfoType* VersionInfoPtr);Service to return the version information of the FEE module.Std_ReturnType Fee_EraseImmediateBlock (uint16 BlockNumber);Service to erase a logical block.void Fee_JobEndNotification (void);Service to report to this module the successful end of an asynchronous operation.void Fee_JobErrorNotification (void);Service to report to this module the failure of an asynchronous operation.void Fee_MainFunction (void);Service to handle the requested read / write / erase jobs and the internal management operations.void NvM_JobEndNotification (void);-void NvM_JobErrorNotification (void);-
Typen — Übersicht
struct Fee_ConfigTypeConfiguration data structure of the Fee module.
Funktionen & Typen — Detailansicht
fonction Fee_Init [SWS_Fee_00085] 📄 PDF
void Fee_Init (const Fee_ConfigType* ConfigPtr);
Service to initialize the FEE module.
La fonction Fee_Init sert de service central pour l'initialisation du module d'émulation EEPROM Flash (FEE) [SWS_Fee_00085]. L'appel s'effectue via l'interface déclarée dans Fee.h avec l'identifiant de service 0x00 [SWS_Fee_00085]. Le seul paramètre d'entrée transmis est ConfigPtr, qui sert de pointeur vers l'ensemble de données de configuration sélectionné de type const Fee_ConfigType* [SWS_Fee_00085]. Aucun paramètre d'entrée/sortie supplémentaire ni aucun paramètre de sortie pur n'est défini, et la fonction ne renvoie aucune valeur de retour (void) [SWS_Fee_00085].
Bien qu'il s'agisse d'une fonction d'initialisation fondamentale, la sémantique d'exécution est expressément classée comme asynchrone (Asynchronous) dans la spécification [SWS_Fee_00085]. Interprétation : la fonction agissant de manière asynchrone, l'appel de Fee_Init ne devrait vraisemblablement faire que déclencher l'initialisation du module, tandis que les étapes d'initialisation coûteuses en temps sont achevées en arrière-plan sans blocage [SWS_Fee_00085]. Question Q-7d91ac2e51869606 (ouverte)
Pour la concurrence et le contexte d'appel, la spécification stipule que Fee_Init n'est pas réentrante (Non Reentrant) [SWS_Fee_00085]. Par conséquent, la fonction ne doit à aucun moment être appelée en parallèle ou de manière imbriquée depuis différents contextes [SWS_Fee_00085].
Cette note d'utilisation a été créée par une IA et s'appuie exclusivement sur la spécification AUTOSAR Classic Release R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction Fee_SetMode [SWS_Fee_00086] 📄 PDF
void Fee_SetMode (MemIf_ModeType Mode);
Function to switch the mode of the underlying Flash Driver
Utilisation et contexte d'appel
La fonction Fee_SetMode sert à commuter le mode de fonctionnement du pilote Flash sous-jacent ([SWS_Fee_00086]). Elle est mise à disposition via le fichier d'en-tête Fee.h avec la Service-ID 0x01 ([SWS_Fee_00086]). Le service attend comme unique paramètre d'entrée Mode (de type MemIf_ModeType), qui définit le mode de fonctionnement souhaité du pilote Flash ([SWS_Fee_00086]). Aucun paramètre de sortie ni aucune valeur de retour (void) ne sont transmis ([SWS_Fee_00086]).
Sémantique asynchrone et concurrence
L'interface est spécifiée comme asynchrone ([SWS_Fee_00086]). Aucune valeur de fonction n'étant renvoyée après l'appel, le processus de commutation proprement dit du matériel Flash devrait se dérouler de manière différée en arrière-plan. Question Q-9dbc267f51e150af (ouverte) Concernant le contexte d'appel, Fee_SetMode est classée comme non réentrante (Non Reentrant) ([SWS_Fee_00086]). Les appelants doivent donc s'assurer que la fonction n'est pas appelée simultanément ou de manière interruptive depuis différents threads ou tâches.
Traitement des erreurs et interaction
Dans le présent extrait de spécification, aucun code d'erreur spécifique, message d'erreur DET ou événement DEM n'est défini pour Fee_SetMode ([SWS_Fee_00086]). De même, aucune relation directe avec d'autres exigences n'est indiquée. Interprétation : une éventuelle vérification de valeurs de mode non valides devrait être gérée en interne dans le pilote ou dans le module Fee, sans retour d'erreur explicite à l'appelant.
Question (ouverte)
Ce texte a été généré par une IA et se base exclusivement sur les spécifications de la version AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction Fee_Read [SWS_Fee_00087] 📄 PDF
Std_ReturnType Fee_Read (uint16 BlockNumber, uint16 BlockOffset, uint8* DataBufferPtr, uint16 Length);
Service to initiate a read job.
Utilisation
La fonction Fee_Read sert à initier une tâche de lecture asynchrone dans le module Flash EEPROM Emulation et est déclarée via le fichier d'en-tête Fee.h [SWS_Fee_00087]. Elle possède l'identifiant de service 0x02 et accepte les paramètres de transmission suivants [SWS_Fee_00087] :
Block Number: numéro du bloc logique, qui indique également son adresse de départ dans la mémoire Flash.Block Offset: décalage de lecture au sein du bloc concerné.Length: nombre d'octets à lire à partir du bloc.Data Buffer Ptr: pointeur vers le tampon de destination destiné au stockage des données lues.
Comme valeur de retour, la fonction fournit Std_ReturnType : E_OK signale que la tâche de lecture demandée a été acceptée par le module ; E_NOT_OK indique que la tâche a été rejetée [SWS_Fee_00087].
Concurrence et restrictions
L'appel de Fee_Read est spécifié comme non réentrant (Non Reentrant) et asynchrone (Asynchronous) [SWS_Fee_00087].
Interaction avec le pilote Flash
Si la fonction Fls_BlankCheck est configurée dans le pilote Flash, Fee_Read doit appeler cette fonction [SWS_Fee_00187]. Cela sert à vérifier au préalable si la zone de mémoire peut être lue sans déclencher par exemple des erreurs ECC dues à des cellules Flash effacées mais pas encore programmées [SWS_Fee_00187].
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.
Guide de l'implémenteur à venir (complexité I1)
fonction Fee_Write [SWS_Fee_00088] 📄 PDF
Std_ReturnType Fee_Write (uint16 BlockNumber, const uint8* DataBufferPtr);
Service to initiate a write job.
Utilisation et sémantique
La fonction Fee_Write sert de service pour initier une tâche d'écriture dans le module d'émulation EEPROM Flash conformément à [SWS_Fee_00088]. La déclaration est disponible via l'en-tête Fee.h. L'appel s'effectue de manière asynchrone : la fonction ne fait qu'amorcer l'opération d'écriture et ne bloque pas jusqu'à l'achèvement physique de l'opération d'écriture.
Deux paramètres sont définis pour la transmission des données d'écriture [SWS_Fee_00088] :
BlockNumber(uint16) : désigne le numéro de bloc logique et définit également l'adresse de départ de ce bloc dans l'EEPROM.DataBufferPtr(const uint8*) : pointeur vers le tampon de données contenant les données utiles à écrire.
Valeurs de retour et concurrence
La valeur de retour de type Std_ReturnType signale immédiatement si la tâche d'écriture a pu être acceptée par le module [SWS_Fee_00088] :
E_OK: la tâche demandée a été acceptée par le module.E_NOT_OK: la tâche n'a pas été acceptée par le module.
Concernant la concurrence, Fee_Write est spécifiée comme non réentrante (Non Reentrant) [SWS_Fee_00088]. Les appelants doivent donc s'assurer que la fonction n'est pas appelée de manière concurrente depuis différents contextes. L'identifiant de service de la fonction est 0x03 [SWS_Fee_00088]. Interprétation : le transfert physique des données devrait vraisemblablement être traité en arrière-plan de manière asynchrone par des cycles de module ultérieurs après le retour de E_OK. Question Q-8bedddcf2371f6bf (ouverte)
Ce texte a été généré par une IA et sert de guide d'orientation. Seules les spécifications AUTOSAR référencées font foi.
fonction Fee_Cancel [SWS_Fee_00089] 📄 PDF
void Fee_Cancel (void);
Service to call the cancel function of the underlying flash driver.
La fonction Fee_Cancel est un service synchrone du module Fee servant à transmettre une requête d'annulation au pilote Flash sous-jacent [SWS_Fee_00089]. Ce service est déclaré via l'en-tête Fee.h et possède l'identifiant de service numérique 0x04 [SWS_Fee_00089].
Utilisation et contexte d'appel
L'interface possède la signature void Fee_Cancel (void) [SWS_Fee_00089]. Conformément à la spécification, les caractéristiques de paramètres et d'exécution suivantes s'appliquent à l'appel :
- Paramètres : la fonction n'attend aucun paramètre de transmission ; il n'y a ni paramètre d'entrée, ni d'entrée/sortie, ni de sortie [SWS_Fee_00089].
- Valeur de retour : aucune valeur de retour n'est renvoyée à l'appelant [SWS_Fee_00089].
- Synchronicité : le traitement de l'appel de fonction est défini comme synchrone (Synchronous) [SWS_Fee_00089].
Concurrence et restrictions
En ce qui concerne le comportement de concurrence, Fee_Cancel est spécifiée comme non réentrante (Non Reentrant) [SWS_Fee_00089]. Les instances appelantes doivent donc s'assurer que la fonction n'est pas appelée en parallèle ou de manière imbriquée depuis différents contextes de tâche ou d'interruption.
Interaction et gestion des erreurs
La tâche centrale de Fee_Cancel consiste à appeler la fonction d'annulation du pilote Flash sous-jacent [SWS_Fee_00089]. Aucun code d'erreur spécifique, valeur de retour ou message d'erreur n'est défini pour cette fonction dans la charge utile. Comme aucun traitement d'erreur n'est décrit, le comportement en cas d'erreur devrait vraisemblablement dépendre de l'implémentation du pilote Flash appelé. Question Q-bb066b6c05a2eb12 (ouverte)
Cette note d'utilisation a été générée de manière automatisée et repose exclusivement sur les contenus de la spécification de la version AUTOSAR R20-11.
fonction Fee_GetStatus [SWS_Fee_00090] 📄 PDF
MemIf_StatusType Fee_GetStatus (void);
Service to return the status. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlashEEPROMEmulation
fonction Fee_GetJobResult [SWS_Fee_00091] 📄 PDF
MemIf_JobResultType Fee_GetJobResult (void);
Service to query the result of the last accepted job issued by the upper layer software.
fonction Fee_InvalidateBlock [SWS_Fee_00092] 📄 PDF
Std_ReturnType Fee_InvalidateBlock (uint16 BlockNumber);
Service to invalidate a logical block.
La fonction Fee_InvalidateBlock sert de service pour invalider un bloc logique dans la mémoire flash [SWS_Fee_00092]. Elle est disponible via le fichier d'en-tête Fee.h et possède l'identifiant de service 0x07 [SWS_Fee_00092].
Utilisation et paramètres
L'appel s'effectue de manière asynchrone ; l'invalidation proprement dite est ainsi déclenchée en tant que tâche de fond [SWS_Fee_00092] :
- Block Number (
uint16, in) : désigne le numéro de bloc logique, qui détermine également l'adresse de départ du bloc dans la mémoire flash [SWS_Fee_00092]. - Rückgabewert (
Std_ReturnType) : renvoieE_OKsi la demande d'invalidation a été acceptée avec succès par le module [SWS_Fee_00092].
Gestion des erreurs
Si le module n'a pas pu accepter la requête, E_NOT_OK est renvoyé – selon la spécification, ce retour d'erreur est toutefois expressément limité aux configurations avec DET activé (only if DET is enabled) [SWS_Fee_00092]. Interprétation : si le DET est désactivé, un rejet de commande ne devrait pas être signalé à l'appelant via E_NOT_OK, étant donné que la spécification lie le renvoi de cette valeur d'erreur à l'activation du DET. Question Q-2e54187ddb69e481 (ouverte)
Concurrence et contraintes
L'interface est déclarée non réentrante (Non Reentrant) [SWS_Fee_00092]. Les appelants doivent donc s'assurer qu'aucun appel parallèle ou interruptif de Fee_InvalidateBlock n'a lieu tant qu'un appel de fonction précédent est actif [SWS_Fee_00092].
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R20-11.
fonction Fee_GetVersionInfo [SWS_Fee_00093] 📄 PDF
void Fee_GetVersionInfo (Std_VersionInfoType* VersionInfoPtr);
Service to return the version information of the FEE module.
fonction Fee_EraseImmediateBlock [SWS_Fee_00094] 📄 PDF
Std_ReturnType Fee_EraseImmediateBlock (uint16 BlockNumber);
Service to erase a logical block.
Utilisation et paramètres
La fonction Fee_EraseImmediateBlock fournit un service asynchrone pour effacer un bloc logique et est déclarée via le fichier d'en-tête Fee.h [SWS_Fee_00094]. La fonction possède l'identifiant de service hexadécimal 0x09 [SWS_Fee_00094]. Le paramètre Block Number de type uint16 constitue le seul paramètre d'entrée ; celui-ci spécifie le numéro du bloc logique et indique en même temps son adresse de départ dans l'EEPROM [SWS_Fee_00094].
Valeurs de retour et gestion des erreurs
Comme valeur de retour, l'interface fournit le statut Std_ReturnType [SWS_Fee_00094]. La valeur E_OK confirme que le module a accepté avec succès la commande d'effacement demandée [SWS_Fee_00094]. Si la commande n'a pas été acceptée par le module, la fonction renvoie E_NOT_OK ; d'après la spécification, cette valeur de retour ne se produit toutefois que lorsque la surveillance des erreurs DET est activée [SWS_Fee_00094].
Concurrence et restrictions
Concernant la concurrence et les conditions d'appel, Fee_EraseImmediateBlock est classée comme non réentrante (Non Reentrant) et fonctionne de manière asynchrone [SWS_Fee_00094]. Les modules appelants doivent donc garantir qu'aucun autre appel à la même interface n'est effectué tant que le module est encore occupé par le traitement.
Explication contextuelle basée sur la spécification AUTOSAR.
fonction Fee_JobEndNotification [SWS_Fee_00095] 📄 PDF
void Fee_JobEndNotification (void);
Service to report to this module the successful end of an asynchronous operation. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlashEEPROMEmulation
La fonction Fee_JobEndNotification sert à notifier au module Fee l'achèvement réussi d'une opération asynchrone ([SWS_Fee_00095]).
Concernant l'utilisation et la signature, les stipulations suivantes s'appliquent :
- Signature et paramètres : la fonction possède la signature
void Fee_JobEndNotification (void);. Elle n'attend aucun paramètre d'entrée, d'entrée/sortie ou de sortie et ne renvoie aucune valeur de retour ([SWS_Fee_00095]). - En-tête : la déclaration est fournie via
Fee.h([SWS_Fee_00095]). - Service-ID : la fonction est définie via l'identifiant de service
0x10([SWS_Fee_00095]). - Synchronicité : l'appel lui-même est spécifié comme synchrone ([SWS_Fee_00095]).
- Concurrence : la routine est classée comme non réentrante (Non Reentrant) ([SWS_Fee_00095]).
Interaction et contexte d'appel : généralement, ce callback devrait être appelé par un module sous-jacent (comme un pilote Flash) pour signaler la fin d'une tâche asynchrone d'écriture ou d'effacement. Question Q-8a3ccdba2024001f (ouverte) En raison de la propriété Non Reentrant, l'appelant doit s'assurer qu'aucun appel concurrent n'a lieu ([SWS_Fee_00095]).
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR pour R20-11.
fonction Fee_JobErrorNotification [SWS_Fee_00096] 📄 PDF
void Fee_JobErrorNotification (void);
Service to report to this module the failure of an asynchronous operation.
La fonction Fee_JobErrorNotification sert de service de notification pour signaler au module Fee l'échec d'une opération asynchrone [SWS_Fee_00096]. L'interface possède la signature void Fee_JobErrorNotification (void) et est disponible via le fichier d'en-tête Fee.h [SWS_Fee_00096]. Aucun paramètre d'entrée, d'entrée/sortie ou de sortie n'est transmis au service portant l'identifiant 0x11 [SWS_Fee_00096]. De même, l'appel ne renvoie aucune valeur de retour à l'appelant [SWS_Fee_00096].
La sémantique d'exécution de l'appel est spécifiée comme étant synchrone (Synchronous) [SWS_Fee_00096]. Pour le comportement à l'exécution, la restriction centrale s'applique selon laquelle la fonction n'est pas réentrante (Non Reentrant) [SWS_Fee_00096]. Interprétation : l'appelant – qui est probablement un composant pilote sous-jacent – doit s'assurer que la notification n'est jamais déclenchée de façon concurrente ou en parallèle à partir de contextes interruptifs. Question Q-7d4c9618bf385721 (ouverte)
Concernant le traitement des erreurs, aucun code d'erreur spécifique n'est transmis par l'interface sans paramètre, et aucun message DET ou DEM propre au module n'est documenté pour cet appel [SWS_Fee_00096]. Le module Fee devrait associer en interne le cas d'erreur signalé à la tâche asynchrone active et adapter son statut en conséquence. Question Q-1fa43444195edb62 (ouverte)
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R20-11.
fonction Fee_MainFunction [SWS_Fee_00097] 📄 PDF
void Fee_MainFunction (void);
Service to handle the requested read / write / erase jobs and the internal management operations.
La fonction Fee_MainFunction sert, conformément à [SWS_Fee_00097], au traitement centralisé des demandes de lecture, d'écriture et d'effacement ainsi qu'à l'exécution des opérations de gestion internes du module. Elle est spécifiée avec la signature void Fee_MainFunction (void); et l'identifiant de service 0x12 [SWS_Fee_00097].
En ce qui concerne l'interface et l'utilisation, la fonction ne traite aucun paramètre de transmission et ne possède pas de valeur de retour [SWS_Fee_00097]. De sa disponibilité via le fichier d'en-tête SchM_Fee.h, on peut probablement déduire que son appel est effectué de manière cyclique par le gestionnaire d'ordonnancement du logiciel de base. Question Q-5ef9bcc5f438cb89 (ouverte) La description suggère que les commandes précédemment transmises de manière asynchrone devraient être exécutées successivement au sein de ces cycles périodiques.
Concernant les scénarios d'erreur, la réentrance et les conditions d'appel spécifiques, la spécification ne contient aucun identifiant ni code d'erreur distinct [SWS_Fee_00097]. Interprétation : en tant que fonction de commande cyclique centrale pour l'état du module, Fee_MainFunction ne devrait pas être réentrante, raison pour laquelle un appel concurrent depuis plusieurs tâches doit être évité. Question (ouverte)
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R20-11.
fonction NvM_JobEndNotification [SWS_Fee_00098] 📄 PDF
void NvM_JobEndNotification (void);
-
Utilisation et signature
La fonction NvM_JobEndNotification est définie comme un service dans la spécification de la Flash EEPROM Emulation (Fee) et est disponible via le fichier d'en-tête Nvm.h ([SWS_Fee_00098]). Conformément à sa syntaxe void NvM_JobEndNotification (void);, la fonction ne requiert aucun paramètre d'entrée ni de sortie et ne fournit aucune valeur de retour ([SWS_Fee_00098]). Une sémantique synchrone est définie pour le comportement d'exécution (Sync/Async: true) ([SWS_Fee_00098]).
Concurrence et restrictions
Concernant la réentrance, la fonction est classée avec Don't care ([SWS_Fee_00098]). Aucune restriction spécifique relative au contexte d'appel n'est définie dans la spécification. Aucun traitement d'erreur distinct par le biais de messages DET ou DEM n'est spécifié pour cet élément ([SWS_Fee_00098]).
Interaction et classification fonctionnelle
Bien que la fonction fasse partie de la spécification de la Flash EEPROM Emulation, le champ de description ne contient pas d'autres détails ([SWS_Fee_00098]). Interprétation : en raison de sa dénomination et de sa déclaration dans Nvm.h, la fonction devrait probablement servir d'interface de rappel par laquelle le module Fee signale au module NvM l'achèvement régulier d'une tâche traitée de manière asynchrone. Question Q-ee00bece2e28a0e4 (ouverte)
Cette note d'utilisation a été générée automatiquement sur la base de la spécification d'AUTOSAR Release R20-11.
fonction NvM_JobErrorNotification [SWS_Fee_00099] 📄 PDF
void NvM_JobErrorNotification (void);
-
Utilisation et contexte d'appel
La fonction NvM_JobErrorNotification est définie conformément à [SWS_Fee_00099] comme une interface synchrone (Sync/ Async true). Sa déclaration est mise à disposition via le fichier d'en-tête Nvm.h ([SWS_Fee_00099]). La signature est void NvM_JobErrorNotification (void), de sorte qu'elle n'accepte aucun paramètre d'entrée, de passage ou de sortie et ne renvoie aucune valeur de retour ([SWS_Fee_00099]). D'après l'identifiant et l'attribution au module Fee, cette fonction de rappel devrait servir à notifier la gestion NVRAM lorsqu'une erreur survient pendant le traitement asynchrone d'une tâche dans le pilote d'émulation flash EEPROM. Question Q-4d70f8d384e04832 (ouverte)
Gestion des erreurs et concurrence
Dans [SWS_Fee_00099], aucun code d'erreur spécifique, message DET ou événement DEM n'est répertorié. Étant donné qu'aucun paramètre d'état ou d'erreur n'est transmis, une analyse détaillée des erreurs devrait probablement reposer sur des états internes du module ou des interrogations en aval du pilote. Question Q-c45e72b67236c432 (ouverte) Concernant la concurrence, [SWS_Fee_00099] spécifie le critère Don't care pour la réentrance, ce qui signifie qu'aucune exigence restrictive n'est formulée du côté de l'exigence quant à la réentrance.
Ce texte a été généré par une IA sur la base de la spécification.
type Fee_ConfigType [SWS_Fee_00188] 📄 PDF
Configuration data structure of the Fee module.
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_Fee- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_Fee@rel:R20-11#ab2d57c8- Content hash
ab2d57c8- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_FlashEEPROMEmulation.pdf#nameddest=SWS_Fee_00085
gemini-3.8-flash-low· 2026-10-13 · Original allemand