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
función Ea_Init [SWS_Ea_00084] 📄 PDF
void Ea_Init (const Ea_ConfigType* ConfigPtr);
Initializes the EEPROM abstraction module.
La función Ea_Init sirve para inicializar el módulo EEPROM Abstraction ([SWS_Ea_00084]). Se proporciona a través del archivo de cabecera Ea.h y pone el módulo en estado operativo ([SWS_Ea_00084]).
Según la especificación de la interfaz en [SWS_Ea_00084], para la llamada se aplican las siguientes propiedades y condiciones de contorno:
- Semántica y Service-ID: La llamada se realiza de forma síncrona. Al servicio se le ha asignado el Service-ID
0x00. - Reentrancia: La función está especificada como no reentrante (Non Reentrant) y, por lo tanto, no debe ejecutarse de forma concurrente.
- Parámetros: Como parámetro de entrada sirve
ConfigPtr(tipoconst Ea_ConfigType*), que apunta al conjunto de datos de configuración seleccionado. No existen parámetros de entrada/salida ni de salida. - Valor de retorno: La función no devuelve ningún valor de retorno (
void).
En cuanto al contexto de llamada, la presente entrada no contiene determinaciones explícitas; es de suponer que la inicialización se realice típicamente de forma centralizada en la fase de arranque de la unidad de control, antes de que se ejecuten otras funciones del módulo. Pregunta Q-b2b40930e5fd0ee7 (abierta) En [SWS_Ea_00084] no se enumeran códigos de error específicos, reacciones en caso de error ni mensajes a DET y DEM.
Este texto fue generado por una IA a partir de la especificación AUTOSAR R20-11.
Guía del implementador pendiente (complejidad I1)
función Ea_SetMode [SWS_Ea_00085] 📄 PDF
void Ea_SetMode (MemIf_ModeType Mode);
Function to switch the mode of the underlying EEPROM Driver
Uso y semántica
La función Ea_SetMode sirve para conmutar el modo de funcionamiento del controlador de EEPROM subyacente ([SWS_Ea_00085]). Acepta como parámetro de entrada el modo deseado Mode de tipo MemIf_ModeType ([SWS_Ea_00085]). La función no tiene valor de retorno (void) y está disponible con el Service-ID 0x01 a través del archivo de cabecera Ea.h ([SWS_Ea_00085]).
La ejecución se realiza de forma asíncrona (Asynchronous), de modo que la conmutación efectiva del controlador se sigue procesando en segundo plano tras la llamada ([SWS_Ea_00085]).
Concurrencia y restricciones
-
Reentrancia: La función está especificada como no reentrante (
Non Reentrant) ([SWS_Ea_00085]). Las llamadas paralelas desde diferentes tareas o contextos deben evitarse por parte de la entidad que realiza la llamada. -
Contexto de llamada y parámetros: No se deben transferir parámetros de entrada/salida ni exclusivamente de salida; únicamente está previsto el parámetro de entrada
Mode([SWS_Ea_00085]).
Este texto fue creado por una IA a partir de la especificación AUTOSAR.
Guía del implementador pendiente (complejidad I1)
función 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.
Uso y semántica
La función Ea_Read sirve para leer datos útiles de un bloque lógico de EEPROM especificado a través de la cabecera Ea.h [SWS_Ea_00086]. Mediante el parámetro Block Number se direcciona el bloque lógico, el cual determina al mismo tiempo su dirección de inicio en la EEPROM [SWS_Ea_00086]. El parámetro Block Offset define el desplazamiento relativo de lectura dentro del bloque, mientras que Length define el número de bytes que se van a leer [SWS_Ea_00086]. Los datos de destino se escriben en el búfer referenciado por Data Buffer Ptr [SWS_Ea_00086].
La llamada se comporta de manera asíncrona (Asynchronous): el valor de retorno E_OK solo señala que el módulo Ea ha aceptado la solicitud de orden, mientras que E_NOT_OK indica un rechazo de la orden [SWS_Ea_00086]. Interpretación: dado que la transmisión de datos se realiza de forma asíncrona en segundo plano, es de suponer que el búfer referenciado debe proporcionarse inalterado y válido hasta la ejecución completa de la orden. Pregunta Q-34c9b29f373bd6cf (abierta)
Concurrencia y restricciones
La interfaz está especificada como no reentrante (Non Reentrant) [SWS_Ea_00086]. En consecuencia, las llamadas paralelas desde diferentes contextos de ejecución no están permitidas y deben sincronizarse en el lado del llamador.
Esta nota de uso se ha generado automáticamente a partir de la especificación R20-11.
función 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.
La función Ea_Write inicia la escritura asíncrona de datos desde un búfer en un bloque lógico de EEPROM [SWS_Ea_00087]. Se declara a través del archivo de cabecera Ea.h y posee el Service-ID 0x03 [SWS_Ea_00087].
Parámetros y valor de retorno
BlockNumber(entrada,uint16): designa el número del bloque lógico y representa al mismo tiempo su dirección de inicio en la EEPROM [SWS_Ea_00087].DataBufferPtr(entrada,const uint8*): puntero al búfer que contiene los datos que se van a escribir [SWS_Ea_00087].- Valor de retorno (
Std_ReturnType):E_OKindica que la orden de escritura ha sido aceptada para su ejecución por el módulo Ea;E_NOT_OKsignifica que la solicitud ha sido rechazada [SWS_Ea_00087].
Concurrencia y restricciones
La función está especificada como no reentrante (Non Reentrant) [SWS_Ea_00087]. Por lo tanto, presumiblemente las llamadas concurrentes no deben realizarse de forma descoordinada sin una sincronización externa previa. Pregunta Q-a52fbcca6963c760 (abierta) Dado que el proceso de escritura se ejecuta de forma asíncrona (Asynchronous) [SWS_Ea_00087], es de suponer que el llamador debe mantener el búfer proporcionado DataBufferPtr inalterado en memoria hasta la finalización completa de la orden. En el extracto de la especificación de la función no se indican códigos de error específicos de DET o DEM.
Esta nota de uso fue generada por una IA a partir de la especificación de AUTOSAR Release R20-11.
función Ea_Cancel [SWS_Ea_00088] 📄 PDF
void Ea_Cancel (void);
Cancels the ongoing asynchronous operation.
La función Ea_Cancel cancela un proceso asíncrono del módulo EEPROM Abstraction actualmente en curso ([SWS_Ea_00088]). El servicio se proporciona a través del archivo de cabecera Ea.h y tiene el Service-ID 0x04 ([SWS_Ea_00088]).
En cuanto al comportamiento de llamada y a la definición de la interfaz, se aplican las siguientes características ([SWS_Ea_00088]):
- Semántica: La llamada en sí se realiza de forma síncrona (
Synchronous), a pesar de que cancela una operación asíncrona en curso ([SWS_Ea_00088]). - Parámetros y retorno: La signatura es
void Ea_Cancel(void). La función no espera parámetros de entrada, salida ni transferencia, y no tiene valor de retorno ([SWS_Ea_00088]). - Reentrancia: La interfaz está definida como no reentrante (
Non Reentrant) ([SWS_Ea_00088]). Por consiguiente, no debe llamarse de forma concurrente desde varios contextos de ejecución o tareas que interrumpan.
Dado que Ea_Cancel no acepta identificadores de tarea o de bloque, la cancelación se refiere directamente al proceso global asíncrono que se encuentra actualmente en curso ([SWS_Ea_00088]). Los datos de la especificación no contienen códigos de error específicos ni respuestas a mecanismos de detección. Presumiblemente, la llamada la realizan típicamente capas superiores como la Memory Abstraction Interface (MemIf), con el fin de finalizar prematuramente y de forma selectiva procesos prolongados de lectura, escritura o borrado. Pregunta Q-e441cbf6a5097568 (abierta)
Este texto fue generado por una IA a partir de la especificación AUTOSAR R20-11.
función Ea_GetStatus [SWS_Ea_00089] 📄 PDF
MemIf_StatusType Ea_GetStatus (void);
Service to return the Status.
función Ea_GetJobResult [SWS_Ea_00090] 📄 PDF
MemIf_JobResultType Ea_GetJobResult (void);
Service to return the Job Result.
función Ea_InvalidateBlock [SWS_Ea_00091] 📄 PDF
Std_ReturnType Ea_InvalidateBlock (uint16 BlockNumber);
Invalidates the block Block Number.
usar
La función Ea_InvalidateBlock sirve para invalidar un bloque indicado mediante el número de bloque lógico [SWS_Ea_00091]. Posee el Service-ID 0x07 y se proporciona a través del archivo de cabecera Ea.h [SWS_Ea_00091]. Como parámetro de entrada acepta Block Number de tipo uint16; este designa el número de bloque lógico e indica al mismo tiempo la dirección de inicio del bloque correspondiente en la EEPROM [SWS_Ea_00091]. Para este servicio no se han definido parámetros de entrada/salida ni exclusivamente de salida [SWS_Ea_00091].
La llamada se ejecuta como una operación asíncrona (Asynchronous) [SWS_Ea_00091]. Un valor de retorno E_OK de tipo Std_ReturnType confirma a la entidad que realiza la llamada que el módulo EA ha aceptado la solicitud de la tarea para su posterior procesamiento [SWS_Ea_00091].
Manejo de errores
Si el módulo EA no ha podido aceptar la tarea solicitada, se devuelve el valor de error E_NOT_OK [SWS_Ea_00091]. Según la especificación, esta devolución de E_NOT_OK solo se produce, no obstante, si DET está habilitado [SWS_Ea_00091].
Concurrencia y restricciones
La interfaz está especificada como no reentrante (Non Reentrant) [SWS_Ea_00091]. Interpretación: Por consiguiente, es de suponer que las entidades que realizan la llamada no deben llamar a la función en paralelo ni de forma que se interrumpa, ya que no se garantiza la reentrancia por parte del módulo [SWS_Ea_00091]. Pregunta Q-81d805517d2eac88 (abierta)
Esta nota de uso se ha creado automáticamente sobre la base de la especificación de AUTOSAR Classic R20-11.
función Ea_GetVersionInfo [SWS_Ea_00092] 📄 PDF
void Ea_GetVersionInfo (Std_VersionInfoType* VersionInfoPtr);
Service to get the version information of this module.
función Ea_EraseImmediateBlock [SWS_Ea_00093] 📄 PDF
Std_ReturnType Ea_EraseImmediateBlock (uint16 BlockNumber);
Erases the block Block Number.
La función Ea_EraseImmediateBlock sirve para borrar un bloque lógico en la EEPROM según [SWS_Ea_00093].
- Uso y semántica: La llamada se realiza de forma asíncrona ([SWS_Ea_00093]). Mediante el parámetro de entrada
Block Numberse transmite el número del bloque lógico, el cual designa al mismo tiempo la dirección de inicio de este bloque en la EEPROM ([SWS_Ea_00093]). El valor de retorno es de tipoStd_ReturnType:E_OKseñala que el módulo ha aceptado la orden solicitada ([SWS_Ea_00093]). - Tratamiento de errores: Siempre que el Default Error Tracer (DET) esté activado, la función devuelve
E_NOT_OKsi el módulo EA no pudo aceptar la orden ([SWS_Ea_00093]). Si el DET no está activado, según el tenor literal de la especificación no debería devolverse ningúnE_NOT_OKen caso de error. Pregunta Q-5015a2135dbd4723 (abierta) - Concurrencia y restricciones: La función está especificada como no reentrante (Non Reentrant) ([SWS_Ea_00093]). Por lo tanto, los llamadores deben garantizar que se eviten las llamadas paralelas o superpuestas. La declaración está disponible a través del archivo de cabecera
Ea.h, y el ID de servicio es0x09([SWS_Ea_00093]).
Este texto fue creado por una IA a partir de la especificación AUTOSAR.
función Ea_JobEndNotification [SWS_Ea_00094] 📄 PDF
void Ea_JobEndNotification (void);
Service to report to this module the successful end of an asynchronous operation.
La función Ea_JobEndNotification sirve para comunicar al módulo Ea la finalización correcta de una operación asíncrona iniciada con anterioridad [SWS_Ea_00094]. La interfaz se proporciona mediante la cabecera Ea.h y posee el ID de servicio 0x10 [SWS_Ea_00094].
En cuanto a la semántica y la definición de interfaz, aplican las siguientes propiedades según [SWS_Ea_00094]:
- Firma y parámetros: La función no espera parámetros de transferencia (
void) y no devuelve ningún valor de retorno (void). - Sincronía: La llamada se procesa de forma síncrona.
- Tratamiento de errores: La interfaz notifica exclusivamente la finalización correcta; en el elemento no se definen códigos de error específicos ni mensajes de error para esta notificación.
En lo relativo a la concurrencia, Ea_JobEndNotification está especificada como no reentrante (Non Reentrant) [SWS_Ea_00094]. Por tanto, los llamadores deben asegurarse de que no se produzcan llamadas paralelas o anidadas. Interpretación: la función debería ser llamada típicamente por un controlador subyacente tan pronto como finalice su procesamiento asíncrono, debiendo presumiblemente el contexto llamador ocuparse de la secuencia ordenada sin desalojo mutuo. Pregunta Q-296b61b743e7c9b8 (abierta)
Esta nota de uso ha sido generada por una IA a partir de la especificación AUTOSAR R20-11.
función Ea_JobErrorNotification [SWS_Ea_00095] 📄 PDF
void Ea_JobErrorNotification (void);
Service to report to this module the failure of an asynchronous operation.
La función Ea_JobErrorNotification sirve como interfaz de notificación para comunicar al módulo Ea el error de una operación asíncrona iniciada previamente [SWS_Ea_00095]. Está disponible a través del archivo de cabecera Ea.h y posee el Service-ID 0x11 [SWS_Ea_00095].
En lo que respecta a la especificación de la interfaz y su uso, se aplican las siguientes propiedades:
- Parámetros y valor de retorno: la función no posee parámetros de transferencia (ni in, out ni inout) ni valor de retorno (firma
void Ea_JobErrorNotification(void)) [SWS_Ea_00095]. - Comportamiento de ejecución y reentrancia: la llamada se procesa de forma síncrona, pero está especificada como no reentrante (Non Reentrant) [SWS_Ea_00095]. Por tanto, los llamadores deben asegurarse de que las llamadas se realicen secuencialmente y no se solapen por contextos paralelos.
- Interacción: dado que la función señaliza el fallo de una orden asíncrona, es de suponer que la llamada la realiza típicamente un módulo de abstracción de hardware subyacente o un controlador de memoria tan pronto como falla una orden (interpretación). Pregunta Q-810e76dee987a5a1 (abierta)
Para este servicio no se han definido códigos de error específicos, errores de desarrollo (DET) o errores de producción (DEM); en el elemento no se especifica un comportamiento de error específico para la llamada en sí.
Este texto fue elaborado por una IA. Todas las declaraciones técnicas se basan exclusivamente en los datos de especificación de AUTOSAR R20-11.
función Ea_MainFunction [SWS_Ea_00096] 📄 PDF
void Ea_MainFunction (void);
Service to handle the requested jobs and the internal management operations.
usar
La función Ea_MainFunction sirve para el procesamiento de órdenes solicitadas así como para la tramitación de operaciones de gestión internas dentro del módulo de abstracción de EEPROM [SWS_Ea_00096]. Según la definición de interfaz void Ea_MainFunction(void), la función no recibe parámetros de transferencia y no devuelve ningún valor de retorno al llamador [SWS_Ea_00096].
Contexto de llamada y concurrencia
La interfaz posee el ID de servicio 0x12 y se declara a través del archivo de cabecera SchM_Ea.h [SWS_Ea_00096]. Interpretación: debido a su provisión a través de SchM_Ea.h, la llamada debería realizarse típicamente de forma cíclica por parte del Schedule Manager (BSW Scheduler) en el contexto de tarea, a fin de continuar de forma continua en segundo plano el procesamiento asíncrono de órdenes de memoria. Pregunta Q-23f33a40a1e08c34 (abierta)
Manejo de errores
Dado que Ea_MainFunction no proporciona ningún valor de retorno, los estados de error o el avance de la orden no se transmiten directamente a través de la llamada a la función [SWS_Ea_00096]. En el presente extracto de la especificación no se definen códigos de error específicos ni requisitos para la notificación al módulo de interfaz de desarrollo (DET) o al módulo de diagnóstico (DEM) para este servicio.
Este texto ha sido generado automáticamente. Todas las indicaciones se basan exclusivamente en los datos de especificación del Release R20-11.
función 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.
Uso y semántica
La función de callback NvM_JobEndNotification sirve, según [SWS_Ea_00099], a la abstracción de memoria subyacente para señalar a los módulos superiores la finalización correcta de una orden sin errores. El servicio posee la firma void NvM_JobEndNotification(void); no espera parámetros de entrada ni de entrada/salida y no devuelve ningún valor [SWS_Ea_00099]. La ejecución está especificada como síncrona y la interfaz se proporciona a través del archivo de cabecera NvM_MemIf.h [SWS_Ea_00099].
Concurrencia y condiciones de invocación
En relación con el comportamiento en tiempo de ejecución, NvM_JobEndNotification está catalogada como no reentrante (Non Reentrant) [SWS_Ea_00099]. Por consiguiente, las instancias llamadoras deben garantizar que la notificación no se llame de forma interruptiva ni en paralelo desde múltiples contextos. Interpretación: la capa de abstracción de memoria debería ejecutar la función típicamente en el marco de su función principal cíclica o tras la finalización de una orden de controlador asíncrona, tan pronto como se determine que la operación finalizó sin errores. Pregunta Q-adabc07be0a3e7d2 (abierta)
Tratamiento de errores e interacción
Para esta función de notificación no se definen en [SWS_Ea_00099] códigos de error específicos ni errores de desarrollo (DET) o errores de producción (DEM). Esto se debe a que la llamada indica exclusivamente la finalización sin errores de una orden [SWS_Ea_00099]. Si se produce un error durante una orden de memoria, esta notificación no se llama.
Este texto fue generado por una IA a partir de la especificación.
función 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.
La función de notificación NvM_JobErrorNotification es utilizada por la abstracción de memoria subyacente (Memory Abstraction) para notificar la finalización errónea de una orden al NVRAM Manager [SWS_Ea_00100]. La declaración de esta interfaz se pone a disposición a través del archivo de cabecera NvM_MemIf.h [SWS_Ea_00100].
Para la llamada y la integración de la interfaz rigen las siguientes propiedades según la especificación [SWS_Ea_00100]:
-
Firma y sintaxis: La función posee la firma
void NvM_JobErrorNotification (void)[SWS_Ea_00100]. -
Parámetros y valores de retorno: La función no posee parámetros de entrada (
Parameters (in): None), parámetros de entrada/salida (Parameters (inout): None) ni parámetros de salida (Parameters (out): None), y no devuelve ningún valor (Return value: None) [SWS_Ea_00100]. -
Sincronía: La llamada está especificada como síncrona (
Synchronous) [SWS_Ea_00100]. -
Concurrencia: La función está determinada como no reentrante (
Non Reentrant) [SWS_Ea_00100]. Por consiguiente, las llamadas correspondientes desde la abstracción de memoria no deben producirse de forma concurrente ni superpuesta.
La definición no contiene códigos de error específicos, parámetros para la diferenciación de errores ni requisitos relativos a notificaciones al módulo Default Error Tracer (DET) o Diagnostic Event Manager (DEM) [SWS_Ea_00100]. La función sirve únicamente como mera notificación de estado sobre el resultado del trabajo finalizado con un error [SWS_Ea_00100].
Esta nota de uso ha sido generada automáticamente y se basa exclusivamente en la especificación de AUTOSAR Classic R20-11.
tipo 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#4cab5c04- Content hash
4cab5c04- 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 · Original en alemán