CLASSIC
Modul: ea
Rolle: constitutive
Konfidenz: 95%
SNIP_CLASSIC_EA_SECTION_8_3_7_Ea_InvalidateBlock
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 |