DEENESPTFRRUARHIKOZHNL

Flash EEPROM Emulation (Fee)

ModulFee (Flash EEPROM Emulation)
BSW-Modul-ID21
Standard-Header#include "Fee.h"
SWS-SpezifikationAUTOSAR_SWS_FlashEEPROMEmulation.pdf
ClusterMemory Services

ModulegidsAI-GEGENEREERD

Emuleert op flashgeheugen een EEPROM met logische blokken en verwerkt asynchrone lees- en schrijfopdrachten.
DOOR AI GEGENEREERD ongecontroleerd Model: claude-opus-5-5 · Inspanning: high · Temperatuur: niet regelbaar · Prompt: 82b558e5a038 Herkomst Open vragen (6)
Causaal anker: R20-11 Geldig vanaf R20-11 Nieuw gesynthetiseerd voor deze specificatiestand.
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Emuleert op flashgeheugen een EEPROM met logische blokken en verwerkt asynchrone lees- en schrijfopdrachten.

Fee projecteert de logische blokken van een geëmuleerde EEPROM op flashgeheugen en verwerkt de opdrachten die de NVRAM Manager via MemIf indient. Lees-, schrijf- en wisopdrachten worden slechts aangenomen en vervolgens asynchroon verwerkt in Fee_MainFunction [SWS_Fee_00097]. Voortgang en resultaat worden getoond door Fee_GetStatus en Fee_GetJobResult. Na Fee_Init kan de module eerst bezig zijn met intern beheer (MEMIF_BUSY_INTERNAL), maar neemt al opdrachten aan SWS Fee p. 42. Schrijfopdrachten hebben altijd betrekking op het gehele blok.

Fee projecteert de logische blokken van een geëmuleerde EEPROM op flashgeheugen. De BlockNumber duidt tevens het startadres van het blok aan [SWS_Fee_00087]. Aanroepen komen van de NVRAM Manager via de Memory Abstraction Interface, die de passende service via DeviceIndex selecteert SWS MemIf p. 18. Daaronder werkt de flashdriver Fls. Terugmeldingen stuurt Fee via NvM_JobEndNotification en NvM_JobErrorNotification rechtstreeks naar de NVRAM Manager [SWS_Fee_00098], [SWS_Fee_00099].

fee_kontext NvM NvM (NVRAM Manager) MemIf MemIf (Memory Abstraction Interface) NvM->MemIf MemIf_Read / MemIf_Write / MemIf_Cancel / MemIf_SetMode Fee Fee (Flash EEPROM Emulation) MemIf->Fee Fee_Read / Fee_Write / Fee_Cancel / Fee_GetStatus / Fee_GetJobResult Fee->NvM NvM_JobEndNotification / NvM_JobErrorNotification Fls Fls (Flash-Treiber) Fee->Fls Fls_Read / Fls_Write / Fls_Erase / Fls_Cancel / Fls_SetMode / Fls_BlankCheck Det DET Fee->Det Det_ReportError (optional) Fls->Fee Fee_JobEndNotification / Fee_JobErrorNotification EcuM EcuM EcuM->Fee Fee_Init SchM SchM (BSW Scheduler) SchM->Fee Fee_MainFunction (zyklisch)

Contextdiagram: Fee tussen MemIf en Fls, geïnitialiseerd door EcuM, cyclisch getriggerd door SchM, met terugmeldingen rechtstreeks naar de NvM. Bronnen: [SWS_Fee_00085], [SWS_Fee_00097], [SWS_Fee_00105].

De EcuM roept Fee_Init aan met de geselecteerde configuratieset; R20-11 classificeert deze service als asynchroon [SWS_Fee_00085]. Daarna staat de status op MEMIF_BUSY_INTERNAL, maar opdrachten worden al aangenomen. Pas herhaalde aanroepen van Fee_MainFunction ronden het interne beheer af en leiden naar MEMIF_IDLE SWS Fee p. 42. Fee_GetStatus toont de modulestatus, Fee_GetJobResult het resultaat van de laatst aangenomen opdracht [SWS_Fee_00090], [SWS_Fee_00091].

fee_modulstatus start UNINIT MEMIF_UNINIT start->UNINIT BUSY_INTERNAL MEMIF_BUSY_INTERNAL UNINIT->BUSY_INTERNAL Fee_Init BUSY_INTERNAL->BUSY_INTERNAL Fee_MainFunction (administratie loopt) IDLE MEMIF_IDLE BUSY_INTERNAL->IDLE Fee_MainFunction (Verwaltung beendet) BUSY MEMIF_BUSY BUSY_INTERNAL->BUSY Fee_Read / Fee_Write angenommen IDLE->BUSY Fee_Read / Fee_Write angenommen BUSY->IDLE Fee_Cancel BUSY->IDLE Auftrag beendet (Annahme)

Toestandsdiagram: modulestatus van MEMIF_UNINIT via MEMIF_BUSY_INTERNAL naar MEMIF_IDLE en MEMIF_BUSY; de terugkeer na regulier einde van de opdracht is een aanname. Bronnen: [SWS_Fee_00090], SWS Fee p. 28.

Lees-, schrijf-, invaliderings- en wisopdrachten melden met E_OK alleen hun aanname; ze worden asynchroon verwerkt in Fee_MainFunction [SWS_Fee_00097]. Fee_Read leest willekeurige delen van een blok, Fee_Write altijd het gehele blok met offset nul SWS Fee p. 28. Tijdens het schrijven geldt het blok intern als „corrupted”. Deze markering moet worden onderscheiden van ongeldigverklaring door Fee_InvalidateBlock SWS Fee p. 21.

Fee_Cancel is in R20-11 synchroon en breekt via de flashdriver een openstaande opdracht af [SWS_Fee_00089]. Zonder openstaande opdracht meldt het FEE_E_INVALID_CANCEL [SWS_Fee_91002]. Flashfouten worden gedetecteerd door de driver. Fee meldt ze afhankelijk van de configuratie op twee manieren: als MEMIF_JOB_FAILED voor opvraging of via NvM_JobErrorNotification. Het herstel wordt afgehandeld door de NVRAM Manager ErrorDescription p. 40. Bedieningsfouten zoals ontbrekende initialisatie of ongeldige bloknummers meldt Fee als ontwikkelingsfouten [SWS_Fee_00010].

Rol in de NV-geheugenstack: flashgeheugen als geëmuleerde EEPROM

De Flash EEPROM Emulation (Fee) stelt logische blokken beschikbaar aan de bovenliggende laag en projecteert deze op flashgeheugen. De BlockNumber duidt daarbij tevens het startadres van het blok in het geheugen aan [SWS_Fee_00087], [SWS_Fee_00088]. De NVRAM Manager roept Fee niet rechtstreeks aan, maar via de Memory Abstraction Interface. MemIf_Read en MemIf_Write roepen de functie aan van de abstractiemodule die via DeviceIndex is geselecteerd, en geven de retourwaarde ervan door SWS MemIf p. 18, SWS MemIf p. 19. Naar beneden toe steunt Fee op de flashdriver Fls. Van daaruit importeert het Fls_AddressType en Fls_LengthType, vanuit MemIf de status-, resultaat- en modustypes [SWS_Fee_00084].

Terugmeldingen lopen langs MemIf. MemIf zelf biedt geen callbacks; de callbackroutines voor de onderliggende abstractiemodules worden geleverd door de NVRAM Manager SWS MemIf p. 24. Fee roept hiervoor NvM_JobEndNotification en NvM_JobErrorNotification aan [SWS_Fee_00098], [SWS_Fee_00099]. Omgekeerd meldt de driver het einde van zijn opdrachten via Fee_JobEndNotification en Fee_JobErrorNotification aan Fee [SWS_Fee_00095], [SWS_Fee_00096]. Fee wordt geïnitialiseerd door EcuM en cyclisch aangestuurd door de Basic Software Scheduler SWS Fee p. 42.

fee_kontext NvM NvM (NVRAM Manager) MemIf MemIf (Memory Abstraction Interface) NvM->MemIf MemIf_Read / MemIf_Write / MemIf_Cancel / MemIf_SetMode Fee Fee (Flash EEPROM Emulation) MemIf->Fee Fee_Read / Fee_Write / Fee_Cancel / Fee_GetStatus / Fee_GetJobResult Fee->NvM NvM_JobEndNotification / NvM_JobErrorNotification Fls Fls (Flash-Treiber) Fee->Fls Fls_Read / Fls_Write / Fls_Erase / Fls_Cancel / Fls_SetMode / Fls_BlankCheck Det DET Fee->Det Det_ReportError (optional) Fls->Fee Fee_JobEndNotification / Fee_JobErrorNotification EcuM EcuM EcuM->Fee Fee_Init SchM SchM (BSW Scheduler) SchM->Fee Fee_MainFunction (zyklisch)

Contextdiagram: Fee bevindt zich tussen MemIf en Fls. Het wordt geïnitialiseerd door EcuM, cyclisch getriggerd door SchM en meldt opdrachteinden rechtstreeks aan de NvM. Bronnen: [SWS_Fee_00085], [SWS_Fee_00097], [SWS_Fee_00098], [SWS_Fee_00104], [SWS_Fee_00105], SWS MemIf p. 18.

Als benodigde driverservices noemt R20-11 onder meer de volgende functies [SWS_Fee_00105]:

  • Fls_Read, Fls_Write, Fls_Erase en Fls_Compare,
  • Fls_Cancel, Fls_GetStatus, Fls_GetJobResult en Fls_SetMode,
  • Det_ReportRuntimeError.

Optioneel komen daar Det_ReportError en Fls_BlankCheck bij [SWS_Fee_00104]. Een latere versie van dezelfde eis vermeldt in plaats daarvan MemAcc_BlankCheck SWS Fee p. 40. Normatief voor R20-11 blijft de Fls-variant.

Opstarten: van Fee_Init tot gereedheid voor aanname

De EcuM roept Fee_Init aan met een pointer naar de geselecteerde configuratieset [SWS_Fee_00085]. Het type Fee_ConfigType is een structuur met implementatiespecifieke elementen [SWS_Fee_00188]. Opmerkelijk is dat R20-11 Fee_Init als asynchroon classificeert [SWS_Fee_00085]. Volgens de wijzigingshistorie hoeft de initialisatie niet binnen Fee_Init te zijn afgerond, en de toestandsmachine werd dienovereenkomstig aangepast SWS Fee p. 4.

Het sequentiediagram van de specificatie toont het verloop SWS Fee p. 42:

  1. Na Fee_Init staat de modulestatus op MEMIF_BUSY_INTERNAL.
  2. Opdrachten kunnen reeds in deze toestand worden aangenomen.
  3. De scheduler roept Fee_MainFunction net zo lang aan totdat het interne beheer is afgerond.

Een latere versie legt vast dat Fee_MainFunction de status vervolgens van MEMIF_BUSY_INTERNAL op MEMIF_IDLE zet. Het beheer kan daarbij meer dan één aanroep duren SWS Fee p. 38. De oudere versie van de afbeelding toont alleen de synchrone aanroep door de EcuM SWS Fee p. 38.

Hochlauf von FeeEcuMFeeSchMFee_Init(ConfigPtr)Modulstatus := MEMIF_BUSY_INTERNALFee_Init()Opdrachten worden vanaf hier reeds geaccepteerdloopinterne administratie nog vereistFee_MainFunction()interne VerwaltungsoperationStatus bleibt MEMIF_BUSY_INTERNALFee_MainFunction()Fee_MainFunction()Verwaltung beendetModulstatus := MEMIF_IDLEFee_MainFunction()

Sequentiediagram: Fee_Init brengt de module in MEMIF_BUSY_INTERNAL. Pas herhaalde aanroepen van Fee_MainFunction ronden het interne beheer af en leiden naar MEMIF_IDLE. Bronnen: [SWS_Fee_00085], [SWS_Fee_00097], SWS Fee p. 42.

Fee_MainFunction verwerkt de aangevraagde lees-, schrijf- en wisopdrachten evenals de interne beheeroperaties [SWS_Fee_00097]. Als geplande functie wordt deze rechtstreeks aangeroepen door de Basic Software Scheduler. Deze heeft noch parameters noch een retourwaarde en is niet re-entrant SWS Fee p. 40.

Modulestatus en opdrachtresultaat als stuurvariabelen

De bovenliggende laag stuurt haar aanroepen via twee synchrone opvragingen. Fee_GetStatus levert een van vier waarden [SWS_Fee_00090]:

  • MEMIF_UNINIT: De module is niet geïnitialiseerd.
  • MEMIF_IDLE: De module is inactief.
  • MEMIF_BUSY: Een opdracht van de bovenliggende laag is in behandeling.
  • MEMIF_BUSY_INTERNAL: Een interne beheeroperatie loopt.

Als voorbeeld van een interne beheeroperatie noemt de specificatie de reorganisatie van het gebruikte flashgeheugen (garbage collection) SWS Fee p. 30. Nieuwe opdrachten worden zowel in MEMIF_IDLE als in MEMIF_BUSY_INTERNAL aangenomen en leiden naar MEMIF_BUSY SWS Fee p. 28. Na een regulier einde van de opdracht zal de status vermoedelijk weer terugvallen naar MEMIF_IDLE. Vraag Q-beae785a1ba1cbec (open) Uitdrukkelijk gestaafd is de terugkeer naar MEMIF_IDLE hier alleen voor het afbreken SWS Fee p. 29.

fee_modulstatus start UNINIT MEMIF_UNINIT start->UNINIT BUSY_INTERNAL MEMIF_BUSY_INTERNAL UNINIT->BUSY_INTERNAL Fee_Init BUSY_INTERNAL->BUSY_INTERNAL Fee_MainFunction (administratie loopt) IDLE MEMIF_IDLE BUSY_INTERNAL->IDLE Fee_MainFunction (Verwaltung beendet) BUSY MEMIF_BUSY BUSY_INTERNAL->BUSY Fee_Read / Fee_Write angenommen IDLE->BUSY Fee_Read / Fee_Write angenommen BUSY->IDLE Fee_Cancel BUSY->IDLE Auftrag beendet (Annahme)

Toestandsdiagram: levenscyclus van de modulestatus van MEMIF_UNINIT via MEMIF_BUSY_INTERNAL naar MEMIF_IDLE en MEMIF_BUSY. De overgang bij een regulier opdrachteinde is gemarkeerd als aanname. Bronnen: [SWS_Fee_00090], SWS Fee p. 42, SWS Fee p. 28, SWS Fee p. 29.

Fee_GetJobResult heeft betrekking op de laatst aangenomen opdracht [SWS_Fee_00091], SWS Fee p. 31. Het onderscheidt zes resultaten:

  • MEMIF_JOB_OK: De opdracht is succesvol beëindigd.
  • MEMIF_JOB_PENDING: De opdracht wacht of loopt nog.
  • MEMIF_JOB_CANCELED: De opdracht is geannuleerd.
  • MEMIF_JOB_FAILED: De opdracht is mislukt.
  • MEMIF_BLOCK_INCONSISTENT: Het blok bevat mogelijk beschadigde gegevens.
  • MEMIF_BLOCK_INVALID: Het blok is ongeldig verklaard; lezen is niet mogelijk.

De status beschrijft dus de module, het resultaat de individuele opdracht; beide moeten afzonderlijk worden opgevraagd [SWS_Fee_00090].

Lees-, schrijf- en blokbeheeropdrachten

De opdrachtservices werken asynchroon: E_OK betekent alleen dat de opdracht is aangenomen [SWS_Fee_00087], [SWS_Fee_00088]. Fee_Read berekent het leesadres uit het startadres van het blok en BlockOffset. Offset en lengte mogen elke waarde binnen hun typebereik aannemen. Zo kunnen willekeurig veel bytes vanaf een willekeurige positie van een blok worden gelezen SWS Fee p. 26. Als in de flashdriver Fls_BlankCheck is geconfigureerd, controleert Fee_Read daarmee vooraf of het bereik leesbaar is. Zo wordt bijvoorbeeld vermeden dat gewiste, maar niet geprogrammeerde cellen ECC-fouten veroorzaken [SWS_Fee_00187].

Fee_Write schrijft daarentegen altijd het gehele blok; de offset is vastgelegd op nul SWS Fee p. 28. Dit volgt uit de overkoepelende eis dat wis- en schrijfopdrachten altijd op de virtuele 64K-grens beginnen: een blok wordt geheel of helemaal niet geschreven RS MemHwAb p. 24. Bij aanname zet Fee de status op MEMIF_BUSY en het resultaat op MEMIF_JOB_PENDING en retourneert E_OK. Voor Fee_Read geldt dezelfde aannamevoorwaarde SWS Fee p. 26.

Om onderbroken schrijfprocessen herkenbaar te houden, houdt Fee voor elk blok interne correctheidsinformatie bij SWS Fee p. 21. Bij de start van een schrijfproces wordt het blok gemarkeerd als „corrupted”, na een succesvol einde weer als „not corrupted”. Deze informatie moet strikt worden gescheiden van de geldigheid die de bovenliggende laag instelt met Fee_InvalidateBlock.

Schrijfopdracht via de NV-geheugenstackNvMMemIfFeeSchMFlsUse Case: Annahme (synchron)MemIf_Write(DeviceIndex, BlockNumber, DataBufferPtr)Fee_Write(BlockNumber, DataBufferPtr)Offset fest 0 (ganzer Block)Status := MEMIF_BUSYErgebnis := MEMIF_JOB_PENDINGE_OKE_OKUse Case: Abarbeitung (asynchron)Fee_MainFunction()Block als „corrupted“ markierenFls_Write(…) (Annahme)Fee_JobEndNotification()Block als „not corrupted“ markierenErgebnis := MEMIF_JOB_OKoptBenachrichtigung konfiguriertNvM_JobEndNotification()

Sequentiediagram: een schrijfopdracht wordt synchroon aangenomen, maar asynchroon via Fee_MainFunction en de driverterugmelding voltooid. Daarbij wordt het blok eerst als „corrupted” en aan het einde weer als „not corrupted” gemarkeerd. Bronnen: [SWS_Fee_00088], [SWS_Fee_00095], [SWS_Fee_00098], SWS Fee p. 28, SWS Fee p. 21, SWS Fee p. 37.

Fee_InvalidateBlock verklaart een logisch blok ongeldig [SWS_Fee_00092]. Daartoe roept het de wisfunctie van de driver aan en/of wijzigt het interne beheer-informatie, die zelf niet-vluchtig moet zijn opgeslagen SWS Fee p. 32. Leest de bovenliggende laag later zo'n blok, dan zet Fee_MainFunction het resultaat op MEMIF_BLOCK_INVALID. Indien geconfigureerd roept het bovendien de foutnotificatie van de bovenliggende laag aan SWS Fee p. 38.

Fee_EraseImmediateBlock [SWS_Fee_00094] is bedoeld voor diagnose- of soortgelijke systeemservices. Zij wissen daarmee desgewenst het bereik voor immediate-data vooraf. Of daarbij fysiek gewist wordt, bepaalt de implementatie SWS Fee p. 35. Voor Fee_InvalidateBlock en Fee_EraseImmediateBlock voorziet R20-11 de teruggave van E_NOT_OK uitdrukkelijk alleen bij geactiveerde DET [SWS_Fee_00092], [SWS_Fee_00094].

Terugmeldingen, afbreken en moduswissel

De flashdriver meldt het succesvolle einde van een driveropdracht via Fee_JobEndNotification [SWS_Fee_00095]. Fee handelt vervolgens het noodzakelijke blokbeheer af en roept daarna, indien geconfigureerd, de job-end-notificatie van de bovenliggende laag aan. Een resultaat dat nog op MEMIF_JOB_PENDING staat, zet het op MEMIF_JOB_OK SWS Fee p. 37. Callbacks kunnen afhankelijk van de opbouw van de geheugenstack op interruptniveau draaien en zich via meerdere lagen naar boven voortplanten. Hun uitvoeringstijd moet daarom kort blijven; of aanroepen op interruptniveau zijn toegestaan, bepaalt het systeemontwerp SWS Fee p. 36.

Fee_Cancel roept de annuleringsfunctie van de flashdriver aan [SWS_Fee_00089]. De bovenliggende laag bereikt de service via MemIf_Cancel SWS MemIf p. 20. De annulering wordt alleen effectief in de status MEMIF_BUSY: Fee roept de driverannulering aan, reset zijn interne variabelen en keert terug naar MEMIF_IDLE. Als de DET is geactiveerd, controleert Fee vooraf of de module is geïnitialiseerd SWS Fee p. 29.

Bij Fee_Cancel wijken de releases van elkaar af. De genoemde latere versie vermeldt de service als asynchroon, R20-11 daarentegen als synchroon [SWS_Fee_00089]. Voor R20-11 is de synchrone classificatie maatgevend.

fee_cancel start aufruf Fee_Cancel() aufgerufen start->aufruf d_det DET actief en status MEMIF_UNINIT? aufruf->d_det e_uninit FEE_E_UNINIT melden d_det->e_uninit ja d_busy Opdracht in behandeling (status MEMIF_BUSY)? d_det->d_busy nein ende e_uninit->ende Abbruch (Annahme) fls Afbreekfunctie van de flashdriver aanroepen d_busy->fls ja e_cancel FEE_E_INVALID_CANCEL melden d_busy->e_cancel nein reset interne variabelen resetten, status := MEMIF_IDLE fls->reset reset->ende e_cancel->ende

Activiteitendiagram: Fee_Cancel vertakt na DET-controle en modulestatus. Alleen een openstaande opdracht wordt afgebroken; anders wordt FEE_E_INVALID_CANCEL gemeld. Bronnen: [SWS_Fee_00089], [SWS_Fee_91002], [SWS_Fee_00010], SWS Fee p. 29.

Fee_SetMode schakelt de bedrijfsmodus van de onderliggende flashdriver om [SWS_Fee_00086]. De bijbehorende afbeelding toont de aanroepketen NvM → MemIf_SetMode → Fee_SetMode → Fls_SetMode SWS Fee p. 39. Fee_GetVersionInfo is de enige re-entrante Fee-service [SWS_Fee_00093]. Bij geactiveerde DET controleert deze de meegegeven pointer op NULL SWS Fee p. 34.

Configuratie en integratie

Fee ontvangt de configuratie via de Fee_ConfigType die aan Fee_Init wordt meegegeven [SWS_Fee_00085], [SWS_Fee_00188]. De include-structuur van een eerdere specificatieversie toont de volgende verdeling SWS Fee p. 11:

  • Fee_Cfg.h bindt MemIf_Types.h en Fls.h in, optioneel ook NvM_Cbk.h.
  • Fee_Lcfg.c en Fee_PBcfg.c bevatten de configuratiedata.
  • De scheduler is gekoppeld via SchM_Fee.h, de DET optioneel via Det.h.

Voor R20-11 dient deze afbeelding slechts ter oriëntatie. Als Fee is gerealiseerd als fabrikantspecifieke bibliotheek, zijn de sequentiediagrammen alleen bindend voor de relaties met EcuM en MemIf, niet voor de aanroepen naar de driver SWS Fee p. 42.

Gedrag in het foutgeval

Als ontwikkelingsfouten definieert Fee vijf codes [SWS_Fee_00010]:

  • FEE_E_UNINIT (0x01): service aangeroepen vóór initialisatie.
  • FEE_E_INVALID_BLOCK_NO (0x02): ongeldig bloknummer.
  • FEE_E_INVALID_BLOCK_OFS (0x03): ongeldige blok-offset.
  • FEE_E_PARAM_POINTER (0x04): ongeldige datapointer.
  • FEE_E_INVALID_BLOCK_LEN (0x05): ongeldige lengteopgave.

R20-11 voegt twee verdere codes toe [SWS_Fee_91002]. FEE_E_BUSY (0x06) geldt voor aanroepen terwijl een gebruikersopdracht wordt verwerkt. FEE_E_INVALID_CANCEL (0x08) geldt voor Fee_Cancel zonder openstaande opdracht. Een nieuwe opdracht die in de status MEMIF_BUSY wordt geplaatst, zal vermoedelijk worden afgewezen en met E_NOT_OK worden beantwoord. Vraag Q-92062834653929da (open) De bijbehorende regel is hier slechts onvolledig beschikbaar SWS Fee p. 28.

Fouten van het flashgeheugen worden gedetecteerd door de flashdriver; hoe Fee daarop reageert, is implementatiespecifiek ErrorDescription p. 40. Afhankelijk van de configuratie wordt dit op een van twee manieren gemeld. Ofwel pollt MemIf Fee_GetJobResult en ontvangt MEMIF_JOB_FAILED, ofwel roept Fee actief NvM_JobErrorNotification aan. Het herstel wordt afgehandeld door de NVRAM Manager. Een niet-geïnitialiseerde module herkent de bovenliggende laag aan MEMIF_UNINIT in Fee_GetStatus ErrorDescription p. 53, [SWS_Fee_00090].

Melding van een flashfoutFlsFeeMemIfNvMFee_JobErrorNotification() (Annahme)implementierungsspezifische FehlerbehandlungErgebnis := MEMIF_JOB_FAILEDaltCallback konfiguriertNvM_JobErrorNotification()Abfrage per PollingFee_GetJobResult()MEMIF_JOB_FAILEDHerstel door de NVRAM Manager

Sequentiediagram: een driverfout bereikt de bovenliggende laag naar keuze via callback naar de NvM of via polling van Fee_GetJobResult. Bronnen: [SWS_Fee_00096], [SWS_Fee_00099], [SWS_Fee_00091], ErrorDescription p. 40.

Voor de dataconsistentie beschrijft een afbeelding uit R22-11 de informatieketen ErrorDescription p. 64:

  1. Fee controleert de consistentie van de gelezen data en geeft een fout door aan de NVRAM Manager.
  2. De NVRAM Manager meldt NVM_E_INTEGRITY_FAILED aan de DEM.
  3. Hij initieert het geconfigureerde herstel: opnieuw lezen, redundant blok of ROM-blok.
  4. Als deze mislukken, stelt hij het resultaat in op NVM_REQ_INTEGRITY_FAILED.

Aan Fee-zijde komt dit vermoedelijk overeen met het resultaat MEMIF_BLOCK_INCONSISTENT [SWS_Fee_00091]. Vraag Q-a1846c349d831e17 (open)

fee_konsistenz Fee Fee Fee->Fee (1) Consistentie van de gelezen gegevens controleren NvM NvM (NVRAM Manager) Fee->NvM (2) Fehlerstatus weiterleiten NvM->NvM (4) Wiederherstellung: read retry, redundanter Block, ROM-Block Dem DEM NvM->Dem (3) NVM_E_INTEGRITY_FAILED Ergebnis Jobresultaat van de NvM NvM->Ergebnis (5)/(6) Wiederherstellung gescheitert: NVM_REQ_INTEGRITY_FAILED

Samenwerkingsdiagram: Een consistentiefout wordt door Fee doorgegeven aan de NvM. De NvM meldt deze aan de DEM, probeert herstel uit te voeren en stelt bij mislukking het NvM-resultaat in (status R22-11). Bronnen: ErrorDescription p. 64.

Verdere gedetailleerde bewijzen

Gedetailleerde regels met acceptatievoorwaarden, callback-gedrag en hoofdfunctie zijn deels afkomstig uit latere versies van de specificatie, bijv. SWS Fee p. 38. Waar ze afwijken van R20-11, is dat hierboven vermeld. De belangrijkste bewijsplaatsen:

AI-gegenereerde handleiding op basis van specificatiefragmenten voor Fee (classic, R20-11). Bepalend zijn de gelinkte requirements. Documentpassages uit andere releases zijn als zodanig aangeduid; aannames zijn gemarkeerd als interpretatie.

Flash EEPROM Emulation (Fee)

Provides emulation of EEPROM-like data blocks on Flash memory devices.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

functie Fee_Init [SWS_Fee_00085] 📄 PDF

void Fee_Init (const Fee_ConfigType* ConfigPtr);

Service to initialize the FEE module.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: bf4a0ee4e182 Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De functie Fee_Init dient als centrale service voor de initialisatie van de flash-EEPROM-emulatiemodule (FEE) [SWS_Fee_00085]. De aanroep vindt plaats via de in Fee.h gedeclareerde interface met het service-ID 0x00 [SWS_Fee_00085]. Als enige invoerparameter wordt ConfigPtr meegegeven, die dient als pointer naar de geselecteerde configuratiedataset van het type const Fee_ConfigType* [SWS_Fee_00085]. Aanvullende in-/uitvoerparameters of zuivere uitvoerparameters zijn niet gedefinieerd, en de functie levert geen retourwaarde op (void) [SWS_Fee_00085].

Hoewel het om een fundamentele initialisatiefunctie gaat, is de uitvoeringssemantiek in de specificatie uitdrukkelijk geclassificeerd als asynchroon (Asynchronous) [SWS_Fee_00085]. Interpretatie: Aangezien de functie asynchroon opereert, zal de aanroep van Fee_Init de module-initialisatie vermoedelijk slechts in gang zetten, terwijl tijdrovende initialisatiestappen niet-blokkerend op de achtergrond worden voltooid [SWS_Fee_00085]. Vraag Q-7d91ac2e51869606 (open)

Voor gelijktijdigheid en de aanroepcontext legt de specificatie vast dat Fee_Init niet-re-entrant (Non Reentrant) is [SWS_Fee_00085]. Bijgevolg mag de functie op geen enkel moment parallel of genest vanuit verschillende contexten worden aangeroepen [SWS_Fee_00085].

Deze gebruiksinstructie is opgesteld door een AI en is uitsluitend gebaseerd op de specificatie AUTOSAR Classic Release R20-11.

Implementer's Guide volgt (complexiteit I1)

functie Fee_SetMode [SWS_Fee_00086] 📄 PDF

void Fee_SetMode (MemIf_ModeType Mode);

Function to switch the mode of the underlying Flash Driver

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 840a1fe0d62e Herkomst Open vragen (2)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Gebruik en aanroepcontext

De functie Fee_SetMode dient voor het omschakelen van de bedrijfsmodus van de onderliggende Flash-driver ([SWS_Fee_00086]). Deze wordt via het headerbestand Fee.h met het service-ID 0x01 ter beschikking gesteld ([SWS_Fee_00086]). De service verwacht als enige ingangsparameter Mode (van het type MemIf_ModeType), die de gewenste bedrijfsmodus van de Flash-driver vastlegt ([SWS_Fee_00086]). Er worden noch uitvoerparameters noch een retourwaarde (void) doorgegeven ([SWS_Fee_00086]).

Asynchrone semantiek en concurrency

De interface is gespecificeerd als asynchroon ([SWS_Fee_00086]). Aangezien er na de aanroep geen functiewaarde wordt teruggegeven, zal het feitelijke omschakelproces van de Flash-hardware vermoedelijk met tijdsvertraging op de achtergrond verlopen. Vraag Q-9dbc267f51e150af (open) Wat betreft de aanroepcontext is Fee_SetMode ingeschaald als niet-re-entrant (Non Reentrant) ([SWS_Fee_00086]). Aanroepers moeten er daarom voor zorgen dat de functie niet gelijktijdig of onderbrekend vanuit verschillende threads respectievelijk taken wordt aangeroepen.

Foutafhandeling en wisselwerking

In het onderhavige specificatie-uittreksel zijn voor Fee_SetMode geen specifieke foutcodes, DET-foutmeldingen of DEM-events gedefinieerd ([SWS_Fee_00086]). Evenmin worden directe relaties met verdere requirements aangegeven. Interpretatie: Een eventuele controle van ongeldige moduswaarden zal vermoedelijk intern in de driver of in de module Fee worden afgehandeld zonder expliciete foutteruggave aan de aanroeper. Vraag (open)

Deze tekst is opgesteld door een AI en is uitsluitend gebaseerd op de specificaties van de AUTOSAR-release R20-11.

Implementer's Guide volgt (complexiteit I1)

functie Fee_Read [SWS_Fee_00087] 📄 PDF

Std_ReturnType Fee_Read (uint16 BlockNumber, uint16 BlockOffset, uint8* DataBufferPtr, uint16 Length);

Service to initiate a read job.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 51320bacc37c Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Gebruik

De functie Fee_Read dient voor het initiëren van een asynchrone leesopdracht in de module Flash EEPROM Emulation en wordt via het headerbestand Fee.h gedeclareerd [SWS_Fee_00087]. Deze heeft het service-ID 0x02 en accepteert de volgende overdrachtsparameters [SWS_Fee_00087]:

  • Block Number: Nummer van het logische blok, dat tevens het startadres ervan in het flashgeheugen aangeeft.
  • Block Offset: Leesoffset binnen het desbetreffende blok.
  • Length: Aantal uit het blok te lezen bytes.
  • Data Buffer Ptr: Pointer naar de doelbuffer voor de opslag van de gelezen gegevens.

Als retourwaarde levert de functie Std_ReturnType: E_OK signaleert dat de aangevraagde leesopdracht door de module is geaccepteerd; E_NOT_OK geeft aan dat de opdracht is geweigerd [SWS_Fee_00087].

Gelijktijdigheid en beperkingen

De aanroep van Fee_Read is gespecificeerd als niet-re-entrant (Non Reentrant) en asynchroon (Asynchronous) [SWS_Fee_00087].

Interactie met het flash-stuurprogramma

Voor zover in de flashdriver de functie Fls_BlankCheck is geconfigureerd, moet Fee_Read deze functie aanroepen [SWS_Fee_00187]. Dit dient voor de voorafgaande controle of het geheugengebied kan worden uitgelezen, zonder bijvoorbeeld ECC-fouten door gewiste, maar nog niet geprogrammeerde flashcellen te veroorzaken [SWS_Fee_00187].

Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie AUTOSAR CP R20-11.

Implementer's Guide volgt (complexiteit I1)

functie Fee_Write [SWS_Fee_00088] 📄 PDF

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

Service to initiate a write job.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 46c33a39dfc2 Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Gebruik en semantiek

De functie Fee_Write dient als service voor het initiëren van een schrijfopdracht in de flash-EEPROM-emulatiemodule conform [SWS_Fee_00088]. De declaratie is beschikbaar via de header Fee.h. De aanroep geschiedt asynchroon: de functie zet de schrijfbewerking slechts in gang en blokkeert niet tot aan de fysieke voltooiing van de schrijfbewerking.

Voor de overdracht van de schrijfgegevens zijn twee parameters gedefinieerd [SWS_Fee_00088]:

  • BlockNumber (uint16): Duidt het logische bloknummer aan en definieert tevens het startadres van dit blok in het EEPROM.
  • DataBufferPtr (const uint8*): Pointer naar de databuffer die de te schrijven nuttige gegevens bevat.

Retourwaarden en concurrency

De retourwaarde van het type Std_ReturnType geeft direct aan of de schrijfopdracht door de module kon worden geaccepteerd [SWS_Fee_00088]:

  • E_OK: De aangevraagde opdracht is geaccepteerd door de module.
  • E_NOT_OK: De opdracht is niet geaccepteerd door de module.

Met betrekking tot gelijktijdigheid is Fee_Write gespecificeerd als niet-re-entrant (Non Reentrant) [SWS_Fee_00088]. Oproepende instanties moeten er daarom voor zorgen dat de functie niet gelijktijdig vanuit verschillende contexten wordt aangeroepen. Het service-ID van de functie luidt 0x03 [SWS_Fee_00088]. Interpretatie: De fysieke overdracht van de gegevens zal na retournering van E_OK vermoedelijk op de achtergrond asynchroon door nageschakelde modulecycli worden afgehandeld. Vraag Q-8bedddcf2371f6bf (open)

Deze tekst is gegenereerd door een AI en dient als oriëntatiehulp. Bepalend zijn de gerefereerde AUTOSAR-specificaties.

functie Fee_Cancel [SWS_Fee_00089] 📄 PDF

void Fee_Cancel (void);

Service to call the cancel function of the underlying flash driver.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: e038d068e179 Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De functie Fee_Cancel is een synchrone service van de module Fee voor het doorgeven van een afbreekverzoek aan de onderliggende flashdriver [SWS_Fee_00089]. Deze service is gedeclareerd via de header Fee.h en heeft het numerieke service-ID 0x04 [SWS_Fee_00089].

Gebruik en aanroepcontext

De interface heeft de signatuur void Fee_Cancel (void) [SWS_Fee_00089]. Voor de aanroep gelden conform de specificatie de volgende parameter- en uitvoeringskenmerken:

  • Parameters: De functie verwacht geen overdrachtsparameters; er zijn noch invoer-, noch in-/uitvoer-, noch uitvoerparameters aanwezig [SWS_Fee_00089].
  • Retourwaarde: Er wordt geen retourwaarde aan de aanroeper teruggegeven [SWS_Fee_00089].
  • Synchroniciteit: De afhandeling van de functieaanroep is vastgelegd als synchroon (Synchronous) [SWS_Fee_00089].

Gelijktijdigheid en beperkingen

Wat betreft het gedrag bij gelijktijdigheid is Fee_Cancel gespecificeerd als niet-re-entrant (Non Reentrant) [SWS_Fee_00089]. Oproepende instanties moeten er daarom voor zorgen dat de functie niet parallel of genest vanuit verschillende taak- of interruptcontexten wordt aangeroepen.

Samenspel en foutafhandeling

De centrale taak van Fee_Cancel bestaat erin de afbreekfunctie van de onderliggende flashdriver aan te roepen [SWS_Fee_00089]. Specifieke foutcodes, retourwaarden of foutmeldingen zijn voor deze functie niet gedefinieerd in de payload. Aangezien er geen foutafhandeling is beschreven, zal het gedrag in geval van fouten vermoedelijk afhangen van de implementatie van de aangeroepen flashdriver. Vraag Q-bb066b6c05a2eb12 (open)

Deze gebruiksinstructie is geautomatiseerd gegenereerd en is uitsluitend gebaseerd op de specificatie-inhoud van AUTOSAR-release R20-11.

functie 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

functie 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.

functie Fee_InvalidateBlock [SWS_Fee_00092] 📄 PDF

Std_ReturnType Fee_InvalidateBlock (uint16 BlockNumber);

Service to invalidate a logical block.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 93ce420cf23c Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De functie Fee_InvalidateBlock dient als service voor het ongeldig maken van een logisch blok in het Flash-geheugen [SWS_Fee_00092]. Deze is via de header Fee.h beschikbaar en heeft het service-ID 0x07 [SWS_Fee_00092].

Gebruik en parameters

De aanroep vindt asynchroon plaats; de feitelijke ongeldigverklaring wordt zodoende als achtergrondopdracht geïnitieerd [SWS_Fee_00092]:

  • Block Number (uint16, in): Duidt het logische bloknummer aan, dat tevens het startadres van het blok in het Flash-geheugen bepaalt [SWS_Fee_00092].
  • Rückgabewert (Std_ReturnType): Geeft E_OK terug wanneer de opdracht tot ongeldigverklaring succesvol door de module is geaccepteerd [SWS_Fee_00092].

Foutafhandeling

Indien de module de aanvraag niet kon accepteren, wordt E_NOT_OK geretourneerd – volgens de specificatie is deze foutteruggave echter uitdrukkelijk beperkt tot configuraties met geactiveerde DET (only if DET is enabled) [SWS_Fee_00092]. Interpretatie: Als DET is gedeactiveerd, zal een afwijzing van de opdracht vermoedelijk niet via E_NOT_OK aan de aanroeper worden gesignaleerd, aangezien de specificatie de teruggave van deze foutwaarde koppelt aan de DET-activatie. Vraag Q-2e54187ddb69e481 (open)

Gelijktijdigheid en randvoorwaarden

De interface is gedeclareerd als niet-re-entrant (Non Reentrant) [SWS_Fee_00092]. Aanroepers moeten er daarom voor zorgen dat er geen parallelle of onderbrekende aanroepen van Fee_InvalidateBlock plaatsvinden zolang een voorafgaande functieaanroep actief is [SWS_Fee_00092].

Deze tekst is gegenereerd door een AI op basis van de specificatie AUTOSAR R20-11.

functie Fee_EraseImmediateBlock [SWS_Fee_00094] 📄 PDF

Std_ReturnType Fee_EraseImmediateBlock (uint16 BlockNumber);

Service to erase a logical block.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: c9619585e034 Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Gebruik en parameters

De functie Fee_EraseImmediateBlock stelt een asynchrone service beschikbaar voor het wissen van een logisch blok en is via het headerbestand Fee.h gedeclareerd [SWS_Fee_00094]. De functie heeft het hexadecimale service-ID 0x09 [SWS_Fee_00094]. Als enige ingangsparameter dient Block Number van het type uint16; deze specificeert het nummer van het logische blok en duidt tevens het startadres ervan in het EEPROM aan [SWS_Fee_00094].

Retourwaarden en foutafhandeling

Als retourwaarde levert de interface de status Std_ReturnType [SWS_Fee_00094]. De waarde E_OK bevestigt dat de module de aangevraagde wisopdracht succesvol in ontvangst heeft genomen [SWS_Fee_00094]. Werd de opdracht niet door de module geaccepteerd, dan levert de functie E_NOT_OK; volgens de specificatie treedt deze retourwaarde echter alleen op bij geactiveerde DET-foutbewaking [SWS_Fee_00094].

Gelijktijdigheid en beperkingen

Wat betreft gelijktijdigheid en aanroepvoorwaarden is Fee_EraseImmediateBlock ingeschaald als niet-re-entrant (Non Reentrant) en werkt asynchroon [SWS_Fee_00094]. Aanroepende modules moeten er daarom voor zorgen dat er geen verdere aanroep van dezelfde interface plaatsvindt zolang de module nog met de verwerking bezig is.

Contextuele toelichting gebaseerd op de AUTOSAR-specificatie.

functie 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

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 527f9c248660 Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De functie Fee_JobEndNotification dient ertoe om de module Fee op de hoogte te stellen van de succesvolle voltooiing van een asynchrone bewerking ([SWS_Fee_00095]).

Met betrekking tot gebruik en signatuur gelden de volgende bepalingen:

  • Signatuur en parameters: De functie heeft de signatuur void Fee_JobEndNotification (void);. Zij verwacht noch invoer-, noch in-/uitvoer-, noch uitvoerparameters en levert geen retourwaarde op ([SWS_Fee_00095]).
  • Header: De declaratie wordt ter beschikking gesteld via Fee.h ([SWS_Fee_00095]).
  • Service-ID: De functie is gedefinieerd via het service-ID 0x10 ([SWS_Fee_00095]).
  • Synchroniciteit: De aanroep zelf is gespecificeerd als synchroon ([SWS_Fee_00095]).
  • Gelijktijdigheid: De routine is geclassificeerd als niet-re-entrant (Non Reentrant) ([SWS_Fee_00095]).

Interactie en aanroepcontext: Typerend genoeg zal deze callback vermoedelijk worden aangeroepen door een onderliggende module (zoals een flashdriver) om het einde van een asynchrone schrijf- of wisopdracht te signaleren. Vraag Q-8a3ccdba2024001f (open) Vanwege de eigenschap Non Reentrant moet de aanroeper waarborgen dat er geen concurrerende aanroepen plaatsvinden ([SWS_Fee_00095]).

Deze tekst is gegenereerd door een AI op basis van de AUTOSAR-specificatie voor R20-11.

functie Fee_JobErrorNotification [SWS_Fee_00096] 📄 PDF

void Fee_JobErrorNotification (void);

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

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: a8e92b7001f6 Herkomst Open vragen (2)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De functie Fee_JobErrorNotification dient als notificatieservice om de Fee-module op de hoogte te stellen van het mislukken van een asynchrone bewerking [SWS_Fee_00096]. De interface heeft de signatuur void Fee_JobErrorNotification (void) en is via de header Fee.h beschikbaar [SWS_Fee_00096]. Aan de service met de identificator 0x11 worden noch invoer-, invoer-/uitvoer- noch uitvoerparameters doorgegeven [SWS_Fee_00096]. Evenmin levert de aanroep een retourwaarde terug aan de aanroeper [SWS_Fee_00096].

De uitvoeringssemantiek van de aanroep is gespecificeerd als synchroon (Synchronous) [SWS_Fee_00096]. Voor het runtime-gedrag geldt de centrale beperking dat de functie niet-re-entrant (Non Reentrant) is [SWS_Fee_00096]. Interpretatie: De aanroeper – waarbij het vermoedelijk om een onderliggende driverbouwsteen gaat – moet ervoor zorgen dat de notificatie nooit gelijktijdig of parallel vanuit onderbrekende contexten wordt getriggerd. Vraag Q-7d4c9618bf385721 (open)

Wat betreft de foutafhandeling worden via de parameterloze interface geen specifieke foutcodes overgedragen, en er zijn geen modulespecifieke DET- of DEM-meldingen gedocumenteerd voor deze aanroep [SWS_Fee_00096]. De Fee-module zal de gemelde foutsituatie vermoedelijk intern toewijzen aan de actieve asynchrone opdracht en de status ervan dienovereenkomstig aanpassen. Vraag Q-1fa43444195edb62 (open)

Deze tekst is gegenereerd door een AI op basis van de specificatie AUTOSAR R20-11.

functie Fee_MainFunction [SWS_Fee_00097] 📄 PDF

void Fee_MainFunction (void);

Service to handle the requested read / write / erase jobs and the internal management operations.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 341cf633fe8b Herkomst Open vragen (3)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De functie Fee_MainFunction dient conform [SWS_Fee_00097] voor de centrale verwerking van aangevraagde lees-, schrijf- en wisopdrachten evenals de uitvoering van interne beheerbewerkingen van de module. Deze is gespecificeerd met de signatuur void Fee_MainFunction (void); en het service-ID 0x12 [SWS_Fee_00097].

Met betrekking tot interface en gebruik verwerkt de functie geen overdrachtsparameters en bezit geen retourwaarde [SWS_Fee_00097]. Uit de beschikbaarheid via de header SchM_Fee.h kan vermoedelijk worden afgeleid dat de aanroep cyclisch door het schedule-management van de basissoftware plaatsvindt. Vraag Q-5ef9bcc5f438cb89 (open) De beschrijving suggereert dat eerder asynchroon doorgegeven opdrachten binnen deze periodieke cycli vermoedelijk geleidelijk worden afgewerkt.

Voor foutscenario's, re-entrantie en specifieke aanroepvoorwaarden bevat de specificatie geen afzonderlijke identificatoren of foutcodes [SWS_Fee_00097]. Interpretatie: Als centrale cyclische besturingsfunctie voor de modultoestand zal Fee_MainFunction vermoedelijk niet-re-entrant zijn, waardoor een gelijktijdige aanroep vanuit meerdere taken moet worden vermeden. Vraag (open)

Deze tekst is door een AI gegenereerd op basis van de AUTOSAR-specificatie R20-11.

functie NvM_JobEndNotification [SWS_Fee_00098] 📄 PDF

void NvM_JobEndNotification (void);

-

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 4ab59e2b5ce3 Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Gebruik en signatuur

De functie NvM_JobEndNotification is in de specificatie van de Flash EEPROM Emulation (Fee) als service gedefinieerd en beschikbaar via het headerbestand Nvm.h ([SWS_Fee_00098]). Conform de syntax void NvM_JobEndNotification (void); vereist de functie noch ingangs- noch uitgangsparameters en levert geen retourwaarde ([SWS_Fee_00098]). Voor het uitvoeringsgedrag is een synchrone semantiek vastgelegd (Sync/Async: true) ([SWS_Fee_00098]).

Gelijktijdigheid en beperkingen

Wat betreft de re-entrantie is de functie geclassificeerd met Don't care ([SWS_Fee_00098]). Specifieke beperkingen met betrekking tot de aanroepcontext worden in de specificatie niet voorgeschreven. Een afzonderlijke foutafhandeling via DET- of DEM-meldingen is voor dit element niet gespecificeerd ([SWS_Fee_00098]).

Samenspel en functionele indeling

Hoewel de functie onderdeel is van de specificatie van de Flash EEPROM Emulation, bevat het beschrijvingsveld geen verdere details ([SWS_Fee_00098]). Interpretatie: Op basis van de benaming en de declaratie in Nvm.h zal de functie vermoedelijk dienen als callback-interface waarmee de module Fee de reguliere afronding van een asynchroon verwerkte opdracht signaleert aan de module NvM. Vraag Q-ee00bece2e28a0e4 (open)

Deze gebruiksinstructie werd automatisch gegenereerd op basis van de specificatie van AUTOSAR Release R20-11.

functie NvM_JobErrorNotification [SWS_Fee_00099] 📄 PDF

void NvM_JobErrorNotification (void);

-

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 8c7c531abb5f Herkomst Open vragen (2)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Gebruik en aanroepcontext

De functie NvM_JobErrorNotification is conform [SWS_Fee_00099] gedefinieerd als synchrone interface (Sync/ Async true). De declaratie ervan wordt via het headerbestand Nvm.h ter beschikking gesteld ([SWS_Fee_00099]). De signatuur luidt void NvM_JobErrorNotification (void), waarmee deze noch ingangs-, doorgangs- noch uitgangsparameters accepteert en geen retourwaarde levert ([SWS_Fee_00099]). Gezien de identifier en de toewijzing aan de module Fee zal deze callback-functie er vermoedelijk toe dienen het NVRAM-management op de hoogte te stellen bij een opgetreden fout tijdens de asynchrone opdrachtverwerking in de Flash-EEPROM-emulatiedriver. Vraag Q-4d70f8d384e04832 (open)

Foutafhandeling en gelijktijdigheid

In [SWS_Fee_00099] zijn geen specifieke foutcodes, DET-meldingen of DEM-gebeurtenissen vermeld. Aangezien er geen status- of foutparameters worden doorgegeven, zal een gedetailleerde foutanalyse vermoedelijk berusten op interne modultoestanden of nageschakelde opvragingen van de driver. Vraag Q-c45e72b67236c432 (open) Met betrekking tot gelijktijdigheid specificeert [SWS_Fee_00099] voor de re-entrantie het criterium Don't care, waardoor er vanuit de eis geen beperkende voorschriften worden geformuleerd voor de re-entrantie.

Deze tekst is gegenereerd door een AI op basis van de specificatie.

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#67d62b9c
Content hash
67d62b9c
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_FlashEEPROMEmulation.pdf#nameddest=SWS_Fee_00085

Initialisatie en status

Service to return the status. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlashEEPROMEmulation

MemIf_StatusType Fee_GetStatus (void);

Service to return the version information of the FEE module.

void Fee_GetVersionInfo (Std_VersionInfoType* VersionInfoPtr);
Fee_Init functie

Service to initialize the FEE module.

void Fee_Init (const Fee_ConfigType* ConfigPtr);

Diensten

Fee_Cancel functie

Service to call the cancel function of the underlying flash driver.

void Fee_Cancel (void);

Service to erase a logical block.

Std_ReturnType Fee_EraseImmediateBlock (uint16 BlockNumber);

Service to query the result of the last accepted job issued by the upper layer software.

MemIf_JobResultType Fee_GetJobResult (void);

Service to invalidate a logical block.

Std_ReturnType Fee_InvalidateBlock (uint16 BlockNumber);

Service to report to this module the successful end of an asynchronous operation. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlashEEPROMEmulation

void Fee_JobEndNotification (void);

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

void Fee_JobErrorNotification (void);
Fee_Read functie

Service to initiate a read job.

Std_ReturnType Fee_Read (uint16 BlockNumber, uint16 BlockOffset, uint8* DataBufferPtr, uint16 Length);
Fee_SetMode functie

Function to switch the mode of the underlying Flash Driver

void Fee_SetMode (MemIf_ModeType Mode);
Fee_Write functie

Service to initiate a write job.

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

-

void NvM_JobEndNotification (void);

-

void NvM_JobErrorNotification (void);

Cyclisch

Service to handle the requested read / write / erase jobs and the internal management operations.

void Fee_MainFunction (void);

Typen

Configuration data structure of the Fee module.