Errors

Normative

The error and return codes a conformant memory driver reports. Development errors are only raised when development error reporting is enabled (see enable_development_error_reporting in Configuration Reference). Governed by CHI-MEM-MUST-05 and the per-service requirements in Mem — Requirements.

Development errors

When development error reporting is enabled, each API detects the conditions below and raises the listed error via LogM_Report with development-error level.

Development errors by API

API

Condition

Error id

Mem_Init

configPtr is not a null pointer

MEM_DEVERR_PARAM_PTR

Mem_GetJobResult / Mem_SuspendJob / Mem_ResumeJob / Mem_OnError / Mem_Read / Mem_Write / Mem_Erase / Mem_VerifyBlank / Mem_HwSpecificService

instanceId is not consistent with the configuration

MEM_DEVERR_PARAM_INSTANCE_ID

Mem_SuspendJob / Mem_ResumeJob / Mem_OnError / Mem_Read / Mem_Write / Mem_Erase / Mem_VerifyBlank / Mem_HwSpecificService

Driver not initialized

MEM_DEVERR_UNINIT

Mem_Read / Mem_Write / Mem_HwSpecificService

dataPtr is a null pointer

MEM_DEVERR_PARAM_PTR

Mem_HwSpecificService

lengthPtr is a null pointer

MEM_DEVERR_PARAM_PTR

Mem_Read / Mem_Write / Mem_Erase / Mem_VerifyBlank

address is invalid

MEM_DEVERR_PARAM_ADDR

Mem_Read / Mem_Write / Mem_Erase / Mem_VerifyBlank

length is invalid

MEM_DEVERR_PARAM_LENGTH

Mem_Read / Mem_Write / Mem_Erase / Mem_VerifyBlank

A previous job is still being processed

MEM_DEVERR_JOB_PENDING

Development error code group

Development error type

Defines

MEM_DEVERR_UNINIT (1U)

API service called without module initialization

MEM_DEVERR_PARAM_PTR (2U)

API service called with NULL pointer

MEM_DEVERR_PARAM_ADDR (3U)

API service called with an invalid address

MEM_DEVERR_PARAM_LENGTH (4U)

API service called with an invalid length

MEM_DEVERR_PARAM_INSTANCE_ID (5U)

API service called with an invalid driver instance ID

MEM_DEVERR_JOB_PENDING (6U)

API service called while a job request is still in progress

Available via: MemIf_DriverTypes.h. Vendor-specific error definitions MUST be provided via Mem.h instead.

Return values
Std_ReturnType extension

In addition to E_OK / E_NOT_OK, the memory driver defines:

Value

Meaning

E_MEM_SERVICE_NOT_AVAIL

An optional service (suspend/resume, a hardware-specific service) is not implemented by the addressed instance.

Job results
Failure results

Job failures are reported through Mem_GetJobResult, not as development errors:

Result

Meaning

MEM_JOB_FAILED

The operation failed.

MEM_JOB_PAGE_INCONSISTENT

A blank check found the area not blank.

MEM_JOB_ERROR_ECC_CORRECTED

A correctable ECC error occurred; the job still completed.

MEM_JOB_ERROR_ECC_UNCORRECTED

An uncorrectable ECC error cancelled the job (set via Mem_OnError).