DEENESPTFRRUARHIKOZHNL

Standard Types (Std_Types)

ModulStd (Standard Types)
BSW-Modul-ID197
Standard-Header#include "Std_Types.h"
SWS-SpezifikationAUTOSAR_SWS_StandardTypes.pdf
ClusterGeneral & Standard Types

Guide du moduleGÉNÉRÉ PAR IA

Fournit des types uniformes de retour, de version, de transformeur et de constantes pour tous les modules Classic.
GÉNÉRÉ PAR IA non vérifié Modèle : claude-opus-5-5 · Effort : high · Température : non réglable · Prompt : 4fcc802ced39 Provenance Questions ouvertes (4)
Ancre causale : R20-11 Valable à partir de R20-11 Synthétisé pour cette version de spécification.
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Fournit des types uniformes de retour, de version, de transformeur et de constantes pour tous les modules Classic.

Le module std fournit via Std_Types.h des types et constantes uniformes à l'échelle de la plateforme, mais ne contient ni code ni configuration. L'élément central est Std_ReturnType (uint8) avec E_OK et E_NOT_OK. Les modules ne peuvent définir leurs propres valeurs que dans la plage 0x02–0x3F avec un préfixe de module, car le bit 7 et le bit 8 sont réservés à la RTE [SWS_Std_00011]. De plus, le module fournit les constantes STD_HIGH/STD_LOW, STD_ON/STD_OFF et STD_ACTIVE/STD_IDLE, le type Std_VersionInfoType pour l'interrogation de version ainsi que des types de transformeur et de message pour la communication client-serveur. Dans R20-11, l'en-tête inclut également Compiler.h SRS BSWGeneral p. 62.

Le module std est un en-tête de types pur. Via Std_Types.h, il met à disposition des types et des symboles, mais aucune fonction [SWS_Std_00005]. Dans R20-11, l'en-tête inclut Platform_Types.h et Compiler.h et définit Std_ReturnType ainsi que les valeurs E_OK/E_NOT_OK et les constantes STD_*. Tout module qui utilise ces types l'inclut SRS BSWGeneral p. 62. Selon une version ultérieure de la spécification, il n'y a ni configuration ni gestion d'erreurs propre ; cela devrait également s'appliquer à R20-11 (interprétation) SWS StandardTypes p. 27. Question (ouverte)

kontext std Std_Types.h (Modul std) plat Platform_Types.h std->plat #include comp Compiler.h (in R20-11 gefordert) std->comp #include bsw BSW-Module (z. B. Can, CanIf, Adc, NvM) bsw->std #include cdd Complex Device Driver cdd->std #include rte RTE (Rte_Call, Rte_Read, Rte_Send, …) rte->std nutzt Std_ReturnType, Std_TransformerError xf Transformer (SomeIpXf, E2EXf) xf->std nutzt Std_MessageTypeType, Std_MessageResultType swc SW-C swc->rte API RTE avec Std_ReturnType / transformerError

Diagramme de contexte : Std_Types.h comme base de types commune pour les modules BSW, les CDD, la RTE et les transformeurs. Sources : SRS BSWGeneral p. 62, CDD Guideline p. 14

Le cœur du module est Std_ReturnType (uint8) avec les valeurs E_OK (0) et E_NOT_OK (1). La plage 0x02–0x3F est réservée aux erreurs spécifiques aux modules avec préfixe de module ; les bits 7 et 8 sont définis par la spécification de la RTE [SWS_Std_00011]. Des exemples de telles extensions sont CAN_BUSY et Csm_ReturnType BSWUML Guide p. 29. E_OK est protégé via STATUSTYPEDEFINED en raison d'OSEK [SWS_Std_00006].

returntype rt Std_ReturnType (abgeleitet von uint8) ok E_OK = 0x00 (kein Fehler) rt->ok Standardwert nok E_NOT_OK = 0x01 (generischer Fehler) rt->nok Standardwert user 0x02–0x3F valeurs spécifiques au module (6 bits de poids faible, préfixe de module) rt->user erweiterbar rtebits Bit 7 et bit 8 réservés, définis par la spécification de la RTE rt->rtebits reserviert csm Csm_ReturnType «extra_literals» CSM_E_BUSY = 2 CSM_E_SMALL_BUFFER = 3 CSM_E_ENTROPY_EXHAUSTION = 4 csm->rt erbt von csm->user belegt can CAN_BUSY = 0x02 (Can_Write: kein Sendeobjekt frei) can->user belegt

Diagramme de contexte (structure des types) : valeurs standard, plage spécifique aux modules et bits réservés à la RTE de Std_ReturnType. Sources : [SWS_Std_00005], [SWS_Std_00011], SWS StandardTypes p. 15

S'y ajoutent trois paires de constantes valant chacune 0x01u/0x00u : STD_HIGH/STD_LOW pour les niveaux physiques, STD_ON/STD_OFF comme commutateurs et STD_ACTIVE/STD_IDLE pour les états logiques ([SWS_Std_00007], [SWS_Std_00010], [SWS_Std_00013]). Std_VersionInfoType transporte l'identifiant fournisseur (Vendor ID), l'identifiant de module et la version logicielle pour la fonction synchrone et réentrante <Ma>_GetVersionInfo [SWS_Std_00015].

Pour la transformation des données, std définit deux types pour les erreurs de transformeur : Std_TransformerError, une structure composée d'un code d'erreur et d'une classe de transformeur, et Std_TransformerClass [SWS_Std_00021]. La RTE transmet cette erreur via le paramètre optionnel transformerError SWS RTE p. 731. Pour la communication client-serveur, Std_MessageTypeType et Std_MessageResultType encodent requête/réponse et OK/ERROR. Un pointeur de fonction de type Std_ExtractProtocolHeaderFieldsType lit ces deux valeurs à partir d'un en-tête de transformeur [SWS_Std_91003]. Les types Forward sont encore à l'état de projet dans R20-11 [SWS_Std_00029].

Rôle et frontière système : un en-tête de types pur sans comportement à l'exécution

Le module std (Standard Types) ne contient aucune fonction. Il fournit exclusivement des types et des symboles qui sont disponibles via Std_Types.h. Chaque exigence du module mentionne cet en-tête comme source de référence, par exemple [SWS_Std_00005] et [SWS_Std_00015]. La spécification stipule expressément : l'en-tête ne fournit aucun code et ne requiert aucun autre module BSW, il ne possède aucune configuration ni gestion d'erreurs propre SWS StandardTypes p. 27. Ces formulations sont issues de la version à partir de R23-11. La même chose devrait s'appliquer à R20-11, car les exigences de R20-11 ne contiennent que des définitions de types et de symboles (interprétation). Question Q-8e4c66ae80752d38 (ouverte)

L'objectif est d'assurer un accès uniforme et à l'échelle de la plateforme aux types standards. L'exigence BSW relative à l'en-tête de types standard exige par conséquent : tout module qui utilise des types d'entiers AUTOSAR ou le type de retour standard inclut Std_Types.h SRS BSWGeneral p. 62. Le type de retour Std_ReturnType est expressément partagé entre la RTE et les modules BSW [SWS_Std_00005]. Dans la méthodologie, les types standards sont en outre décrits sous la forme d'un artefact ARXML « AUTOSAR Standard Types » Methodology p. 400.

kontext std Std_Types.h (Modul std) plat Platform_Types.h std->plat #include comp Compiler.h (in R20-11 gefordert) std->comp #include bsw BSW-Module (z. B. Can, CanIf, Adc, NvM) bsw->std #include cdd Complex Device Driver cdd->std #include rte RTE (Rte_Call, Rte_Read, Rte_Send, …) rte->std nutzt Std_ReturnType, Std_TransformerError xf Transformer (SomeIpXf, E2EXf) xf->std nutzt Std_MessageTypeType, Std_MessageResultType swc SW-C swc->rte API RTE avec Std_ReturnType / transformerError

Diagramme de contexte : Std_Types.h inclut les en-têtes de plateforme et de compilateur et est utilisé par les modules BSW, les CDD, la RTE et les transformeurs comme base de types commune. Sources : SRS BSWGeneral p. 62, CDD Guideline p. 14, [SWS_Std_00005], [SWS_Std_00021]

Structure de Std_Types.h et intégration dans l'arborescence des en-têtes

Pour R20-11, l'exigence BSW définit ce que Std_Types.h doit fournir SRS BSWGeneral p. 62 :

  • inclure l'en-tête de types spécifique à la plateforme Platform_Types.h,
  • inclure l'en-tête spécifique au compilateur Compiler.h,
  • définir Std_ReturnType,
  • définir les valeurs pour E_OK, E_NOT_OK, STD_ON, STD_OFF, STD_HIGH, STD_LOW, STD_ACTIVE et STD_IDLE.

Dans la version ultérieure de cette même exigence, l'inclusion de Compiler.h est absente RS BSWGeneral p. 60. Cela concorde avec l'historique des modifications : dans R22-11, l'abstraction de compilateur obsolète a été retirée d'une exigence Std, et NULL_PTR n'a été ajouté qu'avec R21-11 SWS StandardTypes p. 1. Pour R20-11, Compiler.h fait donc bien partie de la chaîne d'inclusion, contrairement à un NULL_PTR issu de Std_Types.h.

Une particularité concerne E_OK. Le symbole est déjà défini dans OSEK et doit donc être partagé. [SWS_Std_00006] prescrit une protection via STATUSTYPEDEFINED : à l'intérieur de cette protection, E_OK (0x00u) et StatusType sont définis, tandis que E_NOT_OK (0x01u) se trouve à l'extérieur. L'exigence BSW contient la même note d'implémentation avec une référence à l'ISO 17356-3 SRS BSWGeneral p. 62. Le schéma sur la structure d'en-tête des CDD montre comment un Complex Device Driver intègre l'en-tête dans son arborescence d'inclusions CDD Guideline p. 14.

Std_ReturnType : Plage de valeurs, disposition des bits et extensions spécifiques aux modules

Std_ReturnType est dérivé de uint8. Les valeurs standard sont E_OK (0) et E_NOT_OK (1) ; la plage 0x02–0x3F est disponible pour les erreurs spécifiques à l'utilisateur [SWS_Std_00005]. [SWS_Std_00011] précise cette règle :

  • Le type est normalement utilisé avec E_OK ou E_NOT_OK.
  • Si ces valeurs ne suffisent pas, des valeurs personnalisées peuvent être définies dans les six bits de poids faible, nommées avec le préfixe du module.
  • Les bits 7 et 8 sont réservés. Ils sont fixés, tout comme l'agencement global, par la spécification de la RTE.

Le schéma relatif à l'agencement illustre précisément cette répartition SWS StandardTypes p. 15.

La spécification de la RTE décrit Std_ReturnType comme le type des valeurs d'état et d'erreur des fonctions d'API ; la valeur 0 est réservée pour « aucune erreur survenue » SWS RTE p. 675. D'après le guide de modélisation BSW, il s'agit du seul type de retour autorisé dans les opérations client-serveur des interfaces de service BSWUML Guide p. 28. Un exemple d'extension spécifique à un module est CAN_BUSY (0x02) du pilote CAN. Can_Write() renvoie cette valeur lorsqu'aucun objet d'émission n'est disponible SWS CANDriver p. 54.

returntype rt Std_ReturnType (abgeleitet von uint8) ok E_OK = 0x00 (kein Fehler) rt->ok Standardwert nok E_NOT_OK = 0x01 (generischer Fehler) rt->nok Standardwert user 0x02–0x3F valeurs spécifiques au module (6 bits de poids faible, préfixe de module) rt->user erweiterbar rtebits Bit 7 et bit 8 réservés, définis par la spécification de la RTE rt->rtebits reserviert csm Csm_ReturnType «extra_literals» CSM_E_BUSY = 2 CSM_E_SMALL_BUFFER = 3 CSM_E_ENTROPY_EXHAUSTION = 4 csm->rt erbt von csm->user belegt can CAN_BUSY = 0x02 (Can_Write: kein Sendeobjekt frei) can->user belegt

Diagramme de contexte (structure des types) : Std_ReturnType est divisé en valeurs standard, une plage spécifique au module 0x02–0x3F et deux bits réservés par la RTE ; les extensions de module telles que Csm_ReturnType ou CAN_BUSY n'occupent que la plage libre. Sources : [SWS_Std_00005], [SWS_Std_00011], SWS StandardTypes p. 15, BSWUML Guide p. 29, SWS CANDriver p. 54

Dans le modèle UML de la BSW, une telle extension est modélisée sous forme de classe <Ma>_ReturnType avec le stéréotype «extra_literals». Ses valeurs portent le préfixe du module et se situent dans la plage 0x02–0x3f BSWUML Guide p. 28. L'exemple Csm_ReturnType avec CSM_E_BUSY, CSM_E_SMALL_BUFFER et CSM_E_ENTROPY_EXHAUSTION illustre ce modèle BSWUML Guide p. 29. Si plusieurs modules d'une même pile nécessitent la même extension, celle-ci n'a pas besoin d'être définie séparément pour chaque module BSWUML Guide p. 33. La version R23-11 prévoit à cet effet une classe générique avec «generic_type», dont dérivent les extensions spécifiques aux modules TR BSWUML Guide p. 37.

erweiterung start Début : le module définit les valeurs de retour q1 E_OK / E_NOT_OK suffisent-ils ? start->q1 std Utiliser Std_ReturnType avec E_OK / E_NOT_OK q1->std Oui q2 Plusieurs modules d'une même pile nécessitent-ils la même extension ? q1->q2 Non ende Fin : les bits 7/8 restent réservés à la RTE std->ende gen generische Erweiterung «extra_literals» «generic_type» (Fassung R23-11) q2->gen Oui own <Ma>_ReturnType als Klasse «extra_literals» modellieren q2->own Non derive En dériver <Ma>_ReturnType, compléter le cas échéant par des littéraux propres gen->derive lit Définir des littéraux avec le préfixe de module dans la plage 0x02–0x3F derive->lit own->lit lit->ende

Diagramme d'activité : décision indiquant si et comment un module étend Std_ReturnType avec ses propres valeurs. Sources : [SWS_Std_00011], BSWUML Guide p. 28, BSWUML Guide p. 33, TR BSWUML Guide p. 37

Constantes symboliques pour niveaux, commutateurs et états

Outre les valeurs de retour, Std_Types.h définit trois paires de constantes. Toutes trois utilisent les valeurs numériques 0x01u et 0x00u, mais sont commentées différemment ([SWS_Std_00007], [SWS_Std_00010], [SWS_Std_00013]) :

PaireValeursSignification selon la définition
STD_HIGH / STD_LOW0x01u / 0x00uétat physique 5 V ou 3,3 V / 0 V
STD_ON / STD_OFF0x01u / 0x00uMarche/Arrêt, sans autre commentaire
STD_ACTIVE / STD_IDLE0x01u / 0x00uétat logique actif / idle

Un utilisateur typique de STD_HIGH/STD_LOW est le pilote DIO : son service de lecture renvoie exactement l'un de ces deux niveaux SWS DIO p. 37. STD_ON/STD_OFF servent de commutateurs de précompilation. Un exemple est EEP_21_LDEXT_VERSION_INFO_API STD_ON dans la spécification générale du BSW SWS BSWGeneral p. 76, un autre correspond aux commutateurs d'API optionnels du pilote GPT SWS GPT p. 48.

Interrogation de la version via Std_VersionInfoType

Std_VersionInfoType est une structure comportant les éléments suivants : vendorID et moduleID (chacun de type uint16) ainsi que sw_major_version, sw_minor_version et sw_patch_version (chacun de type uint8). Elle permet, via <Module name>_GetVersionInfo(), d'interroger la version d'un module BSW [SWS_Std_00015]. La spécification générale du BSW définit pour cette fonction SWS BSWGeneral p. 76 :

  • Elle fonctionne de manière synchrone et est réentrante.
  • Elle possède exactement un paramètre de ce type.
  • Sa disponibilité est configurée par module au moment de la précompilation via <Ma>VersionInfoApi.

La règle de nommage GetVersionInfo cite l'exigence BSW avec l'exemple Eep_21_LDExt_GetVersionInfo SRS BSWGeneral p. 60.

Des implémentations concrètes existent dans de nombreux modules. Lorsque la détection des erreurs de développement est activée, Can_GetVersionInfo rejette un pointeur nul avec CAN_E_PARAM_POINTER SWS CANDriver p. 57. Adc_GetVersionInfo vérifie de manière correspondante la présence de ADC_E_PARAM_POINTER SWS ADCDriver p. 80. Le gestionnaire NVRAM présente l'appel sous la forme d'un échange synchrone simple entre l'utilisateur et le module SWS NvM p. 158.

Requête de version avec Std_VersionInfoTypeNutzerBSW-Modul <Ma>DetAPI présente uniquement si<Ma>VersionInfoApi = STD_ON (Pre-compile)<Ma>_GetVersionInfo(&versioninfo)altversioninfo == NULL et détection d'erreurs de développement activeEntwicklungsfehler melden(z. B. CAN_E_PARAM_POINTER)pointeur validevendorID, moduleID,sw_major/minor/patch_version eintragenRetour (void ; synchrone, réentrant)

Diagramme de séquence : un utilisateur interroge la version d'un module de manière synchrone ; en cas de pointeur nul et si la détection des erreurs de développement est active, le module signale une erreur, sinon il renseigne Std_VersionInfoType. Sources : [SWS_Std_00015], SWS BSWGeneral p. 76, SWS CANDriver p. 57, SWS NvM p. 158

Types de transformeurs et de messages pour la transformation de données

Pour les chaînes de transformeurs, std met à disposition plusieurs types. Dans R20-11, Std_TransformerError est une structure composée de errorCode (uint8) et de transformerClass de type Std_TransformerClass [SWS_Std_00021]. Std_TransformerClass est dérivé de uint8 et comporte cinq valeurs [SWS_Std_00024] : STD_TRANSFORMER_UNSPECIFIED (0x00), STD_TRANSFORMER_SERIALIZER (0x01), STD_TRANSFORMER_SAFETY (0x02), STD_TRANSFORMER_SECURITY (0x03) et STD_TRANSFORMER_CUSTOM (0xFF).

La signature courte dans le répertoire d'API répertorie Std_TransformerError sous le nom typedef uint8. La définition de structure de l'exigence fait toutefois foi. Des versions ultérieures typent errorCode sous la forme d'un type propre Std_TransformerErrorCode, dont la signification est définie par chaîne de transformeurs SWS StandardTypes p. 17.

La RTE transmet ce type comme paramètre OUT optionnel transformerError à ses API, par exemple pour Rte_Call SWS RTE p. 731, Rte_Read SWS RTE p. 720 et Rte_Result SWS RTE p. 750. Les interfaces de plug-in le décrivent comme l'erreur survenue lors de l'exécution de la chaîne de transformeurs SWS RTE p. 969.

Std_TransformerForward et Std_TransformerForwardCode sont marqués comme brouillon (draft) dans R20-11. Le code de transfert (forward) connaît E_OK, E_SAFETY_INVALID_REP, E_SAFETY_INVALID_SEQ et E_SAFETY_INVALID_CRC ([SWS_Std_00027], [SWS_Std_00029]). Dans les versions ultérieures, Rte_Send accepte un forwardedCode optionnel de ce type SWS RTE p. 704. Il sert probablement à reproduire à nouveau lors du transfert les erreurs de sécurité (safety) reçues, comme le décrivent les fonctions de transfert E2E SWS E2ELibrary p. 107 (interprétation). Selon l'historique des modifications, la structure Std_TransformerForward a été supprimée dans R22-11 SWS StandardTypes p. 1. Question Q-f0d374b3b793c868 (ouverte)

Signaler l'erreur de transformeur via Std_TransformerErrorSW-CRTETransformer-KettetransformerError n'existe que pourerrorHandling = transformerErrorHandlingRte_Call_<p>_<o>(…, OUT transformerError)Exécuter la chaîne de transformeursaltTransformer meldet FehlerFehlercode (Interpretation)Renseigner Std_TransformerError :errorCode, transformerClass (z. B. STD_TRANSFORMER_SAFETY)Std_ReturnType + transformerErrorkein Transformer-FehlerRésultat sans erreurStd_ReturnType (z. B. E_OK)

Diagramme de séquence : une erreur de transformeur parvient au SW-C, en plus du Std_ReturnType, sous forme de Std_TransformerError avec code d'erreur et classe de transformeur. Sources : [SWS_Std_00021], [SWS_Std_00024], SWS RTE p. 731, SwCluster Guideline p. 245, SWS RTE p. 774

Pour la communication client-serveur, il existe deux types de codage pour lesquels 0x02–0x3F sont respectivement réservés à des valeurs futures :

  • Std_MessageTypeType distingue la requête (STD_MESSAGETYPE_REQUEST, 0x00) et la réponse (STD_MESSAGETYPE_RESPONSE, 0x01) ([SWS_Std_91001], [SWS_Std_00017]).
  • Std_MessageResultType code le résultat d'une réponse : STD_MESSAGERESULT_OK (0x00) ou STD_MESSAGERESULT_ERROR (0x01) ([SWS_Std_91002], [SWS_Std_00019]).

Le type de pointeur de fonction Std_ExtractProtocolHeaderFieldsType décrit une fonction synchrone et réentrante. Elle extrait les deux valeurs de l'en-tête de protocole d'un transformeur dans un tampon et fournit un Std_ReturnType [SWS_Std_91003]. Les transformeurs reçoivent optionnellement un tel pointeur comme argument de leur fonction inverse ASWS TransformerGeneral p. 40. Avec SomeIpXf_ExtractProtocolHeaderFields, le transformeur SOME/IP fournit une implémentation appropriée SWS SOMEIPTransformer p. 61. Les profils E2E 4m, 7m, 8m et 44m évaluent les deux valeurs dans leurs fonctions de vérification SWS E2ELibrary p. 108.

Protokoll-Header-Felder extrahieren (E2E, Profil PXXm)RTEE2EXf (inverse Funktion)SomeIpXfE2E-BibliothekE2EXf_Inv_<transformerId>(extractProtocolHeaderFields,buffer, bufferLength, …)optProfile == PXXmextractProtocolHeaderFields(buffer, bufferLength,&messageType, &messageResult)= SomeIpXf_ExtractProtocolHeaderFields (Beispiel)Std_ReturnType ok,Std_MessageTypeType, Std_MessageResultTypealtok == E_OKsourceID = config->sourceIDE2E_P04mSourceCheck(…, SourceID,MessageType, MessageResult, …) (Beispiel)Std_ReturnTypeok == E_NOT_OK (z. B. falsche Protokollversion, Puffer zu kurz)Interrompre le traitement avec terminaison en erreuruint8 (résultat de la transformation inverse)

Diagramme de séquence : pour les profils PXXm, le transformeur E2E extrait le type et le résultat du message via le pointeur de fonction transmis et ne poursuit la vérification qu'en cas de E_OK. Sources : [SWS_Std_91003], ASWS TransformerGeneral p. 40, SWS E2ETransformer p. 45, SWS SOMEIPTransformer p. 61, SWS E2ELibrary p. 108

Comportement en cas d'erreur

Le module lui-même ne détecte ni ne signale aucune erreur. La version à partir de R23-11 constate que les types standard ne prévoient aucun traitement d'erreur et ne prennent en charge aucun événement de sécurité SWS StandardTypes p. 27 ; la même chose devrait s'appliquer à R20-11 (interprétation). Question (ouverte) Le comportement en cas d'erreur ne naît donc que dans les modules qui utilisent ces types. Le signal de base est E_NOT_OK [SWS_Std_00006] ; sa signification concrète est définie par chaque API. Pour Adc_ReadGroup, il signifie « aucun résultat disponible ou erreur de développement » SWS ADCDriver p. 61, pour CanIf_Transmit « demande d'émission non acceptée » SWS CANInterface p. 87.

Des profils d'erreur plus précis sont signalés via des valeurs spécifiques aux modules dans la plage 0x02–0x3F [SWS_Std_00011], par exemple CAN_BUSY SWS CANDriver p. 54. Les appelants doivent donc s'attendre à ce qu'un Std_ReturnType prenne plus de deux valeurs. Un cas particulier concerne les rappels routés en tant que services AUTOSAR via la RTE : bien que l'appelant puisse supposer E_OK, de tels rappels peuvent échouer, par exemple dans des systèmes partitionnés SWS BSWGeneral p. 69.

Dans les chaînes de transformeurs, une erreur est signalée en plus de la valeur de retour via Std_TransformerError avec code d'erreur et classe de transformeur [SWS_Std_00021]. La RTE ne génère le paramètre optionnel transformerError que si le traitement d'erreurs transformerErrorHandling est configuré pour le port SWS RTE p. 774. Si l'extraction des champs d'en-tête échoue, SomeIpXf_ExtractProtocolHeaderFields renvoie E_NOT_OK, par exemple en cas de version de protocole incorrecte ou de tampon trop court SWS SOMEIPTransformer p. 61. La logique de transformateur E2E ne poursuit la vérification qu'en cas de E_OK SWS E2ETransformer p. 45.

Preuves détaillées supplémentaires

Guide de module généré par IA pour std (classic, R20-11), établi exclusivement sur la base du payload autodocs. De nombreux passages de documents sont issus d'autres versions ; les exigences R20-11 sont normatives. À comparer avec la spécification avant toute utilisation contraignante.

Standard Types (Std_Types)

Standard types, return codes (Std_ReturnType, E_OK, E_NOT_OK), version info structures, and error codes shared across the entire AUTOSAR architecture.

Typen — Übersicht

Typen — Detailansicht

type Std_ReturnType [SWS_Std_00005] 📄 PDF

typedef uint8 Std_ReturnType;

This type can be used as standard API return type which is shared between the RTE and the BSW modules. It shall be defined as follows: typedef uint8 Std_ Return Type;

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

Le type Std_ReturnType sert de type de retour standardisé pour les fonctions API et est utilisé conjointement par la RTE et les modules BSW ([SWS_Std_00005]). Il est disponible via l'en-tête Std_Types.h et défini comme uint8 ([SWS_Std_00005]).

Par défaut, Std_ReturnType prend les valeurs E_OK (valeur 0) ou E_NOT_OK (valeur 1) ([SWS_Std_00005], [SWS_Std_00011]). Si ces deux valeurs de retour standard ne suffisent pas, la norme autorise la définition de valeurs d'erreur spécifiques au module :

  • Plage de valeurs pour les erreurs utilisateur : la plage 0x02 à 0x3F est disponible pour les codes d'erreur personnalisés ([SWS_Std_00005]). Les six bits de poids faible sont utilisés ici ([SWS_Std_00011]).
  • Convention de nommage : lors de la dénomination des valeurs d'erreur spécifiques à l'utilisateur, le préfixe de module respectif doit obligatoirement être ajouté en tête, conformément aux prescriptions BSW ([SWS_Std_00011]).
  • Réservation RTE : le bit 7 et le bit 8 sont réservés et spécifiés par la spécification de la RTE, dont suit également la disposition générale du type de retour ([SWS_Std_00011]). Interpretation : il devrait s'agir ici des deux bits de poids fort de la représentation 8 bits, qui complètent les six bits de poids faible pour former un octet. Question Q-d97256956c510f58 (ouverte)

Les mécanismes de traitement d'erreur spécifiques tels que DET ou DEM, ainsi que les exigences de réentrance, ne sont pas définis dans les sources pour le type de base lui-même, mais incombent aux API respectives qui emploient ce type comme valeur de retour.

Cette note d'utilisation a été générée par une IA et se base sur les spécifications d'AUTOSAR Classic Release R20-11.

Guide de l'implémenteur à venir (complexité I1)

type Std_TransformerError [SWS_Std_00021] 📄 PDF

typedef uint8 Std_TransformerError;

-

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

Le type de données Std_TransformerError est mis à disposition pour la plateforme AUTOSAR Classic via le fichier d'en-tête Std_Types.h en tant que type standardisé, conformément à l'exigence [SWS_Std_00021]. Structurellement, l'élément est défini dans la spécification en tant que structure et se compose de deux éléments : l'élément errorCode avec le type de base uint8 ainsi que l'élément transformerClass avec le type Std_TransformerClass [SWS_Std_00021].

En ce qui concerne l'utilisation pratique, la spécification ne contient aucune signature de fonction concrète, description de paramètre ou valeur de retour. Le type de structure sert probablement de conteneur de données unifié pour la transmission structurée des erreurs qui surviennent lors de la transformation des données (interprétation). Question Q-6e0938f276d60fd3 (ouverte) Le champ errorCode devrait alors transporter la clé d'erreur numérique proprement dite, tandis que transformerClass identifie la classe de transformeur à l'origine de l'erreur ou associée (interprétation). Question Q-d8806698683ec00e (ouverte)

Aucun mécanisme spécifique de traitement des erreurs, tel que des notifications DET ou DEM, n'est défini dans [SWS_Std_00021]. Les prescriptions relatives à la concurrence, à la réentrance ou à la sémantique synchrone ou asynchrone sont également absentes des sources. S'agissant d'une pure définition de type dans Std_Types.h, le type lui-même n'est soumis à aucune restriction à l'exécution ; celles-ci découlent exclusivement du contexte respectif des modules utilisateurs.

Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R20-11.

type Std_MessageType [SWS_Std_91001] 📄 PDF

This type is used to encode the different type of messages. - Currently this encoding is limited to the distinction between requests and responses in C/ S c ommunication.

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

Le type standard Std_MessageType est utilisé conformément à [SWS_Std_91001] pour coder différents types de messages. Dans la présente spécification, ce codage se limite à la distinction entre requêtes (Requests) et réponses (Responses) dans le cadre de la communication client/serveur ([SWS_Std_91001]).

Le type de données dérive du type de base uint8 et est mis à disposition des composants logiciels ainsi que des modules du logiciel de base via le fichier d'en-tête Std_Types.h ([SWS_Std_91001]). Les valeurs et constantes suivantes sont spécifiées pour l'affectation et l'évaluation :

  • STD_MESSAGETYPE_REQUEST (valeur 0x00) : caractérise un message de requête ([SWS_Std_91001]).
  • STD_MESSAGETYPE_RESPONSE (valeur 0x01) : caractérise un message de réponse ([SWS_Std_91001]).
  • Plage de valeurs 0x02 à 0x3F : cette plage est réservée pour de futurs types de messages ([SWS_Std_91001]).

En ce qui concerne l'application et les contraintes, les modules qui l'implémentent ne doivent utiliser que les identifiants définis. Étant donné que les valeurs de 0x02 à 0x3F sont réservées pour de futures extensions d'AUTOSAR, elles ne doivent pas être affectées de manière arbitraire à d'autres fins ([SWS_Std_91001]). Aucun code d'erreur spécifique, aucune valeur de retour, aucun déroulement asynchrone ni aucune notification à DET ou DEM ne sont définis pour ce type de données dans la spécification ([SWS_Std_91001]).

Ce texte a été généré par un assistant de curation IA et se base sur la spécification d'AUTOSAR R20-11.

type Std_MessageResultType [SWS_Std_91002] 📄 PDF

typedef uint8 Std_MessageResultType;

This type is used to encode different types of results for response messages. - Currently this encoding is limited to the distinction between OK and ERROR responses.

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

Le type de données fondamental Std_MessageResultType sert, dans la plateforme AUTOSAR Classic, à encoder différents types de résultats pour les messages de réponse (Response Messages) [SWS_Std_00019]. Le type est fourni via le fichier d'en-tête standard Std_Types.h et est défini comme un type scalaire basé sur uint8 [SWS_Std_91002].

Utilisation et plage de valeurs

La spécification exige l'utilisation de Std_MessageResultType pour une identification uniforme des messages de réponse [SWS_Std_00019]. Actuellement, le périmètre fonctionnel prévu pour cet encodage se limite à la distinction fondamentale entre réponses réussies et réponses en échec [SWS_Std_91002]. Les valeurs de résultat fixes suivantes sont définies à cet effet :

  • STD_MESSAGERESULT_OK (valeur 0x00) : indique le résultat régulier et sans erreur d'un message de réponse [SWS_Std_91002].
  • STD_MESSAGERESULT_ERROR (valeur 0x01) : signale le résultat d'un message de réponse en échec (Error Response) [SWS_Std_91002].

Restrictions et extensions futures

La plage de valeurs allant de 0x02 à 0x3F est explicitement réservée pour de futurs résultats de messages [SWS_Std_91002]. Interprétation : la spécification ne prévoyant actuellement aucune autre valeur de retour valide, les modules évaluateurs devraient devoir être programmés de manière défensive afin d'intercepter en toute sécurité les valeurs inattendues ou non encore attribuées dans cette plage [SWS_Std_00019]. Question Q-5f652f73800b7d94 (ouverte)

Ce texte a été généré par une IA et résume les dispositions de la spécification AUTOSAR pour les développeurs.

type Std_ExtractProtocolHeaderFieldsType [SWS_Std_91003] 📄 PDF

typedef Std_ReturnType (* Std_ExtractProtocolHeaderFieldsType)(const uint8* buffer, uint32 bufferLength, Std_MessageTypeType* messageType, Std_MessageResultType* messageResult);

Type for the function pointer to extract the relevant protocol header fields of the message and the type of the message result of a transformer. - At the time being, this is limited to the types used for C/ S communication (i.e., REQUE ST and RESPONSE and OK and ERROR).

type E_OK / E_NOT_OK [SWS_Std_00006] 📄 PDF

#define E_OK 0x00u #define E_NOT_OK 0x01u

Because E_ OK is already defined within OSEK, the symbol E_ OK has to be shared. To avoid name clashes and redefinition problems, the symbols have to be defined in the following way (approved within implementation): #ifndef STATUSTYPEDEFINED #define STATUSTYPEDEFINED #define E_ OK 0x00u typedef unsigned char Status Type; /* OSEK compliance */ #endif #define E_ NOT_ OK 0x01u

type STD_HIGH / STD_LOW [SWS_Std_00007] 📄 PDF

#define STD_HIGH 0x01u #define STD_LOW 0x00u

The symbols STD_ HIGH and STD_ LOW shall be defined as follows: #define STD_ HIGH 0x01u /* Physical state 5V or 3.3V */ #define STD_ LOW 0x00u /* Physical state 0V */

type STD_ACTIVE / STD_IDLE [SWS_Std_00013] 📄 PDF

#define STD_ACTIVE 0x01u #define STD_IDLE 0x00u

The symbols STD_ ACTIVE and STD_ IDLE shall be defined as follows: #define STD_ ACTIVE 0x01u /* Logical state active */ #define STD_ IDLE 0x00u /* Logical state idle */

type STD_ON / STD_OFF [SWS_Std_00010] 📄 PDF

#define STD_ON 0x01u #define STD_OFF 0x00u

The symbols STD_ ON and STD_ OFF shall be defined as follows: #define STD_ ON 0x01u #define STD_ OFF 0x00u

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/CP_MOD_Std
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_Std@rel:R20-11#4f00bf09
Content hash
4f00bf09
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_StandardTypes.pdf#nameddest=SWS_Std_00005

Types

Because E_ OK is already defined within OSEK, the symbol E_ OK has to be shared. To avoid name clashes and redefinition problems, the symbols have to be defined in the following way (approved within implementation): #ifndef STATUSTYPEDEFINED #define STATUSTYPEDEFINED #define E_ OK 0x00u typedef unsigned char Status Type; /* OSEK compliance */ #endif #define E_ NOT_ OK 0x01u

#define E_OK 0x00u #define E_NOT_OK 0x01u

The symbols STD_ ACTIVE and STD_ IDLE shall be defined as follows: #define STD_ ACTIVE 0x01u /* Logical state active */ #define STD_ IDLE 0x00u /* Logical state idle */

#define STD_ACTIVE 0x01u #define STD_IDLE 0x00u

Type for the function pointer to extract the relevant protocol header fields of the message and the type of the message result of a transformer. - At the time being, this is limited to the types used for C/ S communication (i.e., REQUE ST and RESPONSE and OK and ERROR).

typedef Std_ReturnType (* Std_ExtractProtocolHeaderFieldsType)(const uint8* buffer, uint32 bufferLength, Std_MessageTypeType* messageType, Std_MessageResultType* messageResult);

The symbols STD_ HIGH and STD_ LOW shall be defined as follows: #define STD_ HIGH 0x01u /* Physical state 5V or 3.3V */ #define STD_ LOW 0x00u /* Physical state 0V */

#define STD_HIGH 0x01u #define STD_LOW 0x00u

This type is used to encode different types of results for response messages. - Currently this encoding is limited to the distinction between OK and ERROR responses.

This type is used to encode the different type of messages. - Currently this encoding is limited to the distinction between requests and responses in C/ S c ommunication.

The symbols STD_ ON and STD_ OFF shall be defined as follows: #define STD_ ON 0x01u #define STD_ OFF 0x00u

#define STD_ON 0x01u #define STD_OFF 0x00u

This type can be used as standard API return type which is shared between the RTE and the BSW modules. It shall be defined as follows: typedef uint8 Std_ Return Type;

- Tags: atp.Status=draft

- Tags: atp.Status=draft

This type shall be used to request the version of a BSW module using the _ Get Version Info() function.

typedef struct { uint16 vendorID; uint16 moduleID; uint8 sw_major_version; uint8 sw_minor_version; uint8 sw_patch_version; } Std_VersionInfoType;