STM32G0 MCAL 0.0.1
Tiny MCAL for educational purpose.
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
MemIf.h File Reference

Memory Abstraction Interface More...

#include "Std_Types.h"

Go to the source code of this file.

Macros

#define MEMIF_E_PARAM_DEVICE   0x01u
 
#define MEMIF_E_PARAM_POINTER   0x02u
 

Typedefs

typedef enum _MemIf_StatusType MemIf_StatusType
 Denotes the current status of the underlying abstraction module and device drive.
 
typedef enum _MemIf_JobResultType MemIf_JobResultType
 Denotes the result of the last job.
 
typedef enum _MemIf_ModeType MemIf_ModeType
 Denotes the operation mode of the underlying abstraction modules and device drivers.
 

Enumerations

enum  _MemIf_StatusType { MEMIF_UNINIT = 0x00u , MEMIF_IDLE , MEMIF_BUSY , MEMIF_BUSY_INTERNAL }
 Denotes the current status of the underlying abstraction module and device drive. More...
 
enum  _MemIf_JobResultType {
  MEMIF_JOB_OK = 0x00u , MEMIF_JOB_FAILED , MEMIF_JOB_PENDING , MEMIF_JOB_CANCELED ,
  MEMIF_BLOCK_INCONSISTENT , MEMIF_BLOCK_INVALID
}
 Denotes the result of the last job. More...
 
enum  _MemIf_ModeType { MEMIF_MODE_SLOW = 0x00u , MEMIF_MODE_FAST }
 Denotes the operation mode of the underlying abstraction modules and device drivers. More...
 

Detailed Description

Memory Abstraction Interface

Author
Christopher Bogarin

This specification describes the functionality, API and configuration of the AUTOSAR Basic Software Module “Memory Abstraction Interface” (MemIf). This module allows the NVRAM manager to access several memory abstraction modules (FEE or EA modules).

Typedef Documentation

◆ MemIf_JobResultType

Denotes the result of the last job.

Requirement
SWS_MemIf_00065

◆ MemIf_ModeType

Denotes the operation mode of the underlying abstraction modules and device drivers.

Requirement
SWS_MemIf_00066

◆ MemIf_StatusType

Denotes the current status of the underlying abstraction module and device drive.

Requirement
SWS_MemIf_00064

Enumeration Type Documentation

◆ _MemIf_JobResultType

Denotes the result of the last job.

Requirement
SWS_MemIf_00065
Enumerator
MEMIF_JOB_OK 

The job has been finished successfully.

MEMIF_JOB_FAILED 

The job has not been finished successfully.

MEMIF_JOB_PENDING 

The job has not yet been finished.

MEMIF_JOB_CANCELED 

The job has been canceled.

MEMIF_BLOCK_INCONSISTENT 
  1. The requested block is inconsistent, it may contain corrupted data.
    1. Block is NOT found.
MEMIF_BLOCK_INVALID 

The requested block has been marked as invalid, therequested operation can not be performed.

◆ _MemIf_ModeType

Denotes the operation mode of the underlying abstraction modules and device drivers.

Requirement
SWS_MemIf_00066
Enumerator
MEMIF_MODE_SLOW 

The underlying memory abstraction modules and drivers are working in slow mode.

MEMIF_MODE_FAST 

The underlying memory abstraction modules and drivers are working in fast mode.

◆ _MemIf_StatusType

Denotes the current status of the underlying abstraction module and device drive.

Requirement
SWS_MemIf_00064
Enumerator
MEMIF_UNINIT 

The underlying abstraction module or device driver has not been initialized (yet).

MEMIF_IDLE 

The underlying abstraction module or device driver is currently idle.

MEMIF_BUSY 

The underlying abstraction module or device driver is currently busy.

MEMIF_BUSY_INTERNAL 

The underlying abstraction module is busy with internal management operations. The underlying device driver can be busy or idle.