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

SNIP_CLASSIC_FEE_SECTION_8_3_2_Fee_Read

Quelle: SWS_FlashEEPROMEmulation.pdf (Seite 26) • Ziel-Anforderung: SWS_Std_00005

Wortlaut

8.3.2 Fee_Read [SWS_Fee_00087] Definition of API function Fee_Read Upstream requirements: SRS_MemHwAb_14029 ⌈ Service Name Fee_Read Syntax Std_ReturnType Fee_Read ( uint16 BlockNumber, uint16 BlockOffset, uint8* DataBufferPtr, uint16 Length ) Service ID [hex] 0x02 Sync/Async Asynchronous Reentrancy Non Reentrant BlockNumber Number of logical block, also denoting start address of that block in flash memory. BlockOffset Read address offset inside the block Parameters (in) Length Number of bytes to read Parameters (inout) None Parameters (out) DataBufferPtr Pointer to data buffer 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 initiate a read job. Available via Fee.h ⌋ [SWS_Fee_00021] Upstream requirements: SRS_MemHwAb_14007 ⌈The function Fee_Read shall take the block start address and offset and calculate the corresponding memory read address.⌋ Note: The address offset and length parameter can take any value within the given types range. This allows reading of an arbitrary number of bytes from an arbitrary start address inside a logical block. [SWS_Fee_00022] Upstream requirements: SRS_MemHwAb_14029 ⌈If the current module status is MEMIF_IDLE or if the current module status is MEMIF_BUSY_INTERNAL, the function Fee_Read shall accept the read request, copy the given / computed parameters to module internal variables, initiate a read job, set the FEE module status to MEMIF_BUSY, set the job result to MEMIF_JOB_PENDING and return with E_OK.⌋ [SWS_Fee_00172] ⌈If the current module status is MEMIF_UNINIT or MEMIF_BUSY, the function Fee_Read shall reject the job request and return with E_NOT_OK.⌋ [SWS_Fee_00073] ⌈The FEE module shall execute the read operation asynchronously within the FEE module’s main function.⌋ [SWS_Fee_00122] Upstream requirements: SRS_BSW_00406 ⌈If development error detection is enabled for the module: the function Fee_Read shall check if the module state is MEMIF_UNINIT. If this is the case, the function Fee_Read shall raise the development error FEE_E_UNINIT.⌋ [SWS_Fee_00133] ⌈The function Fee_Read shall check if the module state is MEMIF_BUSY. If this is the case, the function Fee_Read shall reject the read request, raise the runtime error FEE_E_BUSY and return with E_NOT_OK.⌋ [SWS_Fee_00134] Upstream requirements: SRS_BSW_00323 ⌈If development error detection is enabled for the module: the function Fee_Read shall check that the given block number is valid (i.e. it has been configured). If this is not the case, the function Fee_Read shall raise the development error FEE_E_INVALID_BLOCK_NO.⌋ [SWS_Fee_00135] Upstream requirements: SRS_BSW_00323 ⌈If development error detection is enabled for the module: the function Fee_Read shall check that the given block offset is valid (i.e. that it is less than the block length configured for this block). If this is not the case, the function Fee_Read shall raise the development error FEE_E_INVALID_BLOCK_OFS.⌋ [SWS_Fee_00136] Upstream requirements: SRS_BSW_00323 ⌈If development error detection is enabled for the module: the function Fee_Read shall check that the given data pointer is valid (i.e. that it is not NULL). If this is not the case, the function Fee_Read shall raise the development error FEE_E_PARAM_POINTER.⌋ [SWS_Fee_00137] Upstream requirements: SRS_BSW_00323 ⌈If development error detection is enabled for the module: the function Fee_Read shall check that the given length information is valid, i.e. that the requested length information plus the block offset do not exceed the block end address (block start address plus configured block length). If this is not the case, the function Fee_Read shall raise the development error FEE_E_INVALID_BLOCK_LEN.⌋ [SWS_Fee_00162] ⌈If a read request is rejected by the function Fee_Read, i.e. requirements [SWS_Fee_00122], [SWS_Fee_00133], [SWS_Fee_00134], [SWS_Fee_00135], [SWS_Fee_00136] or [SWS_Fee_00137] apply, the function Fee_Read shall not change the current module status or job result.⌋ [SWS_Fee_00187] ⌈The function Fee_Read shall call the function MemAcc_BlankCheck to determine in advance whether a given memory area can be read without encountering e.g. ECC errors due to trying to read erased but not programmed flash cells.⌋

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 26
Ziel-Modul fee (classic)
Ziel-Anforderung SWS_Std_00005
Semantische Rolle constitutive
Automatisierungs-Konfidenz 0.95