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

SNIP_CLASSIC_EA_SECTION_8_3_2_Ea_Read

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

Wortlaut

8.3.2 Ea_Read [SWS_Ea_00086] Definition of API function Ea_Read Upstream requirements: SRS_MemHwAb_14029 ⌈ Service Name Ea_Read Syntax Std_ReturnType Ea_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 EEPROM. 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 EA module. Description Reads Length bytes of block Blocknumber at offset BlockOffset into the buffer DataBufferPtr. Available via Ea.h ⌋ [SWS_Ea_00021] Upstream requirements: SRS_MemHwAb_14007, SRS_MemHwAb_14009 ⌈The function Ea_Read shall take the block number 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 address inside a logical block. [SWS_Ea_00072] ⌈The EA module shall execute the read operation asynchronously within the EA module’s main function.⌋ [SWS_Ea_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 Ea_Read shall accept the read request, copy the given / computed parameters to module internal variables, initiate a read job, set the EA module status to MEMIF_BUSY, set the job result to MEMIF_JOB_PENDING and return with E_OK.⌋ [SWS_Ea_00179] Upstream requirements: SRS_MemHwAb_14029 ⌈If the current module status is MEMIF_UNINIT or MEMIF_BUSY, the function Ea_ Read shall reject the job request and return with E_NOT_OK.⌋ [SWS_Ea_00130] Upstream requirements: SRS_BSW_00406 ⌈If development error detection for the module EA is enabled: the function Ea_Read shall check if the module state is MEMIF_UNINIT. If this is the case, the function Ea_ Read shall reject the read request, raise the development error EA_E_UNINIT and return with E_NOT_OK.⌋ [SWS_Ea_00167] Upstream requirements: SRS_BSW_00323 ⌈The function Ea_Read shall check if the module state is MEMIF_BUSY. If this is the case, the function Ea_Read shall reject the read request, raise the runtime error EA_ E_BUSY and return with E_NOT_OK.⌋ [SWS_Ea_00147] Upstream requirements: SRS_BSW_00323 ⌈If development error detection is enabled for the module: the function Ea_Read shall check whether the given block number is valid (i.e. inside the configured range). If this is not the case, the function Ea_Read shall reject the read request, raise the development error EA_E_INVALID_BLOCK_NO and return E_NOT_OK.⌋ [SWS_Ea_00168] Upstream requirements: SRS_BSW_00323 ⌈If development error detection is enabled for the module: the function Ea_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 Ea_Read shall reject the read request, raise the development error EA_E_INVALID_BLOCK_OFS and return with E_ NOT_OK.⌋ [SWS_Ea_00169] Upstream requirements: SRS_BSW_00323 ⌈If development error detection is enabled for the module: the function Ea_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 Ea_Read shall reject the read request, raise the development error EA_E_INVALID_BLOCK_LEN and return with E_NOT_OK.⌋ [SWS_Ea_00170] Upstream requirements: SRS_BSW_00323 ⌈If development error detection is enabled for the module: the function Ea_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 Ea_Read shall reject the read request, raise the development error EA_ E_PARAM_POINTER and return with E_NOT_OK.⌋ [SWS_Ea_00158] Upstream requirements: SRS_MemHwAb_14029, SRS_BSW_00323 ⌈If a read request is rejected by the function Ea_Read, i.e. requirements SWS_ Ea_00130, SWS_Ea_00147, SWS_Ea_00167, SWS_Ea_00168, SWS_Ea_00169, SWS_Ea_00170 or SWS_Ea_00179 apply, the function Ea_Read 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 24
Ziel-Modul ea (classic)
Ziel-Anforderung SWS_Std_00005
Semantische Rolle constitutive
Automatisierungs-Konfidenz 0.95