CLASSIC
Modul: fee
Rolle: constitutive
Konfidenz: 95%
SNIP_CLASSIC_FEE_SECTION_8_3_7_Fee_InvalidateBlock
Wortlaut
8.3.7 Fee_InvalidateBlock
[SWS_Fee_00092] Definition of API function Fee_InvalidateBlock
Upstream requirements: SRS_MemHwAb_14028
⌈
Service Name
Fee_InvalidateBlock
Syntax
Std_ReturnType Fee_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 flash memory.
Parameters (inout)
None
Parameters (out)
None
Return value
Std_ReturnType
E_OK: The requested job has been accepted by the module.
E_NOT_OK: The requested job has not been accepted by the
module.
Description
Service to invalidate a logical block.
▽
△
Available via
Fee.h
⌋
[SWS_Fee_00036]
Upstream requirements: SRS_MemHwAb_14009
⌈The function Fee_InvalidateBlock shall take the block number and calculate the
corresponding memory block address.⌋
[SWS_Fee_00037]
Upstream requirements: SRS_MemHwAb_14028
⌈The function Fee_InvalidateBlock shall invalidate the requested block BlockNumber by calling the erase function of the underlying device driver and / or by 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 will not be further detailed in this
specification.
[SWS_Fee_00126]
Upstream requirements: SRS_BSW_00406
⌈If development error detection is enabled for the module: the function Fee_InvalidateBlock shall check if the module status is MEMIF_UNINIT. If this is the case, the
function Fee_InvalidateBlock shall raise the development error FEE_E_UNINIT.⌋
[SWS_Fee_00145] ⌈The function Fee_InvalidateBlock shall check if the module
status is MEMIF_BUSY. If this is the case, the function Fee_InvalidateBlock shall
reject the request, raise the runtime error FEE_E_BUSY and return with E_NOT_OK.⌋
[SWS_Fee_00192]
Upstream requirements: SRS_MemHwAb_14028
⌈The function Fee_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 and shall return E_OK to the caller. The block invalidation shall be
executed asynchronously in the module’s main function as soon as the module has
finished the internal management operation.⌋
[SWS_Fee_00193] ⌈The FEE module shall execute the block invalidation request
asynchronously within the FEE module’s main function.⌋
[SWS_Fee_00140]
Upstream requirements: SRS_BSW_00323
⌈If development error detection is enabled for the module: the function Fee_InvalidateBlock shall check that the given block number is valid (i.e. it has been configured). If this is not the case, the function Fee_InvalidateBlock shall raise the
development error FEE_E_INVALID_BLOCK_NO.⌋
[SWS_Fee_00165]
Upstream requirements: SRS_MemHwAb_14028
⌈If an invalidation request is rejected by the function Fee_InvalidateBlock, i.e.
requirements [SWS_Fee_00126], [SWS_Fee_00140] or [SWS_Fee_00145] apply, the
function Fee_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_FlashEEPROMEmulation.pdf |
|---|---|
| Dokumentseite | Seite 32 |
| Ziel-Modul | fee (classic) |
| Ziel-Anforderung | SWS_Std_00005 |
| Semantische Rolle | constitutive |
| Automatisierungs-Konfidenz | 0.95 |