CLASSIC
Modul: memif
Rolle: constitutive
Konfidenz: 95%
SNIP_CLASSIC_MEMIF_SECTION_8_3_Function_definitions
Wortlaut
8.3 Function definitions
[SWS_MemIf_00017] Upstream requirements: SRS_MemHwAb_14019, SRS_MemHwAb_14022
⌈The API specified in this chapter shall be mapped to the API of the underlying memory abstraction modules. For functional behavior refer to the specification of those modules respectively to that of the underlying memory drivers.⌋
[SWS_MemIf_00018] Upstream requirements: SRS_MemHwAb_14020, SRS_MemHwAb_14021
⌈The parameter DeviceIndex shall be used for selection of memory abstraction modules (and thus memory devices). If only one memory abstraction module is configured, the parameter DeviceIndex shall be ignored.⌋
[SWS_MemIf_00019] Upstream requirements: SRS_SPAL_12078, SRS_MemHwAb_14021
⌈If only one memory abstraction module is configured, the Memory Abstraction Interface shall be implemented as a set of macros mapping the Memory Abstraction Interface API to the API of the corresponding memory abstraction module.⌋ Example: #define MemIf_Write(DeviceIndex, BlockNumber, DataPtr) \ Fee_Write(BlockNumber, DataPtr)
[SWS_MemIf_00020] Upstream requirements: SRS_SPAL_12078, SRS_MemHwAb_14021
⌈If more than one memory abstraction module is configured, the Memory Abstraction Interface shall use efficient mechanisms to map the API calls to the appropriate memory abstraction module.⌋ Note: One solution is to use tables of pointers to functions where the parameter DeviceIndex is used as array index. Example: #define MemIf_Write(DeviceIndex, BlockNumber, DataPtr) \ MemIf_WriteFctPtr[DeviceIndex](BlockNumber,DataPtr) Note: The service IDs given in this interface specification are related to the service IDs of the underlying memory abstraction module(s). For that reason, they may not start with 0.
[SWS_MemIf_00022] Upstream requirements: SRS_BSW_00323, SRS_MemHwAb_14021, SRS_MemHwAb_14023
⌈If more than one memory abstraction module is configured and development error detection is enabled for this module, the functions of the Memory Abstraction Interface API shall check the parameter DeviceIndex for being an existing device or the broadcast identifier within the module’s services.⌋
[SWS_MemIf_00023] Upstream requirements: SRS_BSW_00386, SRS_SPAL_12448
⌈The functions of the Memory Abstraction Interface API shall report detected errors attributed to an illegal parameter DeviceIndex to the Default Error Tracer (DET) with the error code MEMIF_E_PARAM_DEVICE and the called service shall not be executed.⌋
[SWS_MemIf_00024] Upstream requirements: SRS_BSW_00369
⌈If a called function of the Memory Abstraction Interface API has detected an error attributed to an illegal parameter DeviceIndex and has a return value, it shall be set as follows: MemIf_GetStatus: MEMIF_UNINIT MemIf_GetJobResult: MEMIF_JOB_FAILED All other functions: E_NOT_OK⌋
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_MemoryAbstractionInterface.pdf |
|---|---|
| Dokumentseite | Seite 17 |
| Ziel-Modul | memif (classic) |
| Ziel-Anforderung | SWS_MemIf_00024 |
| Semantische Rolle | constitutive |
| Automatisierungs-Konfidenz | 0.95 |