Memory Abstraction Interface (MemIf)
Abstracts underlying Flash and EEPROM memory drivers.
Funktionen — Übersicht
void MemIf_SetMode (MemIf_ModeType Mode);Invokes the "Set Mode" functions of all underlying memory abstraction modules.Std_ReturnType MemIf_Read (uint8 DeviceIndex, uint16 BlockNumber, uint16 BlockOffset, uint8* DataBufferPtr, uint16 Length);Invokes the "Read" function of the underlying memory abstraction module selected by the parameter Device Index.Std_ReturnType MemIf_Write (uint8 DeviceIndex, uint16 BlockNumber, const uint8* DataBufferPtr);Invokes the "Write" function of the underlying memory abstraction module selected by the parameter Device Index.void MemIf_Cancel (uint8 DeviceIndex);Invokes the "Cancel" function of the underlying memory abstraction module selected by the parameter Device Index.MemIf_StatusType MemIf_GetStatus (uint8 DeviceIndex);Invokes the "Get Status" function of the underlying memory abstraction module selected by the parameter Device Index.MemIf_JobResultType MemIf_GetJobResult (uint8 DeviceIndex);Invokes the "Get Job Result" function of the underlying memory abstraction module selected by the parameter Device Index.Std_ReturnType MemIf_InvalidateBlock (uint8 DeviceIndex, uint16 BlockNumber);Invokes the "Invalidate Block" function of the underlying memory abstraction modulevoid MemIf_GetVersionInfo (Std_VersionInfoType* VersionInfoPtr);Returns version information.Std_ReturnType MemIf_EraseImmediateBlock (uint8 DeviceIndex, uint16 BlockNumber);Invokes the "Erase Immediate Block" function of the underlying memory abstraction module selected by the parameter Device Index.
Typen — Übersicht
enum MemIf_StatusTypeDenotes the current status of the underlying abstraction module and device drive.enum MemIf_JobResultTypeDenotes the result of the last job.enum MemIf_ModeTypeDenotes the operation mode of the underlying abstraction mod ules and device drivers.
Funktionen & Typen — Detailansicht
함수 MemIf_SetMode [SWS_MemIf_00038] 📄 PDF
void MemIf_SetMode (MemIf_ModeType Mode);
Invokes the "Set Mode" functions of all underlying memory abstraction modules.
함수 MemIf_SetMode은 메모리 인터페이스를 통해 작동 모드를 동기식으로 전환하는 데 사용됩니다[SWS_MemIf_00038]. 호출 시 이 함수는 요청된 모드를 모든 하위 메모리 추상화 모듈의 개별 “Set Mode” 함수로 전달합니다[SWS_MemIf_00038]. 매개변수로 대상 모드 Mode이 전달되는 반면, 함수는 반환값을 제공하지 않습니다[SWS_MemIf_00038]. 이 인터페이스는 서비스 ID 0x01를 가지며 헤더 MemIf.h에 정의되어 있습니다[SWS_MemIf_00038].
동시성과 관련하여 MemIf_SetMode은 비재진입(Non Reentrant)으로 명세되어 있습니다[SWS_MemIf_00038]. 해석: 호출자는 여러 태스크나 인터럽트 서비스 루틴에서 이 함수를 동시에 또는 중단 방식으로 호출해서는 안 될 것으로 보이며, 따라서 동시 접근은 필요한 경우 외부 보호 메커니즘을 통해 조정되어야 할 것으로 추정됩니다. 질문 Q-02b14e9cb4b05dc9 (열림)
동기 실행 시맨틱으로 인해 호출은 요청이 메모리 추상화 모듈로 전달된 후에만 호출자에게 반환됩니다[SWS_MemIf_00038]. 오류 표시를 위한 특정 반환값이나 별도의 DET 또는 DEM 오류 메시지는 요소 명세에서 이 함수에 대해 정의되어 있지 않습니다[SWS_MemIf_00038].
이 사용 지침은 자동으로 생성되었으며 전적으로 AUTOSAR R20-11 명세의 정보를 기반으로 합니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 MemIf_Read [SWS_MemIf_00039] 📄 PDF
Std_ReturnType MemIf_Read (uint8 DeviceIndex, uint16 BlockNumber, uint16 BlockOffset, uint8* DataBufferPtr, uint16 Length);
Invokes the "Read" function of the underlying memory abstraction module selected by the parameter Device Index.
함수 MemIf_Read은 매개변수 DeviceIndex을 통해 선택된 하위 메모리 추상화 모듈로 읽기 요청을 동기식으로 전달합니다 [SWS_MemIf_00039]. 이 함수는 헤더 MemIf.h에 선언되어 있으며 논리적 메모리 블록의 데이터를 읽어오는 역할을 합니다.
매개변수 및 인터페이스
MemIf_Read 호출에는 다음 입력 및 출력 매개변수가 포함됩니다 [SWS_MemIf_00039]:
DeviceIndex: 대상 모듈을 선택하기 위한 대상 장치 인덱스.BlockNumber: 읽을 메모리 블록의 논리 블록 번호.BlockOffset: 읽기가 시작되는 논리 블록 내의 바이트 오프셋.DataBufferPtr: 읽은 데이터를 저장하기 위한 버퍼를 가리키는 포인터.Length: 읽을 데이터 바이트 수.
오류 처리 및 반환값
개발 오류 감지(Development Error Detection)가 활성화되어 있고 개발 오류가 감지되면 함수는 E_NOT_OK을 반환합니다 [SWS_MemIf_00039]. 그렇지 않으면 호출된 하위 모듈 읽기 함수의 반환값이 Std_ReturnType(으)로 전달됩니다 [SWS_MemIf_00039].
동시성 및 제약사항
이 함수는 동기식 및 재진입 불가(Non Reentrant)로 명시되어 있습니다 [SWS_MemIf_00039]. 따라서 호출은 일반적으로 태스크 컨텍스트에서 수행될 것으로 보이며, 병렬 또는 중첩 호출은 호출자에 의해 방지되거나 직렬화되어야 합니다. 질문 Q-b774bf07a69e28af (열림)
이 사용 지침은 AI에 의해 생성되었으며 AUTOSAR 사양 R20-11을 기반으로 합니다.
함수 MemIf_Write [SWS_MemIf_00040] 📄 PDF
Std_ReturnType MemIf_Write (uint8 DeviceIndex, uint16 BlockNumber, const uint8* DataBufferPtr);
Invokes the "Write" function of the underlying memory abstraction module selected by the parameter Device Index.
사용법 및 호출 컨텍스트
인터페이스 함수 MemIf_Write은 추상화 계층 역할을 하며 매개변수 DeviceIndex을 통해 선택되는 하위 Memory Abstraction 모듈의 Write 함수를 호출합니다 [SWS_MemIf_00040]. 동기 호출 시 세 개의 입력 매개변수가 전달됩니다. 대상 드라이버를 선택하기 위한 장치 인덱스 DeviceIndex, 논리 블록 번호 BlockNumber, 그리고 쓸 데이터가 포함된 버퍼를 가리키는 포인터 DataBufferPtr입니다 [SWS_MemIf_00040]. 이 함수는 서비스 ID 0x03 아래에 명시되어 있으며 헤더 파일 MemIf.h을 통해 제공됩니다 [SWS_MemIf_00040].
오류 처리 및 반환값
반환값의 유형은 Std_ReturnType입니다 [SWS_MemIf_00040]. Memory Abstraction Interface에 대한 개발 오류 감지(Development Error Detection)가 활성화되어 있고 [SWS_MemIf_00022]에 따라 개발 오류가 감지되면 MemIf_Write은 오류 코드 E_NOT_OK을 반환합니다 [SWS_MemIf_00040]. 오류가 없으면 함수는 호출된 하위 모듈의 반환값을 호출자에게 변경 없이 전달합니다 [SWS_MemIf_00040].
동시성 및 제약 조건
동시성 동작과 관련하여 MemIf_Write은 동기식 및 재진입 불가(Non Reentrant)(으)로 정의됩니다 [SWS_MemIf_00040].
이 사용 지침은 AUTOSAR Classic R20-11 사양을 기반으로 AI에 의해 생성되었습니다.
함수 MemIf_Cancel [SWS_MemIf_00041] 📄 PDF
void MemIf_Cancel (uint8 DeviceIndex);
Invokes the "Cancel" function of the underlying memory abstraction module selected by the parameter Device Index.
동기 함수 MemIf_Cancel은 매개변수 Device Index을 통해 선택되는 하위 Memory Abstraction 모듈의 Cancel 함수를 호출하는 데 사용됩니다 [SWS_MemIf_00041]. 이 서비스는 반환값이 없으며 취소 작업을 지정된 추상화 인스턴스로 즉시 전달합니다 [SWS_MemIf_00041].
호출 및 통합에는 다음의 기술적 특성이 적용됩니다:
- 호출 컨텍스트 및 동시성: 이 함수는 재진입 불가(
Non Reentrant)(으)로 정의됩니다 [SWS_MemIf_00041]. 호출자는 다른 컨텍스트에 의해 동시 실행되거나 중단되지 않도록 해야 합니다. - 시그니처 및 식별: 인터페이스
void MemIf_Cancel (uint8 Device Index)은 서비스 ID0x04을 가지며 헤더 파일MemIf.h을 통해 제공됩니다 [SWS_MemIf_00041]. - 매개변수: 입력 매개변수
Device Index(유형uint8)은 대상 모듈을 선택하며, 입출력 또는 반환 매개변수는 없습니다 [SWS_MemIf_00041]. - 오류 처리: 사양에는 이 함수에 대한 특정 오류 코드, 반환값 또는 DET 메시지가 설명되어 있지 않습니다 [SWS_MemIf_00041](해석: 유효하지 않은 장치 인덱스에 대한 검사는 상위 시스템 아키텍처 또는 하위 모듈에 맡겨지는 것으로 보입니다). 질문 Q-4a5d989ce611ba89 (열림)
이 사용 지침은 AUTOSAR 사양 R20-11을 기반으로 AI에 의해 작성되었습니다.
함수 MemIf_GetStatus [SWS_MemIf_00042] 📄 PDF
MemIf_StatusType MemIf_GetStatus (uint8 DeviceIndex);
Invokes the "Get Status" function of the underlying memory abstraction module selected by the parameter Device Index.
함수 MemIf_GetJobResult [SWS_MemIf_00043] 📄 PDF
MemIf_JobResultType MemIf_GetJobResult (uint8 DeviceIndex);
Invokes the "Get Job Result" function of the underlying memory abstraction module selected by the parameter Device Index. Available v ia Mem If.h
함수 MemIf_InvalidateBlock [SWS_MemIf_00044] 📄 PDF
Std_ReturnType MemIf_InvalidateBlock (uint8 DeviceIndex, uint16 BlockNumber);
Invokes the "Invalidate Block" function of the underlying memory abstraction module AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_MemoryAbstractionInterface selected by the parameter Device Index.
동기 함수 MemIf_InvalidateBlock은 논리 블록의 무효화 요청을 매개변수 DeviceIndex을 통해 선택된 하위 메모리 추상화 모듈로 전달합니다[SWS_MemIf_00044]. 이 인터페이스는 헤더 MemIf.h을 통해 제공되며 서비스 ID 0x07를 가집니다[SWS_MemIf_00044].
사용법 및 매개변수
호출은 동기식으로 이루어지며 다음 입력 매개변수를 주소 지정 대상으로 전달합니다[SWS_MemIf_00044]:
DeviceIndex: 기반이 되는 메모리 추상화 모듈의 숫자 인덱스[SWS_MemIf_00044].BlockNumber: 무효화할 메모리 블록의 고유 식별자[SWS_MemIf_00044].
오류 처리 및 반환값
이 함수는 Std_ReturnType 타입의 상태 값을 반환합니다[SWS_MemIf_00044]:
- Memory Abstraction Interface에 대해 개발 오류 감지(Development Error Detection)가 활성화되어 있고
SWS_MemIf_00022에 따른 오류가 발생하는 경우, 함수는E_NOT_OK을 반환합니다[SWS_MemIf_00044]. - 개발 오류가 감지되지 않으면 인터페이스는 하위 모듈의 호출된 함수 결과를 반환합니다[SWS_MemIf_00044].
동시성
이 함수는 비재진입(Non Reentrant)으로 명세되어 있습니다[SWS_MemIf_00044].
이 사용 지침은 AUTOSAR Classic Release R20-11 명세를 기반으로 자동 생성되었습니다.
함수 MemIf_GetVersionInfo [SWS_MemIf_00045] 📄 PDF
void MemIf_GetVersionInfo (Std_VersionInfoType* VersionInfoPtr);
Returns version information.
함수 MemIf_EraseImmediateBlock [SWS_MemIf_00046] 📄 PDF
Std_ReturnType MemIf_EraseImmediateBlock (uint8 DeviceIndex, uint16 BlockNumber);
Invokes the "Erase Immediate Block" function of the underlying memory abstraction module selected by the parameter Device Index.
사용
동기 함수 MemIf_EraseImmediateBlock은 하위 메모리 추상화 모듈에서 즉시 블록으로 분류된 블록의 삭제를 트리거합니다[SWS_MemIf_00046]. 이 호출은 헤더 MemIf.h를 통해 제공되며 서비스 ID 0x09을 가집니다[SWS_MemIf_00046]. 입력 매개변수로는 특정 메모리 디바이스 또는 추상화 모듈을 주소 지정하기 위한 DeviceIndex와 대상 블록을 식별하기 위한 BlockNumber이 사용됩니다[SWS_MemIf_00046]. 추가적인 Inout 또는 Out 매개변수는 존재하지 않습니다[SWS_MemIf_00046].
반환값 및 오류 처리
이 함수는 Std_ReturnType 타입의 상태 값을 반환합니다[SWS_MemIf_00046]. Memory Abstraction Interface에 대한 개발 오류 감지가 활성화되어 있고 [SWS_MemIf_00022]에 따른 해당 오류가 감지되면, 호출은 고정된 반환값 E_NOT_OK을 반환합니다[SWS_MemIf_00046]. 이러한 오류가 발생하지 않으면 하위 모듈의 호출된 함수에서 나온 즉각적인 결과가 호출자에게 그대로 전달됩니다[SWS_MemIf_00046].
동시성 및 제약사항
MemIf_EraseImmediateBlock의 실행은 동기식으로 이루어지며 비재진입(Non Reentrant)으로 명세되어 있습니다[SWS_MemIf_00046]. 해석: 인터페이스의 병렬 호출은 허용되지 않으므로, 하위 메모리 드라이버에서의 데이터 불일치를 방지하기 위해 전체 시스템에서 이 함수는 태스크 수준의 동기화된 컨텍스트에서만 호출될 수 있을 것으로 추정됩니다. 질문 Q-4fce518bab0115db (열림)
이 사용 지침은 AUTOSAR CP R20-11 사양을 기반으로 자동으로 생성되었습니다.
타입 MemIf_StatusType [SWS_MemIf_00064] 📄 PDF
Denotes the current status of the underlying abstraction module and device drive. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_MemoryAbstractionInterface
열거형 MemIf_StatusType은 [SWS_MemIf_00064]에 따라 하위 메모리 추상화 모듈 및 관련 디바이스 드라이버의 현재 작동 및 실행 상태를 나타냅니다. 이 타입은 Memory Abstraction Interface에 정의되어 있으며 헤더 파일 MemIf.h를 통해 호출자가 사용할 수 있습니다[SWS_MemIf_00064].
열거형에는 작동 준비 상태를 나타내기 위한 네 가지 고유한 상태가 포함됩니다[SWS_MemIf_00064]:
MEMIF_UNINIT: 하위 추상화 모듈 또는 관련 디바이스 드라이버가 (아직) 초기화되지 않았습니다[SWS_MemIf_00064].MEMIF_IDLE: 추상화 모듈 또는 디바이스 드라이버가 작동 준비 상태이며 현재 어떠한 작업도 실행하고 있지 않습니다[SWS_MemIf_00064].MEMIF_BUSY: 하위 모듈 또는 디바이스 드라이버가 현재 작업을 처리 중입니다[SWS_MemIf_00064].MEMIF_BUSY_INTERNAL: 드라이버가 유휴 상태이거나 사용 중인 동안 추상화 모듈이 내부 관리 작업을 처리하고 있습니다[SWS_MemIf_00064].
호출 계층은 작업 할당 전에 메모리 계층이 작동 준비 상태인지 또는 내부 관리 프로세스가 실행 중인지 동기식으로 확인하기 위해 이 상태를 사용합니다[SWS_MemIf_00064]. MemIf_StatusType은 순수 데이터 타입 정의이므로 DET 또는 DEM 메시지, 재진입 규칙 또는 호출 컨텍스트와 같은 기능적 측면은 명세 요소에 별도로 표시되지 않습니다.
이 텍스트는 AUTOSAR 사양을 기반으로 AI에 의해 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
타입 MemIf_JobResultType [SWS_MemIf_00065] 📄 PDF
Denotes the result of the last job.
열거형 MemIf_JobResultType은 메모리 인터페이스에 대해 가장 최근에 처리된 작업의 결과를 설명하며 헤더 파일 MemIf.h을 통해 제공됩니다[SWS_MemIf_00065].
열거형은 실행 상태뿐만 아니라 특정 오류 및 블록 상태를 정의합니다[SWS_MemIf_00065]:
MEMIF_JOB_OK: 요청된 작업이 성공적으로 종료되었습니다[SWS_MemIf_00065].MEMIF_JOB_PENDING: 작업이 아직 완료되지 않았습니다[SWS_MemIf_00065]. 해석: 이는 작업이 비동기식으로 처리되며 호출자가 이 중간 상태를 통해 완료 여부를 확인함을 나타냅니다. 질문 Q-31078cf25506334e (열림)MEMIF_JOB_FAILED: 작업이 성공적으로 완료되지 않았습니다[SWS_MemIf_00065].MEMIF_JOB_CANCELED: 작업이 취소되었습니다[SWS_MemIf_00065].MEMIF_BLOCK_INCONSISTENT: 요청된 블록이 일관되지 않거나, 손상된 데이터를 포함하고 있거나, 발견되지 않았습니다[SWS_MemIf_00065].MEMIF_BLOCK_INVALID: 요청된 블록이 유효하지 않은 것으로 표시되어 원하는 작업을 수행할 수 없습니다[SWS_MemIf_00065].
작업 결과를 평가할 때 이 타입은 일반적인 실행 오류(MEMIF_JOB_FAILED)와 블록 관련 문제(MEMIF_BLOCK_INCONSISTENT, MEMIF_BLOCK_INVALID)를 구분하는 데 사용됩니다[SWS_MemIf_00065].
이 텍스트는 AI에 의해 생성되었으며 참고용으로 제공됩니다.
타입 MemIf_ModeType [SWS_MemIf_00066] 📄 PDF
Denotes the operation mode of the underlying abstraction mod ules and device drivers.
열거형 MemIf_ModeType은 하위 메모리 추상화 모듈 및 디바이스 드라이버의 작동 모드를 정의합니다[SWS_MemIf_00066]. 이는 헤더 파일 MemIf.h를 통해 제공되며 메모리 접근의 속도 및 작동 동작을 제어하는 데 사용됩니다[SWS_MemIf_00066].
[SWS_MemIf_00066]에 따르면 값 범위에는 두 가지 상태가 포함됩니다:
MEMIF_MODE_SLOW: 하위 추상화 모듈 및 디바이스 드라이버가 느린 모드(Slow Mode)로 작동합니다[SWS_MemIf_00066].MEMIF_MODE_FAST: 하위 추상화 모듈 및 디바이스 드라이버가 빠른 모드(Fast Mode)로 작동합니다[SWS_MemIf_00066].
오류 처리, 재진입성 또는 특정 호출 컨텍스트와 관련하여 해당 타입의 명세에는 별도의 규정이 포함되어 있지 않으며, 모드의 전달 및 평가는 메모리 인터페이스 또는 하위 드라이버의 해당 인터페이스를 통해 동기식으로 수행됩니다[SWS_MemIf_00066].
이 텍스트는 AI에 의해 생성되었으며 기술적 오리엔테이션을 목적으로 합니다.
구현자 가이드 준비 중 (복잡도 I1)
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_MemIf- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_MemIf@rel:R20-11#126e6698- Content hash
126e6698- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_MemoryAbstractionInterface.pdf#nameddest=SWS_MemIf_00038
gemini-3.8-flash-low· 2026-10-13 · 독일어 원문