DEENESPTFRRUARHIKOZHNL
CLASSIC Modul: ea Rolle: constitutive Konfidenz: 95%

SNIP_CLASSIC_EA_SECTION_8_3_7_Ea_InvalidateBlock

Quelle: SWS_EEPROMAbstraction.pdf (Seite 31) • Ziel-Anforderung: SWS_Std_00005

Wortlaut

8.3.7 Ea_InvalidateBlock [SWS_Ea_00091] Definition of API function Ea_InvalidateBlock Upstream requirements: SRS_MemHwAb_14028 ⌈ Service Name Ea_InvalidateBlock Syntax Std_ReturnType Ea_InvalidateBlock ( uint16 BlockNumber ) Service ID [hex] 0x07 Sync/Async Asynchronous Reentrancy Non Reentrant Parameters (in) BlockNumber Number of logical block, also denoting start address of that block in EEPROM. Parameters (inout) None Parameters (out) None Return value Std_ReturnType E_OK: The requested job has been accepted by the module. E_NOT_OK - only if DET is enabled: The requested job has not been accepted by the EA module. Description Invalidates the block BlockNumber. Available via Ea.h ⌋ [SWS_Ea_00036] Upstream requirements: SRS_MemHwAb_14009 ⌈The function Ea_InvalidateBlock shall take the block number and calculate the corresponding memory block address.⌋ [SWS_Ea_00037] Upstream requirements: SRS_MemHwAb_14028 ⌈Depending on implementation, the function Ea_InvalidateBlock shall invalidate the block <BlockNumber> by either calling the erase function of the underlying device driver or changing some module internal management information accordingly.⌋ Note: How exactly the requested block is invalidated depends on the module’s implementation and will not be further detailed in this specification. The internal management information has to be stored in NV memory since it has to be resistant against resets. What this information is and how it is stored is not further detailed by this specification. [SWS_Ea_00135] Upstream requirements: SRS_BSW_00323 ⌈If development error detection for the module Ea is enabled: the function Ea_InvalidateBlock shall check if the module state is MEMIF_UNINIT. If this is the case, the function Ea_InvalidateBlock shall reject the invalidation request, raise the development error EA_E_UNINIT and return with E_NOT_OK.⌋ [SWS_Ea_00175] Upstream requirements: SRS_BSW_00323 ⌈The function Ea_InvalidateBlock shall check if the module state is MEMIF_BUSY. If this is the case, the function Ea_InvalidateBlock shall reject the invalidation request, raise the runtime error EA_E_BUSY and return with E_NOT_OK.⌋ [SWS_Ea_00194] Upstream requirements: SRS_MemHwAb_14028 ⌈The function Ea_InvalidateBlock shall check if the module state is MEMIF_IDLE or MEMIF_BUSY_INTERNAL. If this is the case the module shall accept the invalidation request, set the Ea module status to MEMIF_BUSY, set the job result to MEMIF_JOB_ PENDING and return E_OK to the caller.⌋ [SWS_Ea_00195] ⌈The Ea module shall execute the block invalidation request asynchronously within the Ea module’s main function.⌋ [SWS_Ea_00149] Upstream requirements: SRS_BSW_00323 ⌈If development error detection for the module EA is enabled: the function Ea_InvalidateBlock shall check whether the given block number is valid (i.e. it has been configured). If this is not the case, the function Ea_InvalidateBlock shall reject the request, raise the development error EA_E_INVALID_BLOCK_NO and return with E_ NOT_OK.⌋ [SWS_Ea_00161] Upstream requirements: SRS_BSW_00323 ⌈If an invalidation request is rejected by the function Ea_InvalidateBlock, i.e. requirements SWS_Ea_00135, SWS_Ea_00149 or SWS_Ea_00175 apply, the function Ea_ InvalidateBlock shall not change the current module status or job result.⌋

Versionen & Provenienz · Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Begründung & Zuweisungs-Evidenz

Cited verbatim in the snippet (deterministic citation).

Dokumenten-Herkunft & Rückverfolgbarkeit

Spezifikations-Dokument SWS_EEPROMAbstraction.pdf
Dokumentseite Seite 31
Ziel-Modul ea (classic)
Ziel-Anforderung SWS_Std_00005
Semantische Rolle constitutive
Automatisierungs-Konfidenz 0.95