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
fonction 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).
fonction 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().
fonction GetISRID [SWS_Os_00511] 📄 PDF
ISRType GetISRID (void);
This service returns the identifier of the currently executing ISR.
fonction 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
Le service système CallTrustedFunction (ID de service 0x02) permet à une OS-Application de confiance ou sans confiance d'appeler une Trusted Function définie pour exécution [SWS_Os_00097]. L'interface est mise à disposition via l'en-tête Os.h [SWS_Os_00097].
L'appel nécessite la transmission de deux paramètres d'entrée [SWS_Os_00097] :
FunctionIndex(typeTrustedFunctionIndexType) : désigne l'index de la fonction à appeler [SWS_Os_00097].FunctionParams(typeTrustedFunctionParameterRefType) : transmet un pointeur vers les paramètres de la fonction cible ; si aucun argument n'est requis, un pointeur NULL doit obligatoirement être transmis [SWS_Os_00097].
En ce qui concerne le comportement temporel, l'exécution s'aligne sur la routine cible : si la fonction appelée est synchrone, le service se comporte également de manière synchrone [SWS_Os_00097]. La fonction est implémentée comme réentrante, mais peut entraîner un réordonnancement (rescheduling) du système d'exploitation pendant l'exécution [SWS_Os_00097].
En tant que valeur de retour, le service fournit une valeur d'état de type StatusType [SWS_Os_00097] :
E_OK: l'exécution a été effectuée avec succès et sans erreur [SWS_Os_00097].E_OS_SERVICEID: aucune fonction valide n'est attribuée à l'index transmis [SWS_Os_00097].
Cette note d'utilisation a été générée automatiquement sur la base d'AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I2)
fonction 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 fonction CheckISRMemoryAccess est un service système synchrone et réentrant du module OS ([SWS_Os_00512]). Elle sert à vérifier à l'exécution les droits d'accès mémoire d'une ISR spécifiée pour une zone mémoire déterminée.
Utilisation et paramètres
L'appel de CheckISRMemoryAccess attend trois paramètres d'entrée ([SWS_Os_00512]) :
ISRID: référence vers l'ISR à vérifier (ISRType).Address: adresse de départ de la zone mémoire à examiner (MemoryStartAddressType).Size: taille de la zone mémoire (MemorySizeType).
Comme valeur de retour, le service fournit le type AccessType. Cette valeur de retour contient les droits d'accès (lecture, écriture, exécution) à la zone spécifiée et indique en outre si la zone mémoire fait partie de la zone de pile ([SWS_Os_00512]).
Concurrence et intégration
Conformément à la spécification, la fonction possède l'ID de service 0x03 et est déclarée comme réentrante ([SWS_Os_00512]). Elle est disponible via l'en-tête Os.h ([SWS_Os_00512]). Aucun code d'erreur spécifique ni retour explicite vers DET/DEM n'est mentionné dans le présent extrait de spécification.
Cette note d'utilisation a été générée automatiquement sur la base des données de spécification d'AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I2)
fonction 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 fonction CheckTaskMemoryAccess constitue un service synchrone du système d'exploitation, fourni via l'en-tête Os.h et possédant l'ID de service 0x04 [SWS_Os_00513]. Elle sert à interroger les droits d'accès mémoire d'une tâche spécifique pour un segment de mémoire donné [SWS_Os_00513].
Paramètres et valeurs de retour
Lors de l'appel, le service reçoit trois paramètres d'entrée [SWS_Os_00513] :
Task ID(de typeTaskType) : référence à la tâche dont les droits d'accès doivent être vérifiés.Address(de typeMemoryStartAddressType) : l'adresse de début de la zone mémoire à vérifier.Size(de typeMemorySizeType) : la taille de la zone mémoire à examiner.
Comme valeur de retour, le service fournit une variable de type AccessType [SWS_Os_00513]. Cette valeur de retour contient l'information indiquant si la zone mémoire spécifiée est accessible pour la tâche avec des droits d'écriture, de lecture ou d'exécution, et indique en outre si la zone fait partie de la zone de pile [SWS_Os_00513]. Aucun code d'erreur supplémentaire ni message DET n'est spécifié pour ce service.
Concurrence et interaction
Le service est spécifié comme réentrant et peut donc être utilisé en toute sécurité dans des contextes d'exécution concurrents [SWS_Os_00513]. Tandis que CheckTaskMemoryAccess interroge les autorisations pour les zones mémoire au moment de l'exécution, le standard AUTOSAR définit, dans les descriptions de modules ARTI, des interfaces et des structures de données par lesquelles les outils de débogage peuvent acquérir et analyser les états et attributs des objets du système d'exploitation [SWS_Os_00829].
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R20-11.
La fonction CheckTaskMemoryAccess ([SWS_Os_00513]) permet d'interroger dynamiquement les droits d'accès mémoire attribués à une tâche spécifique au sein du système d'exploitation.
Utilisation et sémantique
Ce service vérifie si une plage de mémoire donnée est accessible en lecture, en écriture ou en exécution, et détermine si cette région fait partie de l'espace de pile de la tâche ([SWS_Os_00513]) :
TaskID: référence de la tâche dont les autorisations doivent être évaluées ([SWS_Os_00513]).AddressetSize: adresse de départ et taille en octets de la zone mémoire cible ([SWS_Os_00513]).- Valeur de retour : un élément de type
AccessTypeencodant les droits effectifs d'accès ainsi que l'information sur la zone de pile ([SWS_Os_00513]).
Concurrence et intégration
Le service possède l'identifiant 0x04, est déclaré dans l'en-tête Os.h, s'exécute de façon synchrone et présente une propriété de réentrance complète ([SWS_Os_00513]). Il ne comporte aucun paramètre par référence en sortie.
Dans l'architecture globale, cette vérification à l'exécution complète les descriptions d'objets et les informations d'état du système d'exploitation exploitées par les outils de débogage dans le cadre d'ARTI ([SWS_Os_00829]).
Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I2)
fonction 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.
Utilisation et sémantique
La fonction CheckObjectAccess ([SWS_Os_00256]) détermine de manière synchrone si une OS-Application donnée possède l'autorisation d'utiliser l'ID d'un objet du système d'exploitation dans des appels d'API. Le paramètre d'entrée ApplID de type ApplicationType ([SWS_Os_00256]) sert à identifier l'application. ObjectType (type ObjectTypeType) permet de définir quel type d'objet doit être vérifié ; sont pris en charge Task, Resource, Counter, Alarm et Schedule Table ([SWS_Os_00256]). Le troisième paramètre transmis est l'objet à examiner lui-même via la liste variable de paramètres ... ([SWS_Os_00256]).
Comme valeur de retour, la fonction fournit le type ObjectAccessType : si l'accès de l'application à l'objet est autorisé, ACCESS est renvoyé, sinon NO_ACCESS ([SWS_Os_00256]). Le service est déclaré via l'en-tête Os.h et possède l'ID de service 0x05 ([SWS_Os_00256]).
Concurrence, traitement des erreurs et interaction
Le service est spécifié comme réentrant et peut donc être appelé dans des contextes d'exécution concurrents ([SWS_Os_00256]). Aucun code d'erreur spécifique, valeur de retour pour les états d'erreur ou message destiné à DET ou DEM n'est prévu dans la spécification pour cette fonction ([SWS_Os_00256]).
Interprétation : dans l'implémentation, l'argument variable ... devrait transmettre l'identifiant concret de l'objet correspondant à ObjectType. Question Q-5cb52ff94bb07826 (ouverte) Les objets vérifiés du système d'exploitation se reflètent également dans les informations de débogage ARTI, qui enregistrent et évaluent les attributs et états des objets du système d'exploitation ([SWS_Os_00829]).
Cette note d'utilisation a été générée de manière automatisée sur la base de la spécification R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction 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
Utilisation
La fonction système synchrone CheckObjectOwnership sert à déterminer à quelle OS-Application appartient un objet donné du système d'exploitation [SWS_Os_00017]. Parmi les objets pouvant être interrogés via ce service figurent les tâches, les routines de service d'interruption (ISRs), les compteurs, les alarmes ainsi que les tables d'ordonnancement (Schedule Tables) [SWS_Os_00017].
La fonction est disponible via le fichier d'en-tête Os.h et possède l'ID de service 0x06 [SWS_Os_00017]. Lors de son utilisation, la fonction reçoit deux paramètres d'entrée :
ObjectType: identifie, en tant que paramètre d'entrée de typeObjectTypeType, le type d'objet du système d'exploitation transmis ensuite [SWS_Os_00017]....: transmet l'objet concret à analyser au service [SWS_Os_00017].
Comme valeur de retour, la fonction fournit le type de données ApplicationType [SWS_Os_00017]. Celui-ci contient l'identifiant de l'OS-Application à laquelle l'objet vérifié est affecté [SWS_Os_00017].
Traitement des erreurs et propriétés d'exécution
Si l'objet interrogé n'existe pas dans le système, le service renvoie la valeur de retour INVALID_OSAPPLICATION [SWS_Os_00017].
En ce qui concerne le comportement face aux accès concurrents, CheckObjectOwnership est spécifié comme réentrant et fonctionne de manière entièrement synchrone [SWS_Os_00017]. Aucun paramètre d'entrée/sortie (inout ou out) n'existe en dehors de la valeur de retour [SWS_Os_00017].
Cette note d'utilisation est basée sur la spécification SWS_Os_00017 d'AUTOSAR Classic R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction 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.
Utilisation et paramètres
Le service système StartScheduleTableRel démarre le traitement d'une table d'ordonnancement par rapport à la valeur actuelle (« Now ») du compteur sous-jacent [SWS_Os_00347]. L'appel est exécuté de manière synchrone et est disponible via l'interface Os.h avec l'ID de service 0x07 [SWS_Os_00347].
ScheduleTableID(entrée,ScheduleTableType) : identifiant de la table d'ordonnancement à démarrer [SWS_Os_00347].Offset(entrée,TickType) : nombre relatif de tops sur le compteur avant que le traitement de la table ne commence [SWS_Os_00347].
Valeurs de retour et gestion des erreurs
La fonction renvoie un code d'état de type StatusType [SWS_Os_00347] :
E_OK: la table d'ordonnancement a été démarrée sans erreur [SWS_Os_00347].E_OS_STATE: la table d'ordonnancement spécifiée a déjà été démarrée [SWS_Os_00347].E_OS_ID(uniquement avec l'étatEXTENDED) : leScheduleTableIDspécifié n'est pas valide [SWS_Os_00347].E_OS_VALUE(uniquement avec l'étatEXTENDED) : le paramètreOffsetest égal à0ou dépasse la valeur(OsCounterMaxAllowedValue - InitialOffset)[SWS_Os_00347].
Concurrence et restrictions
La fonction est spécifiée comme réentrante [SWS_Os_00347]. Il n'existe aucun paramètre de sortie ou d'entrée/sortie [SWS_Os_00347].
Cette note d'utilisation est basée sur la spécification AUTOSAR CP R20-11.
Guide de l'implémenteur à venir (complexité I2)
fonction 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 fonction synchrone et réentrante StartScheduleTableAbs sert à démarrer une table d'ordonnancement (Schedule Table) à une valeur absolue définie sur le compteur sous-jacent ([SWS_Os_00358]). Le service est disponible via l'en-tête Os.h et est identifié par l'ID de service 0x08 ([SWS_Os_00358]).
Deux paramètres d'entrée sont transmis lors de l'appel ([SWS_Os_00358]) :
ScheduleTableID: identifiant de la Schedule Table à démarrer.Start: valeur absolue de ticks de compteur à laquelle la Schedule Table est démarrée.
Comme valeur de retour, la fonction fournit l'état de type StatusType ([SWS_Os_00358]) :
E_OK: le processus de démarrage a réussi.E_OS_STATE: la Schedule Table spécifiée a déjà été démarrée auparavant.E_OS_ID: laScheduleTableIDtransmise est invalide (renvoyé uniquement dans le statutEXTENDED).E_OS_VALUE: la valeur deStartdépasse la valeur maximale admissible du compteurOsCounterMaxAllowedValue(retourné uniquement avec l'étatEXTENDED).
Concernant l'interaction, l'état et les attributs dynamiques d'objets du système d'exploitation tels que les Schedule Tables peuvent être évalués et représentés par des outils de débogage connectés via des descriptions de module ARTI ([SWS_Os_00829]). Interprétation : le contexte d'appel devrait principalement inclure des niveaux de tâche, car aucune restriction explicite n'est indiquée dans l'extrait de spécification. Question Q-213de28d0345ccb1 (ouverte)
Ce texte a été généré par une IA et repose exclusivement sur les spécifications de la version R20-11.
Guide de l'implémenteur à venir (complexité I2)
fonction 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 fonction système synchrone StopScheduleTable ([SWS_Os_00006]) interrompt immédiatement le traitement d'une table d'ordonnancement en cours à n'importe quel moment du traitement. Le service est déclaré dans l'en-tête Os.h et possède l'ID de service 0x09 ([SWS_Os_00006]). Le seul paramètre d'entrée est ScheduleTableID de type ScheduleTableType, qui spécifie la table d'ordonnancement à arrêter ; aucun paramètre d'entrée/sortie ou de sortie pure n'existe ([SWS_Os_00006]).
L'appel synchrone fournit comme valeur de retour un code d'état de type StatusType ([SWS_Os_00006]) :
E_OK: le traitement de la table d'ordonnancement a été arrêté sans erreur ([SWS_Os_00006]).E_OS_NOFUNC: la table d'ordonnancement spécifiée se trouvait déjà à l'état arrêté ([SWS_Os_00006]).E_OS_ID: l'identifiantScheduleTableIDtransmis est invalide. Selon la spécification, cette valeur de retour n'est générée que dans l'étatEXTENDED([SWS_Os_00006]).
La fonction est définie comme réentrante ([SWS_Os_00006]). Interprétation : compte tenu de la réentrance déclarée, l'appel synchrone depuis plusieurs contextes d'OS devrait être autorisé, bien que des restrictions de contexte concrètes manquent dans l'extrait de spécification présent. Question Q-9cb147c4bc7dba7e (ouverte) Pour la surveillance à l'exécution, l'état et les attributs dynamiques d'objets d'OS tels que des tables d'ordonnancement peuvent être transmis à des outils de débogage et d'analyse connectés via des fichiers de description ARTI ([SWS_Os_00829]).
Remarque : cette explication a été générée automatiquement sur la base de la spécification d'AUTOSAR Classic Release R20-11.
Guide de l'implémenteur à venir (complexité I2)
fonction 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 fonction NextScheduleTable sert à basculer de manière synchrone le traitement d'une table d'ordonnancement en cours vers une table suivante [SWS_Os_00191]. Le service est conçu pour être réentrant et est déclaré via l'en-tête Os.h [SWS_Os_00191].
Paramètres et appel
Deux paramètres d'entrée de type ScheduleTableType sont transmis à l'appel [SWS_Os_00191] :
ScheduleTableID_From: identifiant de la table d'ordonnancement actuellement traitée [SWS_Os_00191].ScheduleTableID_To: identifiant de la table d'ordonnancement qui fournit la suite consécutive de points d'expiration (Expiry Points) [SWS_Os_00191].
Valeurs de retour et gestion des erreurs
La fonction renvoie une valeur d'état de type StatusType [SWS_Os_00191] :
E_OK: la requête de basculement a été émise sans erreur [SWS_Os_00191].E_OS_ID: n'est renvoyé qu'en cas de statutEXTENDEDconfiguré si au moins l'un des identifiants de table transmis est invalide [SWS_Os_00191].E_OS_NOFUNC: la table initialeScheduleTableID_Fromne se trouve pas à l'état démarré [SWS_Os_00191].E_OS_STATE: la table cibleScheduleTableID_Toest déjà activement démarrée ou déjà programmée comme table suivante [SWS_Os_00191].
Interaction et diagnostic
Pour l'observation et l'analyse du système d'exploitation, les descriptions de module ARTI prennent en charge des conteneurs ORTI correspondants, ce qui permet notamment aux outils de débogage d'évaluer et de représenter les états dynamiques d'objets du système d'exploitation [SWS_Os_00829].
Ce texte a été généré automatiquement. Toutes les indications reposent exclusivement sur les spécifications de la version AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I2)
fonction StartScheduleTableSynchron [SWS_Os_00201] 📄 PDF
StatusType StartScheduleTableSynchron (ScheduleTableType ScheduleTableID);
This service starts an explicitly synchronized schedule table synchronously.
Utilisation
Le service système StartScheduleTableSynchron sert à démarrer de manière synchrone une table d'ordonnancement synchronisée explicitement [SWS_Os_00201]. La fonction est déclarée dans le fichier d'en-tête Os.h et possède l'ID de service 0x0b [SWS_Os_00201]. En tant qu'unique paramètre de transmission, la fonction attend le paramètre d'entrée ScheduleTableID de type ScheduleTableType, qui référence de façon univoque la table à démarrer [SWS_Os_00201]. Il n'y a pas de paramètres d'entrée/sortie ou de purs paramètres de sortie [SWS_Os_00201]. Le traitement s'effectue de manière synchrone et renvoie une valeur de retour de type StatusType [SWS_Os_00201].
Gestion des erreurs
En cas de déroulement sans erreur, l'appel de fonction renvoie le code d'état E_OK [SWS_Os_00201]. En cas d'erreur, les valeurs de retour suivantes sont spécifiées :
E_OS_STATE: la table d'ordonnancement spécifiée se trouve déjà à l'état démarré et ne peut pas être redémarrée de manière synchrone [SWS_Os_00201].E_OS_ID: leScheduleTableIDtransmis n'est pas valide [SWS_Os_00201]. Cette vérification d'erreur et ce message d'erreur sont actifs exclusivement avec l'état EXTENDED [SWS_Os_00201].
Concurrence et restrictions
La fonction est spécifiée comme réentrante [SWS_Os_00201]. Étant donné qu'un appel répété pour une table déjà active est rejeté avec E_OS_STATE, l'appelant doit s'assurer que la table cible n'est pas déjà en cours d'exécution avant l'appel [SWS_Os_00201].
Interaction
Les transitions d'état et propriétés dynamiques d'objets du système d'exploitation peuvent être retracées pour des outils de test et de diagnostic via des fichiers de description de module ARTI et des conteneurs ORTI [SWS_Os_00829]. Des débogueurs externes utilisent ces descriptions pour évaluer l'état interne des objets OS au moment de l'exécution [SWS_Os_00829].
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I2)
fonction SyncScheduleTable [SWS_Os_00199] 📄 PDF
StatusType SyncScheduleTable (ScheduleTableType ScheduleTableID, TickType Value);
Service SyncScheduleTable.
Le service de système d'exploitation synchrone et réentrant SyncScheduleTable sert à transmettre une valeur de compteur à une table d'ordonnancement et à démarrer le processus de synchronisation ([SWS_Os_00199]). La fonction est mise à disposition via le fichier d'en-tête Os.h ([SWS_Os_00199]).
Paramètres et valeurs de retour
La fonction attend deux paramètres d'entrée ([SWS_Os_00199]) :
Schedule Table ID: identifiant de la table d'ordonnancement à synchroniser, de typeScheduleTableType([SWS_Os_00199]).Value: valeur actuelle du compteur de synchronisation, de typeTickType([SWS_Os_00199]).
La valeur de retour de type StatusType signale avec E_OK une exécution sans erreur ([SWS_Os_00199]).
Gestion des erreurs et conditions limites
Si la table se trouve à l'état SCHEDULETABLE_STOPPED au moment de l'appel, l'erreur E_OS_STATE est retournée ([SWS_Os_00199]). Si le système d'exploitation est configuré avec l'état EXTENDED, d'autres vérifications interviennent ([SWS_Os_00199]) :
E_OS_ID: l'ID de table spécifié n'est pas valide ou la table ne peut pas être synchronisée parce queOs Schedule Tbl Sync Strategyn'est pas configuré ou est défini surIMPLICIT([SWS_Os_00199]).E_OS_VALUE: la valeur de compteur transmiseValueest en dehors de la plage autorisée ([SWS_Os_00199]).
Interaction et diagnostic
Les états et attributs dynamiques d'objets du système d'exploitation tels que les tables d'ordonnancement peuvent être évalués par des outils de débogage et de diagnostic connectés via des descriptions de module ARTI et des conteneurs ORTI ([SWS_Os_00829]).
Ce texte a été généré par une IA sur la base d'AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I2)
fonction SetScheduletableAsync [SWS_Os_00422] 📄 PDF
StatusType SetScheduletableAsync (ScheduleTableType ScheduleTableID);
This service stops synchronization of a schedule table.
fonction 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).
fonction IncrementCounter [SWS_Os_00399] 📄 PDF
StatusType IncrementCounter (CounterType CounterID);
This service increments a software counter.
Utilisation
La fonction synchrone du système d'exploitation IncrementCounter sert à faire avancer explicitement un compteur logiciel [SWS_Os_00399]. Elle attend comme paramètre d'entrée l'identifiant CounterID de type CounterType, ne modifie aucun autre paramètre et est disponible via l'en-tête Os.h [SWS_Os_00399]. Il convient de noter que l'appel peut provoquer un réordonnancement immédiat du système d'exploitation [SWS_Os_00399].
Gestion des erreurs
La valeur de retour de type StatusType renseigne sur le succès de l'opération : en fonctionnement normal, E_OK signale une exécution sans erreur [SWS_Os_00399]. Lorsque le contrôle d'état étendu est activé (état EXTENDED), le service renvoie E_OS_ID si un ID de compteur invalide a été spécifié ou si le compteur référencé est réalisé de manière matérielle et ne peut donc pas être incrémenté par voie logicielle [SWS_Os_00399].
Concurrence et diagnostic
La fonction est conçue pour être réentrante et peut donc être appelée de manière concurrente [SWS_Os_00399]. Un réordonnancement éventuel devrait, selon l'interprétation, se produire lorsque l'incrémentation du compteur déclenche des actions dépendantes telles que des expirations d'alarmes ou des activations de tâches. Question Q-9004b5ced9b96230 (ouverte) Pour l'observation d'objets du système d'exploitation tels que les compteurs ainsi que de leur état dynamique, les descriptions de modules ARTI aident les outils d'analyse connectés lors de la surveillance à l'exécution [SWS_Os_00829].
Cette note d'utilisation a été générée automatiquement et repose sur les spécifications de la version AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I2)
fonction 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).
fonction 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.
fonction TerminateApplication [SWS_Os_00258] 📄 PDF
StatusType TerminateApplication (ApplicationType Application, RestartType RestartOption);
Service TerminateApplication.
La fonction synchrone et réentrante TerminateApplication sert à mettre fin à une OS-Application et est disponible via le fichier d'en-tête Os.h [SWS_Os_00258]. L'appel est autorisé depuis le contexte d'une tâche, d'une ISR de catégorie 2 ainsi que d'un hook d'erreur spécifique à l'application [SWS_Os_00258].
L'identifiant de l'application cible (Application) et le comportement de redémarrage (Restart Option) sont transmis en tant que paramètres d'entrée [SWS_Os_00258] :
- Si l'appelant appartient lui-même à l'application spécifiée dans
Application, l'exécution entraîne une auto-terminaison [SWS_Os_00258]. Restart Optionpermet de définir si l'OS-Application doit ensuite être redémarrée (RESTART) ou non (NO_RESTART) [SWS_Os_00258].
La fonction renvoie une valeur d'état de type StatusType [SWS_Os_00258] :
E_OKsignale une terminaison sans erreur [SWS_Os_00258].E_OS_STATEindique que l'état actuel deApplicationne permet pas d'y mettre fin [SWS_Os_00258].- Avec l'état EXTENDED, des vérifications d'erreur supplémentaires sont effectuées :
E_OS_IDen cas d'ID d'application non valide,E_OS_VALUEen cas de valeur de paramètre non valide pourRestart Optionainsi queE_OS_ACCESSsi l'appelant ne dispose pas des droits nécessaires pour mettre fin àApplication[SWS_Os_00258].
Cette note d'utilisation a été générée automatiquement sur la base de la spécification SWS_Os_00258.
Guide de l'implémenteur à venir (complexité I2)
fonction 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.
Utilisation
Le service système synchrone AllowAccess (ID de service 0x13) sert à faire passer l'état de la propre OS-Application de APPLICATION_RESTARTING à APPLICATION_ACCESSIBLE ([SWS_Os_00501]). La fonction est disponible via le fichier d'en-tête Os.h, n'attend aucun paramètre d'entrée et renvoie une valeur d'état de type StatusType ([SWS_Os_00501]). En cas de réalisation réussie du changement d'état, l'appel renvoie la valeur de retour E_OK ([SWS_Os_00501]).
Gestion des erreurs et concurrence
Si l'OS-Application appelante ne se trouve pas dans l'état APPLICATION_RESTARTING, l'exécution échoue et la fonction renvoie la valeur d'erreur E_OS_STATE ([SWS_Os_00501]). Aucun message spécifique pour DET ou DEM n'est défini dans la spécification pour ce service. En ce qui concerne le comportement face à la concurrence, la fonction est classée comme réentrante et peut donc être exécutée en toute sécurité dans des traitements parallèles ([SWS_Os_00501]).
Interaction et diagnostic
Interprétation : l'appel devrait typiquement avoir lieu à la fin d'une phase de redémarrage propre à l'application, dès que tous les préparatifs sont terminés et que d'autres applications sont à nouveau autorisées à accéder aux ressources. Question Q-f43a3f702d5d2428 (ouverte) Les états dynamiques du système d'exploitation et des objets OS associés peuvent être analysés et visualisés dans le cadre du diagnostic système via des fichiers de description normalisés ARTI et des outils de débogage associés ([SWS_Os_00829]).
Ce texte a été rédigé par une IA et repose sur l'état de spécification R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction GetApplicationState [SWS_Os_00499] 📄 PDF
StatusType GetApplicationState (ApplicationType Application, ApplicationStateRefType Value);
This service returns the current state of an OS - Application.
fonction 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
fonction GetCore [SWS_Os_00674] 📄 PDF
CoreIdType GetCoreID (void);
The function returns a unique core identifier.
fonction 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 fonction synchrone StartCore démarre le cœur de processeur spécifié via le paramètre Core ID [SWS_Os_00676]. La fonction ne possède pas de valeur de retour directe, mais transmet le résultat de l'exécution à l'appelant via le paramètre OUT Status [SWS_Os_00676]. Si un cœur a été démarré à l'aide de cette fonction, Start OS doit être appelé ultérieurement sur le cœur concerné [SWS_Os_00676].
Des restrictions strictes s'appliquent au contexte d'appel ainsi qu'à la concurrence : StartCore est spécifié comme non réentrant (Non Reentrant) [SWS_Os_00676]. Un appel après le démarrage du système d'exploitation via Start OS() n'est pas pris en charge [SWS_Os_00676]. Le service est implémenté de manière synchrone et est mis à disposition via le fichier d'en-tête Os.h avec l'ID de service 0x17 [SWS_Os_00676].
Le traitement des erreurs s'effectue via le paramètre Status, qui peut prendre les valeurs suivantes selon la configuration de l'état [SWS_Os_00676] :
- Avec l'état standard,
E_OKindique une exécution sans erreur [SWS_Os_00676]. - Avec l'état étendu (extended status),
E_OKconfirme également un démarrage réussi [SWS_Os_00676]. E_OS_IDsignale que leCore IDtransmis n'est pas valide [SWS_Os_00676].E_OS_ACCESSsignale un appel non autorisé après le démarrage du système d'exploitation [SWS_Os_00676].E_OS_STATEindique que le cœur de processeur demandé est déjà activé [SWS_Os_00676].
Cette note d'utilisation a été générée par une IA et s'appuie exclusivement sur la spécification du système d'exploitation AUTOSAR Classic issue de la version R20-11.
Guide de l'implémenteur à venir (complexité I2)
fonction 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.
Utilisation et contexte d'appel
La fonction synchrone et non réentrante StartNonCore démarre le cœur de processeur spécifié via le paramètre CoreID [SWS_Os_00682]. Elle peut être appelée après le démarrage du système d'exploitation via StartOS() et est disponible via le fichier d'en-tête Os.h [SWS_Os_00682]. Le paramètre de sortie Status permet à l'appelant de vérifier si l'opération de démarrage a réussi [SWS_Os_00682].
Traitement des erreurs et valeurs d'état
La fonction ne possède pas de valeur de retour directe, mais signale le résultat de l'exécution via le paramètre de type pointeur Status [SWS_Os_00682] :
E_OK: l'opération a été exécutée avec succès et sans erreur [SWS_Os_00682].E_OS_ID: la valeurCoreIDspécifiée est invalide (dans l'état standard) [SWS_Os_00682].E_OS_STATE: le cœur de processeur spécifié est déjà activé (dans l'état standard) [SWS_Os_00682].
Restrictions et conditions d'ordonnancement
En tant qu'interface non réentrante, StartNonCore ne doit pas être exécutée de manière concurrente [SWS_Os_00682]. De plus, il est strictement prescrit que StartOS ne doit en aucun cas être appelé sur des cœurs de processeur ayant été activés via cette fonction ; dans le cas contraire, le comportement du système est non spécifié [SWS_Os_00682].
Cette note d'utilisation a été générée automatiquement sur la base de la spécification d'AUTOSAR Classic R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction 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 fonction de système d'exploitation synchrone et réentrante GetSpinlock ([SWS_Os_00686]) sert à verrouiller une variable de spinlock via le paramètre de transmission SpinlockId (type SpinlockIdType). Lors de l'exécution, la fonction utilise un mécanisme d'attente active (« busy waiting ») sans déclencher de désordonnancement de la tâche appelante ([SWS_Os_00686]).
La fonction ne retourne que lorsque le verrou a été acquis avec succès ou qu'une erreur est survenue. Comme valeur de retour, GetSpinlock renvoie le StatusType ([SWS_Os_00686]) :
E_OK: le verrou a été acquis sans erreur (dans l'état Standard et Extended).E_OS_ID: leSpinlockIdtransmis n'est pas valide (uniquement dans l'état Extended).E_OS_INTERFERENCE_DEADLOCK: une tâche tente de verrouiller le spinlock alors qu'il est déjà verrouillé par une tâche sur le même Core (uniquement dans l'état Extended).E_OS_NESTING_DEADLOCK: une tâche tente de demander le spinlock alors qu'une tâche du même Core détient déjà un autre spinlock, ce qui pourrait provoquer un interblocage (uniquement dans l'état Extended).E_OS_ACCESS: il est impossible d'accéder au spinlock spécifié (uniquement dans l'état Extended).
Dans le cadre de la surveillance du système et de l'analyse des erreurs, le système d'exploitation fournit des informations d'état dynamiques sur les objets OS, qui, conformément à [SWS_Os_00829], peuvent être évaluées par des outils de débogage via des conteneurs ARTI et ORTI ; ces informations permettent vraisemblablement aussi d'analyser des situations de blocage au niveau des spinlocks. Question Q-bac194d4132f6e88 (ouverte)
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I2)
fonction 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 fonction synchrone et réentrante ReleaseSpinlock libère une variable spinlock précédemment occupée ([SWS_Os_00695]). Le paramètre d'entrée SpinlockId de type SpinlockIdType spécifie l'instance de spinlock à libérer ([SWS_Os_00695]).
Conditions d'ordonnancement et restrictions
Des exigences temporelles et structurelles strictes s'appliquent à l'appel ([SWS_Os_00695]) :
- Avant de terminer une tâche, toutes les variables spinlock préalablement occupées à l'aide de
GetSpinlock()doivent être libérées ([SWS_Os_00695]). - Avant l'appel de
WaitEvent, tous les spinlocks détenus doivent être libérés sans exception ([SWS_Os_00695]). - La libération doit s'effectuer dans l'ordre d'imbrication correct ; une tentative de libération échoue si des spinlocks ou ressources de niveau supérieur sont encore occupés ([SWS_Os_00695]).
Valeurs de retour et gestion des erreurs
En cas de succès, le service renvoie E_OK aussi bien en statut standard qu'en statut étendu ([SWS_Os_00695]). En statut étendu (Extended Status), des codes d'erreur spécifiques sont définis ([SWS_Os_00695]) :
E_OS_ID: laSpinlockIdtransmise est invalide ([SWS_Os_00695]).E_OS_STATE: Le spinlock n'est pas occupé par la tâche appelante ([SWS_Os_00695]).E_OS_ACCESS: Impossible d'accéder au spinlock ([SWS_Os_00695]).E_OS_NOFUNC: Tentative de libération du spinlock alors qu'un autre spinlock ou une ressource doit encore être libéré au préalable ([SWS_Os_00695]).
La fonction est disponible via l'en-tête Os.h ([SWS_Os_00695]). Les fichiers de description ARTI prennent en charge les conteneurs ORTI pour l'évaluation dynamique de l'état et des performances des objets du système d'exploitation ([SWS_Os_00829]).
Ce texte a été généré par une IA et vérifié par autodocs.
Guide de l'implémenteur à venir (complexité I2)
fonction 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 fonction du système d'exploitation synchrone et réentrante TryToGetSpinlock sert à occuper de manière non bloquante une instance de spinlock via l'en-tête Os.h [SWS_Os_00703]. Elle assure la même fonctionnalité de base que GetSpinlock, mais n'attend pas activement si le spinlock demandé est déjà occupé par une TASK sur un autre Core [SWS_Os_00703].
Paramètres et valeurs de retour
SpinlockId(entrée) : Référence l'instance concrète de spinlock qui doit être verrouillée [SWS_Os_00703].Success(sortie) : Indique via le typeTryToGetSpinlockType*si le verrou a pu être obtenu ou non [SWS_Os_00703]. Si le verrou est occupé sur un autre Core, la fonction définit ce paramètre en conséquence et retourne avecE_OK[SWS_Os_00703].- Valeur de retour : Renvoie
E_OKen statut standard et Extended en l'absence d'erreur [SWS_Os_00703].
Gestion des erreurs et conditions limites
En statut Extended, le système d'exploitation vérifie la présence d'appels non valides ainsi que de scénarios d'interblocage [SWS_Os_00703] :
E_OS_ID: laSpinlockIdtransmise n'est pas valide [SWS_Os_00703].E_OS_ACCESS: Impossible d'accéder au spinlock [SWS_Os_00703].E_OS_INTERFERENCE_DEADLOCK: Une TASK tente d'occuper le verrou alors que ce même verrou est déjà détenu par une TASK sur le même Core [SWS_Os_00703].E_OS_NESTING_DEADLOCK: Une TASK tente d'occuper un spinlock alors qu'elle détient déjà un autre spinlock, ce qui pourrait conduire à un interblocage [SWS_Os_00703].
Cette note d'utilisation a été générée automatiquement par un système d'IA sur la base de la spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I2)
fonction 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 fonction système synchrone ShutdownAllCores dotée de l'ID de service 0x1c sert à l'arrêt contrôlé et complet du système d'exploitation AUTOSAR sur l'ensemble des cœurs de processeur présents ([SWS_Os_00713]). Dès que le service est appelé, la fonction force un shutdown sur tous les autres cœurs, de sorte que le système d'exploitation est arrêté sur tous les cœurs AUTOSAR ([SWS_Os_00713]).
Contexte d'appel et concurrence
La fonction est déclarée dans l'en-tête Os.h et spécifiée comme réentrante ([SWS_Os_00713]). L'appel de ShutdownAllCores est pleinement autorisé tant au niveau tâche (TASK level) qu'au niveau interruption (ISR level) ([SWS_Os_00713]). En outre, le service peut également être exécuté directement en interne par l'AUTOSAR OS ([SWS_Os_00713]).
Paramètres et flux de contrôle
L'interface attend comme unique paramètre d'entrée Error de type StatusType ([SWS_Os_00713]). Un code d'erreur valide et pris en charge par le système d'exploitation AUTOSAR doit impérativement être transmis pour ce paramètre ([SWS_Os_00713]). Il n'existe aucun paramètre de sortie ou d'entrée/sortie ([SWS_Os_00713]). Étant donné que la fonction ne retourne jamais vers l'appelant après le déclenchement de l'arrêt à l'échelle du système, elle ne possède aucune valeur de retour (void) ([SWS_Os_00713]).
Cette note d'utilisation a été générée de manière automatisée sur la base de la spécification d'AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I2)
fonction 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 fonction synchrone ControlIdle permet à l'appelant de définir l'action exécutée pendant le temps d'inactivité du système d'exploitation (lorsque ni une tâche ni une ISR n'est active) [SWS_Os_00769]. Cela sert principalement à mettre en œuvre des mesures d'économie d'énergie. Les modes de veille réels dépendent du matériel et ne sont pas standardisés ; le mode par défaut sur chaque cœur de processeur est IDLE_NO_HALT [SWS_Os_00769]. L'interface est mise à disposition via le fichier d'en-tête Os.h [SWS_Os_00769].
La fonction attend deux paramètres d'entrée :
CoreID(de typeCoreIdType) : Sélectionne le cœur de processeur dont le mode de veille doit être défini [SWS_Os_00769].IdleMode(de typeIdleModeType) : Détermine le mode à exécuter pendant le temps d'inactivité [SWS_Os_00769].
Si des paramètres valides ont été transmis et qu'aucune erreur n'est survenue, la fonction renvoie E_OK [SWS_Os_00769], [SWS_Os_00770]. Si le CoreID ou IdleMode spécifié est invalide – par exemple parce que le cœur référencé n'existe pas ou que le mode est inconnu –, l'appel renvoie le code d'erreur E_OS_ID en statut EXTENDED [SWS_Os_00769], [SWS_Os_00771]. Sur les systèmes monocœurs, la vérification du paramètre CoreID est omise [SWS_Os_00771].
En matière de concurrence, la fonction est spécifiée comme non réentrante (Non Reentrant) [SWS_Os_00769]. Interprétation : Les appelants doivent donc s'assurer que les appels à ControlIdle ne soient pas effectués de manière simultanée ou non coordonnée depuis différents contextes d'exécution. Question Q-7f239cb54752e826 (ouverte)
Cette note d'utilisation a été générée par une IA sur la base de la spécification AUTOSAR Classic R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction ReadPeripheral [SWS_Os_91013] 📄 PDF
StatusType ReadPeripheral8 (AreaIdType Area, const uint8* Address, uint8* ReadValue);
This service returns the content of a given memory location (
).Utilisation
La fonction ReadPeripheral (référencée sous ReadPeripheral8 dans la déclaration) sert à la lecture synchrone d'une adresse mémoire au sein d'une zone périphérique matérielle définie [SWS_Os_91013]. L'interface est disponible via le fichier d'en-tête Os.h [SWS_Os_91013]. En tant que paramètres d'entrée, le service attend la référence de zone Area de type AreaIdType ainsi que l'adresse cible Address en tant que pointeur vers const uint8 [SWS_Os_91013]. Le contenu lu de l'emplacement mémoire est mis à disposition via le paramètre de sortie ReadValue [SWS_Os_91013].
Gestion des erreurs
Le service renvoie un code d'état de type StatusType, où E_OK indique une exécution sans erreur [SWS_Os_91013]. Lorsque le contrôle d'état étendu (EXTENDED status) est activé, les appels erronés sont différenciés au moyen de valeurs d'erreur spécifiques [SWS_Os_91013] :
E_OS_ID: l'identifiant de zone transmisArease situe en dehors de la plage valide [SWS_Os_91013].E_OS_VALUE: l'adresse mémoire indiquéeAddressn'appartient pas à la zone périphérique indiquée [SWS_Os_91013].E_OS_CALLEVEL: l'appel a été effectué depuis un contexte non autorisé [SWS_Os_91013].E_OS_ACCESS: la tâche ou l'ISR appelante ne devrait pas disposer de l'autorisation requise pour l'accès à la zone (interprétation) [SWS_Os_91013]. Question Q-19e2c22110352ebb (ouverte)
Concurrence et restrictions
Le service d'API possède l'ID de service 0x28, fonctionne de manière synchrone et est conçu pour être réentrant [SWS_Os_91013]. Les appels ne sont autorisés que depuis des contextes valides de tâche ou d'ISR ; les appels non autorisés sont rejetés avec E_OS_CALLEVEL en statut étendu [SWS_Os_91013].
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction 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 fonction synchrone et réentrante du système d'exploitation ReadPeripheral16 sert à lire la valeur 16 bits d'une adresse mémoire spécifiée au sein d'une zone périphérique définie [SWS_Os_91015]. Le service système est défini sous l'ID de service 0x29 et est disponible via le fichier d'en-tête Os.h [SWS_Os_91015].
Utilisation et paramètres
La référence à la zone périphérique matérielle (Area de type AreaIdType) ainsi que l'adresse cible en mémoire (Address de type const uint16*) sont transmises au service comme paramètres d'entrée [SWS_Os_91015]. Le contenu 16 bits déterminé à l'adresse mémoire est mis à disposition via le paramètre de sortie Read Value de type pointeur uint16* [SWS_Os_91015]. En cas d'exécution sans erreur, la fonction renvoie la valeur de retour E_OK de type StatusType [SWS_Os_91015].
Traitement des erreurs et restrictions d'accès
En statut étendu (EXTENDED status), le système d'exploitation vérifie la validité de l'appel et signale les erreurs via des codes d'état spécifiques [SWS_Os_91015] :
E_OS_ID: l'identifiant de zone transmisArease situe en dehors de la plage valide [SWS_Os_91015].E_OS_VALUE: l'adresse mémoire indiquéeAddressn'appartient pas à la zone périphérique spécifiéeArea[SWS_Os_91015].E_OS_CALLEVEL: l'appel a été effectué dans un contexte non autorisé pour la fonction API [SWS_Os_91015].E_OS_ACCESS: la tâche ou la routine de service d'interruption (ISR) appelante n'est pas autorisée à accéder à la zone indiquée [SWS_Os_91015].
Cette note d'utilisation a été générée de manière automatisée et repose exclusivement sur les prescriptions de la spécification AUTOSAR Classic R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction ReadPeripheral32 [SWS_Os_91014] 📄 PDF
StatusType ReadPeripheral32 (AreaIdType Area, const uint32* Address, uint32* ReadValue);
This service returns the content of a given memory location (
).Utilisation
La fonction synchrone et réentrante ReadPeripheral32 lit le contenu d'une adresse mémoire indiquée ([SWS_Os_91014]). L'appelant transmet la référence à la zone périphérique matérielle via le paramètre Area et l'adresse mémoire souhaitée via Address ([SWS_Os_91014]). La valeur 32 bits lue à cette adresse est mise à disposition de manière synchrone via le paramètre de sortie ReadValue ([SWS_Os_91014]). L'interface est mise à disposition via l'en-tête Os.h ([SWS_Os_91014]).
Gestion des erreurs
Le service renvoie une valeur de statut de type StatusType. En cas d'exécution sans erreur, il fournit E_OK ([SWS_Os_91014]). Si le statut étendu est configuré (EXTENDED status), les codes d'erreur suivants sont renvoyés ([SWS_Os_91014]) :
E_OS_ID: l'identifiant de zone transmisArease situe en dehors de la plage autorisée ([SWS_Os_91014]).E_OS_VALUE: l'adresse indiquéeAddressn'appartient pas à la zone indiquéeArea([SWS_Os_91014]).E_OS_CALLEVEL: la fonction a été appelée dans un contexte d'appel non autorisé ([SWS_Os_91014]).E_OS_ACCESS: la tâche appelante ou l'ISR appelante ne dispose pas du droit d'accès requis ; selon l'interprétation, cela devrait se rapporter à la zone périphérique ([SWS_Os_91014]). Question Q-e5893b29acc5133a (ouverte)
Concurrence et restrictions
ReadPeripheral32 est spécifié comme réentrant et peut être appelé en parallèle par plusieurs flux de contrôle ([SWS_Os_91014]). Comme le service fonctionne de manière synchrone, l'appel ne retourne qu'après l'achèvement de l'opération de lecture ([SWS_Os_91014]). Les appelants doivent transmettre des pointeurs mémoire valides et s'assurer que l'appel s'effectue depuis un contexte autorisé pour l'API de l'OS ([SWS_Os_91014]).
Ce texte a été généré par une IA et repose exclusivement sur les spécifications de la version R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction WritePeripheral [SWS_Os_91010] 📄 PDF
StatusType WritePeripheral8 (AreaIdType Area, uint8* Address, uint8 WriteValue);
This service writes the
Utilisation
La fonction WritePeripheral (également désignée par Write Peripheral8 dans la spécification) est un service synchrone et réentrant du système d'exploitation permettant d'écrire une valeur à une adresse mémoire indiquée d'une zone périphérique [SWS_Os_91010]. La déclaration est mise à disposition via le fichier d'en-tête Os.h [SWS_Os_91010]. L'appel attend comme paramètres la référence à la zone périphérique matérielle (Area de type AreaIdType), l'adresse mémoire (Address de type uint8*) ainsi que la valeur à écrire (Write Value de type uint8) [SWS_Os_91010]. Interprétation : bien que Write Value soit listé sous forme de tableau parmi les paramètres de sortie dans le texte de la spécification, il devrait s'agir de la valeur d'entrée à écrire, d'après le passage de valeur dans la signature et la description. Question Q-619c69ba7a85ed92 (ouverte)
Gestion des erreurs
La fonction renvoie un état de type StatusType [SWS_Os_91010] :
E_OK: l'opération d'écriture a été exécutée sans erreur [SWS_Os_91010].E_OS_ID: l'ID de zone transmis est en dehors de la plage valide (en statut étendu) [SWS_Os_91010].E_OS_VALUE: l'adresse cible n'appartient pas à la zone indiquée (en statut étendu) [SWS_Os_91010].E_OS_CALLEVEL: contexte d'appel non autorisé de la fonction API (en statut étendu) [SWS_Os_91010].E_OS_ACCESS: la tâche ou l'ISR appelante ne possède pas de droit d'accès pour la zone [SWS_Os_91010].
Concurrence et restrictions
L'appel est traité de manière synchrone et est réentrant [SWS_Os_91010]. Les appelants doivent s'assurer que la tâche ou l'ISR exécutante agit depuis un contexte valide et dispose des droits d'accès nécessaires pour la zone périphérique adressée [SWS_Os_91010].
Ce texte a été généré automatiquement. Toutes les indications s'appuient sur les spécifications AUTOSAR référencées.
Guide de l'implémenteur à venir (complexité I1)
fonction WritePeripheral16 [SWS_Os_91012] 📄 PDF
StatusType WritePeripheral16 (AreaIdType Area, uint16* Address, uint16 WriteValue);
This service writes the
La fonction synchrone et réentrante du système d'exploitation WritePeripheral16 ([SWS_Os_91012]) sert à l'écriture d'une valeur 16 bits à une adresse mémoire d'une zone périphérique. Le service est mis à disposition via l'en-tête Os.h et possède l'ID de service 0x2c.
Utilisation et paramètres
Lors de l'appel de WritePeripheral16, l'appelant transmet l'identifiant de la zone matérielle cible (Area de type AreaIdType), l'adresse cible (Address de type uint16*) ainsi que la valeur à écrire (Write Value de type uint16, qui sert vraisemblablement de passage de valeur d'après la signature malgré sa désignation sous forme de tableau en tant que paramètre de sortie) conformément à [SWS_Os_91012]. Question Q-2edc50ae2e7fd0b0 (ouverte) Le service est exécuté de manière synchrone et renvoie une valeur de statut de type StatusType.
Gestion des erreurs
En cas de succès, la fonction renvoie E_OK. Sous le statut EXTENDED, les codes d'erreur suivants sont spécifiés ([SWS_Os_91012]) :
E_OS_ID: l'identifiant de zone transmis (Area) se situe en dehors de la plage valide.E_OS_VALUE: l'adresse cible (Address) n'appartient pas à la zone périphérique indiquée.E_OS_CALLEVEL: la fonction a été appelée depuis un contexte non autorisé.E_OS_ACCESS: la tâche ou l'ISR appelante ne possède vraisemblablement aucune autorisation pour l'accès à la zone indiquée. Question (ouverte)
Restrictions et interaction
La fonction est réentrante ([SWS_Os_91012]), mais requiert le respect du contexte d'appel autorisé (tâche ou ISR) afin d'éviter des états d'erreur tels que E_OS_CALLEVEL. Pour la surveillance et l'analyse d'objets du système d'exploitation, AUTOSAR prévoit la mise à disposition de fichiers de description ARTI ([SWS_Os_00829]).
Cette note d'utilisation a été générée automatiquement et repose exclusivement sur les données de spécification de la version AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction WritePeripheral32 [SWS_Os_91011] 📄 PDF
StatusType WritePeripheral32 (AreaIdType Area, uint32* Address, uint32 WriteValue);
This service writes the
La fonction synchrone et réentrante WritePeripheral32 du module Os sert à l'écriture d'une valeur 32 bits à une adresse mémoire indiquée d'une zone périphérique [SWS_Os_91011]. Le service est disponible via l'en-tête Os.h et possède l'ID de service 0x2d [SWS_Os_91011].
Paramètres et appel
Pour l'exécution de l'accès en écriture, la fonction nécessite trois paramètres d'entrée [SWS_Os_91011] :
Area(AreaIdType) : référence à la zone périphérique matérielle cible [SWS_Os_91011].Address(uint32*) : adresse mémoire à laquelle la valeur doit être écrite [SWS_Os_91011].Write Value(uint32) : la valeur 32 bits concrète qui est transmise à l'adresse cible [SWS_Os_91011].
Valeurs de retour et gestion des erreurs
L'appel renvoie une valeur de statut de type StatusType [SWS_Os_91011]. En cas de succès, E_OK est signalé [SWS_Os_91011]. Lorsque le statut EXTENDED est actif, E_OS_ID signale un ID de zone non valide, E_OS_VALUE une adresse n'appartenant pas à la zone et E_OS_CALLEVEL un contexte d'appel non autorisé [SWS_Os_91011]. Si la tâche ou l'ISR appelante ne possède pas de droit d'accès pour la zone, E_OS_ACCESS est renvoyé [SWS_Os_91011].
concurrence
Comme WritePeripheral32 est réentrante, le service peut être utilisé dans des contextes d'exécution concurrents, pour autant que l'appelant respectif dispose du droit d'accès requis lors de l'exécution [SWS_Os_91011].
Cette note d'utilisation a été créée de manière automatisée sur la base de la spécification AUTOSAR Classic R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction ModifyPeripheral [SWS_Os_91016] 📄 PDF
StatusType ModifyPeripheral8 (AreaIdType Area, uint8* Address, uint8 Clearmask, uint8 Setmask);
This service modifies a given memory location (
Utilisation et sémantique
La fonction synchrone et réentrante du système d'exploitation ModifyPeripheral8 ([SWS_Os_91016]) modifie un octet à une adresse mémoire indiquée Address. Le contenu mémoire existant est alors mis à jour bit par bit via le masque Clearmask par une opération logique ET ainsi que via le masque Setmask par une opération logique OU conformément à la formule *Address = ((*Address & Clearmask) | Setmask) ([SWS_Os_91016]). Comme paramètres d'entrée, la fonction attend la référence de la zone périphérique Area de type AreaIdType, l'adresse cible Address (type uint8*) ainsi que les deux valeurs de masque de type uint8. La fonction est mise à disposition via le fichier d'en-tête Os.h et possède l'ID de service 0x2e ([SWS_Os_91016]).
Gestion des erreurs et valeurs de retour
La valeur de retour de type StatusType signale le succès de l'opération avec E_OK ([SWS_Os_91016]). Lorsque le statut étendu est activé, des conditions d'erreur spécifiques peuvent survenir :
E_OS_ID: l'identifiant de zone transmisArease situe en dehors de la plage autorisée ([SWS_Os_91016]).E_OS_VALUE: l'adresse cibleAddressn'appartient pas à la zone indiquéeArea([SWS_Os_91016]).E_OS_CALLEVEL: le service a été appelé dans un contexte d'appel non autorisé ([SWS_Os_91016]).E_OS_ACCESS: la tâche ou l'ISR appelante ne possède aucun droit d'accès pour la zone cible ([SWS_Os_91016]).
Concurrence et conditions d'appel
Comme ModifyPeripheral8 est spécifié comme réentrant, l'appel peut être effectué en toute sécurité dans des déroulements parallèles ([SWS_Os_91016]). Les appelants doivent s'assurer que le contexte ainsi que les droits d'accès pour Area et Address sont valides afin d'éviter des états d'erreur ([SWS_Os_91016]).
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR CP R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction ModifyPeripheral16 [SWS_Os_91018] 📄 PDF
StatusType ModifyPeripheral16 (AreaIdType Area, uint16* Address, uint16 Clearmask, uint16 Setmask);
This service modifies a given memory location (
La fonction synchrone et réentrante ModifyPeripheral16 modifie un emplacement mémoire 16 bits au sein d'une zone périphérique définie conformément à la formule de calcul *Address = ((*Address & Clearmask) | Setmask) [SWS_Os_91018]. Comme paramètres sont transmis la référence de zone périphérique Area (type AreaIdType), l'adresse cible Address (type uint16*) ainsi que les masques binaires Clearmask pour un ET bit à bit et Setmask pour un OU bit à bit [SWS_Os_91018]. La déclaration est disponible via l'en-tête Os.h [SWS_Os_91018].
Dans le cas régulier de succès, le service fournit la valeur de retour E_OK [SWS_Os_91018]. Lorsque le contrôle d'état étendu (EXTENDED status) est activé, les appels erronés sont détectés et rejetés à l'aide de codes d'erreur spécifiques [SWS_Os_91018] :
E_OS_ID: l'identifiant de zone transmisArease situe en dehors de la plage de valeurs valide [SWS_Os_91018].E_OS_VALUE: l'adresse mémoire transmiseAddressn'appartient pas à la zone indiquéeArea[SWS_Os_91018].E_OS_CALLEVEL: le service a été appelé depuis un contexte non autorisé [SWS_Os_91018].E_OS_ACCESS: la tâche appelante ou l'ISR appelante ne possède pas de droit d'accès pour la zone indiquée [SWS_Os_91018].
Avant l'exécution, les appelants doivent s'assurer que le contexte ainsi que les autorisations pour la zone référencée sont présents afin d'éviter les violations d'accès [SWS_Os_91018].
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR CP R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction ModifyPeripheral32 [SWS_Os_91017] 📄 PDF
StatusType ModifyPeripheral32 (AreaIdType Area, uint32* Address, uint32 Clearmask, uint32 Setmask);
This service modifies a given memory location (
La fonction synchrone et réentrante du système d'exploitation ModifyPeripheral32 sert, selon [SWS_Os_91017], à la manipulation ciblée bit par bit d'une adresse mémoire 32 bits. Mise à disposition via l'interface Os.h, la fonction applique à l'adresse cible Address la formule de calcul fixe *Address = ((*Address & Clearmask) | Setmask). Ici, des bits sont d'abord réinitialisés via le masque binaire Clearmask par une opération logique ET, puis positionnés via Setmask par une opération logique OU.
Comme paramètres d'entrée, le service attend la référence de zone périphérique Area, le pointeur d'adresse Address ainsi que les deux masques 32 bits [SWS_Os_91017]. En cas d'exécution sans erreur, le code d'état E_OK est renvoyé. En statut étendu (EXTENDED status), la fonction effectue des contrôles de plausibilité et signale les codes d'erreur suivants :
E_OS_ID: laAreatransmise se situe en dehors de la plage de valeurs autorisée [SWS_Os_91017].E_OS_VALUE: l'adresse cible n'appartient pas à la zone périphérique indiquée [SWS_Os_91017].E_OS_CALLEVEL: la fonction a été appelée depuis un contexte non autorisé [SWS_Os_91017].E_OS_ACCESS: la tâche ou l'ISR appelante ne possède aucune autorisation pour l'accès [SWS_Os_91017] (interprétation : droit d'accès manquant à la zone périphérique). Question Q-b4d959765dc59c72 (ouverte)
Les appels concurrents sont autorisés grâce à la réentrance, pour autant que le contexte d'appel soit préservé [SWS_Os_91017]. Dans le système global, cette modification directe de registre se distingue des formules de calcul pour la détermination dynamique de données qui sont par exemple évaluées dans le cadre d'informations de débogage ARTI selon [SWS_Os_00829].
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR CP R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction EnableInterruptSource [SWS_Os_91020] 📄 PDF
StatusType EnableInterruptSource (ISRType ISRID, boolean ClearPending);
Service EnableInterruptSource.
La fonction système synchrone et réentrante EnableInterruptSource active une source d'interruption par modification des registres du contrôleur d'interruptions [SWS_Os_91020], [SWS_Os_00811]. Le système d'exploitation fournit ce service pour chaque source d'interruption de catégorie 2 configurée [SWS_Os_00808].
Paramètres et appel
L'identifiant de l'ISR de catégorie 2 est transmis via le paramètre ISRID [SWS_Os_91020]. Le paramètre booléen ClearPending détermine si un drapeau d'interruption en attente doit être effacé lors de l'activation (TRUE) ou conservé inchangé (FALSE) [SWS_Os_91020], [SWS_Os_00811]. La fonction est disponible via le fichier d'en-tête Os.h [SWS_Os_91020].
Gestion des erreurs et valeurs de retour
Si aucune erreur n'est détectée, l'appel renvoie E_OK [SWS_Os_91020], [SWS_Os_00810]. Si le système d'exploitation détecte une erreur, il renvoie le code d'état correspondant de type StatusType et appelle le ErrorHook() [SWS_Os_00810]. Les états d'erreur suivants sont définis :
E_OS_ID: Le paramètreISRIDn'est pas un identifiant valide d'une ISR de catégorie 2 (en statutEXTENDED) [SWS_Os_91020].E_OS_CALLEVEL: La fonction a été appelée depuis un contexte d'appel non autorisé (en statutEXTENDED) [SWS_Os_91020].E_OS_ACCESS: Dans le cadre de la Service Protection, l'application appelante n'est pas propriétaire de l'ISRIDspécifié [SWS_Os_91020].
Interaction
La fonction constitue, avec DisableInterruptSource et ClearPendingInterrupt, le trio d'API destiné au contrôle ciblé de sources d'interruption individuelles de catégorie 2 (OsIsrCategory == CATEGORY_2) dans le système d'exploitation [SWS_Os_00808], [SWS_Os_00810].
Ce texte a été généré automatiquement à partir des spécifications de la release R20-11.
Guide de l'implémenteur à venir (complexité I2)
fonction DisableInterruptSource [SWS_Os_91019] 📄 PDF
StatusType DisableInterruptSource (ISRType ISRID);
Disables the interrupt source by modifying the interrupt controller registers.
Utilisation
La fonction synchrone et réentrante DisableInterruptSource désactive une source d'interruption spécifique directement via les registres du contrôleur d'interruptions [SWS_Os_91019], [SWS_Os_00812]. Elle est disponible via le fichier d'en-tête Os.h et est fournie pour chaque source d'interruption de catégorie 2 (OsIsrCategory == CATEGORY_2) [SWS_Os_91019], [SWS_Os_00808]. L'identifiant de l'ISR concernée (ISRID) est transmis en tant que paramètre. En cas d'exécution réussie, le service renvoie E_OK [SWS_Os_91019], [SWS_Os_00810].
Gestion des erreurs
Si le système d'exploitation détecte une erreur pendant l'exécution, le StatusType correspondant est renvoyé et le ErrorHook() est appelé [SWS_Os_00810]. Les codes d'erreur possibles sont :
E_OS_ID: L'ISRIDtransmis n'est pas un identifiant valide d'une ISR de catégorie 2 (en statut EXTENDED) [SWS_Os_91019].E_OS_CALLEVEL: Contexte d'appel non autorisé de la fonction API (en statut EXTENDED) [SWS_Os_91019].E_OS_ACCESS: L'OS-Application appelante n'est pas propriétaire de l'ISR spécifiée (Service Protection) [SWS_Os_91019].E_OS_NOFUNC: La source d'interruption demandée est déjà désactivée (en statut EXTENDED lors d'appels imbriqués) [SWS_Os_00809].
Interaction et conditions aux limites
La fonction forme avec EnableInterruptSource et ClearPendingInterrupt le trio d'API destiné au contrôle des sources d'interruption de catégorie 2 [SWS_Os_00808]. Les appels concurrents ou répétés sont sécurisés en statut étendu par le renvoi de E_OS_NOFUNC, ce qui permet de garder le contrôle sur les désactivations redondantes [SWS_Os_00809]. Les appelants doivent en outre posséder les droits d'accès appropriés afin d'éviter des erreurs d'exécution causées par la Service Protection [SWS_Os_91019].
Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR.
Guide de l'implémenteur à venir (complexité I1)
fonction ClearPendingInterrupt [SWS_Os_91021] 📄 PDF
StatusType ClearPendingInterrupt (ISRType ISRID);
Service ClearPendingInterrupt.
Utilisation et contexte d'appel
La fonction ClearPendingInterrupt sert à réinitialiser une interruption en attente pour les sources de catégorie 2 [SWS_Os_00808]. Elle accepte comme unique paramètre d'entrée l'identifiant ISRID d'une ISR de catégorie 2 et modifie directement les registres associés du contrôleur d'interruptions [SWS_Os_91021], [SWS_Os_00813]. L'appel est traité de manière synchrone et est disponible via le fichier d'en-tête Os.h [SWS_Os_91021].
Gestion des erreurs et valeurs de retour
En l'absence d'erreur, le code d'état E_OK est renvoyé [SWS_Os_91021]. Si le système d'exploitation détecte une erreur pendant l'exécution, le service renvoie le code d'erreur correspondant de type StatusType et appelle obligatoirement le ErrorHook() [SWS_Os_00810]. Les états d'erreur suivants sont spécifiés pour l'interface [SWS_Os_91021] :
E_OS_ID: Le paramètre transmisISRIDn'est pas un identifiant valide d'une ISR de catégorie 2 (est renvoyé en statutEXTENDED) [SWS_Os_91021].E_OS_CALLEVEL: La fonction a été appelée depuis un contexte d'appel non autorisé (est renvoyé en statutEXTENDED) [SWS_Os_91021].E_OS_ACCESS: Dans le cadre de la Service Protection, l'application appelante n'est pas autorisée en tant que propriétaire de l'ISR transmise [SWS_Os_91021].
Concurrence et interaction au sein du système d'exploitation
L'interface est définie comme réentrante et peut donc être appelée en concurrence en toute sécurité [SWS_Os_91021]. Le système d'exploitation fournit ClearPendingInterrupt pour chaque source d'interruption de catégorie 2 (OsIsrCategory == CATEGORY_2) en tant que composant fixe des API de contrôle, dont font également partie DisableInterruptSource et EnableInterruptSource [SWS_Os_00808].
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR.
Guide de l'implémenteur à venir (complexité I2)
fonction 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 fonction ActivateTaskAsyn (ID de service 0x33) constitue la variante asynchrone pour l'activation de tâches et est mise à disposition via le fichier d'en-tête Os.h ([SWS_Os_91022]). Elle est principalement prévue pour l'activation de tâches entre cœurs dans les systèmes multicœurs ([SWS_Os_91022]).
Le seul paramètre d'entrée transmis est id de type TaskType, qui spécifie la tâche à activer ([SWS_Os_91022]). L'interface ne possède pas de valeur de retour (void) et ne définit ni paramètre d'entrée/sortie ni paramètre de sortie pure ([SWS_Os_91022]).
Les erreurs éventuelles lors de l'activation ne sont pas signalées à l'appelant ([SWS_Os_91022], [SWS_Os_00816]). Au lieu de cela, les erreurs qui surviennent sont exclusivement signalées via le hook d'erreur global, pour autant qu'un tel hook soit configuré ([SWS_Os_00816]).
En ce qui concerne la concurrence, la fonction est réentrante et fonctionne de manière entièrement asynchrone ([SWS_Os_91022]), ce qui fait que le contexte appelant n'est pas bloqué sur l'exécution. Le système d'exploitation est tenu de fournir cette interface conformément à [SWS_Os_00816].
Cette note d'utilisation a été générée par une IA sur la base de la spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction 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.
fonction Ioc [SWS_Os_91026] 📄 PDF
void IocInit (void);
This service initializes the data structures of the IOC. Tags: atp.Status=draft
Utilisation et fonctionnement
La fonction Ioc Init (désignée comme projet dans la version R20-11) initialise les structures de données internes de l'Inter-OS-Application Communication (IOC) [SWS_Os_91026]. L'appel s'effectue de manière synchrone, n'accepte aucun paramètre d'entrée et ne possède aucune valeur de retour [SWS_Os_91026]. Si le générateur du système d'exploitation est exécuté en « IOC mode », celui-ci génère exclusivement le code IOC dans le fichier source Ioc.c et déclare les interfaces associées dans le fichier d'en-tête Ioc.h [SWS_Os_00834], via lequel Ioc Init est également mis à disposition [SWS_Os_91026].
Gestion des erreurs et concurrence
Pour Ioc Init, ni valeurs de retour d'erreur spécifiques ni notifications d'erreur à DET ou DEM ne sont prévues dans la spécification [SWS_Os_91026]. Le service est explicitement défini comme non réentrant (Non Reentrant) [SWS_Os_91026]. Interprétation : en raison de l'absence de réentrance et de la tâche d'initialisation, le service devrait devoir être appelé séquentiellement pendant la phase de démarrage du système avant que des accès de communication concurrents n'aient lieu. Question Q-47f99a4725b57c89 (ouverte)
Interaction avec les fonctions de communication IOC
L'initialisation correcte des structures de données constitue la condition préalable à l'utilisation des interfaces de communication IOC générées :
- Envoi et écriture : les émetteurs transfèrent des données de manière asynchrone via des services à valeur unique tels que
Ioc Send[SWS_Os_00718] etIoc Write[SWS_Os_91003] ou des fonctions de groupe telles queIoc Send Group[SWS_Os_00728] etIoc Write Group[SWS_Os_91004]. - Réception et lecture : les récepteurs récupèrent des données de manière synchrone via
Ioc Receive[SWS_Os_00738],Ioc Read[SWS_Os_91005] ou des services de groupe correspondants [SWS_Os_00746] [SWS_Os_91006]. - Gestion de file d'attente et notification : lorsque la communication avec mise en mémoire tampon est configurée, le contenu d'une file d'attente interne peut être vidé de manière synchrone avec
Ioc Empty Queue[SWS_Os_00754]. De plus, lors de la réception de données, un callback de récepteur configuré<Receiver Pull CB>peut être exécuté sur le cœur cible [SWS_Os_00757].
Ce texte a été généré par une IA et repose exclusivement sur les spécifications de la version R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction <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 fonction de rappel <Receiver Pull CB> peut être configurée de manière facultative pour le récepteur d'une communication et est déclarée via l'en-tête Os.h [SWS_Os_00757]. Si ce rappel est configuré, l'IOC (Inter-OS-Application Communicator) appelle la fonction sur le Core récepteur de manière synchrone à chaque réception de données [SWS_Os_00757]. L'identifiant concret de la fonction de rappel est défini côté récepteur via l'attribut de configuration OsIocReceiverPullCB [SWS_Os_00757].
Les exigences suivantes s'appliquent à l'appel et aux propriétés de l'interface :
- Signature et paramètres : La fonction possède le prototype
void <Receiver Pull CB> ( void ); elle ne prend aucun paramètre (ni paramètre d'entrée, ni de transit, ni de sortie) et ne renvoie aucune valeur de retour [SWS_Os_00757]. - Synchronicité et réentrance : L'appel par l'IOC s'effectue avec une sémantique synchrone directement sur le Core récepteur [SWS_Os_00757]. De plus, la fonction de rappel est spécifiée comme réentrante [SWS_Os_00757].
- Traitement des erreurs : La spécification ne prévoit ni valeurs de retour, ni codes d'erreur spécifiques, ni notifications d'erreur pour cette fonction [SWS_Os_00757].
La signature ne transmettant aucune donnée utile, l'appel devrait principalement servir de signal de notification pour informer le récepteur de l'arrivée de nouvelles données et déclencher la récupération ultérieure des données utiles. Question Q-2365bb46ad77a476 (ouverte) Les développeurs doivent noter que l'exécution s'effectue de manière synchrone sur le Core récepteur [SWS_Os_00757].
Ce texte a été généré par une IA et repose sur la spécification AUTOSAR CP R20-11.
fonction 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 fonction ProtectionHook sert de callback central du système d'exploitation et est systématiquement appelée de manière synchrone lorsqu'une erreur grave survient [SWS_Os_00538]. En guise de scénarios d'erreur typiques, la spécification cite explicitement le dépassement du temps d'exécution dans le pire des cas (Worst Case Execution Time) ainsi que les violations de la protection de la mémoire [SWS_Os_00538]. La déclaration de l'interface est mise à disposition via l'en-tête Os_Externals.h [SWS_Os_00538].
Comme paramètre d'entrée, la routine reçoit Fatalerror de type StatusType, qui transmet la cause déclenchante de l'appel du hook [SWS_Os_00538]. Aucun paramètre supplémentaire d'entrée/sortie ou de pur paramètre de sortie n'est défini dans la signature [SWS_Os_00538].
Via la valeur de retour de type ProtectionReturnType, ProtectionHook définit de manière contraignante quelle action le système d'exploitation doit engager pour la suite du traitement d'erreur après l'exécution du hook [SWS_Os_00538]. Les actions suivantes sont disponibles comme valeurs de retour [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]
Concernant la concurrence et le comportement d'exécution, ProtectionHook est spécifié comme réentrant et synchrone [SWS_Os_00538]. L'appel a lieu immédiatement lors de la survenue de l'erreur grave, à la suite de quoi le système d'exploitation exécute l'action définie [SWS_Os_00538].
Ce texte a été rédigé par une IA sur la base de la spécification.
Guide de l'implémenteur à venir (complexité I2)
type AppModeType [SWS_Os_91007] 📄 PDF
App Mode of the core shall be inherited from another core.
Le type énuméré AppModeType est défini dans le fichier d'en-tête Os.h et sert à la définition du mode d'application dans le système d'exploitation [SWS_Os_91007]. Dans les systèmes multicœurs, ce type permet au mode d'application d'un cœur de processeur d'être hérité d'un autre Core [SWS_Os_91007].
Pour la plage de valeurs, la valeur DONOTCARE est spécifiée [SWS_Os_91007]. Interprétation : cette valeur devrait servir à configurer explicitement un Core de telle sorte qu'il ne démarre pas de mode autonome, mais reprenne le comportement du Core supérieur. Question Q-2b7d9f1c8e5f1a3f (ouverte) Aucun code d'erreur ou valeur de retour spécifique n'est défini pour le type lui-même.
En ce qui concerne le diagnostic et l'état du système, l'interaction avec les outils d'analyse est pertinente. Selon [SWS_Os_00829], le fichier de description de module ARTI doit prendre en charge tous les conteneurs ORTI afin de permettre aux outils de débogage connectés d'évaluer et d'afficher des informations sur le système d'exploitation et ses objets. Les informations de débogage ARTI fournissent des attributs dynamiques qui sont résolus au moyen de formules [SWS_Os_00829]. Interprétation : l'état du mode d'application devrait donc être représenté et lu au niveau des outils par l'intermédiaire d'attributs d'objet ARTI correspondants. Question Q-410d011cbcf1b158 (ouverte)
Cette note d’utilisation a été générée de manière automatisée sur la base des exigences de la spécification.
Guide de l'implémenteur à venir (complexité I1)
type TotalNumberOfCores [SWS_Os_91002] 📄 PDF
The total number of cores
type ApplicationType [SWS_Os_00772] 📄 PDF
This data type identifies the OS - Application.
type 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
Dans le système d'exploitation Classic AUTOSAR, le type de données ApplicationStateType sert à identifier de manière univoque l'état d'une OS-Application [SWS_Os_00773]. Il est spécifié comme un type de base scalaire et est fourni via le fichier d'en-tête Os.h [SWS_Os_00773].
La plage de valeurs autorisée de ApplicationStateType comprend trois états discrets pour une OS-Application [SWS_Os_00773] :
APPLICATION_ACCESSIBLE: Indique que l'OS-Application est prête à fonctionner et qu'il est possible d'accéder à ses ressources [SWS_Os_00773].APPLICATION_RESTARTING: Signale que l'OS-Application se trouve actuellement dans une phase de redémarrage [SWS_Os_00773].APPLICATION_TERMINATED: Indique que l'OS-Application a été terminée et n'exécute plus aucune action [SWS_Os_00773].
Concernant l'utilisation et l'interaction avec d'autres composants, le type devrait vraisemblablement servir de valeur de retour ou de paramètre de sortie dans les services système OS correspondants dédiés à la surveillance de l'état, afin d'indiquer aux appelants l'état actuel du cycle de vie d'une application. Question Q-9a4f2254f4013853 (ouverte) S'agissant d'une définition de type élémentaire, la norme ne spécifie pour celui-ci aucun code d'erreur propre, aucun message DET ou DEM, et ne formule aucune restriction particulière relative au contexte d'appel ou à la réentrance [SWS_Os_00773].
Ce texte a été généré par une IA et est basé sur des données de spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I1)
type ApplicationStateRefType [SWS_Os_00774] 📄 PDF
This data type points to location where a Application State Type can be stored.
Le type de données ApplicationStateRefType fait partie du système d'exploitation (module Os) dans la plateforme AUTOSAR Classic et est mis à disposition via le fichier d'en-tête Os.h [SWS_Os_00774]. Le type est dérivé d'un pointeur (pointer) et renvoie directement à un emplacement mémoire dans lequel un état d'une application OS (Application State) peut être consigné [SWS_Os_00774].
En ce qui concerne l'utilisation pratique, ce type pointeur sert au référencement d'états d'application : Interprétation : en tant que type pointeur, ApplicationStateRefType devrait principalement être utilisé comme paramètre de référence ou de sortie dans des fonctions d'interrogation du système d'exploitation par lesquelles l'état d'une application OS est transmis à l'appelant. Question Q-948bb914d3672a38 (ouverte) Les appelants doivent donc s'assurer qu'une zone mémoire valide et accessible en écriture est réservée pour l'état cible avant la transmission du paramètre, afin d'éviter des accès pointeur erronés lors de l'exécution.
Aucun mécanisme spécifique de traitement des erreurs, code d'erreur pour DET ou DEM, ni consigne particulière relative à la réentrance et à la concurrence ne sont spécifiés séparément pour ce type de base dans la spécification [SWS_Os_00774]. Les éventuelles restrictions concernant le contexte d'appel autorisé ou les obligations de synchronisation à respecter découlent exclusivement des interfaces du système d'exploitation qui utilisent ce type dans leurs signatures de fonction.
Ce texte a été généré par une IA sur la base de la spécification.
Guide de l'implémenteur à venir (complexité I1)
type TrustedFunctionIndexType [SWS_Os_00775] 📄 PDF
This data type identifies a trusted function.
type TrustedFunctionParameterRefType [SWS_Os_00776] 📄 PDF
This data type points to a structure which holds the arguments for a call to a trusted function.
type AccessType [SWS_Os_00777] 📄 PDF
This type holds information how a specific memory region can be accessed.
type ObjectAccessType [SWS_Os_00778] 📄 PDF
This data type identifies if an OS - Application has access to an object.
type ObjectType [SWS_Os_00779] 📄 PDF
This data type identifies an object.
type MemoryStartAddressType [SWS_Os_00780] 📄 PDF
This data type is a pointer which is able to point to any location in the MCU address space.
type MemorySizeType [SWS_Os_00781] 📄 PDF
This data type holds the size (in bytes) of a memory region.
type ISRType [SWS_Os_00782] 📄 PDF
This data type identifies an interrupt service routine (ISR).
type ScheduleTableType [SWS_Os_00783] 📄 PDF
This data type identifies a schedule table.
type 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)
Le type ScheduleTableStatusType représente, conformément à [SWS_Os_00784], l'état d'exécution et de synchronisation actuel d'une Schedule Table dans le système d'exploitation AUTOSAR. Il est mis à disposition via le fichier d'en-tête Os.h et repose sur une plage de valeurs spécifique à l'implémentation.
Les valeurs d'état suivantes sont spécifiées :
SCHEDULETABLE_STOPPED: la Schedule Table n'est pas démarrée.SCHEDULETABLE_NEXT: la Schedule Table est démarrée après l'expiration de la Schedule Table actuellement active (interprétation : cela a lieu après transmission au serviceNextScheduleTable()). Question Q-8cbcfc83969eea23 (ouverte)SCHEDULETABLE_WAITING: la Schedule Table utilise une synchronisation explicite, a déjà été démarrée et attend la synchronisation avec l'heure globale.SCHEDULETABLE_RUNNING: la Schedule Table est en cours d'exécution, mais n'est actuellement pas synchrone par rapport à une source de temps globale.SCHEDULETABLE_RUNNING_AND_SYNCHRONOUS: la Schedule Table est en cours d'exécution et synchronisée avec la source de temps globale.
En tant que type de données d'état pur, ScheduleTableStatusType ne définit pas d'erreurs d'exécution propres ni de messages DET/DEM. En interaction avec les outils d'analyse, le type sert conformément à [SWS_Os_00829] à l'évaluation et à la représentation basées sur ARTI des objets dynamiques du système d'exploitation, permettant d'enregistrer de manière transparente les écarts d'état et de synchronisation dans le système.
Ce texte a été généré par une IA et est basé sur la spécification d'AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I1)
type ScheduleTableStatusRefType [SWS_Os_00785] 📄 PDF
This data type points to a variable of the data type Schedule Table Status Type.
Utilisation et définition
Le type de données ScheduleTableStatusRefType est défini selon [SWS_Os_00785] comme un type pointeur vers une variable du type de données Schedule Table Status Type. Le type est mis à disposition via l'en-tête Os.h et sert, dans le système d'exploitation AUTOSAR, de type de référence pour l'état d'une table d'ordonnancement (Schedule Table) [SWS_Os_00785].
Utilisation et conditions aux limites
Dans les appels typiques du système d'exploitation, ce type pointeur devrait faire office de paramètre de sortie par lequel une fonction système de l'OS renvoie à l'appelant l'état actuel de la Schedule Table référencée. Comme la spécification définit uniquement la définition de type, les composants appelants doivent respecter les points suivants lors de l'utilisation : Question Q-53364f3a9953dae3 (ouverte)
- Mise à disposition de mémoire : avant la transmission d'une référence de ce type, l'appelant doit s'assurer que le pointeur renvoie vers une zone mémoire valide et accessible en écriture, qui reste valide pendant toute la durée de l'appel.
- Validité et pointeur nul : la transmission d'un pointeur nul (
NULL) devrait, selon la configuration du système d'exploitation (statut standard ou étendu), conduire à des retours d'erreur correspondants des services OS appelés. Question Q-63d77f8c7857e6c4 (ouverte) - Protection de la mémoire : dans les environnements OS multicœurs ou à mémoire protégée critiques pour la sécurité, la zone mémoire référencée doit être accessible pour la tâche appelante ou l'instance OS.
Comme [SWS_Os_00785] ne spécifie aucune autre propriété à l'exécution ni aucun code d'erreur spécifique pour le type de base, la réentrance et le contexte d'appel découlent des services OS respectifs qui utilisent ce type pointeur comme paramètre.
Cette note d'utilisation a été générée de manière automatisée et repose exclusivement sur les données de spécification de la version R20-11.
Guide de l'implémenteur à venir (complexité I1)
type ProtectionReturnType [SWS_Os_00787] 📄 PDF
This data type identifies a value which controls further actions of the OS on return from the protection hook.
type RestartType [SWS_Os_00788] 📄 PDF
This data type defines the use of a Restart Task after terminating an OS - Application.
type PhysicalTimeType [SWS_Os_00789] 📄 PDF
This data type is used for values returned by the conversion macro (see SWS_ Os_00393) OS_ TICKS2
type 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
type 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.
type TryToGetSpinlockType [SWS_Os_00792] 📄 PDF
The Try To Get Spinlock Type indicates if the spinlock has been occupied or not.
Utilisation et plage de valeurs
Le type énuméré TryToGetSpinlockType est fourni via le fichier d'en-tête Os.h et sert d'indicateur d'état pour savoir si un spinlock a pu être réservé avec succès ou non par l'appelant [SWS_Os_00792]. Il définit le résultat des opérations d'occupation correspondantes dans le système d'exploitation [SWS_Os_00792].
La plage de valeurs comprend exactement deux littéraux spécifiés [SWS_Os_00792] :
TRYTOGETSPINLOCK_SUCCESS: signale que le spinlock a pu être réservé avec succès [SWS_Os_00792].TRYTOGETSPINLOCK_NOSUCCESS: indique que le spinlock n'a pas pu être réservé [SWS_Os_00792].
Concurrence et contexte système
Le type est utilisé pour la synchronisation dans les systèmes multicœurs. Interprétation : l'appelant devrait évaluer la valeur de retour de manière synchrone afin de déterminer immédiatement si la section critique protégée peut être franchie ou si, en cas de TRYTOGETSPINLOCK_NOSUCCESS, une branche de programme alternative doit être choisie sans attente bloquante [SWS_Os_00792]. Question Q-a04e72802dc41325 (ouverte) Aucun code d'erreur propre ni message d'erreur via DET ou DEM n'est spécifié pour ce type [SWS_Os_00792].
Interaction avec les outils de diagnostic
Dans le cadre des liaisons d'outils, le fichier de description de module ARTI prend en charge tous les conteneurs ORTI afin d'afficher des informations sur le système d'exploitation, ses états et ses objets d'exploitation, et de déterminer des valeurs dynamiques [SWS_Os_00829]. Interprétation : de telles interfaces devraient également permettre de visualiser les spinlocks et leurs états d'occupation pour les outils de débogage et de traçage [SWS_Os_00829]. Question Q-a488e055eb7d402e (ouverte)
Ce texte a été généré par une IA et repose sur les spécifications AUTOSAR de la version R20-11.
Guide de l'implémenteur à venir (complexité I1)
type IdleModeType [SWS_Os_00793] 📄 PDF
This data type identifies the idle mode behavior.
Utilisation et plage de valeurs
Le type de données scalaire IdleModeType est fourni via l'en-tête Os.h et sert à spécifier le comportement d'un cœur de processeur en mode d'inactivité [SWS_Os_00793]. Dans la plage de valeurs définie, le mode IDLE_NO_HALT est fixé, lors du choix duquel le cœur de processeur n'exécute aucune action particulière pendant le temps d'inactivité [SWS_Os_00793].
Interprétation : étant donné que IdleModeType est dérivé d'un type de base scalaire, il devrait servir dans le contexte du système d'exploitation de valeur de configuration ou de paramètre d'appel pour les services de contrôle du comportement d'inactivité du cœur. Question Q-911a39efb537f1bc (ouverte) Interprétation : outre la valeur par défaut IDLE_NO_HALT, des implémentations concrètes du système d'exploitation ou des architectures de microcontrôleurs pourraient potentiellement prévoir des modes d'arrêt ou d'économie d'énergie supplémentaires, bien que l'extrait de spécification mentionne uniquement l'absence d'actions spécifiques. Question Q-b6688f74cacbab45 (ouverte)
Restrictions et traitement des erreurs
Pour IdleModeType, aucun code d'erreur spécifique, message DET ou DEM, ni exigence de réentrance ou de contexte d'appel ne sont indiqués dans le périmètre de spécification présent [SWS_Os_00793]. Les éventuelles restrictions fonctionnelles ou conditions préalables découlent donc exclusivement des interfaces supérieures du système d'exploitation qui traitent ce type.
Ce texte a été généré par une IA sur la base de la spécification SWS_Os_00793.
Guide de l'implémenteur à venir (complexité I1)
type 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
type TimeInMicrosecondsType [SWS_Os_00794] 📄 PDF
-
type CounterType [SWS_Os_00786] 📄 PDF
This data type identifies a counter.
type TickType [SWS_Os_00001] 📄 PDF
typedef uint32 TickType;
This data type represents count values in ticks.
type StatusType [SWS_Os_00002] 📄 PDF
typedef uint8 StatusType;
This data type represents standard OSEK OS status codes (e.g. E_OK, E_OS_ACCESS).
Guide de l'implémenteur à venir (complexité I2)
type TaskType [SWS_Os_00003] 📄 PDF
typedef uint8 TaskType;
This data type identifies an AUTOSAR OS task.
type EventMaskType [SWS_Os_00004] 📄 PDF
typedef uint32 EventMaskType;
This data type represents an event mask for extended tasks.
type 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#b8b5589a- Content hash
b8b5589a- 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 allemand