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