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]. Интерфейс определён с Service 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]. Таким образом, вызов, вероятно, типично происходит в контексте задачи (Task); параллельные или вложенные вызовы должны предотвращаться или сериализоваться вызывающей стороной. Вопрос Q-b774bf07a69e28af (открытый)
Это указание по использованию было сгенерировано ИИ и базируется на спецификации 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 служит уровнем абстракции и вызывает функцию Write нижележащего модуля абстракции памяти, выбираемого через параметр DeviceIndex [SWS_MemIf_00040]. При синхронном вызове передаются три входных параметра: индекс устройства DeviceIndex для выбора целевого драйвера, логический номер блока BlockNumber, а также указатель DataBufferPtr на буфер с записываемыми данными [SWS_MemIf_00040]. Функция специфицирована под идентификатором сервиса 0x03 и доступна через заголовочный файл MemIf.h [SWS_MemIf_00040].
Обработка ошибок и возвращаемые значения
Возвращаемое значение имеет тип Std_ReturnType [SWS_MemIf_00040]. Если обнаружение ошибок разработки (Development Error Detection) для Memory Abstraction Interface активно и зафиксирована ошибка разработки согласно [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.
функция 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 служит для вызова функции Cancel нижележащего модуля абстракции памяти, выбираемого через параметр Device Index [SWS_MemIf_00041]. Сервис не имеет возвращаемого значения и напрямую перенаправляет запрос на отмену адресуемому экземпляру абстракции [SWS_MemIf_00041].
Для вызова и интеграции действуют следующие технические свойства:
- Контекст вызова и параллельность: функция определена как нереентерабельная (
Non Reentrant) [SWS_MemIf_00041]. Вызывающие компоненты должны гарантировать, что выполнение не происходит параллельно или с прерыванием другими контекстами. - Сигнатура и идентификация: интерфейс
void MemIf_Cancel (uint8 Device Index)имеет идентификатор сервиса0x04и предоставляется через заголовочный файлMemIf.h[SWS_MemIf_00041]. - Параметры: входной параметр
Device Index(типuint8) выбирает целевой модуль; входные/выходные или возвращаемые параметры отсутствуют [SWS_MemIf_00041]. - Обработка ошибок: спецификация не описывает для этой функции каких-либо конкретных кодов ошибок, возвращаемых значений или сообщений DET [SWS_MemIf_00041] (интерпретация: проверка на недопустимые индексы устройств, вероятно, возложена на вышестоящую системную архитектуру или нижележащий модуль). Вопрос Q-4a5d989ce611ba89 (открытый)
Это указание по использованию создано ИИ на основе спецификации AUTOSAR R20-11.
функция 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 и имеет Service 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 и имеет Service 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.
Руководство разработчика реализации в подготовке (сложность 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].
Этот текст был сгенерирован ИИ и служит для ознакомления.
тип 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].
Этот текст был сгенерирован ИИ и служит для технической ориентации.
Руководство разработчика реализации в подготовке (сложность 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#54d03be9- Content hash
54d03be9- 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 · Немецкий оригинал