EEPROM Abstraction (Ea)
Provides uniform access to external and internal EEPROM devices.
Funktionen — Übersicht
void Ea_Init (const Ea_ConfigType* ConfigPtr);Initializes the EEPROM abstraction module.void Ea_SetMode (MemIf_ModeType Mode);Function to switch the mode of the underlying EEPROM DriverStd_ReturnType Ea_Read (uint16 BlockNumber, uint16 BlockOffset, uint8* DataBufferPtr, uint16 Length);Reads Length bytes of block Blocknumber at offset Block Offset into the buffer Data Buffer Ptr.Std_ReturnType Ea_Write (uint16 BlockNumber, const uint8* DataBufferPtr);Writes the contents of the Data Buffer Ptr to the block Block Number.void Ea_Cancel (void);Cancels the ongoing asynchronous operation.MemIf_StatusType Ea_GetStatus (void);Service to return the Status.MemIf_JobResultType Ea_GetJobResult (void);Service to return the Job Result.Std_ReturnType Ea_InvalidateBlock (uint16 BlockNumber);Invalidates the block Block Number.void Ea_GetVersionInfo (Std_VersionInfoType* VersionInfoPtr);Service to get the version information of this module.Std_ReturnType Ea_EraseImmediateBlock (uint16 BlockNumber);Erases the block Block Number.void Ea_JobEndNotification (void);Service to report to this module the successful end of an asynchronous operation.void Ea_JobErrorNotification (void);Service to report to this module the failure of an asynchronous operation.void Ea_MainFunction (void);Service to handle the requested jobs and the internal management operations.void NvM_JobEndNotification (void);Function to be used by the underlying memory abstraction to signal end of job without error.void NvM_JobErrorNotification (void);Function to be used by the underlying memory abstraction to signal end of job with error.
Typen — Übersicht
struct Ea_ConfigTypeConfiguration data structure of the Ea module.
Funktionen & Typen — Detailansicht
функция Ea_Init [SWS_Ea_00084] 📄 PDF
void Ea_Init (const Ea_ConfigType* ConfigPtr);
Initializes the EEPROM abstraction module.
Функция Ea_Init служит для инициализации модуля EEPROM Abstraction ([SWS_Ea_00084]). Она предоставляется через заголовочный файл Ea.h и переводит модуль в рабочее состояние ([SWS_Ea_00084]).
Согласно спецификации интерфейса в [SWS_Ea_00084], для вызова действуют следующие свойства и граничные условия:
- Семантика и идентификатор службы: вызов выполняется синхронно. Службе назначен идентификатор службы
0x00. - Реентрабельность: функция специфицирована как нереентрабельная (Non Reentrant) и поэтому не может выполняться параллельно.
- Параметры: входным параметром служит
ConfigPtr(типconst Ea_ConfigType*), указывающий на выбранный набор конфигурационных данных. Входных/выходных, а также выходных параметров не существует. - Возвращаемое значение: функция не возвращает значения (
void).
Относительно контекста вызова данная запись не содержит явных определений; инициализация, как правило, должна выполняться централизованно на этапе запуска блока управления перед выполнением других функций модуля. Вопрос Q-b2b40930e5fd0ee7 (открытый) Специфические коды ошибок, реакции на случай ошибки или сообщения в DET и DEM в [SWS_Ea_00084] не приводятся.
Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция Ea_SetMode [SWS_Ea_00085] 📄 PDF
void Ea_SetMode (MemIf_ModeType Mode);
Function to switch the mode of the underlying EEPROM Driver
Использование и семантика
Функция Ea_SetMode служит для переключения режима работы нижележащего драйвера EEPROM ([SWS_Ea_00085]). В качестве входного параметра она принимает желаемый режим Mode типа MemIf_ModeType ([SWS_Ea_00085]). Функция не имеет возвращаемого значения (void) и доступна с идентификатором службы 0x01 через заголовочный файл Ea.h ([SWS_Ea_00085]).
Выполнение происходит асинхронно (Asynchronous), так что фактическое переключение драйвера после вызова продолжает обрабатываться в фоновом режиме ([SWS_Ea_00085]).
Параллелизм и ограничения
-
Реентрабельность: функция специфицирована как нереентрабельная (
Non Reentrant) ([SWS_Ea_00085]). Параллельные вызовы из различных задач или контекстов должны предотвращаться на стороне вызывающей программы. -
Контекст вызова и параметры: запрещается передавать какие-либо входные/выходные или чисто выходные параметры; предусмотрен исключительно входной параметр
Mode([SWS_Ea_00085]).
Этот текст был создан ИИ на основе спецификации AUTOSAR.
Руководство разработчика реализации в подготовке (сложность I1)
функция Ea_Read [SWS_Ea_00086] 📄 PDF
Std_ReturnType Ea_Read (uint16 BlockNumber, uint16 BlockOffset, uint8* DataBufferPtr, uint16 Length);
Reads Length bytes of block Blocknumber at offset Block Offset into the buffer Data Buffer Ptr.
Использование и семантика
Функция Ea_Read служит для считывания полезных данных из указанного логического блока EEPROM через заголовочный файл Ea.h [SWS_Ea_00086]. Через параметр Block Number адресуется логический блок, который одновременно определяет его начальный адрес в EEPROM [SWS_Ea_00086]. Параметр Block Offset задает относительное смещение чтения внутри блока, тогда как Length определяет количество считываемых байтов [SWS_Ea_00086]. Целевые данные записываются в буфер, на который ссылается Data Buffer Ptr [SWS_Ea_00086].
Вызов работает асинхронно (Asynchronous): возвращаемое значение E_OK сигнализирует исключительно о том, что модуль Ea принял запрос задания, тогда как E_NOT_OK указывает на отклонение задания [SWS_Ea_00086]. Интерпретация: поскольку передача данных происходит асинхронно в фоновом режиме, буфер, на который указывает ссылка, предположительно должен предоставляться неизменным и валидным вплоть до полного выполнения задания. Вопрос Q-34c9b29f373bd6cf (открытый)
Параллелизм и ограничения
Интерфейс специфицирован как нереентерабельный (Non Reentrant) [SWS_Ea_00086]. Соответственно, параллельные вызовы из различных контекстов выполнения недопустимы и должны быть синхронизированы на стороне вызывающего объекта.
Данное указание по использованию было сгенерировано автоматически на основе спецификации R20-11.
функция Ea_Write [SWS_Ea_00087] 📄 PDF
Std_ReturnType Ea_Write (uint16 BlockNumber, const uint8* DataBufferPtr);
Writes the contents of the Data Buffer Ptr to the block Block Number.
Функция Ea_Write запускает асинхронную запись данных из буфера в логический блок EEPROM [SWS_Ea_00087]. Она объявлена в заголовочном файле Ea.h и имеет Service-ID 0x03 [SWS_Ea_00087].
Параметры и возвращаемое значение
BlockNumber(входной,uint16): обозначает номер логического блока и одновременно представляет его начальный адрес в EEPROM [SWS_Ea_00087].DataBufferPtr(входной,const uint8*): указатель на буфер, содержащий записываемые данные [SWS_Ea_00087].- Возвращаемое значение (
Std_ReturnType):E_OKсигнализирует о том, что задание на запись принято модулем Ea к исполнению;E_NOT_OKозначает, что запрос был отклонен [SWS_Ea_00087].
Параллелизм и ограничения
Функция специфицирована как нереентерабельная (Non Reentrant) [SWS_Ea_00087]. Поэтому параллельные вызовы, вероятно, не должны выполняться некоординированно без предварительной внешней синхронизации. Вопрос Q-a52fbcca6963c760 (открытый) Поскольку процесс записи выполняется асинхронно (Asynchronous) [SWS_Ea_00087], вызывающая сторона, вероятно, должна сохранять предоставленный буфер DataBufferPtr в памяти без изменений до полного завершения задания. Специфические коды ошибок DET или DEM в выдержке из спецификации функции не указаны.
Данное указание по использованию было сгенерировано ИИ на основе спецификации AUTOSAR релиза R20-11.
функция Ea_Cancel [SWS_Ea_00088] 📄 PDF
void Ea_Cancel (void);
Cancels the ongoing asynchronous operation.
Функция Ea_Cancel прерывает текущую выполняющуюся асинхронную операцию модуля EEPROM Abstraction ([SWS_Ea_00088]). Служба предоставляется через заголовочный файл Ea.h и имеет идентификатор службы 0x04 ([SWS_Ea_00088]).
В отношении поведения при вызове и определения интерфейса действуют следующие особенности ([SWS_Ea_00088]):
- Семантика: сам вызов происходит синхронно (
Synchronous), хотя он и прерывает выполняющуюся асинхронную операцию ([SWS_Ea_00088]). - Параметры и возврат значения: сигнатура имеет вид
void Ea_Cancel(void). Функция не ожидает ни входных, ни выходных параметров, ни параметров передачи и не имеет возвращаемого значения ([SWS_Ea_00088]). - Реентрабельность: интерфейс определен как нереентрабельный (
Non Reentrant) ([SWS_Ea_00088]). Следовательно, он не должен вызываться параллельно из нескольких контекстов выполнения или прерывающих задач.
Поскольку Ea_Cancel не принимает идентификаторов заданий или блоков, отмена непосредственно относится к текущей обрабатываемой совокупной асинхронной операции ([SWS_Ea_00088]). Специфические коды ошибок или обратные сообщения механизмам обнаружения в данных спецификации не содержатся. Предположительно, вызов, как правило, выполняется вышестоящими уровнями, такими как Memory Abstraction Interface (MemIf), для целенаправленного досрочного завершения длительных операций чтения, записи или стирания. Вопрос Q-e441cbf6a5097568 (открытый)
Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R20-11.
функция Ea_GetStatus [SWS_Ea_00089] 📄 PDF
MemIf_StatusType Ea_GetStatus (void);
Service to return the Status.
функция Ea_GetJobResult [SWS_Ea_00090] 📄 PDF
MemIf_JobResultType Ea_GetJobResult (void);
Service to return the Job Result.
функция Ea_InvalidateBlock [SWS_Ea_00091] 📄 PDF
Std_ReturnType Ea_InvalidateBlock (uint16 BlockNumber);
Invalidates the block Block Number.
Использование
Функция Ea_InvalidateBlock служит для инвалидации блока, указанного логическим номером блока [SWS_Ea_00091]. Она имеет идентификатор службы 0x07 и предоставляется через заголовочный файл Ea.h [SWS_Ea_00091]. В качестве входного параметра она принимает Block Number типа uint16; он обозначает логический номер блока и одновременно указывает начальный адрес соответствующего блока в EEPROM [SWS_Ea_00091]. Входные/выходные или чисто выходные параметры для этой службы не определены [SWS_Ea_00091].
Вызов выполняется как асинхронная операция (Asynchronous) [SWS_Ea_00091]. Возвращаемое значение E_OK типа Std_ReturnType подтверждает вызывающей стороне, что модуль EA принял запрос задания для дальнейшей обработки [SWS_Ea_00091].
Обработка ошибок
Если модуль EA не смог принять запрошенное задание, возвращается значение ошибки E_NOT_OK [SWS_Ea_00091]. Согласно спецификации данный возврат E_NOT_OK, однако, происходит исключительно тогда, когда DET активирован [SWS_Ea_00091].
Параллелизм и ограничения
Интерфейс специфицирован как нереентрабельный (Non Reentrant) [SWS_Ea_00091]. Интерпретация: следовательно, вызывающие стороны, предположительно, не должны вызывать функцию параллельно или прерывающим образом, так как со стороны модуля реентрабельность не обеспечивается [SWS_Ea_00091]. Вопрос Q-81d805517d2eac88 (открытый)
Это указание по использованию было автоматически создано на основе спецификации AUTOSAR Classic R20-11.
функция Ea_GetVersionInfo [SWS_Ea_00092] 📄 PDF
void Ea_GetVersionInfo (Std_VersionInfoType* VersionInfoPtr);
Service to get the version information of this module.
функция Ea_EraseImmediateBlock [SWS_Ea_00093] 📄 PDF
Std_ReturnType Ea_EraseImmediateBlock (uint16 BlockNumber);
Erases the block Block Number.
Функция Ea_EraseImmediateBlock служит для стирания логического блока в EEPROM согласно [SWS_Ea_00093].
- Использование и семантика: вызов выполняется асинхронно ([SWS_Ea_00093]). Через входной параметр
Block Numberпередается номер логического блока, который одновременно обозначает начальный адрес этого блока в EEPROM ([SWS_Ea_00093]). Возвращаемое значение имеет типStd_ReturnType:E_OKсигнализирует о том, что запрошенное задание было принято модулем ([SWS_Ea_00093]). - Обработка ошибок: если Default Error Tracer (DET) активирован, функция возвращает
E_NOT_OK, если задание не могло быть принято модулем EA ([SWS_Ea_00093]). Если DET не активирован, согласно тексту спецификации в случае ошибкиE_NOT_OKвозвращаться не должно. Вопрос Q-5015a2135dbd4723 (открытый) - Параллелизм и ограничения: функция специфицирована как нереентрабельная (Non Reentrant) ([SWS_Ea_00093]). Поэтому вызывающие стороны должны гарантировать исключение параллельных или перекрывающихся вызовов. Объявление доступно через заголовочный файл
Ea.h, а идентификатором службы является0x09([SWS_Ea_00093]).
Этот текст был создан ИИ на основе спецификации AUTOSAR.
функция Ea_JobEndNotification [SWS_Ea_00094] 📄 PDF
void Ea_JobEndNotification (void);
Service to report to this module the successful end of an asynchronous operation.
Функция Ea_JobEndNotification служит для уведомления модуля Ea об успешном завершении ранее инициированной асинхронной операции [SWS_Ea_00094]. Интерфейс предоставляется через заголовочный файл Ea.h и имеет Service-ID 0x10 [SWS_Ea_00094].
В отношении семантики и определения интерфейса согласно [SWS_Ea_00094] действуют следующие свойства:
- Сигнатура и параметры: функция не принимает входных параметров (
void) и не возвращает значения (void). - Синхронность: вызов обрабатывается синхронно.
- Обработка ошибок: интерфейс сообщает исключительно об успешном завершении; специфические коды ошибок или сообщения об ошибках для данного уведомления в элементе не определены.
В отношении параллелизма Ea_JobEndNotification специфицирована как нереэнтрантная (Non Reentrant) [SWS_Ea_00094]. Поэтому вызывающие компоненты должны гарантировать отсутствие параллельных или вложенных вызовов. Интерпретация: как правило, функция вызывается нижележащим драйвером, как только завершается его асинхронная обработка, при этом вызывающий контекст, предположительно, должен обеспечивать последовательное выполнение без взаимного вытеснения. Вопрос Q-296b61b743e7c9b8 (открытый)
Это указание по использованию было сгенерировано ИИ на основе спецификации AUTOSAR R20-11.
функция Ea_JobErrorNotification [SWS_Ea_00095] 📄 PDF
void Ea_JobErrorNotification (void);
Service to report to this module the failure of an asynchronous operation.
Функция Ea_JobErrorNotification служит интерфейсом уведомления, чтобы сообщить модулю Ea об ошибке ранее инициированной асинхронной операции [SWS_Ea_00095]. Она доступна через заголовочный файл Ea.h и имеет Service-ID 0x11 [SWS_Ea_00095].
В отношении спецификации интерфейса и применения действуют следующие свойства:
- Параметры и возвращаемое значение: функция не имеет ни входных параметров (ни in, ни out, ни inout), ни возвращаемого значения (сигнатура
void Ea_JobErrorNotification(void)) [SWS_Ea_00095]. - Поведение при выполнении и реентерабельность: вызов обрабатывается синхронно, однако специфицирован как нереентерабельный (Non Reentrant) [SWS_Ea_00095]. Поэтому вызывающие стороны должны гарантировать, что вызовы происходят последовательно и не перекрываются параллельными контекстами.
- Взаимодействие: поскольку функция сигнализирует о сбое асинхронного задания, вызов, как правило, должен выполняться нижележащим модулем абстракции аппаратного обеспечения или драйвером памяти, как только задание завершается сбоем (интерпретация). Вопрос Q-810e76dee987a5a1 (открытый)
Специфические коды ошибок, ошибки разработки (DET) или производственные ошибки (DEM) для этой службы не определены; отдельное поведение при ошибках для самого вызова в элементе не специфицировано.
Данный текст был создан ИИ. Все технические утверждения основаны исключительно на данных спецификации из AUTOSAR R20-11.
функция Ea_MainFunction [SWS_Ea_00096] 📄 PDF
void Ea_MainFunction (void);
Service to handle the requested jobs and the internal management operations.
Использование
Функция Ea_MainFunction служит для обработки запрошенных заданий, а также для выполнения внутренних операций управления внутри модуля EEPROM-Abstraction [SWS_Ea_00096]. Согласно определению интерфейса void Ea_MainFunction(void) функция не принимает входных параметров и не возвращает значения вызывающему компоненту [SWS_Ea_00096].
Контекст вызова и параллелизм
Интерфейс имеет Service-ID 0x12 и объявляется через заголовочный файл SchM_Ea.h [SWS_Ea_00096]. Интерпретация: в связи с предоставлением через SchM_Ea.h вызов, как правило, должен выполняться циклически диспетчером расписания (BSW Scheduler) в контексте задачи для непрерывного фонового продолжения асинхронной обработки заданий памяти. Вопрос Q-23f33a40a1e08c34 (открытый)
Обработка ошибок
Поскольку Ea_MainFunction не возвращает значения, состояния ошибок или ход выполнения задания не передаются напрямую через вызов функции [SWS_Ea_00096]. Специфические коды ошибок, а также требования к отправке сообщений в модуль интерфейса разработки (DET) или модуль диагностики (DEM) для данной службы в приведенной выдержке из спецификации не определены.
Этот текст был сгенерирован автоматически. Все сведения основаны исключительно на данных спецификации релиза R20-11.
функция NvM_JobEndNotification [SWS_Ea_00099] 📄 PDF
void NvM_JobEndNotification (void);
Function to be used by the underlying memory abstraction to signal end of job without error.
Использование и семантика
Функция обратного вызова NvM_JobEndNotification служит согласно [SWS_Ea_00099] для того, чтобы базовая абстракция памяти сигнализировала вышележащим модулям об успешном завершении задания без ошибок. Служба имеет сигнатуру void NvM_JobEndNotification(void); она не ожидает ни входных, ни входных/выходных параметров и не возвращает значения [SWS_Ea_00099]. Выполнение специфицировано как синхронное, а интерфейс предоставляется через заголовочный файл NvM_MemIf.h [SWS_Ea_00099].
Параллелизм и условия вызова
В отношении поведения во время выполнения NvM_JobEndNotification классифицирована как нереэнтрантная (Non Reentrant) [SWS_Ea_00099]. Поэтому вызывающие сущности должны гарантировать, что уведомление не вызывается с прерыванием или параллельно из нескольких контекстов. Интерпретация: уровень абстракции памяти, как правило, должен выполнять данную функцию в рамках своей циклической главной функции или после завершения асинхронного задания драйвера, как только установлено, что операция завершилась без ошибок. Вопрос Q-adabc07be0a3e7d2 (открытый)
Обработка ошибок и взаимодействие
Для этой функции уведомления в [SWS_Ea_00099] не определены ни специфические коды ошибок, ни ошибки разработки (DET), ни производственные ошибки (DEM). Это обусловлено тем, что вызов указывает исключительно на безошибочное завершение задания [SWS_Ea_00099]. Если во время выполнения задания памяти возникает ошибка, данное уведомление не вызывается.
Этот текст сгенерирован ИИ на основе спецификации.
функция NvM_JobErrorNotification [SWS_Ea_00100] 📄 PDF
void NvM_JobErrorNotification (void);
Function to be used by the underlying memory abstraction to signal end of job with error.
Функция уведомления NvM_JobErrorNotification используется нижележащей абстракцией памяти (Memory Abstraction) для сообщения модулю NVRAM Manager об ошибочном завершении задания [SWS_Ea_00100]. Объявление данного интерфейса предоставляется через заголовочный файл NvM_MemIf.h [SWS_Ea_00100].
Для вызова и интеграции интерфейса согласно спецификации [SWS_Ea_00100] действуют следующие свойства:
-
Сигнатура и синтаксис: функция имеет сигнатуру
void NvM_JobErrorNotification (void)[SWS_Ea_00100]. -
Параметры и возвращаемые значения: функция не имеет ни входных параметров (
Parameters (in): None), ни входных/выходных параметров (Parameters (inout): None), ни выходных параметров (Parameters (out): None) и не возвращает значения (Return value: None) [SWS_Ea_00100]. -
Синхронность: вызов специфицирован как синхронный (
Synchronous) [SWS_Ea_00100]. -
Параллелизм: функция определена как нереэнтрантная (
Non Reentrant) [SWS_Ea_00100]. Соответствующие вызовы из абстракции памяти не должны выполняться параллельно или с перекрытием.
Специфические коды ошибок, параметры для дифференциации ошибок или требования к уведомлениям для модулей Default Error Tracer (DET) или Diagnostic Event Manager (DEM) в определении отсутствуют [SWS_Ea_00100]. Функция служит исключительно в качестве чистого сообщения о состоянии с результатом задания, завершившегося с ошибкой [SWS_Ea_00100].
Это указание по использованию было сгенерировано автоматически и опирается исключительно на спецификацию AUTOSAR Classic R20-11.
тип Ea_ConfigType [SWS_Ea_00190] 📄 PDF
Configuration data structure of the Ea module.
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_Ea- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_Ea@rel:R20-11#9f5aeec8- Content hash
9f5aeec8- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_EEPROMAbstraction.pdf#nameddest=SWS_Ea_00084
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал