AUTOSAR OS
Real-time operating system managing priority-based preemptive task scheduling, events, alarms, and schedule tables (OSEK/VDX derivative).
Funktionen — Übersicht
ApplicationType GetApplication (void);This service determines the OS - Application (a unique identifier has to be allocated to each application) where the caller...ApplicationType GetCurrentApplication (void);This service determines the OS - Application where the caller of the service is currently executing.ISRType GetISRID (void);This service returns the identifier of the currently executing ISR.StatusType CallTrustedFunction (TrustedFunctionIndexType FunctionIndex, TrustedFunctionParameterRefType FunctionParams);A (trusted or non - trusted) OS - Application uses this service to call a trusted functionAccessType CheckISRMemoryAccess (ISRType ISRID, MemoryStartAddressType Address, MemorySizeType Size);This service checks if a memory region is write/ read/ execute accessible and also returns information if the memory region is...AccessType CheckTaskMemoryAccess (TaskType TaskID, MemoryStartAddressType Address, MemorySizeType Size);This service checks if a memory region is write/ read/ execu te accessible and also returns information if the memory region...ObjectAccessType CheckObjectAccess (ApplicationType ApplID, ObjectTypeType ObjectType, void ...);This service determines if the OS - Applications, given by Appl ID, is allowed to use the IDs of a Task, Resource, Counter,...ApplicationType CheckObjectOwnership (ObjectTypeType ObjectType, void ...);This service determines to which OS - Application a given Task, ISR, Counter, Alarm or Schedule Table belongsStatusType StartScheduleTableRel (ScheduleTableType ScheduleTableID, TickType Offset);This service starts the processing of a schedule table at "Offset" relative to the "Now" value on the underlying counter.StatusType StartScheduleTableAbs (ScheduleTableType ScheduleTableID, TickType Start);This service starts the processing o f a schedule table at an absolute value "Start" on the underlying counter.StatusType StopScheduleTable (ScheduleTableType ScheduleTableID);This service cancels the processing of a schedule table immediately at any point while the schedule table is running.StatusType NextScheduleTable (ScheduleTableType ScheduleTableID_From, ScheduleTableType ScheduleTableID_To);This service switches the processing from one schedule table to another schedule table.StatusType StartScheduleTableSynchron (ScheduleTableType ScheduleTableID);This service starts an explicitly synchronized schedule table synchronously.StatusType SyncScheduleTable (ScheduleTableType ScheduleTableID, TickType Value);Service SyncScheduleTable.StatusType SetScheduletableAsync (ScheduleTableType ScheduleTableID);This service stops synchronization of a schedule table.StatusType GetScheduleTable GetScheduleTableStatusof (ScheduleTableType ScheduleTableID, ScheduleTableStatusRefType ScheduleStatus); ⚠️This service queries the state of a schedule table (also with respect to synchronization).StatusType IncrementCounter (CounterType CounterID);This service increments a software counter.StatusType GetCounterValue (CounterType CounterID, TickRefType Value);This service reads the current count value of a counte r (returning either the hardware timer ticks if counter is driven by...StatusType GetElapsedValue (CounterType CounterID, TickRefType Value, TickRefType ElapsedValue);This service gets the number of ticks between the current tick value and a previously read tick value.StatusType TerminateApplication (ApplicationType Application, RestartType RestartOption);Service TerminateApplication.StatusType AllowAccess (void);This service sets the own state of an OS - Application from AP PLICATION_ RESTARTING to APPLICATION_ ACCESSIBLE.StatusType GetApplicationState (ApplicationType Application, ApplicationStateRefType Value);This service returns the current state of an OS - Application.uint32 GetNumberOfActivated GetNumberActivatedCores (void); ⚠️The function returns the number of cores activated by the Start Core function.CoreIdType GetCore (void);The function returns a unique core identifier.void StartCore (CoreIdType CoreID, StatusType* Status);It is not supported to call this function after Start OS().void StartNonAutosar StartNonCore (CoreIdType CoreID, StatusType* Status); ⚠️The function start s the core specified by the parameter Core ID.StatusType GetSpinlock (SpinlockIdType SpinlockId);Get Spinlock tries to occupy a spin - lock variable.StatusType ReleaseSpinlock (SpinlockIdType SpinlockId);Release Spinlock releases a spinlock variable that was occupied before.StatusType TryToGetSpinlock (SpinlockIdType SpinlockId, TryToGetSpinlockType* Success);Try To Get Spinlock has the same functionality as Get Spinlock with the difference that if the spinlock is already occupied by...void ShutdownAllCores (StatusType Error);After this service the OS on all AUTOSAR cores is shut down.StatusType ControlIdle (CoreIdType CoreID, IdleModeType IdleMode);This API allows the caller to select the idle mode action which is performed during idle time of t he OS (e.StatusType ReadPeripheral (AreaIdType Area, const uint8* Address, uint8* ReadValue);This service returns the content of a given memory location ().StatusType ReadPeripheral16 (AreaIdType Area, const uint16* Address, uint16* ReadValue);This service returns the content of a given memory location ().StatusType ReadPeripheral32 (AreaIdType Area, const uint32* Address, uint32* ReadValue);This service returns the content of a given memory location ().StatusType WritePeripheral (AreaIdType Area, uint8* Address, uint8 WriteValue);This service writes the to a given memory location ().StatusType WritePeripheral16 (AreaIdType Area, uint16* Address, uint16 WriteValue);This service writes the to a given memory location ().StatusType WritePeripheral32 (AreaIdType Area, uint32* Address, uint32 WriteValue);This service writes the to a given memory location ().StatusType ModifyPeripheral (AreaIdType Area, uint8* Address, uint8 Clearmask, uint8 Setmask);This service modifies a given memory location () with the formula: * = ((* & ) | )StatusType ModifyPeripheral16 (AreaIdType Area, uint16* Address, uint16 Clearmask, uint16 Setmask);This service modifies a given memory location () with the formula: * = ((* & ) | )StatusType ModifyPeripheral32 (AreaIdType Area, uint32* Address, uint32 Clearmask, uint32 Setmask);This service modifies a given memory location () with the formula: * = ((* & ) | )StatusType EnableInterruptSource (ISRType ISRID, boolean ClearPending);Service EnableInterruptSource.StatusType DisableInterruptSource (ISRType ISRID);Disables the interrupt source by modifying the interrupt controller registers.StatusType ClearPendingInterrupt (ISRType ISRID);Service ClearPendingInterrupt.void ActivateTaskAsyn (TaskType id);Asynchronous version of the Activate Task() function.void SetEventAsyn (TaskType id, EventMaskType m);Asynchronous version of the Set Event() function.void Ioc (void);This service initializes the data structures of the IOC.void <ReceiverPullCB> (void);This callback function can be configured for the receiver of a communication.ProtectionReturnType ProtectionHook (StatusType Fatalerror);The protection hook is always called if a serious error occurs.
Typen — Übersicht
enum AppModeTypeApp Mode of the core shall be inherited from another core.TotalNumberOfCoresThe total number of coresApplicationTypeThis data type identifies the OS - Application.enum ApplicationStateTypeThis data type identifies the state of an OS - Application.ApplicationStateRefTypeThis data type points to location where a Application State Type can be stored.TrustedFunctionIndexTypeThis data type identifies a trusted function.struct TrustedFunctionParameterRefTypeThis data type points to a structure which holds the arguments for a call to a trusted function.AccessTypeThis type holds information how a specific memory region can be accessed.ObjectAccessTypeThis data type identifies if an OS - Application has access to an object.ObjectTypeThis data type identifies an object.MemoryStartAddressTypeThis data type is a pointer which is able to point to any location in the MCU address space.MemorySizeTypeThis data type holds the size (in bytes) of a memory region.ISRTypeThis data type identifies an interrupt service routine (ISR).ScheduleTableTypeThis data type identifies a schedule table.enum ScheduleTableStatusTypeThis type describes the status of a schedule.ScheduleTableStatusRefTypeThis data type points to a variable of the data type Schedule Table Status Type.enum ProtectionReturnTypeThis data type identifies a value which controls further actions of the OS on return from the protection hook.RestartTypeThis data type defines the use of a Restart Task after terminating an OS - Application.PhysicalTimeTypeThis data type is used for values returned by the conversion macro (see SWS_ Os_00393) OS_ TICKS2_().CoreIdTypeCore Id Type is a scalar that allows identifying a single core.SpinlockIdTypeSpinlock Id Type identifies a spinlock instance and is used by the API functions: Get Spinlock, Release Spinlock and Try To...TryToGetSpinlockTypeThe Try To Get Spinlock Type indicates if the spinlock has been occupied or not.enum IdleModeTypeThis data type identifies the idle mode behavior.AreaIdTypeArea Id Type identifies a peripheral area and is used by the API functions: Read Peripheral X, Write Peripheral X and Modify...TimeInMicrosecondsType-CounterTypeThis data type identifies a counter.typedef TickTypeThis data type represents count values in ticks.enum StatusTypeThis data type represents standard OSEK OS status codes (e.typedef TaskTypeThis data type identifies an AUTOSAR OS task.typedef EventMaskTypeThis data type represents an event mask for extended tasks.typedef AlarmTypeThis data type represents an AUTOSAR OS alarm identifier.
Funktionen & Typen — Detailansicht
función GetApplication [SWS_Os_00016] 📄 PDF
ApplicationType GetApplicationID (void);
This service determines the OS - Application (a unique identifier has to be allocated to each application) where the caller originally belongs to (was configured t o).
función GetCurrentApplication [SWS_Os_00797] 📄 PDF
ApplicationType GetCurrentApplicationID (void);
This service determines the OS - Application where the caller of the service is currently executing. Note that if the caller is not within a Call Trusted Function() call the value is eq ual to the result of Get Application ID().
función GetISRID [SWS_Os_00511] 📄 PDF
ISRType GetISRID (void);
This service returns the identifier of the currently executing ISR.
función CallTrustedFunction [SWS_Os_00097] 📄 PDF
StatusType CallTrustedFunction (TrustedFunctionIndexType FunctionIndex, TrustedFunctionParameterRefType FunctionParams);
A (trusted or non - trusted) OS - Application uses this service to call a trusted function
A través del servicio de sistema CallTrustedFunction (Service ID 0x02), una OS-Application de confianza o no de confianza puede llamar para su ejecución a una Trusted Function definida [SWS_Os_00097]. La interfaz se proporciona a través de la cabecera Os.h [SWS_Os_00097].
La llamada requiere el paso de dos parámetros de entrada [SWS_Os_00097]:
FunctionIndex(tipoTrustedFunctionIndexType): Designa el índice de la función a invocar [SWS_Os_00097].FunctionParams(tipoTrustedFunctionParameterRefType): Pasa un puntero a los parámetros de la función de destino; si no se requieren argumentos, es obligatorio pasar un puntero NULL [SWS_Os_00097].
En cuanto al comportamiento temporal, la ejecución se rige por la rutina de destino: si la función invocada es síncrona, el servicio también se comporta de forma síncrona [SWS_Os_00097]. La función está implementada de forma reentrante, pero puede provocar una reprogramación (rescheduling) del sistema operativo durante la ejecución [SWS_Os_00097].
Como valor de retorno, el servicio suministra un valor de estado de tipo StatusType [SWS_Os_00097]:
E_OK: La ejecución fue correcta y sin errores [SWS_Os_00097].E_OS_SERVICEID: No hay ninguna función válida asignada al índice transferido [SWS_Os_00097].
Esta nota de uso se generó automáticamente a partir de AUTOSAR R20-11.
Guía del implementador pendiente (complejidad I2)
función CheckISRMemoryAccess [SWS_Os_00512] 📄 PDF
AccessType CheckISRMemoryAccess (ISRType ISRID, MemoryStartAddressType Address, MemorySizeType Size);
This service checks if a memory region is write/ read/ execute accessible and also returns information if the memory region is part of the stack space.
La función CheckISRMemoryAccess es un servicio del sistema síncrono y reentrante del módulo OS ([SWS_Os_00512]). Sirve para comprobar en tiempo de ejecución los permisos de acceso a la memoria de una ISR especificada para un área de memoria determinada.
Uso y parámetros
La llamada a CheckISRMemoryAccess espera tres parámetros de entrada ([SWS_Os_00512]):
ISRID: referencia a la ISR que se va a comprobar (ISRType).Address: dirección inicial del área de memoria que se va a examinar (MemoryStartAddressType).Size: tamaño del área de memoria (MemorySizeType).
Como valor de retorno, el servicio proporciona el tipo AccessType. Este valor de retorno contiene los permisos de acceso (lectura, escritura, ejecución) al área especificada e informa adicionalmente de si el área de memoria forma parte del área de pila ([SWS_Os_00512]).
Concurrencia e integración
Según la especificación, la función posee el ID de servicio 0x03 y está declarada como reentrante ([SWS_Os_00512]). Está disponible a través del encabezado Os.h ([SWS_Os_00512]). En el presente extracto de la especificación no se indican códigos de error específicos ni respuestas explícitas a DET/DEM.
Esta nota de uso se ha generado automáticamente a partir de los datos de especificación de AUTOSAR R20-11.
Guía del implementador pendiente (complejidad I2)
función CheckTaskMemoryAccess [SWS_Os_00513] 📄 PDF
AccessType CheckTaskMemoryAccess (TaskType TaskID, MemoryStartAddressType Address, MemorySizeType Size);
This service checks if a memory region is write/ read/ execu te accessible and also returns information if the memory region is part of the stack space.
La función CheckTaskMemoryAccess constituye un servicio síncrono del sistema operativo proporcionado a través de la cabecera Os.h y posee el ID de servicio 0x04 [SWS_Os_00513]. Sirve para consultar los derechos de acceso a memoria de una tarea específica para un segmento de memoria determinado [SWS_Os_00513].
Parámetros y valores de retorno
Al llamarse, el servicio acepta tres parámetros de entrada [SWS_Os_00513]:
Task ID(de tipoTaskType): Referencia a la tarea cuyos derechos de acceso se van a comprobar.Address(de tipoMemoryStartAddressType): La dirección de inicio de la zona de memoria que se va a comprobar.Size(de tipoMemorySizeType): El tamaño de la zona de memoria que se va a comprobar.
Como valor de retorno, el servicio suministra una variable del tipo AccessType [SWS_Os_00513]. Este valor de retorno contiene la información de si la zona de memoria indicada es accesible para la tarea con derechos de escritura, lectura o ejecución, e indica adicionalmente si el área forma parte del espacio de la pila [SWS_Os_00513]. No se especifican códigos de error adicionales ni notificaciones DET para este servicio.
Concurrencia e interacción
El servicio está especificado como reentrante y, por tanto, puede utilizarse de forma segura en contextos de ejecución concurrentes [SWS_Os_00513]. Mientras que CheckTaskMemoryAccess consulta los permisos de zonas de memoria en tiempo de ejecución, el estándar AUTOSAR define en las descripciones de módulos ARTI interfaces y estructuras de datos a través de las cuales las herramientas de depuración pueden registrar y evaluar estados y atributos de objetos del sistema operativo [SWS_Os_00829].
Este texto fue generado por una IA a partir de la especificación AUTOSAR R20-11.
Guía del implementador pendiente (complejidad I2)
función CheckObjectAccess [SWS_Os_00256] 📄 PDF
ObjectAccessType CheckObjectAccess (ApplicationType ApplID, ObjectTypeType ObjectType, void ...);
This service determines if the OS - Applications, given by Appl ID, is allowed to use the IDs of a Task, Resource, Counter, Alarm or Schedule Table in API calls.
Uso y semántica
La función CheckObjectAccess ([SWS_Os_00256]) determina sincrónicamente si una determinada OS-Application posee la autorización para utilizar el ID de un objeto del sistema operativo en llamadas a la API. Para identificar la aplicación se utiliza el parámetro de entrada ApplID de tipo ApplicationType ([SWS_Os_00256]). Mediante ObjectType (tipo ObjectTypeType) se define qué tipo de objeto se debe comprobar; se admiten Task, Resource, Counter, Alarm y Schedule Table ([SWS_Os_00256]). Como tercer parámetro sigue el propio objeto a examinar a través de la lista de parámetros variables ... ([SWS_Os_00256]).
Como valor de retorno, la función devuelve el tipo ObjectAccessType: si el acceso de la aplicación al objeto está permitido, se devuelve ACCESS; en caso contrario, NO_ACCESS ([SWS_Os_00256]). El servicio está declarado mediante la cabecera Os.h y posee el ID de servicio 0x05 ([SWS_Os_00256]).
Concurrencia, tratamiento de errores e interacción
El servicio está especificado como reentrante y, por tanto, puede llamarse en contextos de ejecución concurrentes ([SWS_Os_00256]). La especificación no contempla para esta función códigos de error específicos, valores de retorno para estados de error ni avisos a DET o DEM ([SWS_Os_00256]).
Interpretación: es de prever que el argumento variable ... pase en la implementación el identificador concreto del objeto correspondiente a ObjectType. Pregunta Q-5cb52ff94bb07826 (abierta) Los objetos del sistema operativo comprobados también se reflejan en la información de depuración de ARTI, que registra y evalúa atributos y estados de objetos del sistema operativo ([SWS_Os_00829]).
Esta nota de uso se ha generado de forma automatizada sobre la base de la especificación R20-11.
Guía del implementador pendiente (complejidad I1)
función CheckObjectOwnership [SWS_Os_00017] 📄 PDF
ApplicationType CheckObjectOwnership (ObjectTypeType ObjectType, void ...);
This service determines to which OS - Application a given Task, ISR, Counter, Alarm or Schedule Table belongs
usar
La función síncrona del sistema CheckObjectOwnership sirve para determinar a qué OS-Application pertenece un determinado objeto del sistema operativo [SWS_Os_00017]. Entre los objetos consultables a través de este servicio se incluyen tareas, rutinas de servicio de interrupción (ISRs), contadores, alarmas y tablas de planificación [SWS_Os_00017].
La función está disponible a través del archivo de cabecera Os.h y posee el ID de servicio 0x06 [SWS_Os_00017]. Al utilizarse, la función acepta dos parámetros de entrada:
ObjectType: Identifica como parámetro de entrada de tipoObjectTypeTypeel tipo del objeto del sistema operativo pasado a continuación [SWS_Os_00017]....: Pasa el objeto concreto a examinar al servicio [SWS_Os_00017].
Como valor de retorno, la función proporciona el tipo de datos ApplicationType [SWS_Os_00017]. Este contiene el identificador de aquella OS-Application a la que está asignado el objeto comprobado [SWS_Os_00017].
Tratamiento de errores y propiedades de ejecución
Si el objeto consultado no existe en el sistema, el servicio devuelve el valor de retorno INVALID_OSAPPLICATION [SWS_Os_00017].
En cuanto al comportamiento de concurrencia, CheckObjectOwnership está especificada como reentrante y opera de forma completamente síncrona [SWS_Os_00017]. Aparte del valor de retorno, no existen parámetros de entrada y salida (inout u out) [SWS_Os_00017].
Esta nota de uso se basa en la especificación SWS_Os_00017 de AUTOSAR Classic R20-11.
Guía del implementador pendiente (complejidad I1)
función StartScheduleTableRel [SWS_Os_00347] 📄 PDF
StatusType StartScheduleTableRel (ScheduleTableType ScheduleTableID, TickType Offset);
This service starts the processing of a schedule table at "Offset" relative to the "Now" value on the underlying counter.
Uso y parámetros
El servicio del sistema StartScheduleTableRel inicia el procesamiento de una tabla de planificación relativo al valor actual del contador («Now») del contador subyacente [SWS_Os_00347]. La llamada se ejecuta de forma síncrona y está disponible a través de la interfaz Os.h con el ID de servicio 0x07 [SWS_Os_00347].
ScheduleTableID(entrada,ScheduleTableType): identificador de la tabla de planificación que se va a iniciar [SWS_Os_00347].Offset(entrada,TickType): número relativo de tics de contador en el contador antes de que comience el procesamiento de la tabla [SWS_Os_00347].
Valores de retorno y tratamiento de errores
La función devuelve un código de estado de tipo StatusType [SWS_Os_00347]:
E_OK: la tabla de planificación se ha iniciado sin errores [SWS_Os_00347].E_OS_STATE: la tabla de planificación indicada ya se ha iniciado previamente [SWS_Os_00347].E_OS_ID(solo con el estadoEXTENDED): laScheduleTableIDindicada no es válida [SWS_Os_00347].E_OS_VALUE(solo con el estadoEXTENDED): el parámetroOffsetes igual a0o supera el valor(OsCounterMaxAllowedValue - InitialOffset)[SWS_Os_00347].
Concurrencia y restricciones
La función está especificada como reentrante [SWS_Os_00347]. No existen parámetros de salida ni de entrada/salida [SWS_Os_00347].
Esta nota de uso se basa en la especificación AUTOSAR CP R20-11.
Guía del implementador pendiente (complejidad I2)
función StartScheduleTableAbs [SWS_Os_00358] 📄 PDF
StatusType StartScheduleTableAbs (ScheduleTableType ScheduleTableID, TickType Start);
This service starts the processing o f a schedule table at an absolute value "Start" on the underlying counter.
La función síncrona y reentrante StartScheduleTableAbs sirve para iniciar una tabla de planificación (Schedule Table) con un valor de contador absoluto predeterminado en el contador subyacente ([SWS_Os_00358]). El servicio está disponible a través del encabezado Os.h y se identifica mediante el ID de servicio 0x08 ([SWS_Os_00358]).
En la llamada se pasan dos parámetros de entrada ([SWS_Os_00358]):
ScheduleTableID: identificador de la Schedule Table que se va a iniciar.Start: valor de tic de contador absoluto en el que se inicia la Schedule Table.
Como valor de retorno, la función proporciona el estado de tipo StatusType ([SWS_Os_00358]):
E_OK: el proceso de inicio se ha realizado correctamente.E_OS_STATE: la Schedule Table indicada ya se había iniciado previamente.E_OS_ID: elScheduleTableIDtransmitido no es válido (solo se devuelve en el estadoEXTENDED).E_OS_VALUE: el valor deStartsupera el valor de contador máximo permitidoOsCounterMaxAllowedValue(solo se devuelve en el estadoEXTENDED).
En lo referente a la interacción, el estado y los atributos dinámicos de los objetos del sistema operativo, tales como las Schedule Tables, pueden ser evaluados y mostrados por herramientas de depuración conectadas mediante descripciones de módulos ARTI ([SWS_Os_00829]). Interpretación: es probable que el contexto de llamada comprenda principalmente niveles de tarea, ya que en el extracto de la especificación no se indica ninguna restricción explícita. Pregunta Q-213de28d0345ccb1 (abierta)
Este texto ha sido elaborado por una IA y se basa exclusivamente en las especificaciones del release R20-11.
Guía del implementador pendiente (complejidad I2)
función StopScheduleTable [SWS_Os_00006] 📄 PDF
StatusType StopScheduleTable (ScheduleTableType ScheduleTableID);
This service cancels the processing of a schedule table immediately at any point while the schedule table is running.
La función del sistema síncrona StopScheduleTable ([SWS_Os_00006]) cancela el procesamiento de una tabla de planificación en curso de forma inmediata en cualquier momento del procesamiento. El servicio está declarado en la cabecera Os.h y tiene el Service ID 0x09 ([SWS_Os_00006]). Como único parámetro de entrada sirve ScheduleTableID de tipo ScheduleTableType, que especifica la tabla de planificación que se va a detener; no existen parámetros de entrada/salida ni exclusivamente de salida ([SWS_Os_00006]).
La llamada síncrona proporciona como valor de retorno un código de estado de tipo StatusType ([SWS_Os_00006]):
E_OK: El procesamiento de la tabla de planificación se detuvo sin errores ([SWS_Os_00006]).E_OS_NOFUNC: La tabla de planificación especificada ya se encontraba en el estado detenido ([SWS_Os_00006]).E_OS_ID: El identificadorScheduleTableIDtransferido no es válido. Según la especificación, este valor de retorno solo se genera en el estadoEXTENDED([SWS_Os_00006]).
La función está definida como reentrante ([SWS_Os_00006]). Interpretación: En vista de la reentrancia declarada, la llamada síncrona debería ser admisible desde varios contextos de OS, aunque en el presente extracto de la especificación falten restricciones de contexto concretas. Pregunta Q-9cb147c4bc7dba7e (abierta) Para la monitorización en tiempo de ejecución, el estado y los atributos dinámicos de los objetos de OS, como las tablas de planificación, pueden transmitirse a las herramientas de depuración y análisis conectadas a través de archivos de descripción ARTI ([SWS_Os_00829]).
Nota: Esta explicación fue generada automáticamente sobre la base de la especificación de AUTOSAR Classic Release R20-11.
Guía del implementador pendiente (complejidad I2)
función NextScheduleTable [SWS_Os_00191] 📄 PDF
StatusType NextScheduleTable (ScheduleTableType ScheduleTableID_From, ScheduleTableType ScheduleTableID_To);
This service switches the processing from one schedule table to another schedule table.
La función NextScheduleTable sirve para conmutar de forma síncrona el procesamiento de una tabla de planificación en curso a una tabla sucesora [SWS_Os_00191]. El servicio está diseñado como reentrante y declarado a través de la cabecera Os.h [SWS_Os_00191].
Parámetros y llamada
A la llamada se le pasan dos parámetros de entrada de tipo ScheduleTableType [SWS_Os_00191]:
ScheduleTableID_From: Identificador de la tabla de planificación actualmente procesada [SWS_Os_00191].ScheduleTableID_To: Identificador de la tabla de planificación que proporciona la secuencia sucesiva de puntos de expiración (Expiry Points) [SWS_Os_00191].
Valores de retorno y tratamiento de errores
La función devuelve un valor de estado del tipo StatusType [SWS_Os_00191]:
E_OK: La orden de cambio se emitió sin errores [SWS_Os_00191].E_OS_ID: Se devuelve exclusivamente con el estadoEXTENDEDconfigurado, si al menos uno de los identificadores de tabla transferidos no es válido [SWS_Os_00191].E_OS_NOFUNC: La tabla de origenScheduleTableID_Fromno se encuentra en el estado iniciado [SWS_Os_00191].E_OS_STATE: La tabla de destinoScheduleTableID_Toya está iniciada activamente o ya está programada como tabla sucesora [SWS_Os_00191].
Interacción y diagnóstico
Para la observación y el análisis del sistema operativo, las descripciones de módulos ARTI admiten los contenedores ORTI correspondientes, con lo que las herramientas de depuración pueden, entre otras cosas, evaluar y representar estados dinámicos de objetos del sistema operativo [SWS_Os_00829].
Este texto se generó automáticamente. Todos los datos se basan exclusivamente en las especificaciones del release R20-11 de AUTOSAR.
Guía del implementador pendiente (complejidad I2)
función StartScheduleTableSynchron [SWS_Os_00201] 📄 PDF
StatusType StartScheduleTableSynchron (ScheduleTableType ScheduleTableID);
This service starts an explicitly synchronized schedule table synchronously.
usar
El servicio de sistema StartScheduleTableSynchron sirve para iniciar de forma síncrona una tabla de planificación sincronizada explícitamente [SWS_Os_00201]. La función está declarada en el archivo de cabecera Os.h y tiene el Service ID 0x0b [SWS_Os_00201]. Como único parámetro de transferencia, la función espera el parámetro de entrada ScheduleTableID de tipo ScheduleTableType, que referencia de forma unívoca la tabla a iniciar [SWS_Os_00201]. No existen parámetros de entrada-salida ni exclusivamente de salida [SWS_Os_00201]. El procesamiento se lleva a cabo de forma síncrona y devuelve un valor de retorno de tipo StatusType [SWS_Os_00201].
Manejo de errores
En una ejecución sin errores, la llamada a la función devuelve el código de estado E_OK [SWS_Os_00201]. En caso de errores, se especifican los siguientes valores de retorno:
E_OS_STATE: La tabla de planificación especificada ya se encuentra en el estado iniciado y no puede iniciarse síncronamente de nuevo [SWS_Os_00201].E_OS_ID: ElScheduleTableIDtransferido no es válido [SWS_Os_00201]. Esta comprobación de errores y notificación de errores solo está activa en el estado EXTENDED [SWS_Os_00201].
Concurrencia y restricciones
La función está especificada como reentrante [SWS_Os_00201]. Dado que la llamada repetida para una tabla ya activa se rechaza con E_OS_STATE, el llamante debe asegurarse de que la tabla de destino no esté ya en ejecución antes de la llamada [SWS_Os_00201].
Interacción
Las transiciones de estado y las propiedades dinámicas de los objetos del sistema operativo pueden rastrearse para herramientas de prueba y diagnóstico a través de archivos de descripción de módulos ARTI y contenedores ORTI [SWS_Os_00829]. Los depuradores externos utilizan estas descripciones para evaluar el estado interno de los objetos de OS durante el tiempo de ejecución [SWS_Os_00829].
Este texto ha sido generado por una IA basándose en la especificación AUTOSAR R20-11.
Guía del implementador pendiente (complejidad I2)
función SyncScheduleTable [SWS_Os_00199] 📄 PDF
StatusType SyncScheduleTable (ScheduleTableType ScheduleTableID, TickType Value);
Service SyncScheduleTable.
El servicio síncrono y reentrante del sistema operativo SyncScheduleTable sirve para transferir un valor de contador a una tabla de planificación e iniciar el proceso de sincronización ([SWS_Os_00199]). La función se proporciona a través del archivo de cabecera Os.h ([SWS_Os_00199]).
Parámetros y valores de retorno
La función espera dos parámetros de entrada ([SWS_Os_00199]):
Schedule Table ID: Identificador de la tabla de planificación que se va a sincronizar, de tipoScheduleTableType([SWS_Os_00199]).Value: Valor de contador actual del contador de sincronización, de tipoTickType([SWS_Os_00199]).
El valor de retorno de tipo StatusType señaliza con E_OK la ejecución sin errores ([SWS_Os_00199]).
Tratamiento de errores y condiciones límite
Si la tabla se encuentra en el estado SCHEDULETABLE_STOPPED en el momento de la llamada, se devuelve el error E_OS_STATE ([SWS_Os_00199]). Si el sistema operativo está configurado en el estado EXTENDED, entran en juego comprobaciones adicionales ([SWS_Os_00199]):
E_OS_ID: El ID de tabla especificado no es válido o la tabla no puede sincronizarse porqueOs Schedule Tbl Sync Strategyno está configurado o está establecido enIMPLICIT([SWS_Os_00199]).E_OS_VALUE: El valor de contadorValuetransferido está fuera del rango permitido ([SWS_Os_00199]).
Interacción y diagnóstico
Los estados y atributos dinámicos de objetos del sistema operativo, como las tablas de planificación, pueden evaluarse mediante herramientas de depuración y diagnóstico conectadas a través de descripciones de módulos ARTI y contenedores ORTI ([SWS_Os_00829]).
Este texto fue generado por una IA basándose en AUTOSAR R20-11.
Guía del implementador pendiente (complejidad I2)
función SetScheduletableAsync [SWS_Os_00422] 📄 PDF
StatusType SetScheduletableAsync (ScheduleTableType ScheduleTableID);
This service stops synchronization of a schedule table.
función GetScheduleTableStatusof [SWS_Os_00227] 📄 PDF
StatusType GetScheduleTableStatus (ScheduleTableType ScheduleTableID, ScheduleTableStatusRefType ScheduleStatus);
This service queries the state of a schedule table (also with respect to synchronization).
función IncrementCounter [SWS_Os_00399] 📄 PDF
StatusType IncrementCounter (CounterType CounterID);
This service increments a software counter.
usar
La función síncrona del sistema operativo IncrementCounter sirve para avanzar explícitamente un contador de software [SWS_Os_00399]. Espera como parámetro de entrada el identificador CounterID de tipo CounterType, no modifica otros parámetros y está disponible a través de la cabecera Os.h [SWS_Os_00399]. Debe tenerse en cuenta que la llamada puede provocar una replanificación inmediata del sistema operativo [SWS_Os_00399].
Manejo de errores
El valor de retorno de tipo StatusType informa sobre el éxito de la operación: en funcionamiento regular, E_OK notifica la ejecución sin errores [SWS_Os_00399]. Con la comprobación de estado ampliada activada (estado EXTENDED), el servicio devuelve E_OS_ID si se ha indicado un ID de contador no válido o si el contador referenciado está implementado en hardware y, por consiguiente, no puede incrementarse por software [SWS_Os_00399].
Concurrencia y diagnóstico
La función está diseñada para ser reentrante y, por lo tanto, puede llamarse de forma concurrente [SWS_Os_00399]. Cabe interpretar que una posible replanificación se produzca cuando el avance del contador desencadene acciones dependientes, tales como vencimientos de alarmas o activaciones de tareas. Pregunta Q-9004b5ced9b96230 (abierta) Para la observación de objetos del sistema operativo, como contadores, así como de su estado dinámico, las descripciones de módulos ARTI asisten a las herramientas de análisis conectadas en la monitorización durante el tiempo de ejecución [SWS_Os_00829].
Esta nota de uso se ha generado automáticamente y se basa en las especificaciones del release R20-11 de AUTOSAR.
Guía del implementador pendiente (complejidad I2)
función GetCounterValue [SWS_Os_00383] 📄 PDF
StatusType GetCounterValue (CounterType CounterID, TickRefType Value);
This service reads the current count value of a counte r (returning either the hardware timer ticks if counter is driven by hardware or the software ticks when user drives counter).
función GetElapsedValue [SWS_Os_00392] 📄 PDF
StatusType GetElapsedValue (CounterType CounterID, TickRefType Value, TickRefType ElapsedValue);
This service gets the number of ticks between the current tick value and a previously read tick value.
función TerminateApplication [SWS_Os_00258] 📄 PDF
StatusType TerminateApplication (ApplicationType Application, RestartType RestartOption);
Service TerminateApplication.
La función síncrona y reentrante TerminateApplication sirve para finalizar una OS-Application y está disponible a través del archivo de cabecera Os.h [SWS_Os_00258]. La llamada está permitida desde el contexto de una tarea, una ISR de categoría 2 y un hook de error específico de la aplicación [SWS_Os_00258].
Como parámetros de entrada se transfieren el identificador de la aplicación de destino (Application) y el comportamiento de reinicio (Restart Option) [SWS_Os_00258]:
- Si el propio llamador pertenece a la aplicación indicada en
Application, la ejecución da lugar a una autoterminación [SWS_Os_00258]. - Mediante
Restart Optionse determina si la OS-Application debe reiniciarse a continuación (RESTART) o no (NO_RESTART) [SWS_Os_00258].
La función devuelve un valor de estado de tipo StatusType [SWS_Os_00258]:
E_OKindica una terminación sin errores [SWS_Os_00258].E_OS_STATEindica que el estado actual deApplicationno permite la finalización [SWS_Os_00258].- En el estado EXTENDED se realizan comprobaciones de errores adicionales:
E_OS_IDen caso de un ID de aplicación no válido,E_OS_VALUEen caso de un valor de parámetro no válido paraRestart OptionyE_OS_ACCESSsi el llamador carece de autorización para finalizarApplication[SWS_Os_00258].
Esta nota de uso se ha generado automáticamente a partir de la especificación SWS_Os_00258.
Guía del implementador pendiente (complejidad I2)
función AllowAccess [SWS_Os_00501] 📄 PDF
StatusType AllowAccess (void);
This service sets the own state of an OS - Application from AP PLICATION_ RESTARTING to APPLICATION_ ACCESSIBLE.
usar
El servicio síncrono del sistema AllowAccess (ID de servicio 0x13) sirve para cambiar el estado de la propia OS-Application de APPLICATION_RESTARTING a APPLICATION_ACCESSIBLE ([SWS_Os_00501]). La función está disponible a través del archivo de cabecera Os.h, no espera parámetros y devuelve un valor de estado de tipo StatusType ([SWS_Os_00501]). Si el cambio de estado se lleva a cabo con éxito, la llamada devuelve el valor de retorno E_OK ([SWS_Os_00501]).
Tratamiento de errores y concurrencia
Si la OS-Application llamadora no se encuentra en el estado APPLICATION_RESTARTING, la ejecución falla y la función devuelve el valor de error E_OS_STATE ([SWS_Os_00501]). En la especificación no se definen notificaciones específicas a DET o DEM para este servicio. En cuanto al comportamiento de concurrencia, la función está clasificada como reentrante y, por consiguiente, puede ejecutarse de forma segura en procesos paralelos ([SWS_Os_00501]).
Interacción y diagnóstico
Interpretación: cabe suponer que la llamada se realiza típicamente al final de una fase de reinicio propia de la aplicación, tan pronto como hayan concluido todos los preparativos y otras aplicaciones puedan volver a acceder a los recursos. Pregunta Q-f43a3f702d5d2428 (abierta) Los estados dinámicos del sistema operativo y de los objetos del OS correspondientes pueden evaluarse y visualizarse en el marco del diagnóstico del sistema mediante archivos de descripción estándar de ARTI y herramientas de depuración asociadas ([SWS_Os_00829]).
Este texto ha sido generado por una IA y se basa en el estado de la especificación R20-11.
Guía del implementador pendiente (complejidad I1)
función GetApplicationState [SWS_Os_00499] 📄 PDF
StatusType GetApplicationState (ApplicationType Application, ApplicationStateRefType Value);
This service returns the current state of an OS - Application.
función GetNumberActivatedCores [SWS_Os_00672] 📄 PDF
uint32 GetNumberOfActivatedCores (void);
The function returns the number of cores activated by the Start Core function. This function might be a macro. AUTOSAR CP R20 - o f Document ID : AUTOSAR_SWS_OS
función GetCore [SWS_Os_00674] 📄 PDF
CoreIdType GetCoreID (void);
The function returns a unique core identifier.
función StartCore [SWS_Os_00676] 📄 PDF
void StartCore (CoreIdType CoreID, StatusType* Status);
It is not supported to call this function after Start OS(). The function starts the core specified by the parameter Core ID. The OUT parameter allows the caller to check whether the operation was successful or no t. If a core is started by means of this function Start OS shall be called on the core.
La función síncrona StartCore inicia el núcleo de procesador especificado a través del parámetro Core ID [SWS_Os_00676]. La función no posee un valor de retorno directo, sino que transfiere el resultado de la ejecución al llamador a través del parámetro OUT Status [SWS_Os_00676]. Si se ha iniciado un núcleo mediante esta función, en el núcleo correspondiente debe llamarse a continuación a Start OS [SWS_Os_00676].
Para el contexto de llamada, así como para la concurrencia, rigen restricciones fijas: StartCore está especificada como no reentrante (Non Reentrant) [SWS_Os_00676]. No se admite una llamada tras el inicio del sistema operativo a través de Start OS() [SWS_Os_00676]. El servicio está implementado de forma síncrona y se proporciona a través del archivo de encabezado Os.h con el ID de servicio 0x17 [SWS_Os_00676].
El tratamiento de errores se realiza mediante el parámetro Status, que, en función de la configuración de estado, puede adoptar los siguientes valores [SWS_Os_00676]:
- En el estado estándar,
E_OKindica una ejecución sin errores [SWS_Os_00676]. - En el estado ampliado (extended status),
E_OKconfirma igualmente un inicio correcto [SWS_Os_00676]. E_OS_IDnotifica que laCore IDpasada no es válida [SWS_Os_00676].E_OS_ACCESSindica una llamada no permitida tras el inicio del sistema operativo [SWS_Os_00676].E_OS_STATEindica que el núcleo de procesador solicitado ya está activado [SWS_Os_00676].
Esta nota de uso ha sido generada por una IA y se basa exclusivamente en la especificación del sistema operativo AUTOSAR Classic del release R20-11.
Guía del implementador pendiente (complejidad I2)
función StartNonCore [SWS_Os_00682] 📄 PDF
void StartNonAutosarCore (CoreIdType CoreID, StatusType* Status);
The function start s the core specified by the parameter Core ID. It is allowed to call this function after Start OS(). The OUT parameter allows the caller to check whether the operation was successful or not. It is not allowed to call Start OS on cores activated by Start No n Autosar Core. Otherwise the behaviour is unspecified.
Uso y contexto de llamada
La función síncrona y no reentrante StartNonCore arranca el núcleo de procesador especificado a través del parámetro CoreID [SWS_Os_00682]. Se permite llamarla tras el inicio del sistema operativo mediante StartOS() y está disponible a través del archivo de cabecera Os.h [SWS_Os_00682]. A través del parámetro de salida Status, el llamador puede comprobar si el proceso de arranque fue exitoso [SWS_Os_00682].
Tratamiento de errores y valores de estado
La función no posee un valor de retorno directo, pero comunica el resultado de la ejecución a través del parámetro de tipo puntero Status [SWS_Os_00682]:
E_OK: La operación se ejecutó con éxito y sin errores [SWS_Os_00682].E_OS_ID: LaCoreIDindicada no es válida (en estado estándar) [SWS_Os_00682].E_OS_STATE: El núcleo de procesador indicado ya está activado (en estado estándar) [SWS_Os_00682].
Restricciones y condiciones de orden
Al ser una interfaz no reentrante, StartNonCore no debe ejecutarse de forma concurrente [SWS_Os_00682]. Además, se aplica la directriz estricta de que en núcleos de procesador activados a través de esta función en ningún caso debe llamarse a StartOS; de lo contrario, el comportamiento del sistema queda sin especificar [SWS_Os_00682].
Esta nota de uso ha sido generada de forma automatizada sobre la base de la especificación de AUTOSAR Classic R20-11.
Guía del implementador pendiente (complejidad I1)
función GetSpinlock [SWS_Os_00686] 📄 PDF
StatusType GetSpinlock (SpinlockIdType SpinlockId);
Get Spinlock tries to occupy a spin - lock variable. If the function returns, either the lock is successfully taken or an error has occurred. The spinlock mechanism is an active polling mechanism. The function does not cause a de - scheduling.
La función síncrona y reentrante del sistema operativo GetSpinlock ([SWS_Os_00686]) sirve para ocupar una variable de spinlock mediante el parámetro de transferencia SpinlockId (tipo SpinlockIdType). Durante la ejecución, la función utiliza un mecanismo de sondeo activo («busy waiting») sin que se desencadene una desplanificación de la tarea llamadora ([SWS_Os_00686]).
La función solo retorna cuando el bloqueo se ha adquirido correctamente o se ha producido un error. Como valor de retorno, GetSpinlock devuelve el StatusType ([SWS_Os_00686]):
E_OK: el bloqueo se ha ocupado sin errores (en el estado estándar y Extended).E_OS_ID: elSpinlockIdpasado no es válido (solo en el estado Extended).E_OS_INTERFERENCE_DEADLOCK: una tarea intenta ocupar el spinlock mientras este ya está ocupado por una tarea en el mismo Core (solo en el estado Extended).E_OS_NESTING_DEADLOCK: una tarea intenta solicitar el spinlock mientras una tarea del mismo Core ya retiene otro spinlock, lo que podría provocar un interbloqueo (solo en el estado Extended).E_OS_ACCESS: no se puede acceder al spinlock indicado (solo en el estado Extended).
En el marco de la monitorización del sistema y el análisis de errores, el sistema operativo proporciona información de estado dinámica sobre los objetos del OS que, de conformidad con [SWS_Os_00829], pueden ser evaluados por herramientas de depuración mediante contenedores ARTI y ORTI; presumiblemente, a través de esto también se pueden rastrear situaciones de bloqueo en spinlocks. Pregunta Q-bac194d4132f6e88 (abierta)
Este texto fue generado por una IA a partir de la especificación AUTOSAR R20-11.
Guía del implementador pendiente (complejidad I2)
función ReleaseSpinlock [SWS_Os_00695] 📄 PDF
StatusType ReleaseSpinlock (SpinlockIdType SpinlockId);
Release Spinlock releases a spinlock variable that was occupied before. Before terminating a TASK all spinlock variables that have been occupied with Get Spinlock() shall be released. Before calling Wait EVENT all Spinlocks shall be released.
La función síncrona y reentrante ReleaseSpinlock libera una variable de spinlock previamente ocupada ([SWS_Os_00695]). A través del parámetro de transferencia SpinlockId de tipo SpinlockIdType se especifica la instancia de spinlock que se va a liberar ([SWS_Os_00695]).
Condiciones de secuencia y restricciones
Para la llamada rigen directrices temporales y estructurales estrictas ([SWS_Os_00695]):
- Antes de finalizar una tarea, deben liberarse de nuevo todas las variables de spinlock previamente ocupadas mediante
GetSpinlock()([SWS_Os_00695]). - Antes de la llamada a
WaitEvent, deben liberarse sin excepción todos los spinlocks retenidos ([SWS_Os_00695]). - La liberación debe realizarse en el orden de anidamiento correcto; un intento de liberación con spinlocks o recursos de nivel superior aún ocupados falla ([SWS_Os_00695]).
Valores de retorno y tratamiento de errores
En caso de éxito, el servicio devuelve E_OK tanto en el estado estándar como en el ampliado ([SWS_Os_00695]). En el estado ampliado (Extended Status) se definen códigos de error específicos ([SWS_Os_00695]):
E_OS_ID: ElSpinlockIdtransferido no es válido ([SWS_Os_00695]).E_OS_STATE: el spinlock no está ocupado por la tarea llamadora ([SWS_Os_00695]).E_OS_ACCESS: no se puede acceder al spinlock ([SWS_Os_00695]).E_OS_NOFUNC: intento de liberar el spinlock mientras aún debe liberarse previamente otro spinlock o un recurso ([SWS_Os_00695]).
La función está disponible a través del encabezado Os.h ([SWS_Os_00695]). Los archivos de descripción ARTI admiten contenedores ORTI para la evaluación dinámica del estado y el rendimiento de los objetos del sistema operativo ([SWS_Os_00829]).
Este texto fue creado por una IA y curado por autodocs.
Guía del implementador pendiente (complejidad I2)
función TryToGetSpinlock [SWS_Os_00703] 📄 PDF
StatusType TryToGetSpinlock (SpinlockIdType SpinlockId, TryToGetSpinlockType* Success);
Try To Get Spinlock has the same functionality as Get Spinlock with the difference that if the spinlock is already occupied by a TASK on a d ifferent core the function sets the OUT parameter "Success" and returns with E_ OK.
La función síncrona y reentrante del sistema operativo TryToGetSpinlock sirve para la ocupación no bloqueante de una instancia de spinlock a través del encabezado Os.h [SWS_Os_00703]. Asume la misma funcionalidad básica que GetSpinlock, pero no espera de forma activa si el spinlock solicitado ya está ocupado por una TASK en otro Core [SWS_Os_00703].
Parámetros y valores de retorno
SpinlockId(entrada): hace referencia a la instancia concreta de spinlock que se debe bloquear [SWS_Os_00703].Success(salida): indica mediante el tipoTryToGetSpinlockType*si el bloqueo se ha podido ocupar o no [SWS_Os_00703]. Si el bloqueo está ocupado en otro Core, la función establece este parámetro en consecuencia y retorna conE_OK[SWS_Os_00703].- Valor de retorno: devuelve
E_OKen los estados estándar y Extended si no hay ningún error [SWS_Os_00703].
Tratamiento de errores y condiciones límite
En el estado Extended, el sistema operativo comprueba si existen llamadas no válidas, así como escenarios de interbloqueo [SWS_Os_00703]:
E_OS_ID: ElSpinlockIdtransferido no es válido [SWS_Os_00703].E_OS_ACCESS: no se puede acceder al spinlock [SWS_Os_00703].E_OS_INTERFERENCE_DEADLOCK: una TASK intenta ocupar el bloqueo mientras ese mismo bloqueo ya está retenido por una TASK en el mismo Core [SWS_Os_00703].E_OS_NESTING_DEADLOCK: una TASK intenta ocupar un spinlock mientras ya retiene otro spinlock, lo que podría dar lugar a un interbloqueo [SWS_Os_00703].
Esta nota de uso ha sido generada automáticamente por un sistema de IA a partir de la especificación AUTOSAR R20-11.
Guía del implementador pendiente (complejidad I2)
función ShutdownAllCores [SWS_Os_00713] 📄 PDF
void ShutdownAllCores (StatusType Error);
After this service the OS on all AUTOSAR cores is shut down. Allowed at TASK level and ISR level and also internally by the OS. The function will never return. The function will force other cores into a shutdown.
La función síncrona del sistema ShutdownAllCores con el ID de servicio 0x1c sirve para el apagado controlado y completo del sistema operativo AUTOSAR en todos los núcleos de procesador presentes ([SWS_Os_00713]). En cuanto se llama al servicio, la función fuerza una parada en todos los demás cores, de modo que el sistema operativo se apaga en todos los núcleos de AUTOSAR ([SWS_Os_00713]).
Contexto de llamada y concurrencia
La función está declarada en la cabecera Os.h y especificada como reentrante ([SWS_Os_00713]). La llamada a ShutdownAllCores está permitida sin restricciones tanto a nivel de tarea (TASK level) como a nivel de interrupción (ISR level) ([SWS_Os_00713]). Además, el servicio también puede ser ejecutado internamente por el propio AUTOSAR OS ([SWS_Os_00713]).
Parámetros y flujo de control
La interfaz espera como único parámetro de entrada Error de tipo StatusType ([SWS_Os_00713]). Para este parámetro debe pasarse obligatoriamente un código de error válido compatible con el sistema operativo AUTOSAR ([SWS_Os_00713]). No existen parámetros de salida ni de entrada/salida ([SWS_Os_00713]). Dado que la función nunca retorna al llamador tras desencadenar el apagado a nivel de todo el sistema, no posee valor de retorno (void) ([SWS_Os_00713]).
Esta nota de uso se ha generado automáticamente a partir de la especificación de AUTOSAR R20-11.
Guía del implementador pendiente (complejidad I2)
función ControlIdle [SWS_Os_00769] 📄 PDF
StatusType ControlIdle (CoreIdType CoreID, IdleModeType IdleMode);
This API allows the caller to select the idle mode action which is performed during idle time of t he OS (e.g. if no Task/ ISR is active). It can be used to implement energy savings. The real idle modes are hardware dependent and not standardized. The default idle mode on each core is IDLE_ NO_ HALT.
La función síncrona ControlIdle permite al llamador establecer la acción que se ejecuta durante el tiempo de reposo del sistema operativo (cuando ni una tarea ni una ISR están activas) [SWS_Os_00769]. Esto sirve principalmente para implementar medidas de ahorro de energía. Los modos reales de reposo dependen del hardware y no están estandarizados; el modo predeterminado en cada núcleo de procesador es IDLE_NO_HALT [SWS_Os_00769]. La interfaz se proporciona a través del archivo de cabecera Os.h [SWS_Os_00769].
La función espera dos parámetros de entrada:
CoreID(de tipoCoreIdType): Selecciona el núcleo de procesador cuyo modo de reposo se va a configurar [SWS_Os_00769].IdleMode(de tipoIdleModeType): Determina el modo que debe ejecutarse en el tiempo de reposo [SWS_Os_00769].
Si se han pasado parámetros válidos y no se ha producido ningún error, la función devuelve E_OK [SWS_Os_00769], [SWS_Os_00770]. Si el CoreID o IdleMode indicado no es válido —por ejemplo, porque el núcleo referenciado no existe o el modo es desconocido—, la llamada devuelve el código de error E_OS_ID en el estado EXTENDED [SWS_Os_00769], [SWS_Os_00771]. En sistemas de un solo núcleo, se omite la comprobación del parámetro CoreID [SWS_Os_00771].
En cuanto a la concurrencia, la función está especificada como no reentrante (Non Reentrant) [SWS_Os_00769]. Interpretación: Por lo tanto, los llamadores deben asegurarse de que las llamadas a ControlIdle no se realicen de forma simultánea o descoordinada desde diferentes contextos de ejecución. Pregunta Q-7f239cb54752e826 (abierta)
Esta nota de uso fue generada por una IA a partir de la especificación AUTOSAR Classic R20-11.
Guía del implementador pendiente (complejidad I1)
función ReadPeripheral [SWS_Os_91013] 📄 PDF
StatusType ReadPeripheral8 (AreaIdType Area, const uint8* Address, uint8* ReadValue);
This service returns the content of a given memory location (
).usar
La función ReadPeripheral (indicada en la declaración como ReadPeripheral8) sirve para la lectura síncrona de una dirección de memoria dentro de un área periférica de hardware definida [SWS_Os_91013]. La interfaz está disponible a través del archivo de cabecera Os.h [SWS_Os_91013]. Como parámetros de entrada, el servicio espera la referencia de área Area de tipo AreaIdType, así como la dirección de destino Address como puntero a const uint8 [SWS_Os_91013]. El contenido leído de la posición de memoria se proporciona a través del parámetro de salida ReadValue [SWS_Os_91013].
Manejo de errores
El servicio devuelve un código de estado de tipo StatusType, donde E_OK indica la ejecución sin errores [SWS_Os_91013]. Con la comprobación de estado extendida activada (EXTENDED status), las llamadas erróneas se diferencian mediante valores de error específicos [SWS_Os_91013]:
E_OS_ID: el identificador de área transferidoArease encuentra fuera del rango válido [SWS_Os_91013].E_OS_VALUE: la dirección de memoria indicadaAddressno pertenece al área periférica indicada [SWS_Os_91013].E_OS_CALLEVEL: la llamada se ha producido desde un contexto no permitido [SWS_Os_91013].E_OS_ACCESS: es probable que la tarea o ISR que realiza la llamada no disponga de la autorización requerida para acceder al área (interpretación) [SWS_Os_91013]. Pregunta Q-19e2c22110352ebb (abierta)
Concurrencia y restricciones
El servicio API posee el ID de servicio 0x28, funciona de forma síncrona y está diseñado como reentrante [SWS_Os_91013]. Las llamadas solo se permiten desde contextos válidos de tarea o ISR; las llamadas no permitidas se rechazan en estado extendido con E_OS_CALLEVEL [SWS_Os_91013].
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 ReadPeripheral16 [SWS_Os_91015] 📄 PDF
StatusType ReadPeripheral16 (AreaIdType Area, const uint16* Address, uint16* ReadValue);
This service returns the content of a given memory location (
).La función del sistema operativo síncrona y reentrante ReadPeripheral16 sirve para leer el valor de 16 bits de una dirección de memoria especificada dentro de un área periférica definida [SWS_Os_91015]. El servicio del sistema está definido con el ID de servicio 0x29 y está disponible a través del archivo de cabecera Os.h [SWS_Os_91015].
Uso y parámetros
Al servicio se le transfieren como parámetros de entrada la referencia al área periférica de hardware (Area de tipo AreaIdType), así como la dirección de destino en la memoria (Address de tipo const uint16*) [SWS_Os_91015]. A través del parámetro de salida Read Value de tipo puntero uint16* se proporciona el contenido de 16 bits determinado en la dirección de memoria [SWS_Os_91015]. En caso de ejecución sin errores, la función devuelve el valor de retorno E_OK de tipo StatusType [SWS_Os_91015].
Tratamiento de errores y restricciones de acceso
En el estado extendido (EXTENDED status), el sistema operativo comprueba la validez de la llamada y notifica los errores mediante códigos de estado específicos [SWS_Os_91015]:
E_OS_ID: el identificador de área transferidoArease encuentra fuera del rango válido [SWS_Os_91015].E_OS_VALUE: la dirección de memoria indicadaAddressno pertenece al área periférica especificadaArea[SWS_Os_91015].E_OS_CALLEVEL: la llamada se ha producido en un contexto no permitido para la función API [SWS_Os_91015].E_OS_ACCESS: la tarea o la rutina de servicio de interrupción (ISR) que realiza la llamada no está autorizada para acceder al área indicada [SWS_Os_91015].
Esta nota de uso se ha generado automáticamente y se basa exclusivamente en las prescripciones de la especificación AUTOSAR Classic R20-11.
Guía del implementador pendiente (complejidad I1)
función ReadPeripheral32 [SWS_Os_91014] 📄 PDF
StatusType ReadPeripheral32 (AreaIdType Area, const uint32* Address, uint32* ReadValue);
This service returns the content of a given memory location (
).usar
La función síncrona y reentrante ReadPeripheral32 lee el contenido de una dirección de memoria indicada ([SWS_Os_91014]). Quien realiza la llamada transfiere la referencia al área periférica de hardware a través del parámetro Area y la dirección de memoria deseada a través de Address ([SWS_Os_91014]). El valor de 32 bits leído en dicha dirección se proporciona de forma síncrona a través del parámetro de salida ReadValue ([SWS_Os_91014]). La interfaz se pone a disposición a través de la cabecera Os.h ([SWS_Os_91014]).
Manejo de errores
El servicio devuelve un valor de estado de tipo StatusType. En caso de ejecución sin errores, devuelve E_OK ([SWS_Os_91014]). Si está configurado el estado extendido (EXTENDED status), se devuelven los siguientes códigos de error ([SWS_Os_91014]):
E_OS_ID: el identificador de área transferidoArease encuentra fuera del rango permitido ([SWS_Os_91014]).E_OS_VALUE: la dirección indicadaAddressno pertenece al área indicadaArea([SWS_Os_91014]).E_OS_CALLEVEL: la función se ha llamado en un contexto de llamada no permitido ([SWS_Os_91014]).E_OS_ACCESS: la tarea o la ISR que realiza la llamada no dispone del permiso de acceso requerido; según la interpretación, esto debería referirse al área periférica ([SWS_Os_91014]). Pregunta Q-e5893b29acc5133a (abierta)
Concurrencia y restricciones
ReadPeripheral32 está especificada como reentrante y se puede llamar en paralelo desde múltiples flujos de control ([SWS_Os_91014]). Dado que el servicio funciona de forma síncrona, la llamada solo retorna tras finalizar el proceso de lectura ([SWS_Os_91014]). Quienes realizan la llamada deben transferir punteros de memoria válidos y asegurarse de que la llamada se produzca desde un contexto permitido para la API de OS ([SWS_Os_91014]).
Este texto ha sido elaborado por una IA y se basa exclusivamente en las especificaciones del release R20-11.
Guía del implementador pendiente (complejidad I1)
función WritePeripheral [SWS_Os_91010] 📄 PDF
StatusType WritePeripheral8 (AreaIdType Area, uint8* Address, uint8 WriteValue);
This service writes the
usar
La función WritePeripheral (también denominada Write Peripheral8 en la especificación) es un servicio síncrono y reentrante del sistema operativo para escribir un valor en una dirección de memoria indicada de un área periférica [SWS_Os_91010]. La declaración se proporciona mediante el archivo de cabecera Os.h [SWS_Os_91010]. La llamada espera como parámetros la referencia al área periférica de hardware (Area de tipo AreaIdType), la dirección de memoria (Address de tipo uint8*), así como el valor que se va a escribir (Write Value de tipo uint8) [SWS_Os_91010]. Interpretación: aunque Write Value figura en la tabla de parámetros de salida en el texto de la especificación, a juzgar por el paso de valores en la firma y la descripción, debería tratarse del valor de entrada que se va a escribir. Pregunta Q-619c69ba7a85ed92 (abierta)
Manejo de errores
La función devuelve un estado del tipo StatusType [SWS_Os_91010]:
E_OK: la operación de escritura se ha realizado sin errores [SWS_Os_91010].E_OS_ID: el ID de área transferido se encuentra fuera del rango válido (en estado extendido) [SWS_Os_91010].E_OS_VALUE: la dirección de destino no pertenece al área indicada (en estado extendido) [SWS_Os_91010].E_OS_CALLEVEL: contexto de llamada no permitido de la función API (en estado extendido) [SWS_Os_91010].E_OS_ACCESS: la tarea o ISR que realiza la llamada no posee permiso de acceso para el área [SWS_Os_91010].
Concurrencia y restricciones
La llamada se procesa de forma síncrona y es reentrante [SWS_Os_91010]. Quienes realizan la llamada deben asegurarse de que la tarea o ISR ejecutante actúe desde un contexto válido y disponga de los derechos de acceso necesarios para el área periférica direccionada [SWS_Os_91010].
Este texto ha sido generado automáticamente. Toda la información se basa en las especificaciones AUTOSAR referenciadas.
Guía del implementador pendiente (complejidad I1)
función WritePeripheral16 [SWS_Os_91012] 📄 PDF
StatusType WritePeripheral16 (AreaIdType Area, uint16* Address, uint16 WriteValue);
This service writes the
La función del sistema operativo síncrona y reentrante WritePeripheral16 ([SWS_Os_91012]) sirve para escribir un valor de 16 bits en una dirección de memoria de un área periférica. El servicio se proporciona a través de la cabecera Os.h y posee el ID de servicio 0x2c.
Uso y parámetros
Al llamar a WritePeripheral16, quien realiza la llamada transfiere el identificador del área de hardware de destino (Area de tipo AreaIdType), la dirección de destino (Address de tipo uint16*), así como el valor que se va a escribir (Write Value de tipo uint16, que, a pesar de figurar en la tabla como parámetro de salida, en la firma probablemente sirve como paso de valores) según [SWS_Os_91012]. Pregunta Q-2edc50ae2e7fd0b0 (abierta) El servicio se ejecuta de forma síncrona y devuelve un valor de estado de tipo StatusType.
Manejo de errores
En caso de éxito, la función devuelve E_OK. Bajo el estado EXTENDED se especifican los siguientes códigos de error ([SWS_Os_91012]):
E_OS_ID: el identificador de área transferido (Area) se encuentra fuera del rango válido.E_OS_VALUE: la dirección de destino (Address) no pertenece al área periférica indicada.E_OS_CALLEVEL: la función se ha llamado desde un contexto no permitido.E_OS_ACCESS: la tarea o ISR que realiza la llamada probablemente no posee autorización para acceder al área indicada. Pregunta (abierta)
Restricciones e interacción
La función es reentrante ([SWS_Os_91012]); sin embargo, requiere el cumplimiento del contexto de llamada permitido (tarea o ISR) para evitar estados de error como E_OS_CALLEVEL. Para la monitorización y el análisis de objetos del sistema operativo, AUTOSAR prevé el suministro de archivos de descripción ARTI ([SWS_Os_00829]).
Esta nota de uso se ha generado automáticamente y se basa exclusivamente en los datos de especificación del release R20-11 de AUTOSAR.
Guía del implementador pendiente (complejidad I1)
función WritePeripheral32 [SWS_Os_91011] 📄 PDF
StatusType WritePeripheral32 (AreaIdType Area, uint32* Address, uint32 WriteValue);
This service writes the
La función síncrona y reentrante WritePeripheral32 del módulo Os sirve para escribir un valor de 32 bits en una dirección de memoria indicada de un área periférica [SWS_Os_91011]. El servicio está disponible a través de la cabecera Os.h y posee el ID de servicio 0x2d [SWS_Os_91011].
Parámetros y llamada
Para la ejecución del acceso de escritura, la función requiere tres parámetros de entrada [SWS_Os_91011]:
Area(AreaIdType): referencia al área periférica de hardware de destino [SWS_Os_91011].Address(uint32*): dirección de memoria en la que se debe escribir el valor [SWS_Os_91011].Write Value(uint32): el valor concreto de 32 bits que se transfiere a la dirección de destino [SWS_Os_91011].
Valores de retorno y tratamiento de errores
La llamada devuelve un valor de estado de tipo StatusType [SWS_Os_91011]. En caso de éxito, se notifica E_OK [SWS_Os_91011]. Con el estado EXTENDED activo, E_OS_ID señala un ID de área no válido, E_OS_VALUE una dirección que no pertenece al área y E_OS_CALLEVEL un contexto de llamada no permitido [SWS_Os_91011]. Si la tarea o la ISR que realiza la llamada no posee permiso de acceso para el área, se devuelve E_OS_ACCESS [SWS_Os_91011].
concurrencia
Dado que WritePeripheral32 es reentrante, el servicio se puede utilizar en contextos de ejecución concurrentes, siempre que quien realiza la llamada disponga en tiempo de ejecución del permiso de acceso requerido [SWS_Os_91011].
Esta nota de uso se generó automáticamente a partir de la especificación AUTOSAR Classic R20-11.
Guía del implementador pendiente (complejidad I1)
función ModifyPeripheral [SWS_Os_91016] 📄 PDF
StatusType ModifyPeripheral8 (AreaIdType Area, uint8* Address, uint8 Clearmask, uint8 Setmask);
This service modifies a given memory location (
Uso y semántica
La función del sistema operativo síncrona y reentrante ModifyPeripheral8 ([SWS_Os_91016]) modifica un byte en una dirección de memoria indicada Address. Para ello, el contenido de memoria existente se actualiza bit a bit mediante la máscara Clearmask por operación AND, así como mediante la máscara Setmask por operación OR conforme a la fórmula *Address = ((*Address & Clearmask) | Setmask) ([SWS_Os_91016]). Como parámetros de entrada, la función espera la referencia del área periférica Area de tipo AreaIdType, la dirección de destino Address (tipo uint8*), así como los dos valores de máscara de tipo uint8. La función se proporciona a través del archivo de cabecera Os.h y posee el ID de servicio 0x2e ([SWS_Os_91016]).
Tratamiento de errores y valores de retorno
El valor de retorno de tipo StatusType señala el éxito de la operación con E_OK ([SWS_Os_91016]). Con el estado extendido activado, pueden producirse condiciones de error específicas:
E_OS_ID: el identificador de área transferidoArease encuentra fuera del rango permitido ([SWS_Os_91016]).E_OS_VALUE: la dirección de destinoAddressno pertenece al área indicadaArea([SWS_Os_91016]).E_OS_CALLEVEL: el servicio se ha llamado en un contexto de llamada no permitido ([SWS_Os_91016]).E_OS_ACCESS: la tarea o la ISR que realiza la llamada no posee permiso de acceso para el área de destino ([SWS_Os_91016]).
Concurrencia y condiciones de invocación
Dado que ModifyPeripheral8 está especificada como reentrante, la llamada se puede realizar de forma segura en flujos paralelos ([SWS_Os_91016]). Quienes realizan la llamada deben asegurarse de que tanto el contexto como los derechos de acceso para Area y Address sean válidos para evitar estados de error ([SWS_Os_91016]).
Este texto fue generado por una IA a partir de la especificación AUTOSAR CP R20-11.
Guía del implementador pendiente (complejidad I1)
función ModifyPeripheral16 [SWS_Os_91018] 📄 PDF
StatusType ModifyPeripheral16 (AreaIdType Area, uint16* Address, uint16 Clearmask, uint16 Setmask);
This service modifies a given memory location (
La función síncrona y reentrante ModifyPeripheral16 modifica una posición de memoria de 16 bits dentro de un área periférica definida según la fórmula de cálculo *Address = ((*Address & Clearmask) | Setmask) [SWS_Os_91018]. Como parámetros se transfieren la referencia del área periférica Area (tipo AreaIdType), la dirección de destino Address (tipo uint16*), así como las máscaras de bits Clearmask para una operación AND bit a bit y Setmask para una operación OR bit a bit [SWS_Os_91018]. La declaración está disponible a través de la cabecera Os.h [SWS_Os_91018].
En el caso regular de éxito, el servicio devuelve el valor de retorno E_OK [SWS_Os_91018]. Con la comprobación de estado extendida activada (EXTENDED status), las llamadas erróneas se detectan y rechazan mediante códigos de error específicos [SWS_Os_91018]:
E_OS_ID: el identificador de área transferidoArease encuentra fuera del rango de valores válido [SWS_Os_91018].E_OS_VALUE: la dirección de memoria transferidaAddressno pertenece al área indicadaArea[SWS_Os_91018].E_OS_CALLEVEL: el servicio se ha llamado desde un contexto no permitido [SWS_Os_91018].E_OS_ACCESS: La tarea llamadora o la ISR llamadora no posee autorización de acceso para el área indicada [SWS_Os_91018].
Los emisores de la llamada deben asegurarse antes de la ejecución de que existan tanto el contexto como los permisos para el área referenciada, a fin de evitar violaciones de acceso [SWS_Os_91018].
Este texto fue generado por una IA a partir de la especificación AUTOSAR CP R20-11.
Guía del implementador pendiente (complejidad I1)
función ModifyPeripheral32 [SWS_Os_91017] 📄 PDF
StatusType ModifyPeripheral32 (AreaIdType Area, uint32* Address, uint32 Clearmask, uint32 Setmask);
This service modifies a given memory location (
La función del sistema operativo síncrona y reentrante ModifyPeripheral32 sirve, conforme a [SWS_Os_91017], para la manipulación bit a bit dirigida de una dirección de memoria de 32 bits. Proporcionada a través de la interfaz Os.h, la función aplica sobre la dirección de destino Address la fórmula de cálculo fija *Address = ((*Address & Clearmask) | Setmask). En este proceso, en primer lugar se restablecen bits mediante operación AND a través de la máscara de bits Clearmask y, a continuación, se fijan mediante operación OR a través de Setmask.
Como parámetros de entrada, el servicio espera la referencia del área periférica Area, el puntero de dirección Address, así como las dos máscaras de 32 bits [SWS_Os_91017]. En caso de ejecución sin errores, se devuelve el código de estado E_OK. En el estado extendido (EXTENDED status), la función realiza comprobaciones de plausibilidad y notifica los siguientes códigos de error:
E_OS_ID: elAreatransferido se encuentra fuera del rango de valores permitido [SWS_Os_91017].E_OS_VALUE: la dirección de destino no pertenece al área periférica indicada [SWS_Os_91017].E_OS_CALLEVEL: La función se invocó desde un contexto no admisible [SWS_Os_91017].E_OS_ACCESS: la tarea o ISR que realiza la llamada no posee autorización para el acceso [SWS_Os_91017] (interpretación: falta de permiso de acceso al área periférica). Pregunta Q-b4d959765dc59c72 (abierta)
Las llamadas concurrentes están permitidas gracias a la reentrancia, siempre que se respete el contexto de llamada [SWS_Os_91017]. En el sistema global, esta modificación directa de registros se diferencia de las fórmulas de cálculo para la determinación dinámica de datos que se evalúan, por ejemplo, en el marco de la información de depuración de ARTI conforme a [SWS_Os_00829].
Este texto fue generado por una IA a partir de la especificación AUTOSAR CP R20-11.
Guía del implementador pendiente (complejidad I1)
función EnableInterruptSource [SWS_Os_91020] 📄 PDF
StatusType EnableInterruptSource (ISRType ISRID, boolean ClearPending);
Service EnableInterruptSource.
La función del sistema síncrona y reentrante EnableInterruptSource activa una fuente de interrupción mediante la modificación de los registros del controlador de interrupciones [SWS_Os_91020], [SWS_Os_00811]. El sistema operativo proporciona este servicio para cada fuente de interrupción de categoría 2 configurada [SWS_Os_00808].
Parámetros y llamada
A través del parámetro ISRID se pasa el identificador de la ISR de categoría 2 [SWS_Os_91020]. El parámetro booleano ClearPending determina si un flag de interrupción pendiente debe borrarse al realizar la activación (TRUE) o si permanece sin cambios (FALSE) [SWS_Os_91020], [SWS_Os_00811]. La función está disponible a través del archivo de cabecera Os.h [SWS_Os_91020].
Tratamiento de errores y valores de retorno
Si no se detecta ningún error, la llamada devuelve E_OK [SWS_Os_91020], [SWS_Os_00810]. Si el sistema operativo detecta un error, devuelve el código de estado correspondiente de tipo StatusType y llama a ErrorHook() [SWS_Os_00810]. Se definen los siguientes estados de error:
E_OS_ID: El parámetroISRIDno es un identificador válido de una ISR de categoría 2 (en el estadoEXTENDED) [SWS_Os_91020].E_OS_CALLEVEL: La función ha sido llamada desde un contexto de llamada no permitido (en el estadoEXTENDED) [SWS_Os_91020].E_OS_ACCESS: La aplicación llamadora no es propietaria delISRIDindicado en el marco de la Service Protection [SWS_Os_91020].
Interacción
La función forma junto con DisableInterruptSource y ClearPendingInterrupt el trío de API para el control selectivo de fuentes de interrupción individuales de categoría 2 (OsIsrCategory == CATEGORY_2) en el sistema operativo [SWS_Os_00808], [SWS_Os_00810].
Este texto ha sido generado automáticamente a partir de las especificaciones de la Release R20-11.
Guía del implementador pendiente (complejidad I2)
función DisableInterruptSource [SWS_Os_91019] 📄 PDF
StatusType DisableInterruptSource (ISRType ISRID);
Disables the interrupt source by modifying the interrupt controller registers.
usar
La función síncrona y reentrante DisableInterruptSource desactiva una fuente de interrupción específica directamente a través de los registros del controlador de interrupciones [SWS_Os_91019], [SWS_Os_00812]. Está disponible a través del archivo de cabecera Os.h y se proporciona para cada fuente de interrupción de categoría 2 (OsIsrCategory == CATEGORY_2) [SWS_Os_91019], [SWS_Os_00808]. Como parámetro se pasa el identificador de la ISR correspondiente (ISRID). En caso de ejecución correcta, el servicio devuelve E_OK [SWS_Os_91019], [SWS_Os_00810].
Manejo de errores
Si el sistema operativo detecta un error durante la ejecución, se devuelve el StatusType correspondiente y se llama a ErrorHook() [SWS_Os_00810]. Los posibles códigos de error son:
E_OS_ID: ElISRIDpasado no es un identificador válido de una ISR de categoría 2 (en estado EXTENDED) [SWS_Os_91019].E_OS_CALLEVEL: Contexto de llamada no permitido de la función de API (en estado EXTENDED) [SWS_Os_91019].E_OS_ACCESS: La OS-Application llamadora no es propietaria de la ISR especificada (Service Protection) [SWS_Os_91019].E_OS_NOFUNC: La fuente de interrupción solicitada ya está desactivada (en estado EXTENDED en caso de llamadas anidadas) [SWS_Os_00809].
Interacción y condiciones marco
La función forma junto con EnableInterruptSource y ClearPendingInterrupt el trío de API para el control de fuentes de interrupción de categoría 2 [SWS_Os_00808]. Las llamadas concurrentes o repetidas se protegen en el estado extendido mediante la devolución de E_OS_NOFUNC, con lo que las desactivaciones redundantes permanecen controlables [SWS_Os_00809]. Además, los llamadores deben poseer los derechos de acceso adecuados para evitar errores de tiempo de ejecución derivados de la Service Protection [SWS_Os_91019].
Esta nota de uso se ha generado automáticamente a partir de la especificación de AUTOSAR.
Guía del implementador pendiente (complejidad I1)
función ClearPendingInterrupt [SWS_Os_91021] 📄 PDF
StatusType ClearPendingInterrupt (ISRType ISRID);
Service ClearPendingInterrupt.
Uso y contexto de llamada
La función ClearPendingInterrupt sirve para restablecer una interrupción pendiente para fuentes de categoría 2 [SWS_Os_00808]. Recibe como único parámetro de entrada el identificador ISRID de una ISR de categoría 2 y modifica directamente los registros correspondientes del controlador de interrupciones [SWS_Os_91021], [SWS_Os_00813]. La llamada se procesa de forma síncrona y está disponible a través del archivo de cabecera Os.h [SWS_Os_91021].
Tratamiento de errores y valores de retorno
En ausencia de errores, se devuelve el código de estado E_OK [SWS_Os_91021]. Si el sistema operativo detecta un error durante la ejecución, el servicio devuelve el código de error correspondiente de tipo StatusType y llama obligatoriamente a ErrorHook() [SWS_Os_00810]. Para la interfaz se especifican los siguientes estados de error [SWS_Os_91021]:
E_OS_ID: El parámetro pasadoISRIDno es un identificador válido de una ISR de categoría 2 (se devuelve en el estadoEXTENDED) [SWS_Os_91021].E_OS_CALLEVEL: La función ha sido llamada desde un contexto de llamada no permitido (se devuelve en el estadoEXTENDED) [SWS_Os_91021].E_OS_ACCESS: La aplicación llamadora no está autorizada como propietaria de la ISR pasada en el marco de la Service Protection [SWS_Os_91021].
Concurrencia e interacción en el sistema operativo
La interfaz está definida como reentrante y, por tanto, se puede llamar de forma concurrente con seguridad [SWS_Os_91021]. El sistema operativo proporciona ClearPendingInterrupt para cada fuente de interrupción de categoría 2 (OsIsrCategory == CATEGORY_2) como componente fijo de las API de control, a las que también pertenecen DisableInterruptSource y EnableInterruptSource [SWS_Os_00808].
Este texto ha sido generado por una IA a partir de la especificación de AUTOSAR.
Guía del implementador pendiente (complejidad I2)
función ActivateTaskAsyn [SWS_Os_91022] 📄 PDF
void ActivateTaskAsyn (TaskType id);
Asynchronous version of the Activate Task() function. Intended to be used for cross core task activation. Possible errors are not returned to the caller, but may be reported via error hooks.
La función ActivateTaskAsyn (Service-ID 0x33) representa la variante asíncrona para la activación de tareas y se proporciona a través del archivo de cabecera Os.h ([SWS_Os_91022]). Está prevista principalmente para la activación de tareas entre núcleos en sistemas multinúcleo ([SWS_Os_91022]).
Como único parámetro de entrada se transfiere id del tipo TaskType, que especifica la tarea que se va a activar ([SWS_Os_91022]). La interfaz no posee ningún valor de retorno (void) y no define parámetros de entrada/salida ni de solo salida ([SWS_Os_91022]).
Los posibles errores durante la activación no se notifican al llamador ([SWS_Os_91022], [SWS_Os_00816]). En su lugar, los errores que se produzcan se notifican exclusivamente a través del hook de error global, en caso de que esté configurado ([SWS_Os_00816]).
En cuanto a la concurrencia, la función es reentrante y opera de forma completamente asíncrona ([SWS_Os_91022]), por lo que el contexto llamador no se bloquea a la espera de la ejecución. El sistema operativo está obligado a proporcionar esta interfaz según [SWS_Os_00816].
Esta nota de uso fue generada por una IA a partir de la especificación AUTOSAR R20-11.
Guía del implementador pendiente (complejidad I1)
función SetEventAsyn [SWS_Os_91023] 📄 PDF
void SetEventAsyn (TaskType id, EventMaskType m);
Asynchronous version of the Set Event() function. Intended to be used for cross core event setting. Possible errors are not returned to the caller, but may be reported via error hooks.
función Ioc [SWS_Os_91026] 📄 PDF
void IocInit (void);
This service initializes the data structures of the IOC. Tags: atp.Status=draft
Uso y funcionamiento
La función Ioc Init (marcada como borrador en la versión R20-11) inicializa las estructuras de datos internas de la Inter-OS-Application Communication (IOC) [SWS_Os_91026]. La llamada se realiza de forma síncrona, no acepta parámetros de entrada y no tiene valor de retorno [SWS_Os_91026]. Si el generador del sistema operativo se ejecuta en «IOC mode», este genera exclusivamente el código de IOC en el archivo fuente Ioc.c y declara las interfaces correspondientes en el archivo de cabecera Ioc.h [SWS_Os_00834], a través del cual también se proporciona Ioc Init [SWS_Os_91026].
Tratamiento de errores y concurrencia
Para Ioc Init, la especificación no prevé valores de retorno de error específicos ni mensajes de error dirigidos a DET o DEM [SWS_Os_91026]. El servicio está definido explícitamente como no reentrante (Non Reentrant) [SWS_Os_91026]. Interpretación: debido a la falta de reentrancia y a la tarea de inicialización, es probable que el servicio deba llamarse secuencialmente durante la fase de inicio del sistema, antes de que se produzcan accesos concurrentes de comunicación. Pregunta Q-47f99a4725b57c89 (abierta)
Interacción con funciones de comunicación IOC
La inicialización correcta de las estructuras de datos constituye el requisito previo para el uso de las interfaces de comunicación IOC generadas:
- Envío y escritura: los emisores transmiten datos de forma asíncrona mediante servicios de valor individual como
Ioc Send[SWS_Os_00718] yIoc Write[SWS_Os_91003] o funciones de grupo comoIoc Send Group[SWS_Os_00728] yIoc Write Group[SWS_Os_91004]. - Recepción y lectura: los receptores obtienen datos de forma síncrona a través de
Ioc Receive[SWS_Os_00738],Ioc Read[SWS_Os_91005] o los servicios de grupo correspondientes [SWS_Os_00746] [SWS_Os_91006]. - Gestión de colas y notificación: si la comunicación en búfer está configurada, el contenido de una cola interna se puede vaciar de forma síncrona con
Ioc Empty Queue[SWS_Os_00754]. Además, al recibir datos, se puede ejecutar una callback de receptor configurada<Receiver Pull CB>en el núcleo de destino [SWS_Os_00757].
Este texto ha sido elaborado por una IA y se basa exclusivamente en las especificaciones del release R20-11.
Guía del implementador pendiente (complejidad I1)
función <ReceiverPullCB> [SWS_Os_00757] 📄 PDF
void <ReceiverPullCB> (void);
This callback function can be configured for the receiver of a communication. If configured, IOC calls this callback on the receiving core for each data reception.
La función de callback <Receiver Pull CB> puede configurarse opcionalmente para el receptor de una comunicación y se declara a través del encabezado Os.h [SWS_Os_00757]. Si este callback está configurado, el IOC (Inter-OS-Application Communicator) llama a la función de forma síncrona en el Core receptor con cada recepción de datos [SWS_Os_00757]. El identificador concreto de la función de callback se determina en el lado del receptor mediante el atributo de configuración OsIocReceiverPullCB [SWS_Os_00757].
Para la llamada y las propiedades de la interfaz rigen los siguientes requisitos:
- Firma y parámetros: La función tiene el prototipo
void <Receiver Pull CB> ( void ); no recibe parámetros (ni de entrada, ni de paso ni de salida) y no devuelve ningún valor [SWS_Os_00757]. - Sincronía y reentrancia: La llamada por parte del IOC se realiza con semántica síncrona directamente en el core receptor [SWS_Os_00757]. Además, la función de callback está especificada como reentrante [SWS_Os_00757].
- Tratamiento de errores: La especificación no prevé para esta función valores de retorno ni códigos de error específicos o notificaciones de error [SWS_Os_00757].
Dado que la firma no transfiere ningún dato útil, la llamada probablemente sirva principalmente como señal de notificación para informar al receptor sobre la llegada de nuevos datos e iniciar la posterior recogida de los datos útiles. Pregunta Q-2365bb46ad77a476 (abierta) Los desarrolladores deben tener en cuenta que la ejecución se realiza de forma síncrona en el core receptor [SWS_Os_00757].
Este texto fue generado por una IA y se basa en la especificación AUTOSAR CP R20-11.
función ProtectionHook [SWS_Os_00538] 📄 PDF
ProtectionReturnType ProtectionHook (StatusType Fatalerror);
The protection hook is always called if a serious error occurs. E.g. exceeding the worst case execution time or violating against the memory protection.
La función ProtectionHook sirve como callback central del sistema operativo y se llama de forma síncrona siempre que se produce un error grave [SWS_Os_00538]. Como escenarios de error típicos, la especificación menciona explícitamente la superación del tiempo de ejecución en el peor de los casos (Worst Case Execution Time), así como infracciones de la protección de memoria [SWS_Os_00538]. La declaración de la interfaz se proporciona a través del encabezado Os_Externals.h [SWS_Os_00538].
Como parámetro de entrada, la rutina recibe Fatalerror de tipo StatusType, el cual pasa la causa desencadenante de la llamada al hook [SWS_Os_00538]. En la firma no se definen parámetros de entrada/salida adicionales ni parámetros exclusivos de salida [SWS_Os_00538].
Mediante el valor de retorno de tipo ProtectionReturnType, ProtectionHook determina de forma vinculante qué acción debe iniciar el sistema operativo tras la ejecución del hook para el tratamiento posterior del error [SWS_Os_00538]. Como valores de retorno están disponibles las siguientes acciones [SWS_Os_00538]:
PRO_IGNORE[SWS_Os_00538]PRO_TERMINATETASKISR[SWS_Os_00538]PRO_TERMINATEAPPL[SWS_Os_00538]PRO_TERMINATEAPPL_RESTART[SWS_Os_00538]PRO_SHUTDOWN[SWS_Os_00538]
En relación con la concurrencia y el comportamiento de ejecución, ProtectionHook está especificada como reentrante y síncrona [SWS_Os_00538]. La llamada se produce inmediatamente al producirse el error grave, tras lo cual el sistema operativo ejecuta la acción definida [SWS_Os_00538].
Este texto fue creado por una IA sobre la base de la especificación.
Guía del implementador pendiente (complejidad I2)
tipo AppModeType [SWS_Os_91007] 📄 PDF
App Mode of the core shall be inherited from another core.
El tipo de enumeración AppModeType está definido en el archivo de cabecera Os.h y sirve para fijar el modo de aplicación en el sistema operativo [SWS_Os_91007]. En sistemas multinúcleo, este tipo permite que el modo de aplicación de un núcleo de procesador se herede de otro Core [SWS_Os_91007].
Para el rango de valores se especifica el valor DONOTCARE [SWS_Os_91007]. Interpretación: este valor debería servir para configurar explícitamente un Core de forma que no inicie un modo independiente, sino que asuma el comportamiento del Core superior. Pregunta Q-2b7d9f1c8e5f1a3f (abierta) No se definen códigos de error o valores de retorno específicos para el tipo en sí.
En relación con el diagnóstico y el estado del sistema, es relevante la interacción con herramientas de análisis. Conforme a [SWS_Os_00829], el archivo de descripción de módulo ARTI debe admitir todos los contenedores ORTI para permitir a las herramientas de depuración conectadas la evaluación y visualización de información sobre el sistema operativo y sus objetos. La información de depuración de ARTI proporciona atributos dinámicos que se resuelven mediante fórmulas [SWS_Os_00829]. Interpretación: por tanto, es probable que el estado del modo de aplicación se represente y se lea a nivel de herramienta mediante los atributos de objeto ARTI correspondientes. Pregunta Q-410d011cbcf1b158 (abierta)
Esta nota de uso ha sido generada automáticamente sobre la base de los requisitos de la especificación.
Guía del implementador pendiente (complejidad I1)
tipo TotalNumberOfCores [SWS_Os_91002] 📄 PDF
The total number of cores
tipo ApplicationType [SWS_Os_00772] 📄 PDF
This data type identifies the OS - Application.
tipo ApplicationStateType [SWS_Os_00773] 📄 PDF
This data type identifies the state of an OS - Application. AUTOSAR CP R20 - o f Document ID : AUTOSAR_SWS_OS
El tipo de datos ApplicationStateType sirve en el sistema operativo Classic AUTOSAR para la identificación unívoca del estado de una OS-Application [SWS_Os_00773]. Está especificado como un tipo básico escalar y se proporciona a través del archivo de cabecera Os.h [SWS_Os_00773].
El rango de valores permitido de ApplicationStateType comprende tres estados discretos para una OS-Application [SWS_Os_00773]:
APPLICATION_ACCESSIBLE: Identifica que la OS-Application está lista para el servicio y que se puede acceder a sus recursos [SWS_Os_00773].APPLICATION_RESTARTING: Señaliza que la OS-Application se encuentra actualmente en una fase de reinicio [SWS_Os_00773].APPLICATION_TERMINATED: Indica que la OS-Application ha finalizado y no ejecuta más acciones [SWS_Os_00773].
En lo que respecta al uso y a la interacción con otros componentes, es de suponer que el tipo sirva probablemente como valor de retorno o parámetro de salida en los servicios del sistema del OS correspondientes para la monitorización de estado, con el fin de comunicar a los llamadores el estado actual del ciclo de vida de una aplicación. Pregunta Q-9a4f2254f4013853 (abierta) Al tratarse de una definición de tipo elemental, el estándar no especifica códigos de error independientes ni mensajes DET o DEM para ella, ni formula restricciones específicas relativas al contexto de llamada o a la reentrancia [SWS_Os_00773].
Este texto ha sido generado por una IA y se basa en datos de especificación de AUTOSAR R20-11.
Guía del implementador pendiente (complejidad I1)
tipo ApplicationStateRefType [SWS_Os_00774] 📄 PDF
This data type points to location where a Application State Type can be stored.
El tipo de datos ApplicationStateRefType forma parte del sistema operativo (módulo Os) en la plataforma AUTOSAR Classic y se pone a disposición a través del archivo de cabecera Os.h [SWS_Os_00774]. El tipo deriva de un puntero (Pointer) y apunta directamente a una posición de memoria en la que se puede depositar un estado de una aplicación del OS (Application State) [SWS_Os_00774].
En cuanto a su uso práctico, este tipo puntero sirve para referenciar estados de aplicación: Interpretación: Como tipo puntero, es de prever que ApplicationStateRefType se utilice principalmente como parámetro de referencia o de salida en funciones de consulta del sistema operativo mediante las cuales se transmite el estado de una aplicación del OS al invocador. Pregunta Q-948bb914d3672a38 (abierta) Por consiguiente, los invocadores deben asegurarse de que antes de la transferencia del parámetro se haya reservado un área de memoria válida y escribible para el estado de destino, a fin de evitar accesos erróneos a punteros en tiempo de ejecución.
En la especificación no se definen por separado para este tipo básico mecanismos específicos de tratamiento de errores, códigos de error para DET o DEM, ni disposiciones particulares de reentrancia y concurrencia [SWS_Os_00774]. Cualquier restricción relativa al contexto de llamada permitido o a obligaciones de sincronización a respetar se deriva exclusivamente de aquellas interfaces del sistema operativo que utilicen este tipo en sus firmas de función.
Este texto fue generado por una IA a partir de la especificación.
Guía del implementador pendiente (complejidad I1)
tipo TrustedFunctionIndexType [SWS_Os_00775] 📄 PDF
This data type identifies a trusted function.
tipo TrustedFunctionParameterRefType [SWS_Os_00776] 📄 PDF
This data type points to a structure which holds the arguments for a call to a trusted function.
tipo AccessType [SWS_Os_00777] 📄 PDF
This type holds information how a specific memory region can be accessed.
tipo ObjectAccessType [SWS_Os_00778] 📄 PDF
This data type identifies if an OS - Application has access to an object.
tipo ObjectType [SWS_Os_00779] 📄 PDF
This data type identifies an object.
tipo MemoryStartAddressType [SWS_Os_00780] 📄 PDF
This data type is a pointer which is able to point to any location in the MCU address space.
tipo MemorySizeType [SWS_Os_00781] 📄 PDF
This data type holds the size (in bytes) of a memory region.
tipo ISRType [SWS_Os_00782] 📄 PDF
This data type identifies an interrupt service routine (ISR).
tipo ScheduleTableType [SWS_Os_00783] 📄 PDF
This data type identifies a schedule table.
tipo ScheduleTableStatusType [SWS_Os_00784] 📄 PDF
This type describes the status of a schedule. The status can be one of the following: o The schedule table is not started (SCHEDULETABLE_ STOPPED) o The schedule table will be started after the end of currently running schedule table (sched ule table was used in Next Schedule Table() service) (SCHEDULETABLE_ NEXT) o The schedule table uses explicit synchronization, has been started and is waiting for the global time. (SCHEDULETABLE_ WAITING) o The schedule table is running, but is currently n ot synchronous to a global time source (SCHEDULETABLE_ RUNNING) o The schedule table is running and is synchronous to a global time source (SCHEDULETABLE_ RUNNING_ AND_ SYNCHRONOUS)
El tipo ScheduleTableStatusType representa, según [SWS_Os_00784], el estado actual de ejecución y sincronización de una Schedule Table en el sistema operativo AUTOSAR. Se proporciona a través del archivo de cabecera Os.h y se basa en un rango de valores específico de la implementación.
Se especifican los siguientes valores de estado:
SCHEDULETABLE_STOPPED: La Schedule Table no está iniciada.SCHEDULETABLE_NEXT: La tabla de planificación (Schedule Table) se inicia tras finalizar la tabla de planificación actualmente activa (interpretación: esto tiene lugar tras la entrega al servicioNextScheduleTable()). Pregunta Q-8cbcfc83969eea23 (abierta)SCHEDULETABLE_WAITING: La tabla de planificación utiliza sincronización explícita, ya se ha iniciado y espera la sincronización con el tiempo global.SCHEDULETABLE_RUNNING: La tabla de planificación se encuentra en ejecución, pero actualmente no está sincronizada con una fuente de tiempo global.SCHEDULETABLE_RUNNING_AND_SYNCHRONOUS: La tabla de planificación está en ejecución y sincronizada con la fuente de tiempo global.
Como tipo de datos de estado puro, ScheduleTableStatusType no define errores de tiempo de ejecución propios ni mensajes DET/DEM. En interacción con herramientas de análisis, el tipo sirve según [SWS_Os_00829] para la evaluación y representación asistidas por ARTI de objetos dinámicos del sistema operativo, lo que permite registrar de forma transparente desviaciones de estado y sincronización en el sistema.
Este texto fue generado por una IA y se basa en la especificación de AUTOSAR R20-11.
Guía del implementador pendiente (complejidad I1)
tipo ScheduleTableStatusRefType [SWS_Os_00785] 📄 PDF
This data type points to a variable of the data type Schedule Table Status Type.
Uso y definición
El tipo de datos ScheduleTableStatusRefType está definido conforme a [SWS_Os_00785] como tipo puntero a una variable del tipo de datos Schedule Table Status Type. El tipo se proporciona mediante la cabecera Os.h y actúa en el sistema operativo de AUTOSAR como tipo de referencia para el estado de una tabla de planificación (Schedule Table) [SWS_Os_00785].
Uso y condiciones de contorno
En llamadas típicas al sistema operativo, es de prever que este tipo puntero funcione como parámetro de salida a través del cual una función del sistema OS devuelve al invocador el estado actual de la Schedule Table referenciada. Pregunta Q-53364f3a9953dae3 (abierta) Dado que la especificación solo establece la definición del tipo, los componentes invocadores deben tener en cuenta lo siguiente al utilizarlo:
- Provisión de memoria: Antes de transferir una referencia de este tipo, el invocador debe asegurarse de que el puntero apunte a un área de memoria válida y escribible que permanezca válida durante toda la llamada.
- Validez y puntero nulo: Es previsible que la transferencia de un puntero nulo (
NULL) provoque, según la configuración del sistema operativo (estado estándar o extendido), las correspondientes respuestas de error por parte de los servicios del OS invocados. Pregunta Q-63d77f8c7857e6c4 (abierta) - Protección de memoria: En entornos del OS multinúcleo o con protección de memoria críticos para la seguridad, el área de memoria referenciada debe ser accesible para la tarea o instancia del OS invocadora.
Dado que [SWS_Os_00785] no especifica otras propiedades de tiempo de ejecución ni códigos de error específicos para el tipo base, la reentrancia y el contexto de llamada se derivan de los respectivos servicios de OS que utilizan este tipo de puntero como parámetro.
Esta nota de uso se ha generado automáticamente y se basa exclusivamente en los datos de especificación de la versión R20-11.
Guía del implementador pendiente (complejidad I1)
tipo ProtectionReturnType [SWS_Os_00787] 📄 PDF
This data type identifies a value which controls further actions of the OS on return from the protection hook.
tipo RestartType [SWS_Os_00788] 📄 PDF
This data type defines the use of a Restart Task after terminating an OS - Application.
tipo PhysicalTimeType [SWS_Os_00789] 📄 PDF
This data type is used for values returned by the conversion macro (see SWS_ Os_00393) OS_ TICKS2
tipo CoreIdType [SWS_Os_00790] 📄 PDF
Core Id Type is a scalar that allows identifying a single core. The Core Id Type shall represent t he logical Core ID
tipo SpinlockIdType [SWS_Os_00791] 📄 PDF
Spinlock Id Type identifies a spinlock instance and is used by the API functions: Get Spinlock, Release Spinlock and Try To Get Spinlock.
tipo TryToGetSpinlockType [SWS_Os_00792] 📄 PDF
The Try To Get Spinlock Type indicates if the spinlock has been occupied or not.
Uso y rango de valores
El tipo de enumeración TryToGetSpinlockType se proporciona a través del archivo de cabecera Os.h y sirve como indicación de estado de si un spinlock pudo ser ocupado con éxito por el llamador o no [SWS_Os_00792]. Define el resultado de las correspondientes operaciones de ocupación en el sistema operativo [SWS_Os_00792].
El rango de valores comprende exactamente dos literales especificados [SWS_Os_00792]:
TRYTOGETSPINLOCK_SUCCESS: Señaliza que el spinlock se pudo ocupar con éxito [SWS_Os_00792].TRYTOGETSPINLOCK_NOSUCCESS: Indica que el spinlock no se pudo ocupar [SWS_Os_00792].
Concurrencia y contexto del sistema
El tipo se utiliza en la sincronización en sistemas multinúcleo. Interpretación: Es probable que el llamador evalúe el valor de retorno de forma síncrona para determinar de inmediato si se permite entrar en la sección crítica protegida o si, en caso de TRYTOGETSPINLOCK_NOSUCCESS, debe seleccionarse una rama alternativa del programa sin espera bloqueante [SWS_Os_00792]. Pregunta Q-a04e72802dc41325 (abierta) Para este tipo no se han especificado códigos de error propios ni mensajes de error mediante DET o DEM [SWS_Os_00792].
Interacción con herramientas de diagnóstico
En el marco de la integración de herramientas, el archivo de descripción del módulo ARTI admite todos los contenedores ORTI para mostrar información sobre el sistema operativo, sus estados y objetos del sistema operativo, así como para determinar valores dinámicos [SWS_Os_00829]. Interpretación: A través de tales interfaces, es probable que los spinlocks y sus estados de ocupación también puedan ser visualizados por herramientas de depuración y rastreo [SWS_Os_00829]. Pregunta Q-a488e055eb7d402e (abierta)
Este texto ha sido generado por una IA y se basa en las especificaciones de AUTOSAR de la versión R20-11.
Guía del implementador pendiente (complejidad I1)
tipo IdleModeType [SWS_Os_00793] 📄 PDF
This data type identifies the idle mode behavior.
Uso y rango de valores
El tipo de datos escalar IdleModeType se proporciona a través de la cabecera Os.h y sirve para especificar el comportamiento de un núcleo de procesador en modo inactivo [SWS_Os_00793]. En el rango de valores definido se establece el modo IDLE_NO_HALT, con cuya selección el núcleo de procesador no ejecuta ninguna acción especial durante el tiempo de inactividad [SWS_Os_00793].
Interpretación: Dado que IdleModeType se deriva de un tipo base escalar, es probable que sirva en el contexto del sistema operativo como valor de configuración o parámetro de llamada para servicios de control del comportamiento de inactividad del núcleo. Pregunta Q-911a39efb537f1bc (abierta) Interpretación: Además del valor por defecto IDLE_NO_HALT, es probable que implementaciones concretas del sistema operativo o arquitecturas de microcontroladores prevean potencialmente modos de parada o de ahorro de energía adicionales, aunque el extracto de la especificación solo mencione la ausencia de acciones específicas. Pregunta Q-b6688f74cacbab45 (abierta)
Restricciones y tratamiento de errores
Para IdleModeType, en el presente alcance de la especificación no se indican códigos de error específicos, mensajes DET o DEM, ni requisitos de reentrancia o contextos de llamada [SWS_Os_00793]. Por lo tanto, las posibles restricciones funcionales o precondiciones se derivan exclusivamente de las interfaces superiores del sistema operativo que procesan este tipo.
Este texto ha sido generado por una IA sobre la base de la especificación SWS_Os_00793.
Guía del implementador pendiente (complejidad I1)
tipo AreaIdType [SWS_Os_91000] 📄 PDF
Area Id Type identifies a peripheral area and is used by the API functions: Read Peripheral X, Write Peripheral X and Modify Peripheral X AUTOSAR CP R20 - o f Document ID : AUTOSAR_SWS_OS
tipo TimeInMicrosecondsType [SWS_Os_00794] 📄 PDF
-
tipo CounterType [SWS_Os_00786] 📄 PDF
This data type identifies a counter.
tipo TickType [SWS_Os_00001] 📄 PDF
typedef uint32 TickType;
This data type represents count values in ticks.
tipo StatusType [SWS_Os_00002] 📄 PDF
typedef uint8 StatusType;
This data type represents standard OSEK OS status codes (e.g. E_OK, E_OS_ACCESS).
Guía del implementador pendiente (complejidad I2)
tipo TaskType [SWS_Os_00003] 📄 PDF
typedef uint8 TaskType;
This data type identifies an AUTOSAR OS task.
tipo EventMaskType [SWS_Os_00004] 📄 PDF
typedef uint32 EventMaskType;
This data type represents an event mask for extended tasks.
tipo AlarmType [SWS_Os_00005] 📄 PDF
typedef uint8 AlarmType;
This data type represents an AUTOSAR OS alarm identifier.
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_Os- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_Os@rel:R20-11#a3117f0c- Content hash
a3117f0c- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_OS.pdf#nameddest=SWS_Os_00016
gemini-3.8-flash-low· 2026-10-13 · Original en alemán