DEENESPTFRRUARHIKOZHNL

AUTOSAR OS

ModulOs (AUTOSAR OS)
BSW-Modul-ID1
Standard-Header#include "Os.h"
SWS-SpezifikationAUTOSAR_SWS_OS.pdf
ClusterOperating System

Guide du moduleGÉNÉRÉ PAR IA

Contrôle les processus déclenchés par le temps, protège les OS-Applications les unes des autres et coordonne les cœurs d'un calculateur.
GÉNÉRÉ PAR IA non vérifié Modèle : claude-opus-5-5 · Effort : high · Température : non réglable · Prompt : 5b459e21507a Provenance
Ancre causale : R20-11 Valable à partir de R20-11 Synthétisé pour cette version de spécification.
traduit du guide allemandGénéré par l'IAgemini-3.8-flash-low · 2026-10-13 · Original allemand

Contrôle les processus déclenchés par le temps, protège les OS-Applications les unes des autres et coordonne les cœurs d'un calculateur.

Le système d'exploitation exécute les tâches et les ISR, pilote les compteurs et les ScheduleTables et sépare les logiciels en OS-Applications protégées. L'EcuM démarre les cœurs avec StartCore ; ensuite, StartOS est appelé sur chaque cœur [SWS_Os_00676]. Les ScheduleTables peuvent être synchronisées explicitement avec une heure globale via le StbM. Les accès à des objets tiers ne sont possibles qu'avec des droits configurés SWS OS p. 62. En cas de violation de protection, le ProtectionHook décide si une tâche, une OS-Application ou le système entier est arrêté.

Le système d'exploitation est le cœur d'exécution de la pile Classic. Il gère les tâches, les ISR, les alarmes, les compteurs et les ScheduleTables et les regroupe en OS-Applications, qui sont trusted ou non-trusted SWS OS p. 61. L'EcuM démarre les cœurs avec StartCore puis l'OS avec StartOS ; chaque cœur démarré appelle lui-même StartOS SWS EcuM p. 82, [SWS_Os_00676]. ShutdownAllCores arrête l'OS sur tous les cœurs et ne retourne pas [SWS_Os_00713]. Les composants logiciels utilisent les services de l'OS via la RTE, et les services que les modules BSW sont autorisés à utiliser sont restreints SWS BSWGeneral p. 48.

Kontext swc Software-Komponente rte RTE swc->rte Port os: OsService os Os (Tasks, ISRs, Counter, ScheduleTables, OS-Applications) rte->os OS-Dienste ioc IOC (partie de l'Os) rte->ioc IocSend / IocWrite, IocReceive / IocRead bsw BSW-Module bsw->os uniquement les services autorisés selon la SWS BSWGeneral ecum EcuM ecum->os StartCore, StartOS, GetCoreID, ShutdownAllCores stbm StbM stbm->os GetScheduleTableStatus, SyncScheduleTable, GetCounterValue os->ioc contient hw Hardware (Timer, Interrupt-Controller, Prozessor) os->hw Timer initialisieren, Interrupt-Quellen steuern hw->os Exception en cas de violation de protection

Diagramme de contexte : EcuM, StbM, RTE et les modules BSW accèdent à l'Os via des groupes de services distincts ; l'IOC fait partie de l'Os. Sources : SWS EcuM p. 34, SWS OS p. 119.

Les compteurs constituent la base de temps ; les valeurs matérielles sont corrigées de manière à débuter à zéro et à croître de façon monotone SWS OS p. 39. L'application démarre les ScheduleTables de manière absolue ou relative au compteur, et un arrêt prend effet immédiatement SWS OS p. 46. En cas de synchronisation explicite, le StbM fournit avec SyncScheduleTable la valeur de l'heure globale. L'OS ajuste ensuite les Expiry Points jusqu'à ce que l'écart se situe dans la limite de la précision configurée [SWS_Os_00199], SWS OS p. 57.

ScheduleTable start commencer STOPPED SCHEDULETABLE_STOPPED start->STOPPED NEXT SCHEDULETABLE_NEXT STOPPED->NEXT NextScheduleTable() WAITING SCHEDULETABLE_WAITING STOPPED->WAITING StartScheduleTableSynchron() RUNNING SCHEDULETABLE_RUNNING STOPPED->RUNNING StartScheduleTableAbs() StartScheduleTableRel() NEXT->STOPPED StopScheduleTable() NEXT->RUNNING vorherige Tabelle endet WAITING->STOPPED StopScheduleTable() SYNC SCHEDULETABLE_RUNNING_AND_SYNCHRONOUS WAITING->SYNC SyncScheduleTable() RUNNING->STOPPED StopScheduleTable() ou la table se termine RUNNING->SYNC |Abweichung| <= Precision SYNC->STOPPED StopScheduleTable() SYNC->RUNNING SetScheduleTableAsync() ou |écart| > Precision

Diagramme d'états : cycle de vie d'une ScheduleTable depuis le démarrage jusqu'à l'arrêt en passant par la synchronisation. Sources : [SWS_Os_00784], SWS OS p. 49.

Le concept de protection interdit les accès aux objets d'autres OS-Applications, sauf si la configuration les autorise SWS OS p. 62. CallTrustedFunction permet des transitions contrôlées entre OS-Applications [SWS_Os_00097]. Plusieurs cœurs se coordonnent via des spinlocks avec détection de deadlock et via l'IOC [SWS_Os_00686], [SWS_Os_00718].

En cas d'erreurs graves, la valeur de retour du ProtectionHook détermine la suite [SWS_Os_00538] :

  • ignorer l'erreur,
  • terminer la tâche ou l'ISR,
  • terminer l'OS-Application, avec ou sans redémarrage,
  • arrêter le système.

Une OS-Application nouvellement démarrée se libère à nouveau elle-même avec AllowAccess [SWS_Os_00501].

Rôle du système d'exploitation et de ses voisins dans le calculateur

Le système d'exploitation est le cœur d'exécution de la pile Classic. Il gère les tâches, les ISR, les alarmes, les compteurs et les ScheduleTables. Il regroupe ces objets avec des hooks et des Trusted Functions en OS-Applications configurables, qui sont soit trusted soit non-trusted SWS OS p. 61. De plus, il initialise et configure tous les temporisateurs qu'il utilise lui-même et qui ne sont pas gérés par le pilote GPT SWS OS p. 39.

Les modules voisins y accèdent via des interfaces délimitées :

  • L'EcuM contrôle le démarrage et l'arrêt via StartOS, StartCore, GetCoreID et ShutdownAllCores SWS EcuM p. 34.
  • Le StbM utilise GetCounterValue, GetElapsedValue, GetScheduleTableStatus et SyncScheduleTable SWS StbM p. 152.
  • Les composants logiciels accèdent aux services de l'OS via un port RTE doté de l'interface de service OsService TR VFB p. 89. Pour les compteurs avec OsSecondsPerTick configuré, cette interface propose entre autres GetCounterValue et GetElapsedValue [SWS_Os_00560].

Pour les modules BSW, un tableau définit les services de l'OS qu'ils sont autorisés à utiliser SWS BSWGeneral p. 48. La communication entre OS-Applications est assurée par l'IOC. Il fait partie intégrante du système d'exploitation et est appelé par la RTE SWS OS p. 119, [SWS_Os_00718].

Kontext swc Software-Komponente rte RTE swc->rte Port os: OsService os Os (Tasks, ISRs, Counter, ScheduleTables, OS-Applications) rte->os OS-Dienste ioc IOC (partie de l'Os) rte->ioc IocSend / IocWrite, IocReceive / IocRead bsw BSW-Module bsw->os uniquement les services autorisés selon la SWS BSWGeneral ecum EcuM ecum->os StartCore, StartOS, GetCoreID, ShutdownAllCores stbm StbM stbm->os GetScheduleTableStatus, SyncScheduleTable, GetCounterValue os->ioc contient hw Hardware (Timer, Interrupt-Controller, Prozessor) os->hw Timer initialisieren, Interrupt-Quellen steuern hw->os Exception en cas de violation de protection

Diagramme de contexte : l'Os est utilisé par EcuM, StbM, RTE et les modules BSW via des groupes de services distincts pour chacun, et il encapsule l'IOC ainsi que les accès au matériel. Sources : SWS EcuM p. 34, SWS StbM p. 152, TR VFB p. 89, SWS OS p. 119.

Démarrage, gestion des cœurs et arrêt

En fonctionnement multicœur, l'EcuM démarre en boucle tous les cœurs configurés sur le cœur maître avec StartCore. Il appelle ensuite StartOS(ECUM_DEFAULT_APP_MODE) SWS EcuM p. 82. Sur chaque cœur démarré, StartOS doit également être appelé [SWS_Os_00676]. C'est l'EcuM du cœur esclave respectif qui s'en charge après GetCoreID SWS EcuM p. 83.

Les règles suivantes s'appliquent à StartCore SWS OS p. 166 :

  • Le service n'est pas réentrant.
  • Un appel après StartOS renvoie E_OS_ACCESS, et le cœur n'est pas démarré.
  • Un cœur déjà démarré donne E_OS_STATE.

Pour les cœurs hors du contrôle de l'AUTOSAR OS, il existe StartNonAutosarCore [SWS_Os_00682].

Les cœurs sont identifiés par CoreIdType. Les ID logiques sont basés sur zéro et consécutifs, et OS_CORE_ID_MASTER désigne le cœur maître [SWS_Os_00790], [SWS_Os_00825]. GetCoreID fournit l'ID logique du cœur appelant [SWS_Os_00674]. Le service peut déjà être appelé avant StartOS SWS OS p. 111.

Après StartOS et avant le premier StartupHook, l'OS définit toutes les OS-Applications sur APPLICATION_ACCESSIBLE SWS OS p. 62. Vient ensuite le StartupHook à l'échelle du système. Ce n'est qu'ensuite que s'exécutent les StartupHook_<App> spécifiques à l'application, chacun avec les droits de son OS-Application SWS OS p. 134, [SWS_Os_00539].

Démarrage multicœur de l'OsEcuM (Master-Kern)Os (Master-Kern)Os (Slave-Kern)EcuM (Slave-Kern)GetCoreID()CoreIdTypelooppour tous les cœurs configurésStartCore(CoreID, &Status)Démarrer le cœur sous le contrôlede l'AUTOSAR OSStatus = E_OKStartOS(ECUM_DEFAULT_APP_MODE)GetCoreID()StartOS(ECUM_DEFAULT_APP_MODE)Après StartOS : OS-Applications à APPLICATION_ACCESSIBLE,puis StartupHook, ensuite StartupHook_<App>optStartCore après StartOSStartCore(CoreID, &Status)Status = E_OS_ACCESS,Le cœur n'est pas démarré

Diagramme de séquence : le cœur maître démarre les autres cœurs avant son propre StartOS ; chaque cœur appelle lui-même StartOS, un StartCore ultérieur est rejeté. Sources : SWS EcuM p. 82, SWS EcuM p. 83, SWS OS p. 166, SWS OS p. 188.

GetNumberOfActivatedCores fournit dans R20-11 le nombre de cœurs activés avec StartCore [SWS_Os_00672]. Les versions ultérieures parlent plutôt de « cœurs sur lesquels tourne l'AUTOSAR OS » SWS OS p. 196.

Avec ControlIdle, on choisit pour chaque cœur l'action pour le temps d'inactivité, par exemple pour économiser de l'énergie. La valeur par défaut est IDLE_NO_HALT. Un cœur ou un mode inconnu donne E_OS_ID [SWS_Os_00769], [SWS_Os_00771], [SWS_Os_00793].

ShutdownAllCores arrête l'OS sur tous les cœurs AUTOSAR, force les autres cœurs à l'arrêt et ne retourne jamais [SWS_Os_00713]. Les ShutdownHook_<App> s'exécutent d'abord. Ensuite, les cœurs se synchronisent, et le ShutdownHook global ne suit qu'après SWS OS p. 98, [SWS_Os_00541].

Compteurs et ScheduleTables comme base de temps

GetCounterValue fournit la valeur de temporisateur pour les compteurs matériels et les ticks logiciels pour les compteurs logiciels. L'OS corrige les valeurs matérielles de sorte qu'elles commencent à zéro et augmentent jusqu'au modulo SWS OS p. 39, [SWS_Os_00383].

GetElapsedValue fournit les ticks écoulés depuis une valeur lue précédemment. Si Value est supérieur à la valeur maximale autorisée du compteur, E_OS_VALUE s'ensuit SWS OS p. 192, [SWS_Os_00392].

IncrementCounter n'incrémente que les compteurs logiciels ; pour les compteurs matériels, il renvoie E_OS_ID. Si une action d'alarme échoue au cours de ce processus, l'OS appelle les Error-Hooks, mais le service lui-même renvoie E_OK SWS OS p. 190, [SWS_Os_00399].

Le démarrage et l'arrêt d'une ScheduleTable incombent à l'application SWS OS p. 46. L'Initial Expiry Point est traité à la valeur de compteur suivante :

  • StartScheduleTableAbs : à Start + InitialOffset [SWS_Os_00358].
  • StartScheduleTableRel : à Now + Offset + InitialOffset [SWS_Os_00347].

Lors d'un démarrage relatif, un décalage de 0 ou supérieur à OsCounterMaxAllowedValue − InitialOffset entraîne l'erreur E_OS_VALUE. Une table déjà démarrée donne E_OS_STATE SWS OS p. 179.

StopScheduleTable s'interrompt immédiatement ; une table déjà arrêtée donne E_OS_NOFUNC [SWS_Os_00006]. Un redémarrage ultérieur commence au début de la table SWS OS p. 46.

NextScheduleTable enchaîne une table suivante. Les deux tables doivent être pilotées par le même compteur, sinon E_OS_ID s'ensuit [SWS_Os_00191], SWS OS p. 184.

GetScheduleTableStatus signale SCHEDULETABLE_STOPPED conjointement avec E_OK pour une table non démarrée SWS OS p. 189, [SWS_Os_00784].

ScheduleTable start commencer STOPPED SCHEDULETABLE_STOPPED start->STOPPED NEXT SCHEDULETABLE_NEXT STOPPED->NEXT NextScheduleTable() WAITING SCHEDULETABLE_WAITING STOPPED->WAITING StartScheduleTableSynchron() RUNNING SCHEDULETABLE_RUNNING STOPPED->RUNNING StartScheduleTableAbs() StartScheduleTableRel() NEXT->STOPPED StopScheduleTable() NEXT->RUNNING vorherige Tabelle endet WAITING->STOPPED StopScheduleTable() SYNC SCHEDULETABLE_RUNNING_AND_SYNCHRONOUS WAITING->SYNC SyncScheduleTable() RUNNING->STOPPED StopScheduleTable() ou la table se termine RUNNING->SYNC |Abweichung| <= Precision SYNC->STOPPED StopScheduleTable() SYNC->RUNNING SetScheduleTableAsync() ou |écart| > Precision

Diagramme d'états : cycle de vie d'une ScheduleTable avec tous les états de ScheduleTableStatusType ; WAITING et RUNNING n'apparaissent qu'en cas de synchronisation explicite, les tables synchronisées implicitement ne connaissent que STOPPED, NEXT et RUNNING_AND_SYNCHRONOUS. Sources : [SWS_Os_00784], SWS OS p. 43, SWS OS p. 49, SWS OS p. 48.

Synchronisation des ScheduleTables avec l'heure globale

En cas de synchronisation implicite, le compteur pilote est lui-même le compteur de synchronisation. La table ne connaît alors que trois états SWS OS p. 48. StartScheduleTableRel renvoie l'erreur E_OS_ID pour OsScheduleTblSyncStrategy = IMPLICIT SWS OS p. 179. En revanche, la synchronisation explicite aligne une table pilotée localement sur un compteur de synchronisation externe. Elle est répertoriée comme mesure de sécurité pour le couplage à la base de temps du StbM Safety Measures p. 66.

Il existe deux manières de procéder pour le démarrage SWS OS p. 49, [SWS_Os_00201] :

  • De manière asynchrone via StartScheduleTableAbs ou StartScheduleTableRel, par rapport au compteur pilote.
  • De manière synchrone via StartScheduleTableSynchron. Ici, l'Initial Expiry Point est traité (Duration − Value) + InitialOffset ticks après la mise à disposition de la valeur de synchronisation.

SyncScheduleTable transmet la valeur actuelle du compteur de synchronisation. Son modulo correspond à la durée de la table SWS OS p. 52, [SWS_Os_00199].

L'OS calcule à partir de là l'écart et ajuste le retard à chaque Expiry Point. Si l'écart se situe dans les limites de OsScheduleTblExplicitPrecision, la table est considérée comme « running and synchronous » SWS OS p. 57. SetScheduleTableAsync arrête l'ajustement jusqu'au prochain SyncScheduleTable ; les Expiry Points continuent de défiler pendant ce temps SWS OS p. 188, [SWS_Os_00422].

Synchronisation explicite d'une ScheduleTable par le StbMTâche BSW (tâche OS ou appel cyclique)StbMOsStbM_MainFunction()GetScheduleTableStatus(ScheduleTableID, &ScheduleStatus)E_OK, ScheduleStatusaltScheduleStatus == WAITING, RUNNING ou RUNNING_AND_SYNCHRONOUSSyncScheduleTable(ScheduleTableID, GlobalTimeTick)Abweichung berechnen,Ajuster le délai jusqu'au prochain Expiry Pointsinonkein SyncScheduleTableLe déroulement se répète à chaque appel de StbM_MainFunction()

Diagramme de séquence : le StbM interroge cycliquement l'état de la table et ne fournit une valeur de synchronisation que si la table est démarrée. Sources : SWS StbM p. 220, SWS StbM p. 117, [SWS_Os_00227], [SWS_Os_00199].

Concept de protection : OS-Applications, droits d'accès et Trusted Functions

L'OS empêche les accès d'une OS-Application à des objets tiers, sauf si la configuration les autorise expressément SWS OS p. 62. Si les droits font défaut, un service renvoie E_OS_ACCESS. Sont exclus les services de vérification pour l'accès à la mémoire et aux objets, qui sont toujours autorisés SWS OS p. 73.

Les requêtes suivantes sont disponibles à l'exécution :

  • GetApplicationID indique l'OS-Application pour laquelle l'appelant est configuré [SWS_Os_00016].
  • GetCurrentApplicationID indique l'OS-Application dans laquelle l'appelant est actuellement exécuté. Les deux valeurs ne diffèrent qu'à l'intérieur de CallTrustedFunction [SWS_Os_00797], [SWS_Os_00798].
  • CheckObjectOwnership fournit le propriétaire d'un objet ou INVALID_OSAPPLICATION SWS OS p. 178.
  • CheckObjectAccess fournit ACCESS ou NO_ACCESS ; toujours NO_ACCESS en cas d'arguments invalides SWS OS p. 177.

CheckTaskMemoryAccess et CheckISRMemoryAccess fournissent sous forme de AccessType les droits sur une zone mémoire et indiquent si elle appartient à la pile. Un droit qui ne s'applique pas à l'ensemble de la zone est refusé. Un ID non valide ne donne aucun droit SWS OS p. 175, SWS OS p. 174. Le résultat est évalué à l'aide de macros telles que OSMEMORY_IS_WRITEABLE SWS OS p. 160.

CallTrustedFunction exécute une fonction avec les paramètres de protection de l'OS-Application fournisseuse. Si l'index n'est pas configuré, E_OS_SERVICEID et un appel du ErrorHook s'ensuivent SWS OS p. 85, SWS OS p. 172. Dans R20-11, le comportement synchrone dépend de la fonction appelée, et l'appel peut déclencher un réordonnancement [SWS_Os_00097]. L'accès en écriture doit également pouvoir être restreint pour les OS-Applications trusted [SWS_Os_00795].

Appel d'une Trusted Functionaufrufende OS-ApplicationTrusted-Function-StubBetriebssystem (System-Call-Dispatcher)bereitstellende OS-ApplicationDienstaufrufArgumente in Parameterstruktur packenCallTrustedFunction(FunID, FunParPtr)Vérifier l'autorisationaltverweigertE_OS_SERVICEIDakzeptiert<trusted function>avec les paramètres de protection de l'OS-Application fournisseuseCheckTaskMemoryAccess(...)AccessTypeRetourE_OKValeur de retour

Diagramme de séquence : un stub encapsule les arguments ; l'OS vérifie l'autorisation et ne bascule qu'ensuite vers l'OS-Application fournisseuse, dont la fonction vérifie à son tour les droits de mémoire. Sources : SWS OS p. 185, SWS OS p. 396, [SWS_Os_00097].

Pour les accès matériels protégés, il existe ReadPeripheral, WritePeripheral et ModifyPeripheral en 8, 16 et 32 bits. Ils opèrent sur des zones de périphériques de type AreaIdType [SWS_Os_91000]. La variante Modify calcule *Address = (*Address & Clearmask) | Setmask SWS OS p. 209.

Pour chaque ISR de catégorie 2, il existe DisableInterruptSource, EnableInterruptSource et ClearPendingInterrupt [SWS_Os_00808]. ClearPendingInterrupt efface uniquement l'indicateur en attente (pending flag) dans le contrôleur d'interruptions [SWS_Os_00814].

Différence entre les versions : dans R20-11, EnableInterruptSource efface toujours l'indicateur en attente [SWS_Os_00811], bien que la signature contienne un paramètre ClearPending. Les versions ultérieures décrivent l'effacement comme facultatif SWS OS p. 177.

Coordination entre cœurs et partitions

Les spinlocks agissent au-delà des frontières des cœurs. GetSpinlock effectue une attente active sans désordonnancer l'appelant et peut être appelé au niveau des tâches et des ISR de catégorie 2 SWS OS p. 115. En Extended Status, il détecte deux cas de deadlock [SWS_Os_00686] :

  • E_OS_INTERFERENCE_DEADLOCK : une tâche sur le même cœur détient déjà le verrou.
  • E_OS_NESTING_DEADLOCK : l'imbrication avec un autre spinlock détenu n'est pas autorisée.

TryToGetSpinlock retourne lorsqu'une tâche sur un autre cœur occupe le verrou. Il renvoie alors E_OK avec TRYTOGETSPINLOCK_NOSUCCESS [SWS_Os_00703], [SWS_Os_00792]. Avant de terminer une tâche et avant WaitEvent, tous les spinlocks doivent être libérés dans l'ordre approprié [SWS_Os_00695]. L'encadrement avec SuspendAllInterrupts ou le réglage OsSpinlockLockMethod permet de prévenir les interférences SWS OS p. 101.

ActivateTask à travers les frontières de cœurs fonctionne de manière synchrone. Le gestionnaire d'erreurs s'exécute sur le cœur appelant SWS OS p. 103. En revanche, ActivateTaskAsyn et SetEventAsyn ne renvoient pas d'erreurs à l'appelant, mais les signalent uniquement au Error-Hook global [SWS_Os_00816], [SWS_Os_00817]. Les deux n'existent que dans les systèmes dotés d'OS-Applications [SWS_Os_00818], [SWS_Os_00819]. Si l'appelant n'existe plus, la notification est omise SWS OS p. 179.

L’IOC génère ses fonctions par émetteur et récepteur :

Si le tampon est plein, l’émetteur signale IOC_E_LIMIT et le récepteur obtient IOC_E_LOST_DATA lors de la lecture suivante SWS OS p. 219. IocInit et la génération séparée du code OS et IOC ont encore le statut DRAFT dans R20-11 [SWS_Os_00835], [SWS_Os_00831], [SWS_Os_00834].

Comportement en cas d'erreur

De nombreuses vérifications, par exemple sur E_OS_ID, n’ont lieu qu’en Extended Status. Les arguments de type pointeur y sont vérifiés quant à NULL_PTR et rejetés avec E_OS_ILLEGAL_ADDRESS SWS OS p. 38. D’autres détections d’erreurs telles que E_OS_PROTECTION_MEMORY et E_OS_STACKFAULT sont définies de manière centralisée [SWS_Os_91025]. Si un service ne renvoie pas E_OK, l’OS appelle l’ErrorHook et le ErrorHook_<App> SWS OS p. 186, [SWS_Os_00540].

En cas d’erreurs graves, l’OS appelle le ProtectionHook. Son ProtectionReturnType détermine la réaction ultérieure [SWS_Os_00538], [SWS_Os_00787]. Si aucun ProtectionHook n’est configuré, l’OS appelle ShutdownOS EXP ALEH p. 60. Lors de l’arrêt d’une OS-Application, l’OS arrête tous les objets associés SWS OS p. 62 :

  • toutes les tâches et ISR,
  • leurs interruptions,
  • leurs alarmes,
  • leurs ScheduleTables.
Réaction à une violation de protection via le ProtectionHookTâche / ISR de catégorie 2 de l'OS-Application <App>ProzessorBetriebssystemUse Case: SchutzverletzungExécution avec violation de protection«Exception»ProtectionHook(Fatalerror)altPRO_TERMINATETASKISRterminaison forcée de la tâche / de l'ISRPRO_TERMINATEAPPLterminaison forcée de l'OS-ApplicationPRO_TERMINATEAPPL_RESTARTterminaison forcée de l'OS-Application,Restart-Task startenPRO_IGNOREaucune autre actionPRO_SHUTDOWNShutdownOS()

Diagramme de séquence : la valeur de retour du ProtectionHook permet de choisir entre ignorer, terminer la tâche/l’ISR, terminer l’OS-Application (avec ou sans redémarrage) et arrêter le système. Sources : SWS OS p. 187, [SWS_Os_00538], [SWS_Os_00787]

Une OS-Application est APPLICATION_ACCESSIBLE, APPLICATION_RESTARTING ou APPLICATION_TERMINATED. L’état est fourni par GetApplicationState [SWS_Os_00773], [SWS_Os_00499]. Dans R20-11, TerminateApplication accepte RESTART ou NO_RESTART [SWS_Os_00258], [SWS_Os_00788]. Les versions ultérieures ignorent ce paramètre SWS OS p. 194.

Dans l’état RESTARTING, seule l’OSRestartTask s’exécute ; les autres OS-Applications n’ont aucun accès. Une OS-Application ne quitte l’état APPLICATION_TERMINATED que par un redémarrage du calculateur EXP ALEH p. 53. L’OSRestartTask effectue un nettoyage si nécessaire via CallTrustedFunction et libère ensuite à nouveau l’OS-Application avec AllowAccess EXP ALEH p. 76, [SWS_Os_00501]. L’intégrateur fournit le code pour le ProtectionHook à l’échelle de l’ECU et pour la tâche de redémarrage EXP ALEH p. 79.

OsApplication start commencer ACC APPLICATION_ACCESSIBLE start->ACC StartOS (avant le premier StartupHook) RES APPLICATION_RESTARTING ACC->RES PRO_TERMINATEAPPL_RESTART ou TerminateApplication(AppID, RESTART) TER APPLICATION_TERMINATED ACC->TER PRO_TERMINATEAPPL ou TerminateApplication(AppID, NO_RESTART) RES->ACC AllowAccess() (depuis la tâche Restart) RES->TER TerminateApplication(self, NO_RESTART)

Diagramme d’états : StartOS rend chaque OS-Application accessible ; les réactions de protection ou TerminateApplication mènent à RESTARTING ou TERMINATED, seul AllowAccess permet de revenir. Sources : EXP ALEH p. 61, [SWS_Os_00773], [SWS_Os_00501]

Preuves détaillées supplémentaires

Guide généré par IA sur la base des exigences et des passages documentaires contenus dans le payload ; les exigences de la version R20-11 sont normatives, les écarts des versions ultérieures sont mentionnés.

AUTOSAR OS

Real-time operating system managing priority-based preemptive task scheduling, events, alarms, and schedule tables (OSEK/VDX derivative).

Funktionen — Übersicht

Typen — Übersicht

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 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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : f4173cc0ef4f Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 (type TrustedFunctionIndexType) : désigne l'index de la fonction à appeler [SWS_Os_00097].
  • FunctionParams (type TrustedFunctionParameterRefType) : 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 9eaf26d27eff Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 91d38acf9e0a Provenance
traduit du guide allemandGénéré par l'IAgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 type TaskType) : référence à la tâche dont les droits d'accès doivent être vérifiés.
  • Address (de type MemoryStartAddressType) : l'adresse de début de la zone mémoire à vérifier.
  • Size (de type MemorySizeType) : 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.

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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : c7ec73500d6c Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 20318a993e09 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 type ObjectTypeType, 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 9cbbffcaa010 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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'état EXTENDED) : le ScheduleTableID spécifié n'est pas valide [SWS_Os_00347].
  • E_OS_VALUE (uniquement avec l'état EXTENDED) : le paramètre Offset est égal à 0 ou 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 8536dbe30f67 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 : la ScheduleTableID transmise est invalide (renvoyé uniquement dans le statut EXTENDED).
  • E_OS_VALUE : la valeur de Start dépasse la valeur maximale admissible du compteur OsCounterMaxAllowedValue (retourné uniquement avec l'état EXTENDED).

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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : acbfdebe2422 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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'identifiant ScheduleTableID transmis est invalide. Selon la spécification, cette valeur de retour n'est générée que dans l'état EXTENDED ([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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : dfc067e72659 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 statut EXTENDED configuré si au moins l'un des identifiants de table transmis est invalide [SWS_Os_00191].
  • E_OS_NOFUNC : la table initiale ScheduleTableID_From ne se trouve pas à l'état démarré [SWS_Os_00191].
  • E_OS_STATE : la table cible ScheduleTableID_To est 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 8edf7224d053 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 : le ScheduleTableID transmis 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 50f85b0fc4ce Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 type ScheduleTableType ([SWS_Os_00199]).
  • Value : valeur actuelle du compteur de synchronisation, de type TickType ([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 que Os Schedule Tbl Sync Strategy n'est pas configuré ou est défini sur IMPLICIT ([SWS_Os_00199]).
  • E_OS_VALUE : la valeur de compteur transmise Value est 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 40e8148ee79f Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 2ba1bf6d0722 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 Option permet 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_OK signale une terminaison sans erreur [SWS_Os_00258].
  • E_OS_STATE indique que l'état actuel de Application ne 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_ID en cas d'ID d'application non valide, E_OS_VALUE en cas de valeur de paramètre non valide pour Restart Option ainsi que E_OS_ACCESS si 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 5da6dc1b3684 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 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 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 06b25350e939 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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_OK indique une exécution sans erreur [SWS_Os_00676].
  • Avec l'état étendu (extended status), E_OK confirme également un démarrage réussi [SWS_Os_00676].
  • E_OS_ID signale que le Core ID transmis n'est pas valide [SWS_Os_00676].
  • E_OS_ACCESS signale un appel non autorisé après le démarrage du système d'exploitation [SWS_Os_00676].
  • E_OS_STATE indique 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 4541cad4d0e6 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 valeur CoreID spé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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : aaf2a4bc7e29 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 : le SpinlockId transmis 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 3c94a21733b1 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 : la SpinlockId transmise 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 1d98a899f332 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 type TryToGetSpinlockType* 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 avec E_OK [SWS_Os_00703].
  • Valeur de retour : Renvoie E_OK en 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 : la SpinlockId transmise 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 751c4aeab334 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 33a045f6c446 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 type CoreIdType) : Sélectionne le cœur de processeur dont le mode de veille doit être défini [SWS_Os_00769].
  • IdleMode (de type IdleModeType) : 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 (

).
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 00b6c6a1dbf2 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 transmis Area se situe en dehors de la plage valide [SWS_Os_91013].
  • E_OS_VALUE : l'adresse mémoire indiquée Address n'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 (

).
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 5ae7289a82af Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 transmis Area se situe en dehors de la plage valide [SWS_Os_91015].
  • E_OS_VALUE : l'adresse mémoire indiquée Address n'appartient pas à la zone périphérique spécifiée Area [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 (

).
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : a9f5d6c77f15 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 transmis Area se situe en dehors de la plage autorisée ([SWS_Os_91014]).
  • E_OS_VALUE : l'adresse indiquée Address n'appartient pas à la zone indiquée Area ([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 to a given memory location (). Available vi a Os.h

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 4e0ec4ae51d7 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 to a given memory location (). Available vi a Os.h

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 4e4afea6b230 Provenance Questions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 to a given memory location ().

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : a189c9cd92b9 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 () with the formula: *

= ((*
& ) | )

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 031e78e21a3e Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 transmis Area se situe en dehors de la plage autorisée ([SWS_Os_91016]).
  • E_OS_VALUE : l'adresse cible Address n'appartient pas à la zone indiquée Area ([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 () with the formula: *

= ((*
& ) | )

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : f22ffe272912 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 transmis Area se situe en dehors de la plage de valeurs valide [SWS_Os_91018].
  • E_OS_VALUE : l'adresse mémoire transmise Address n'appartient pas à la zone indiquée Area [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 () with the formula: *

= ((*
& ) | )

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : c9ed5f9b2fff Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 : la Area transmise 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 0e3279bf544b Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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ètre ISRID n'est pas un identifiant valide d'une ISR de catégorie 2 (en statut EXTENDED) [SWS_Os_91020].
  • E_OS_CALLEVEL : La fonction a été appelée depuis un contexte d'appel non autorisé (en statut EXTENDED) [SWS_Os_91020].
  • E_OS_ACCESS : Dans le cadre de la Service Protection, l'application appelante n'est pas propriétaire de l'ISRID spé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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : c278819b07d9 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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'ISRID transmis 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : bf5abba4980e Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 transmis ISRID n'est pas un identifiant valide d'une ISR de catégorie 2 (est renvoyé en statut EXTENDED) [SWS_Os_91021].
  • E_OS_CALLEVEL : La fonction a été appelée depuis un contexte d'appel non autorisé (est renvoyé en statut EXTENDED) [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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 6cc8f60dfafe Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 50632b8f91d3 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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] et Ioc Write [SWS_Os_91003] ou des fonctions de groupe telles que Ioc Send Group [SWS_Os_00728] et Ioc 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. is the callback function name configured by the receiver in the Os Ioc Re ceiver Pull CB attribute to be called on data reception."

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : fe12c77b2732 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 85982be9edad Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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] :

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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : e91976813761 Provenance Questions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 71b2dfdfc31d Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : ae68f3712f9a Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 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 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 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)

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 334083bea161 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 service NextScheduleTable()). 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 316994fde661 Provenance Questions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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_(). AUTOSAR CP R20 - o f Document ID : AUTOSAR_SWS_OS

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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 9c58c4e8227f Provenance Questions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 20e46b8167e3 Provenance Questions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 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)

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

Carte des thèmes

Vue détaillée

Sélectionnez une entrée dans le plan.

Services · Get…

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).

ApplicationType GetApplicationID (void);

This service returns the current state of an OS - Application.

StatusType GetApplicationState (ApplicationType Application, ApplicationStateRefType Value);
GetCoreID fonction

The function returns a unique core identifier.

CoreIdType GetCoreID (void);

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).

StatusType GetCounterValue (CounterType CounterID, TickRefType Value);

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().

ApplicationType GetCurrentApplicationID (void);

This service gets the number of ticks between the current tick value and a previously read tick value.

StatusType GetElapsedValue (CounterType CounterID, TickRefType Value, TickRefType ElapsedValue);
GetISRID fonction

This service returns the identifier of the currently executing ISR.

ISRType GetISRID (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

uint32 GetNumberOfActivatedCores (void);

This service queries the state of a schedule table (also with respect to synchronization).

StatusType GetScheduleTableStatus (ScheduleTableType ScheduleTableID, ScheduleTableStatusRefType ScheduleStatus);
GetSpinlock fonction

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.

StatusType GetSpinlock (SpinlockIdType SpinlockId);

Services · Start…

StartCore fonction

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.

void StartCore (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.

void StartNonAutosarCore (CoreIdType CoreID, StatusType* Status);

This service starts the processing o f a schedule table at an absolute value "Start" on the underlying counter.

StatusType StartScheduleTableAbs (ScheduleTableType ScheduleTableID, TickType Start);

This service starts the processing of a schedule table at "Offset" relative to the "Now" value on the underlying counter.

StatusType StartScheduleTableRel (ScheduleTableType ScheduleTableID, TickType Offset);

This service starts an explicitly synchronized schedule table synchronously.

StatusType StartScheduleTableSynchron (ScheduleTableType ScheduleTableID);

Services · Check…

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.

AccessType CheckISRMemoryAccess (ISRType ISRID, MemoryStartAddressType Address, MemorySizeType Size);

This service determines to which OS - Application a given Task, ISR, Counter, Alarm or Schedule Table belongs

ApplicationType CheckObjectOwnership (ObjectTypeType ObjectType, void ...);

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.

AccessType CheckTaskMemoryAccess (TaskType TaskID, MemoryStartAddressType Address, MemorySizeType Size);

Services · Modify…

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 ModifyPeripheral8 (AreaIdType Area, uint8* Address, uint8 Clearmask, uint8 Setmask);

Services · Read…

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 ReadPeripheral8 (AreaIdType Area, const uint8* Address, uint8* ReadValue);

Services · Write…

This service writes the to a given memory location (). Available vi a Os.h

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 (). Available vi a Os.h

StatusType WritePeripheral8 (AreaIdType Area, uint8* Address, uint8 WriteValue);

Services · Autres

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.

ObjectAccessType CheckObjectAccess (ApplicationType ApplID, ObjectTypeType ObjectType, void ...);

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.

void ActivateTaskAsyn (TaskType id);
AllowAccess fonction

This service sets the own state of an OS - Application from AP PLICATION_ RESTARTING to APPLICATION_ ACCESSIBLE.

StatusType AllowAccess (void);

A (trusted or non - trusted) OS - Application uses this service to call a trusted function

StatusType CallTrustedFunction (TrustedFunctionIndexType FunctionIndex, TrustedFunctionParameterRefType FunctionParams);

Service ClearPendingInterrupt.

StatusType ClearPendingInterrupt (ISRType ISRID);
ControlIdle fonction

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.

StatusType ControlIdle (CoreIdType CoreID, IdleModeType IdleMode);

Disables the interrupt source by modifying the interrupt controller registers.

StatusType DisableInterruptSource (ISRType ISRID);

Service EnableInterruptSource.

StatusType EnableInterruptSource (ISRType ISRID, boolean ClearPending);

This service increments a software counter.

StatusType IncrementCounter (CounterType CounterID);
IocInit fonction

This service initializes the data structures of the IOC. Tags: atp.Status=draft

void IocInit (void);

This service switches the processing from one schedule table to another schedule table.

StatusType NextScheduleTable (ScheduleTableType ScheduleTableID_From, ScheduleTableType ScheduleTableID_To);

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.

ProtectionReturnType ProtectionHook (StatusType Fatalerror);

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.

StatusType ReleaseSpinlock (SpinlockIdType SpinlockId);
SetEventAsyn fonction

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.

void SetEventAsyn (TaskType id, EventMaskType m);

This service stops synchronization of a schedule table.

StatusType SetScheduletableAsync (ScheduleTableType ScheduleTableID);

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.

void ShutdownAllCores (StatusType Error);

This service cancels the processing of a schedule table immediately at any point while the schedule table is running.

StatusType StopScheduleTable (ScheduleTableType ScheduleTableID);

Service SyncScheduleTable.

StatusType SyncScheduleTable (ScheduleTableType ScheduleTableID, TickType Value);

Service TerminateApplication.

StatusType TerminateApplication (ApplicationType Application, RestartType RestartOption);

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.

StatusType TryToGetSpinlock (SpinlockIdType SpinlockId, TryToGetSpinlockType* Success);

Callouts et interfaces attendues

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. is the callback function name configured by the receiver in the Os Ioc Re ceiver Pull CB attribute to be called on data reception."

void <ReceiverPullCB> (void);

Types

This type holds information how a specific memory region can be accessed.

This data type represents an AUTOSAR OS alarm identifier.

typedef uint8 AlarmType;

This data type points to location where a Application State Type can be stored.

This data type identifies the state of an OS - Application. AUTOSAR CP R20 - o f Document ID : AUTOSAR_SWS_OS

This data type identifies the OS - Application.

App Mode of the core shall be inherited from another core.

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

Core Id Type is a scalar that allows identifying a single core. The Core Id Type shall represent t he logical Core ID

This data type identifies a counter.

This data type represents an event mask for extended tasks.

This data type identifies the idle mode behavior.

ISRType type

This data type identifies an interrupt service routine (ISR).

This data type holds the size (in bytes) of a memory region.

This data type is a pointer which is able to point to any location in the MCU address space.

This data type identifies if an OS - Application has access to an object.

This data type identifies an object.

This data type is used for values returned by the conversion macro (see SWS_ Os_00393) OS_ TICKS2_(). AUTOSAR CP R20 - o f Document ID : AUTOSAR_SWS_OS

This data type identifies a value which controls further actions of the OS on return from the protection hook.

This data type defines the use of a Restart Task after terminating an OS - Application.

This data type points to a variable of the data type Schedule Table Status Type.

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)

This data type identifies a schedule table.

Spinlock Id Type identifies a spinlock instance and is used by the API functions: Get Spinlock, Release Spinlock and Try To Get Spinlock.

This data type represents standard OSEK OS status codes (e.g. E_OK, E_OS_ACCESS).

typedef uint8 StatusType;

This data type identifies an AUTOSAR OS task.

typedef uint8 TaskType;

This data type represents count values in ticks.

typedef uint32 TickType;

The total number of cores

This data type identifies a trusted function.

This data type points to a structure which holds the arguments for a call to a trusted function.

The Try To Get Spinlock Type indicates if the spinlock has been occupied or not.