AUTOSAR – Memory Abstraction Interface

AUTOSAR – Memory Abstraction Interface

1. Tổng quan

Memory Abstraction Interface (MemIf) sẽ trừu tượng hóa mô-đun FEE hoặc EA cơ bản và cung cấp cho các lớp trên một virtual segmentation trên không gian địa chỉ tuyến tính thống nhất.

Hình 1: Tổng quan lớp memory hardware abstraction layer
Hình 1: Tổng quan lớp memory hardware abstraction layer

2. Từ viết tắt

EAEEPROM Abstraction
EEPROMElectrically Erasable and Programmable ROM (Read Only Memory)
FEEFlash EEPROM Emulation
LSBLeast significant bit / byte
MemAUTOSAR Basic Software Module Memory Driver
MemAccAUTOSAR Basic Software Module Memory Access
MemIfMemory Abstraction Interface
MSBMost significant bit / byte
NvMNVRAM Manager
NVRAMNon-volatile RAM (Random Access Memory)
Bảng 1: từ viết tắt

3. Development Errors

loại lỗiCode lỗi liên quan Giá trị lỗi
API service gọi sai device index parameterMEMIF_E_PARAM_DEVICE0x01
API service gọi con trỏ NULLMEMIF_E_PARAM_POINTER0x02
Bảng 2: Development Errors

4. Các API

4.1 Imported datatypes of module MemIf

ModuleHeader fileImported Type
StdStd_Types.hStd_ReturnType
StdStd_Types.hStd_VersionInfoType

4.2 Datatype của MemIf_StatusType

Biểu thị trạng thái hiện tại của MemIf

TênMemIf_StatusType
Loại Enumeration
RangeMEMIF_UNINITChưa được khởi tạo
MEMIF_IDLENhàn rỗi
MEMIF_BUSYHiện tại đang bận
MEMIF_BUSY_INTERNALBận với các hoạt động quản lý nội bộ
Header fileMemIf.h

4.3 Datatype của MemIf_JobResultType

TênMemIf_JobResultType
Loại Enumeration
RangeMEMIF_JOB_OK Job thực hiện thành công
MEMIF_JOB_FAILEDJob thực hiện không thành công
MEMIF_JOB_PENDING Job chưa kết thúc
MEMIF_JOB_CANCELEDJob bị hủy bỏ
MEMIF_BLOCK_ INCONSISTENT1. Block yêu cầu không nhất quán.
2. Block không tìm thấy
MEMIF_BLOCK_INVALIDBlock được đánh dấu là invalid do vậy yêu cầu không thể thực hiện được.
Header fileMemIf.h

4.3 Datatype của MemIf_Read [SWS_MemIf_00039]

Service NameMemIf_Read
SyntaxStd_ReturnType MemIf_Read ( uint16 DeviceIndex,
uint16 BlockNumber,
uint16 BlockOffset,
uint8* DataBufferPtr,
uint16 Length
)
Service IDx02
Parameters (in)DeviceIndex
BlockNumber
BlockOffset
Length
Parameters (inout)None
Parameters (out)DataBufferPtr
Return valueStd_ReturnTypeTrong trường hợp phát hiện lỗi, thì hàm sẽ trả về E_NOT_OK, nếu không thì sẽ trả về giá trị.
Header fileMemIf.h

Gọi hàm “Read” được chọn bởi tham số DeviceIndex.

[SRS_MemHwAb_14029] Các mô-đun FEE và EA sẽ cung cấp service cho phép đọc toàn bộ hoặc một phần khối logic.

[SRS_MemHwAb_14022] The Memory Abstraction Interface shall preserve the functionality of the underlying memory abstraction module.

4.4 Datatype của MemIf_Write [SWS_MemIf_00040]

Service NameMemIf_Write
SyntaxStd_ReturnType MemIf_Write ( uint16 DeviceIndex,
uint16 BlockNumber,
const uint8* DataBufferPtr
)
Service IDx03
Parameters (in)DeviceIndex
BlockNumber
DataBufferPtr
Parameters (inout)None
Parameters (out)None
Return valueStd_ReturnTypeTrong trường hợp phát hiện lỗi, thì hàm sẽ trả về E_NOT_OK, nếu không thì sẽ trả về giá trị.
Header fileMemIf.h

Gọi hàm “Write” được chọn bởi tham số DeviceIndex.

[SRS_MemHwAb_14010] Các mô-đun FEE và EA sẽ cung cấp service ghi chỉ hoạt động trên các khối logic được cấu hình hoàn chỉnh.

[SRS_MemHwAb_14022] The Memory Abstraction Interface shall preserve the functionality of the underlying memory abstraction module.

4.4 Datatype của MemIf_Cancel [SWS_MemIf_00041]

Service NameMemIf_Cancel
Syntaxvoid MemIf_Cancel ( uint16 DeviceIndex
)
Service IDx04
Parameters (in)DeviceIndex
BlockNumber
DataBufferPtr
Parameters (inout)None
Parameters (out)None
Return valueNone
Header fileMemIf.h

[SRS_MemHwAb_14031] Các mô-đun FEE và EA sẽ cung cấp một service cho phép hủy bỏ một hoạt động không đồng bộ đang diễn ra.

[SRS_MemHwAb_14022] The Memory Abstraction Interface shall preserve the functionality of the underlying memory abstraction module

4.4 Datatype của MemIf_GetStatus [SWS_MemIf_00042]

Service NameMemIf_GetStatus
SyntaxMemIf_StatusType MemIf_GetStatus (uint16 DeviceIndex
)
Service IDx05
Parameters (in)DeviceIndex
Parameters (inout)None
Parameters (out)None
Return valueMemIf_StatusType
Header fileMemIf.h

[RS_BRF_02272] AUTOSAR sẽ cung cấp service theo dõi hành vi của phần mềm ứng dụng

[SWS_MemIf_00035] ⌈Nếu hàm MemIf_GetStatus được gọi với DeviceIndex biểu thị một phát sóng đến tất cả các thiết bị được cấu hình (MEMIF_BROADCAST_ID), mô-đun Memory Abstraction Interface sẽ lần lượt gọi các hàm “GetStatus” của tất cả các thiết bị cơ bản. Nó sẽ trả về giá trị

  • MEMIF_IDLE – nếu tất cả các thiết bị cơ bản đã trả về trạng thái này.
  • MEMIF_UNINIT – nếu ít nhất một thiết bị trả về trạng thái này, tất cả các trạng thái trả về khác sẽ bị bỏ qua.
  • MEMIF_BUSY – if at least one configured device returned this state and no other device returned MEMIF_UNINIT.
  • MEMIF_BUSY_INTERNAL – if at least one configured device returned this state and no other device returned MEMIF_BUSY or MEMIF_UNINIT.

[SRS_MemHwAb_14020] Memory Abstraction Interface sẽ cho phép lựa chọn mô-đun trừu tượng bộ nhớ cơ bản bằng cách sử dụng a device index

4.5 Datatype của MemIf_GetJobResult [SWS_MemIf_00043]

Service NameMemIf_GetJobResult
SyntaxMemIf_JobResultType MemIf_GetJobResult ( uint16 DeviceIndex
)
Service IDx06
Parameters (in)DeviceIndex
Parameters (inout)None
Parameters (out)None
Return valueMemIf_JobResultTypeTrong trường hợp phát hiện lỗi, thì hàm sẽ trả về MEMIF_JOB_FAILED, nếu không thì sẽ trả về giá trị.
Header fileMemIf.h

4.6 Datatype của MemIf_InvalidateBlock [SWS_MemIf_00044]

Service NameMemIf_InvalidateBlock
SyntaxStd_ReturnType MemIf_InvalidateBlock ( uint16 DeviceIndex,
uint16 BlockNumber)
Service IDx07
Parameters (in)DeviceIndex
BlockNumber
Parameters (inout)None
Parameters (out)None
Return valueStd_ReturnTypeTrong trường hợp phát hiện lỗi, thì hàm sẽ trả về E_NOT_OK, nếu không thì sẽ trả về giá trị.
Header fileMemIf.h

Các mô-đun FEE và EA sẽ cung cấp dịch vụ để vô hiệu hóa một khối logic

4.7 Datatype của MemIf_GetVersionInfo [SWS_MemIf_00045]

Service NameMemIf_GetVersionInfo
Syntaxvoid MemIf_GetVersionInfo ( Std_VersionInfoType* VersionInfoPtr)
Service IDx08
Parameters (in)None
Parameters (inout)None
Parameters (out)None
Return valueVersionInfoPtrPointer to standard version information structure.
Header fileMemIf.h

[SRS_BSW_00407] Mỗi mô-đun BSW sẽ cung cấp một chức năng để đọc thông tin phiên bản của mô-đun

4.8 Datatype của MemIf_EraseImmediateBlock [SWS_MemIf_00046]

Service NameMemIf_EraseImmediateBlock
SyntaxStd_ReturnType MemIf_EraseImmediateBlock ( uint16 DeviceIndex,
uint16 BlockNumber)
Service IDx09
Parameters (in)DeviceIndex
BlockNumber
Parameters (inout)None
Parameters (out)None
Return valueStd_ReturnTypeTrong trường hợp phát hiện lỗi, thì hàm sẽ trả về E_NOT_OK, nếu không thì sẽ trả về giá trị.
Header fileMemIf.h

[SRS_MemHwAb_14032] Các mô-đun FEE và EA sẽ cung cấp service xóa chỉ hoạt động trên các khối logic hoàn chỉnh chứa dữ liệu tức thời.

Leave a Reply