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

ModulegidsAI-GEGENEREERD

Stelt uniforme retour-, versie-, transformer- en constantetypes beschikbaar voor alle Classic-modules.
DOOR AI GEGENEREERD ongecontroleerd Model: claude-opus-5-5 · Inspanning: high · Temperatuur: niet regelbaar · Prompt: 4fcc802ced39 Herkomst Open vragen (4)
Causaal anker: R20-11 Geldig vanaf R20-11 Nieuw gesynthetiseerd voor deze specificatiestand.
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Stelt uniforme retour-, versie-, transformer- en constantetypes beschikbaar voor alle Classic-modules.

De module std stelt via Std_Types.h platformbreed uniforme types en constanten beschikbaar, maar bevat noch code noch configuratie. Centraal staat Std_ReturnType (uint8) met E_OK en E_NOT_OK. Modules mogen eigen waarden alleen in het bereik 0x02–0x3F met moduleprefix definiëren, want bit 7 en bit 8 zijn gereserveerd voor de RTE [SWS_Std_00011]. Daarnaast levert de module de constanten STD_HIGH/STD_LOW, STD_ON/STD_OFF en STD_ACTIVE/STD_IDLE, het type Std_VersionInfoType voor het opvragen van de versie, evenals transformer- en berichttijpes voor de client-servercommunicatie. In R20-11 includeert de header bovendien Compiler.h SRS BSWGeneral p. 62.

De module std is een zuivere type-header. Via Std_Types.h stelt deze types en symbolen beschikbaar, maar geen functies [SWS_Std_00005]. In R20-11 includeert de header Platform_Types.h en Compiler.h en definieert Std_ReturnType evenals de waarden E_OK/E_NOT_OK en de STD_*-constanten. Elke module die deze types gebruikt, includeert deze SRS BSWGeneral p. 62. Configuratie en een eigen foutafhandeling zijn er volgens een latere specificatieversie niet; voor R20-11 geldt vermoedelijk hetzelfde (interpretatie) SWS StandardTypes p. 27. Vraag (open)

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 RTE-API's met Std_ReturnType / transformerError

Contextdiagram: Std_Types.h als gemeenschappelijke typebasis voor BSW-modules, CDD's, RTE en transformers. Bronnen: SRS BSWGeneral p. 62, CDD Guideline p. 14

De kern van de module is Std_ReturnType (uint8) met de waarden E_OK (0) en E_NOT_OK (1). Het bereik 0x02–0x3F is voorzien voor modulespecifieke fouten met moduleprefix; bit 7 en bit 8 worden vastgelegd door de RTE-specificatie [SWS_Std_00011]. Voorbeelden van dergelijke uitbreidingen zijn CAN_BUSY en Csm_ReturnType BSWUML Guide p. 29. E_OK wordt wegens OSEK beveiligd via STATUSTYPEDEFINED [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 modulespecifieke waarden (6 minst significante bits, modulevoorvoegsel) rt->user erweiterbar rtebits Bit 7 en bit 8 gereserveerd, vastgelegd door RTE-specificatie 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

Contextdiagram (typestructuur): standaardwaarden, modulespecifiek bereik en door de RTE gereserveerde bits van Std_ReturnType. Bronnen: [SWS_Std_00005], [SWS_Std_00011], SWS StandardTypes p. 15

Daar komen nog drie paren constanten bij met telkens 0x01u/0x00u: STD_HIGH/STD_LOW voor fysieke niveaus, STD_ON/STD_OFF als schakelaars en STD_ACTIVE/STD_IDLE voor logische toestanden ([SWS_Std_00007], [SWS_Std_00010], [SWS_Std_00013]). Std_VersionInfoType transporteert fabrikant-ID, module-ID en softwareversie voor de synchrone, re-entrante functie <Ma>_GetVersionInfo [SWS_Std_00015].

Voor datatransformatie definieert std twee typen voor transformer-fouten: Std_TransformerError, een structuur bestaande uit foutcode en transformer-klasse, en Std_TransformerClass [SWS_Std_00021]. De RTE geeft deze fout door via de optionele parameter transformerError SWS RTE p. 731. Voor client-server-communicatie coderen Std_MessageTypeType en Std_MessageResultType verzoek/respons en OK/ERROR. Een functiewijzer van het type Std_ExtractProtocolHeaderFieldsType leest beide waarden uit een transformer-header [SWS_Std_91003]. De forward-typen zijn in R20-11 nog een ontwerp [SWS_Std_00029].

Rol en systeemgrens: een zuivere type-header zonder runtimegedrag

De module std (Standard Types) bevat geen functies. Deze stelt uitsluitend typen en symbolen beschikbaar die via Std_Types.h beschikbaar zijn. Elk requirement van de module noemt deze header als bron, zoals [SWS_Std_00005] en [SWS_Std_00015]. De specificatie stelt uitdrukkelijk vast: de header levert geen code en vereist geen andere BSW-modules, heeft geen configuratie en geen eigen foutafhandeling SWS StandardTypes p. 27. Deze bewoordingen zijn afkomstig uit de versie vanaf R23-11. Voor R20-11 geldt vermoedelijk hetzelfde, omdat de R20-11-requirements uitsluitend type- en symbooldefinities bevatten (interpretatie). Vraag Q-8e4c66ae80752d38 (open)

Het doel is een uniforme, platformbrede toegang tot standaardtypen. De BSW-eis voor de standaard type-header vereist daarom: elke module die AUTOSAR-geheeltallige typen of het standaard return-type gebruikt, bindt Std_Types.h in SRS BSWGeneral p. 62. Het return-type Std_ReturnType wordt uitdrukkelijk gedeeld tussen RTE en BSW-modules [SWS_Std_00005]. In de methodologie zijn de standaardtypen aanvullend beschreven als ARXML-artefact “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 RTE-API's met Std_ReturnType / transformerError

Contextdiagram: Std_Types.h bindt platform- en compiler-headers in en wordt door BSW-modules, CDD's, RTE en transformers gebruikt als gemeenschappelijke typebasis. Bronnen: SRS BSWGeneral p. 62, CDD Guideline p. 14, [SWS_Std_00005], [SWS_Std_00021]

Opbouw van Std_Types.h en inpassing in de header-boom

Voor R20-11 legt de BSW-eis vast wat Std_Types.h moet bieden SRS BSWGeneral p. 62:

  • de platformspecifieke type-header Platform_Types.h inbinden,
  • de compilerspecifieke header Compiler.h inbinden,
  • Std_ReturnType definiëren,
  • waarden voor E_OK, E_NOT_OK, STD_ON, STD_OFF, STD_HIGH, STD_LOW, STD_ACTIVE en STD_IDLE vastleggen.

In de latere versie van dezelfde eis ontbreekt het inbinden van Compiler.h RS BSWGeneral p. 60. Dat past bij de wijzigingshistorie: in R22-11 werd de verouderde compilerabstractie verwijderd uit een Std-requirement, en NULL_PTR kwam er pas met R21-11 bij SWS StandardTypes p. 1. Voor R20-11 behoort Compiler.h dus tot de include-keten, een NULL_PTR uit Std_Types.h daarentegen nog niet.

Een bijzonderheid betreft E_OK. Het symbool is al gedefinieerd in OSEK en moet daarom gemeenschappelijk worden gebruikt. [SWS_Std_00006] schrijft een bescherming via STATUSTYPEDEFINED voor: binnen de bescherming worden E_OK (0x00u) en StatusType gedefinieerd, E_NOT_OK (0x01u) staat daarbuiten. De BSW-eis bevat dezelfde implementatienotitie met verwijzing naar ISO 17356-3 SRS BSWGeneral p. 62. Hoe een Complex Device Driver de header in zijn include-structuur inpast, toont de figuur van de CDD-headerstructuur CDD Guideline p. 14.

Std_ReturnType: waardebereik, bitlayout en modulespecifieke uitbreidingen

Std_ReturnType is afgeleid van uint8. De standaardwaarden zijn E_OK (0) en E_NOT_OK (1); het bereik 0x02–0x3F staat ter beschikking voor gebruikersspecifieke fouten [SWS_Std_00005]. [SWS_Std_00011] verduidelijkt deze regel:

  • Normaal gesproken wordt het type met E_OK of E_NOT_OK gebruikt.
  • Als deze waarden niet volstaan, mogen eigen waarden in de zes minst significante bits worden gedefinieerd, benoemd met de moduleprefix.
  • Bit 7 en bit 8 zijn gereserveerd. Zij worden, evenals de lay-out als geheel, vastgelegd door de RTE-specificatie.

De figuur van de lay-out geeft precies deze verdeling weer SWS StandardTypes p. 15.

De RTE-specificatie beschrijft Std_ReturnType als type voor status- en foutwaarden van API-functies; de waarde 0 is gereserveerd voor “geen fout opgetreden” SWS RTE p. 675. Volgens de BSW-modelleerhandleiding is dit het enige return-type dat is toegestaan in client-server-operaties van service-interfaces BSWUML Guide p. 28. Een voorbeeld van een modulespecifieke uitbreiding is CAN_BUSY (0x02) van de CAN-driver. Can_Write() levert deze waarde wanneer er geen verzendobject vrij is 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 modulespecifieke waarden (6 minst significante bits, modulevoorvoegsel) rt->user erweiterbar rtebits Bit 7 en bit 8 gereserveerd, vastgelegd door RTE-specificatie 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

Contextdiagram (typestructuur): Std_ReturnType is verdeeld in standaardwaarden, een modulespecifiek bereik 0x02–0x3F en twee door de RTE gereserveerde bits; module-uitbreidingen zoals Csm_ReturnType of CAN_BUSY bezetten alleen het vrije bereik. Bronnen: [SWS_Std_00005], [SWS_Std_00011], SWS StandardTypes p. 15, BSWUML Guide p. 29, SWS CANDriver p. 54

In het UML-model van de BSW wordt een dergelijke uitbreiding gemodelleerd als klasse <Ma>_ReturnType met stereotype «extra_literals». De waarden ervan dragen de moduleprefix en liggen in het bereik 0x02–0x3f BSWUML Guide p. 28. Het voorbeeld Csm_ReturnType met CSM_E_BUSY, CSM_E_SMALL_BUFFER en CSM_E_ENTROPY_EXHAUSTION toont het patroon BSWUML Guide p. 29. Als meerdere modules van een stack dezelfde uitbreiding nodig hebben, hoeft deze niet voor elke module afzonderlijk te worden gedefinieerd BSWUML Guide p. 33. De R23-11-versie voorziet hiervoor in een generieke klasse met «generic_type», waarvan de modulespecifieke uitbreidingen worden afgeleid TR BSWUML Guide p. 37.

erweiterung start Start: module definieert retourwaarden q1 Volstaan E_OK / E_NOT_OK? start->q1 std Std_ReturnType met E_OK / E_NOT_OK gebruiken q1->std ja q2 Hebben meerdere modules van een stack dezelfde uitbreiding nodig? q1->q2 nein ende Einde: bits 7/8 blijven gereserveerd voor de RTE std->ende gen generische Erweiterung «extra_literals» «generic_type» (Fassung R23-11) q2->gen ja own <Ma>_ReturnType als Klasse «extra_literals» modellieren q2->own nein derive <Ma>_ReturnType daarvan afleiden, zo nodig eigen literals toevoegen gen->derive lit Literals met modulevoorvoegsel in het bereik 0x02–0x3F vastleggen derive->lit own->lit lit->ende

Activiteitendiagram: beslissing of en hoe een module Std_ReturnType met eigen waarden uitbreidt. Bronnen: [SWS_Std_00011], BSWUML Guide p. 28, BSWUML Guide p. 33, TR BSWUML Guide p. 37

Symbolische constanten voor niveaus, schakelaars en toestanden

Naast de return-waarden definieert Std_Types.h drie paren constanten. Alle drie gebruiken de getalswaarden 0x01u en 0x00u, maar zijn verschillend becommentarieerd ([SWS_Std_00007], [SWS_Std_00010], [SWS_Std_00013]):

PaarWaardenBetekenis volgens definitie
STD_HIGH / STD_LOW0x01u / 0x00ufysieke toestand 5 V of 3,3 V / 0 V
STD_ON / STD_OFF0x01u / 0x00uAan/Uit, zonder verder commentaar
STD_ACTIVE / STD_IDLE0x01u / 0x00ulogische toestand actief / idle

Een typische gebruiker van STD_HIGH/STD_LOW is de DIO-driver: de leesdienst ervan meldt precies een van deze twee niveaus terug SWS DIO p. 37. STD_ON/STD_OFF dienen als pre-compile-schakelaars. Een voorbeeld is EEP_21_LDEXT_VERSION_INFO_API STD_ON in de algemene BSW-specificatie SWS BSWGeneral p. 76, een ander voorbeeld zijn de optionele API-schakelaars van de GPT-driver SWS GPT p. 48.

Versieopvraag via Std_VersionInfoType

Std_VersionInfoType is een structuur met de volgende elementen: vendorID en moduleID (elk uint16) alsmede sw_major_version, sw_minor_version en sw_patch_version (elk uint8). Hiermee wordt via <Module name>_GetVersionInfo() de versie van een BSW-module opgevraagd [SWS_Std_00015]. De algemene BSW-specificatie legt voor deze functie vast SWS BSWGeneral p. 76:

  • Zij werkt synchroon en is re-entrant.
  • Zij heeft precies één parameter van dit type.
  • De beschikbaarheid ervan wordt per module tijdens pre-compile-tijd geconfigureerd via <Ma>VersionInfoApi.

De naamgevingsregel GetVersionInfo noemt de BSW-eis met het voorbeeld Eep_21_LDExt_GetVersionInfo SRS BSWGeneral p. 60.

Concrete implementaties zijn er in vele modules. Can_GetVersionInfo wijst bij geactiveerde detectie van ontwikkelingsfouten een null-pointer af met CAN_E_PARAM_POINTER SWS CANDriver p. 57. Adc_GetVersionInfo controleert dienovereenkomstig op ADC_E_PARAM_POINTER SWS ADCDriver p. 80. De NVRAM-manager toont de aanroep als eenvoudige synchrone uitwisseling tussen gebruiker en module SWS NvM p. 158.

Versie-opvraag met Std_VersionInfoTypeNutzerBSW-Modul <Ma>DetAPI alleen aanwezig als<Ma>VersionInfoApi = STD_ON (Pre-compile)<Ma>_GetVersionInfo(&versioninfo)altversioninfo == NULL en detectie van ontwikkelingsfouten actiefEntwicklungsfehler melden(z. B. CAN_E_PARAM_POINTER)geldige pointervendorID, moduleID,sw_major/minor/patch_version eintragenTerugkeer (void; synchroon, re-entrant)

Sequentiediagram: een gebruiker vraagt de versie van een module synchroon op; bij een null-pointer en actieve detectie van ontwikkelingsfouten meldt de module een fout, anders vult deze Std_VersionInfoType in. Bronnen: [SWS_Std_00015], SWS BSWGeneral p. 76, SWS CANDriver p. 57, SWS NvM p. 158.

Transformer- en berichttype voor de datatransformatie

Voor transformer-ketens stelt std meerdere typen beschikbaar. Std_TransformerError is in R20-11 een structuur bestaande uit errorCode (uint8) en transformerClass van het type Std_TransformerClass [SWS_Std_00021]. Std_TransformerClass is afgeleid van uint8 en kent vijf waarden [SWS_Std_00024]: STD_TRANSFORMER_UNSPECIFIED (0x00), STD_TRANSFORMER_SERIALIZER (0x01), STD_TRANSFORMER_SAFETY (0x02), STD_TRANSFORMER_SECURITY (0x03) en STD_TRANSFORMER_CUSTOM (0xFF).

De korte signatuur in het API-overzicht vermeldt Std_TransformerError als typedef uint8. Bepalend is echter de structuurdefinitie van het requirement. Latere versies typeren errorCode als een eigen type Std_TransformerErrorCode, waarvan de betekenis per transformer-keten wordt vastgelegd SWS StandardTypes p. 17.

De RTE geeft dit type als optionele OUT-parameter transformerError door aan haar API's, zoals bij Rte_Call SWS RTE p. 731, Rte_Read SWS RTE p. 720 en Rte_Result SWS RTE p. 750. De plug-in-interfaces beschrijven dit als de fout die bij het uitvoeren van de transformer-keten is opgetreden SWS RTE p. 969.

Std_TransformerForward en Std_TransformerForwardCode zijn in R20-11 gemarkeerd als draft (ontwerp). De forward-code kent E_OK, E_SAFETY_INVALID_REP, E_SAFETY_INVALID_SEQ en E_SAFETY_INVALID_CRC ([SWS_Std_00027], [SWS_Std_00029]). In latere versies neemt Rte_Send een optionele forwardedCode van dit type aan SWS RTE p. 704. Vermoedelijk dient dit om ontvangen safety-fouten bij het doorsturen opnieuw af te beelden, zoals de E2E-forward-functies beschrijven SWS E2ELibrary p. 107 (interpretatie). Vraag Q-f0d374b3b793c868 (open) Volgens de wijzigingshistorie is de structuur Std_TransformerForward in R22-11 verwijderd SWS StandardTypes p. 1.

Transformer-fout via Std_TransformerError meldenSW-CRTETransformer-KettetransformerError bestaat alleen bijerrorHandling = transformerErrorHandlingRte_Call_<p>_<o>(…, OUT transformerError)Transformer-keten uitvoerenaltTransformer meldet FehlerFehlercode (Interpretation)Std_TransformerError vullen:errorCode, transformerClass (z. B. STD_TRANSFORMER_SAFETY)Std_ReturnType + transformerErrorkein Transformer-FehlerResultaat zonder foutenStd_ReturnType (z. B. E_OK)

Sequentiediagram: een transformer-fout bereikt naast de Std_ReturnType als Std_TransformerError met foutcode en transformer-klasse de SW-C. Bronnen: [SWS_Std_00021], [SWS_Std_00024], SWS RTE p. 731, SwCluster Guideline p. 245, SWS RTE p. 774

Voor client-server-communicatie zijn er twee coderingstypen, waarbij 0x02–0x3F telkens gereserveerd is voor toekomstige waarden:

  • Std_MessageTypeType onderscheidt verzoek (STD_MESSAGETYPE_REQUEST, 0x00) en respons (STD_MESSAGETYPE_RESPONSE, 0x01) ([SWS_Std_91001], [SWS_Std_00017]).
  • Std_MessageResultType codeert het resultaat van een respons: STD_MESSAGERESULT_OK (0x00) of STD_MESSAGERESULT_ERROR (0x01) ([SWS_Std_91002], [SWS_Std_00019]).

Het functiewijzertype Std_ExtractProtocolHeaderFieldsType beschrijft een synchrone, re-entrante functie. Deze extraheert beide waarden uit de protocol-header van een transformer in een buffer en levert een Std_ReturnType op [SWS_Std_91003]. Transformers ontvangen een dergelijke wijzer optioneel als argument van hun inverse functie ASWS TransformerGeneral p. 40. De SOME/IP-transformer stelt met SomeIpXf_ExtractProtocolHeaderFields een passende implementatie beschikbaar SWS SOMEIPTransformer p. 61. De E2E-profielen 4m, 7m, 8m en 44m evalueren de twee waarden in hun controlefuncties 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)Verwerking met fouteinde afbrekenuint8 (resultaat van de inverse transformatie)

Sequentiediagram: de E2E-transformer extraheert voor PXXm-profielen via de meegegeven functiewijzer berichttype en -resultaat en controleert alleen verder bij E_OK. Bronnen: [SWS_Std_91003], ASWS TransformerGeneral p. 40, SWS E2ETransformer p. 45, SWS SOMEIPTransformer p. 61, SWS E2ELibrary p. 108

Gedrag in het foutgeval

De module zelf detecteert en meldt geen fouten. De versie vanaf R23-11 stelt vast dat de standaardtypen niet voorzien in foutafhandeling en geen security-events ondersteunen SWS StandardTypes p. 27; voor R20-11 geldt vermoedelijk hetzelfde (interpretatie). Vraag (open) Foutgedrag ontstaat daarom alleen in de modules die de typen gebruiken. Het basissignaal is E_NOT_OK [SWS_Std_00006]; de concrete betekenis ervan wordt vastgelegd door de desbetreffende API. Bij Adc_ReadGroup betekent dit “geen resultaten beschikbaar of ontwikkelingsfout” SWS ADCDriver p. 61, bij CanIf_Transmit “zendverzoek niet geaccepteerd” SWS CANInterface p. 87.

Fijnmazigere foutbeelden worden gemeld via modulespecifieke waarden in het bereik 0x02–0x3F [SWS_Std_00011], bijvoorbeeld CAN_BUSY SWS CANDriver p. 54. Aanroepers moeten er dus rekening mee houden dat een Std_ReturnType meer dan twee waarden aanneemt. Een bijzonder geval zijn callbacks die als AUTOSAR-services via de RTE worden gerouteerd: de aanroeper mag weliswaar E_OK aannemen, maar dergelijke callbacks kunnen bijvoorbeeld in gepartitioneerde systemen mislukken SWS BSWGeneral p. 69.

In transformer-ketens wordt een fout naast de return-waarde via Std_TransformerError met foutcode en transformer-klasse gemeld [SWS_Std_00021]. De RTE genereert de optionele parameter transformerError alleen als voor de poort de foutafhandeling transformerErrorHandling is geconfigureerd SWS RTE p. 774. Mislukt het extraheren van de headervelden, dan levert SomeIpXf_ExtractProtocolHeaderFields E_NOT_OK op, bijvoorbeeld bij een onjuiste protocolversie of een te korte buffer SWS SOMEIPTransformer p. 61. De E2E-transformerlogica zet de controle alleen voort bij E_OK SWS E2ETransformer p. 45.

Verdere gedetailleerde bewijzen

AI-gegenereerde modulehandleiding voor std (classic, R20-11), uitsluitend opgesteld op basis van de autodocs-payload. Veel passages in documenten zijn afkomstig uit andere releases; normatief zijn de R20-11-requirements. Vóór bindend gebruik verifiëren aan de hand van de specificatie.

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;

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 6f8f9add55f9 Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Het type Std_ReturnType dient als gestandaardiseerd retourtype voor API-functies en wordt gezamenlijk gebruikt door de RTE en de BSW-modules ([SWS_Std_00005]). Het is beschikbaar via de header Std_Types.h en gedefinieerd als uint8 ([SWS_Std_00005]).

Standaard wordt Std_ReturnType voorzien van de waarden E_OK (waarde 0) of E_NOT_OK (waarde 1) ([SWS_Std_00005], [SWS_Std_00011]). Volstaan deze beide standaardretourwaarden niet, dan staat de standaard de definitie van modulespecifieke foutwaarden toe:

  • Waardebereik voor gebruikersfouten: Voor door de gebruiker gedefinieerde foutcodes is het bereik 0x02 tot 0x3F beschikbaar ([SWS_Std_00005]). Hierbij worden de zes minst significante bits gebruikt ([SWS_Std_00011]).
  • Naamgevingsconventie: Bij de naamgeving van gebruikersspecifieke foutwaarden moet conform de BSW-richtlijnen verplicht het betreffende modulevoorvoegsel vooraf worden geplaatst ([SWS_Std_00011]).
  • RTE-reservering: Bit 7 en bit 8 zijn gereserveerd en worden voorgeschreven door de RTE-specificatie, die ook de algemene lay-out van het retourtype volgt ([SWS_Std_00011]). Interpretatie: Hierbij gaat het vermoedelijk om de twee meest significante bits van de 8-bits representatie, die de zes minst significante bits completeren tot een byte. Vraag Q-d97256956c510f58 (open)

Specifieke foutafhandelingsmechanismen zoals DET of DEM en re-entrantie-eisen worden voor het basistype zelf in de bronnen niet gedefinieerd, maar vallen onder de verantwoordelijkheid van de respectieve API's die dit type als retourwaarde gebruiken.

Deze gebruiksinstructie is opgesteld door een AI en gebaseerd op de specificaties van AUTOSAR Classic Release R20-11.

Implementer's Guide volgt (complexiteit I1)

type Std_TransformerError [SWS_Std_00021] 📄 PDF

typedef uint8 Std_TransformerError;

-

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 534a10ed1c56 Herkomst Open vragen (2)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Het datatype Std_TransformerError wordt conform eis [SWS_Std_00021] als gestandaardiseerd type beschikbaar gesteld via het headerbestand Std_Types.h voor het AUTOSAR Classic-platform. Structureel is het element in de specificatie gedefinieerd als een record (structure) en is het opgebouwd uit twee componenten: het element errorCode met het basistype uint8 en het element transformerClass met het type Std_TransformerClass [SWS_Std_00021].

Wat betreft het praktische gebruik bevat de specificatie geen concrete functiesignaturen, parameterbeschrijvingen of retourwaarden. Het structuurtype dient vermoedelijk als uniforme datacontainer voor de gestructureerde overdracht van fouten die optreden bij de transformatie van data (interpretatie). Vraag Q-6e0938f276d60fd3 (open) Daarbij transporteert het veld errorCode vermoedelijk de eigenlijke numerieke foutsleutel, terwijl transformerClass de veroorzakende of toegewezen transformer-klasse identificeert (interpretatie). Vraag Q-d8806698683ec00e (open)

Specifieke mechanismen voor foutafhandeling zoals DET- of DEM-meldingen zijn in [SWS_Std_00021] niet gedefinieerd. Ook voorschriften omtrent gelijktijdigheid, re-entrantie of synchrone dan wel asynchrone semantiek ontbreken in het bronmateriaal. Aangezien het om een zuivere typedefinitie in Std_Types.h gaat, is het type zelf niet onderworpen aan runtimebeperkingen; deze vloeien uitsluitend voort uit de specifieke context van de toepassende modules.

Deze tekst is door een AI gegenereerd op basis van de AUTOSAR-specificatie 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.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 3a61d74dd0cf Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Het standaardtype Std_MessageType wordt conform [SWS_Std_91001] gebruikt voor het coderen van verschillende berichttypen. In de onderhavige specificatie beperkt deze codering zich tot het onderscheid tussen verzoeken (requests) en antwoorden (responses) in het kader van de client-servercommunicatie ([SWS_Std_91001]).

Het datatype is afgeleid van het basistype uint8 en wordt aan softwarecomponenten en basissoftwaremodules beschikbaar gesteld via het headerbestand Std_Types.h ([SWS_Std_91001]). Voor de toewijzing en evaluatie zijn de volgende waarden en constanten gespecificeerd:

  • STD_MESSAGETYPE_REQUEST (waarde 0x00): Markeert een verzoekbericht ([SWS_Std_91001]).
  • STD_MESSAGETYPE_RESPONSE (waarde 0x01): Markeert een antwoordbericht ([SWS_Std_91001]).
  • Waardebereik 0x02 tot 0x3F: Dit bereik is gereserveerd voor toekomstige berichttypen ([SWS_Std_91001]).

Wat betreft de toepassing en randvoorwaarden geldt dat implementerende modules uitsluitend de gedefinieerde identifiers moeten gebruiken. Aangezien de waarden van 0x02 tot 0x3F zijn gereserveerd voor toekomstige AUTOSAR-uitbreidingen, mogen deze niet eigenmachtig voor andere doeleinden worden gebruikt ([SWS_Std_91001]). Specifieke foutcodes, retourwaarden, asynchrone processen of meldingen aan DET of DEM zijn voor dit datatype in de specificatie niet gedefinieerd ([SWS_Std_91001]).

Deze tekst is gegenereerd door een AI-curatie-assistent en is gebaseerd op de specificatie van 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.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 48b18d78d865 Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Het fundamentele datatype Std_MessageResultType dient in het AUTOSAR Classic-platform voor de codering van verschillende resultaattypen voor antwoordberichten (Response Messages) [SWS_Std_00019]. Het type wordt beschikbaar gesteld via het standaard headerbestand Std_Types.h en is gedefinieerd als scalair type op basis van uint8 [SWS_Std_91002].

Gebruik en waardebereik

De specificatie vereist het gebruik van Std_MessageResultType voor een uniforme markering van antwoordberichten [SWS_Std_00019]. Momenteel is de beoogde functionaliteit van deze codering beperkt tot het fundamentele onderscheid tussen succesvolle en foutieve antwoorden [SWS_Std_91002]. Hiervoor zijn de volgende vaste resultaatwaarden gedefinieerd:

  • STD_MESSAGERESULT_OK (waarde 0x00): Markeert het reguliere, foutloze resultaat van een antwoordbericht [SWS_Std_91002].
  • STD_MESSAGERESULT_ERROR (waarde 0x01): Signaleert het resultaat van een foutief antwoordbericht (Error Response) [SWS_Std_91002].

Beperkingen en toekomstige uitbreidingen

Het waardebereik van 0x02 tot 0x3F is expliciet gereserveerd voor toekomstige berichtresultaten [SWS_Std_91002]. Interpretatie: aangezien de specificatie momenteel geen andere geldige retourwaarden voorziet, moeten evaluerende modules vermoedelijk defensief geprogrammeerd zijn om onverwachte of nog niet toegewezen waarden binnen dit bereik veilig af te vangen [SWS_Std_00019]. Vraag Q-5f652f73800b7d94 (open)

Deze tekst is opgesteld door een AI en vat de bepalingen van de AUTOSAR-specificatie voor ontwikkelaars samen.

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

Typen

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;