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

Guía del móduloGENERADO POR IA

Proporciona tipos homogéneos de retorno, versión, transformador y constantes para todos los módulos Classic.
GENERADO POR IA no revisado Modelo: claude-opus-5-5 · Esfuerzo: high · Temperatura: no controlable · Prompt: 4fcc802ced39 Procedencia Preguntas abiertas (4)
Ancla causal: R20-11 Válido desde R20-11 Sintetizado para esta versión de especificación.
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Proporciona tipos homogéneos de retorno, versión, transformador y constantes para todos los módulos Classic.

El módulo std proporciona a través de Std_Types.h tipos y constantes homogéneos en toda la plataforma, pero no contiene código ni configuración. El elemento central es Std_ReturnType (uint8) con E_OK y E_NOT_OK. Los módulos solo pueden definir valores propios en el rango 0x02–0x3F con prefijo de módulo, ya que los bits 7 y 8 están reservados para la RTE [SWS_Std_00011]. Además, el módulo suministra las constantes STD_HIGH/STD_LOW, STD_ON/STD_OFF y STD_ACTIVE/STD_IDLE, el tipo Std_VersionInfoType para la consulta de versiones, así como tipos de transformador y de mensaje para la comunicación cliente-servidor. En R20-11, el encabezado incluye además Compiler.h SRS BSWGeneral p. 62.

El módulo std es un encabezado exclusivo de tipos. A través de Std_Types.h proporciona tipos y símbolos, pero ninguna función [SWS_Std_00005]. En R20-11, el encabezado incluye Platform_Types.h y Compiler.h, y define Std_ReturnType así como los valores E_OK/E_NOT_OK y las constantes STD_*. Cada módulo que utiliza estos tipos lo incluye SRS BSWGeneral p. 62. Según una versión posterior de la especificación, no existen configuración ni tratamiento de errores propio; para R20-11 se asume lo mismo (interpretación) SWS StandardTypes p. 27. Pregunta (abierta)

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 APIs de RTE con Std_ReturnType / transformerError

Diagrama de contexto: Std_Types.h como base común de tipos para módulos BSW, CDD, RTE y transformadores. Fuentes: SRS BSWGeneral p. 62, CDD Guideline p. 14

El núcleo del módulo es Std_ReturnType (uint8) con los valores E_OK (0) y E_NOT_OK (1). El rango 0x02–0x3F está previsto para errores específicos de módulo con prefijo de módulo; la especificación de la RTE determina los bits 7 y 8 [SWS_Std_00011]. Ejemplos de tales extensiones son CAN_BUSY y Csm_ReturnType BSWUML Guide p. 29. Debido a OSEK, E_OK se protege mediante 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 valores específicos de módulo (6 bits menos significativos, prefijo de módulo) rt->user erweiterbar rtebits Bit 7 y bit 8 reservados, determinados por la especificación 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

Diagrama de contexto (estructura de tipos): valores estándar, rango específico de módulo y bits reservados por la RTE de Std_ReturnType. Fuentes: [SWS_Std_00005], [SWS_Std_00011], SWS StandardTypes p. 15

A esto se añaden tres pares de constantes con 0x01u/0x00u en cada caso: STD_HIGH/STD_LOW para niveles físicos, STD_ON/STD_OFF como conmutadores y STD_ACTIVE/STD_IDLE para estados lógicos ([SWS_Std_00007], [SWS_Std_00010], [SWS_Std_00013]). Std_VersionInfoType transporta el ID de fabricante, el ID de módulo y la versión de software para la función síncrona y reentrante <Ma>_GetVersionInfo [SWS_Std_00015].

Para la transformación de datos, std define dos tipos para errores de transformador: Std_TransformerError, una estructura formada por código de error y clase de transformador, y Std_TransformerClass [SWS_Std_00021]. La RTE transmite este error a través del parámetro opcional transformerError SWS RTE p. 731. Para la comunicación cliente-servidor, Std_MessageTypeType y Std_MessageResultType codifican solicitud/respuesta y OK/ERROR. Un puntero a función del tipo Std_ExtractProtocolHeaderFieldsType lee ambos valores de un encabezado de transformador [SWS_Std_91003]. En R20-11, los tipos forward todavía son borradores (draft) [SWS_Std_00029].

Rol y límite del sistema: un encabezado exclusivo de tipos sin comportamiento en tiempo de ejecución

El módulo std (Standard Types) no contiene funciones. Proporciona exclusivamente tipos y símbolos disponibles a través de Std_Types.h. Cada requisito del módulo cita este encabezado como fuente de referencia, como por ejemplo [SWS_Std_00005] y [SWS_Std_00015]. La especificación establece expresamente: el encabezado no proporciona código ni requiere otros módulos BSW, no tiene configuración ni tratamiento de errores propio SWS StandardTypes p. 27. Estas formulaciones proceden de la versión a partir de R23-11. Para R20-11 se aplicaría lo mismo, ya que los requisitos de R20-11 solo contienen definiciones de tipos y símbolos (interpretación). Pregunta Q-8e4c66ae80752d38 (abierta)

El propósito es un acceso homogéneo a los tipos estándar en toda la plataforma. Por ello, el requisito de BSW para el encabezado de tipos estándar exige: cada módulo que utilice tipos enteros de AUTOSAR o el tipo de retorno estándar incluye Std_Types.h SRS BSWGeneral p. 62. El tipo de retorno Std_ReturnType se comparte expresamente entre la RTE y los módulos BSW [SWS_Std_00005]. En la metodología, los tipos estándar se describen adicionalmente como el artefacto 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 APIs de RTE con Std_ReturnType / transformerError

Diagrama de contexto: Std_Types.h incluye los encabezados de plataforma y de compilador, y es utilizado por módulos BSW, CDD, RTE y transformadores como base de tipos común. Fuentes: SRS BSWGeneral p. 62, CDD Guideline p. 14, [SWS_Std_00005], [SWS_Std_00021]

Estructura de Std_Types.h e integración en el árbol de encabezados

Para R20-11, el requisito de BSW determina lo que debe ofrecer Std_Types.h SRS BSWGeneral p. 62:

  • incluir el encabezado de tipos específico de la plataforma Platform_Types.h,
  • incluir el encabezado específico del compilador Compiler.h,
  • definir Std_ReturnType,
  • establecer valores para E_OK, E_NOT_OK, STD_ON, STD_OFF, STD_HIGH, STD_LOW, STD_ACTIVE y STD_IDLE.

En la versión posterior del mismo requisito falta la inclusión de Compiler.h RS BSWGeneral p. 60. Esto coincide con el historial de cambios: en R22-11 se eliminó la abstracción de compilador obsoleta de un requisito Std, y NULL_PTR no se añadió hasta R21-11 SWS StandardTypes p. 1. Por lo tanto, para R20-11, Compiler.h forma parte de la cadena de inclusión, mientras que un NULL_PTR de Std_Types.h todavía no.

Una particularidad afecta a E_OK. El símbolo ya está definido en OSEK y, por tanto, debe utilizarse de forma compartida. [SWS_Std_00006] prescribe una protección mediante STATUSTYPEDEFINED: dentro de la protección se definen E_OK (0x00u) y StatusType; E_NOT_OK (0x01u) queda fuera. El requisito de BSW contiene la misma nota de implementación con referencia a ISO 17356-3 SRS BSWGeneral p. 62. El diagrama sobre la estructura de encabezados de CDD muestra cómo un Complex Device Driver organiza el encabezado en su estructura de inclusión CDD Guideline p. 14.

Std_ReturnType: rango de valores, disposición de bits y extensiones específicas de módulo

Std_ReturnType se deriva de uint8. Los valores estándar son E_OK (0) y E_NOT_OK (1); el rango 0x02–0x3F está disponible para errores específicos del usuario [SWS_Std_00005]. [SWS_Std_00011] precisa esta regla:

  • Normalmente, el tipo se utiliza con E_OK o E_NOT_OK.
  • Si estos valores no son suficientes, se pueden definir valores propios en los seis bits de menor peso, nombrados con el prefijo de módulo.
  • Los bits 7 y 8 están reservados. Se definen, al igual que el diseño (layout) global, en la especificación de la RTE.

El diagrama de la disposición representa exactamente esta división SWS StandardTypes p. 15.

La especificación de la RTE describe Std_ReturnType como tipo para valores de estado y error de funciones de API; el valor 0 está reservado para «no se ha producido ningún error» SWS RTE p. 675. Según la guía de modelado de BSW, es el único tipo de retorno permitido en operaciones cliente-servidor de Service Interfaces BSWUML Guide p. 28. Un ejemplo de extensión específica de módulo es CAN_BUSY (0x02) del controlador CAN. Can_Write() devuelve este valor cuando no hay ningún objeto de transmisión libre 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 valores específicos de módulo (6 bits menos significativos, prefijo de módulo) rt->user erweiterbar rtebits Bit 7 y bit 8 reservados, determinados por la especificación 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

Diagrama de contexto (estructura de tipos): Std_ReturnType se divide en valores estándar, un rango específico de módulo de 0x02–0x3F y dos bits reservados por la RTE; las extensiones de módulo como Csm_ReturnType o CAN_BUSY ocupan únicamente el rango libre. Fuentes: [SWS_Std_00005], [SWS_Std_00011], SWS StandardTypes p. 15, BSWUML Guide p. 29, SWS CANDriver p. 54

En el modelo UML de la BSW, dicha extensión se modela como una clase <Ma>_ReturnType con el estereotipo «extra_literals». Sus valores llevan el prefijo de módulo y se sitúan en el rango 0x02–0x3f BSWUML Guide p. 28. El ejemplo Csm_ReturnType con CSM_E_BUSY, CSM_E_SMALL_BUFFER y CSM_E_ENTROPY_EXHAUSTION ilustra este patrón BSWUML Guide p. 29. Si varios módulos de una pila requieren la misma extensión, no es necesario definirla por separado para cada módulo BSWUML Guide p. 33. La versión R23-11 prevé para ello una clase genérica con «generic_type», de la cual se derivan las extensiones específicas de módulo TR BSWUML Guide p. 37.

erweiterung start Inicio: el módulo define valores de retorno q1 ¿Son suficientes E_OK / E_NOT_OK? start->q1 std Utilizar Std_ReturnType con E_OK / E_NOT_OK q1->std Sí q2 ¿Requieren varios módulos de una pila la misma extensión? q1->q2 No ende Fin: los bits 7/8 quedan reservados para la RTE std->ende gen generische Erweiterung «extra_literals» «generic_type» (Fassung R23-11) q2->gen Sí own <Ma>_ReturnType als Klasse «extra_literals» modellieren q2->own No derive Derivar <Ma>_ReturnType de este, añadir literales propios si procede gen->derive lit Definir literales con prefijo de módulo en el rango 0x02–0x3F derive->lit own->lit lit->ende

Diagrama de actividades: decisión sobre si un módulo amplía Std_ReturnType con valores propios y cómo lo hace. Fuentes: [SWS_Std_00011], BSWUML Guide p. 28, BSWUML Guide p. 33, TR BSWUML Guide p. 37

Constantes simbólicas para niveles, conmutadores y estados

Junto a los valores de retorno, Std_Types.h define tres pares de constantes. Los tres utilizan los valores numéricos 0x01u y 0x00u, pero están comentados de forma diferente ([SWS_Std_00007], [SWS_Std_00010], [SWS_Std_00013]):

ParValoresSignificado según la definición
STD_HIGH / STD_LOW0x01u / 0x00uestado físico 5 V o 3,3 V / 0 V
STD_ON / STD_OFF0x01u / 0x00uEncendido/Apagado, sin más comentarios
STD_ACTIVE / STD_IDLE0x01u / 0x00uestado lógico activo / inactivo

Un usuario típico de STD_HIGH/STD_LOW es el controlador DIO: su servicio de lectura devuelve exactamente uno de estos dos niveles SWS DIO p. 37. STD_ON/STD_OFF sirven como conmutadores de tiempo de precompilación. Un ejemplo es EEP_21_LDEXT_VERSION_INFO_API STD_ON en la especificación general de BSW SWS BSWGeneral p. 76, otro son los conmutadores opcionales de API del controlador GPT SWS GPT p. 48.

Consulta de versión mediante Std_VersionInfoType

Std_VersionInfoType es una estructura con los siguientes elementos: vendorID y moduleID (cada uno uint16), así como sw_major_version, sw_minor_version y sw_patch_version (cada uno uint8). Mediante <Module name>_GetVersionInfo() se consulta con ella la versión de un módulo BSW [SWS_Std_00015]. La especificación general de BSW establece para esta función SWS BSWGeneral p. 76:

  • opera de forma síncrona y es reentrante;
  • tiene exactamente un parámetro de este tipo;
  • su disponibilidad se configura por módulo en tiempo de precompilación mediante <Ma>VersionInfoApi.

La regla de nomenclatura GetVersionInfo se cita en el requisito de BSW con el ejemplo Eep_21_LDExt_GetVersionInfo SRS BSWGeneral p. 60.

Existen implementaciones concretas en muchos módulos. Can_GetVersionInfo rechaza un puntero nulo con CAN_E_PARAM_POINTER si la detección de errores de desarrollo está activada SWS CANDriver p. 57. Adc_GetVersionInfo comprueba correspondientemente ADC_E_PARAM_POINTER SWS ADCDriver p. 80. El administrador de NVRAM muestra la llamada como un intercambio síncrono simple entre el usuario y el módulo SWS NvM p. 158.

Consulta de versión con Std_VersionInfoTypeNutzerBSW-Modul <Ma>DetAPI solo disponible si<Ma>VersionInfoApi = STD_ON (Pre-compile)<Ma>_GetVersionInfo(&versioninfo)altversioninfo == NULL y detección de errores de desarrollo activaEntwicklungsfehler melden(z. B. CAN_E_PARAM_POINTER)puntero válidovendorID, moduleID,sw_major/minor/patch_version eintragenRetorno (void; síncrono, reentrante)

Diagrama de secuencia: un usuario consulta la versión de un módulo de forma síncrona; en caso de puntero nulo y detección de errores de desarrollo activa, el módulo notifica un error; en caso contrario, completa Std_VersionInfoType. Fuentes: [SWS_Std_00015], SWS BSWGeneral p. 76, SWS CANDriver p. 57, SWS NvM p. 158

Tipos de transformador y de mensaje para la transformación de datos

Para cadenas de transformadores, std proporciona varios tipos. En R20-11, Std_TransformerError es una estructura compuesta por errorCode (uint8) y transformerClass de tipo Std_TransformerClass [SWS_Std_00021]. Std_TransformerClass deriva de uint8 y cuenta con cinco valores [SWS_Std_00024]: STD_TRANSFORMER_UNSPECIFIED (0x00), STD_TRANSFORMER_SERIALIZER (0x01), STD_TRANSFORMER_SAFETY (0x02), STD_TRANSFORMER_SECURITY (0x03) y STD_TRANSFORMER_CUSTOM (0xFF).

La signatura abreviada en el directorio de API incluye Std_TransformerError como typedef uint8. No obstante, la definición determinante es la estructura del requisito. Versiones posteriores tipifican errorCode como un tipo propio Std_TransformerErrorCode, cuyo significado se determina para cada cadena de transformadores SWS StandardTypes p. 17.

La RTE pasa este tipo como parámetro de salida opcional (OUT) transformerError a sus API, como por ejemplo en Rte_Call SWS RTE p. 731, Rte_Read SWS RTE p. 720 y Rte_Result SWS RTE p. 750. Las interfaces de complementos (plug-in) lo describen como el error ocurrido durante la ejecución de la cadena de transformadores SWS RTE p. 969.

Std_TransformerForward y Std_TransformerForwardCode están marcados como borrador (draft) en R20-11. El código de reenvío (forward) reconoce E_OK, E_SAFETY_INVALID_REP, E_SAFETY_INVALID_SEQ y E_SAFETY_INVALID_CRC ([SWS_Std_00027], [SWS_Std_00029]). En versiones posteriores, Rte_Send recibe un forwardedCode opcional de este tipo SWS RTE p. 704. Probablemente sirva para volver a mapear errores de seguridad funcional (Safety) recibidos al reenviarlos, tal como describen las funciones forward de E2E SWS E2ELibrary p. 107 (interpretación). Según el historial de cambios, la estructura Std_TransformerForward se eliminó en R22-11 SWS StandardTypes p. 1. Pregunta Q-f0d374b3b793c868 (abierta)

Notificar error de transformador mediante Std_TransformerErrorSW-CRTETransformer-KettetransformerError solo existe en caso deerrorHandling = transformerErrorHandlingRte_Call_<p>_<o>(…, OUT transformerError)Ejecutar la cadena de transformadoresaltTransformer meldet FehlerFehlercode (Interpretation)Rellenar Std_TransformerError:errorCode, transformerClass (z. B. STD_TRANSFORMER_SAFETY)Std_ReturnType + transformerErrorkein Transformer-FehlerResultado sin erroresStd_ReturnType (z. B. E_OK)

Diagrama de secuencia: un error de transformador llega a la SW-C junto con Std_ReturnType como Std_TransformerError con código de error y clase de transformador. Fuentes: [SWS_Std_00021], [SWS_Std_00024], SWS RTE p. 731, SwCluster Guideline p. 245, SWS RTE p. 774

Para la comunicación cliente-servidor existen dos tipos de codificación en los que 0x02–0x3F están reservados respectivamente para valores futuros:

  • Std_MessageTypeType distingue solicitud (STD_MESSAGETYPE_REQUEST, 0x00) y respuesta (STD_MESSAGETYPE_RESPONSE, 0x01) ([SWS_Std_91001], [SWS_Std_00017]).
  • Std_MessageResultType codifica el resultado de una respuesta: STD_MESSAGERESULT_OK (0x00) o STD_MESSAGERESULT_ERROR (0x01) ([SWS_Std_91002], [SWS_Std_00019]).

El tipo de puntero a función Std_ExtractProtocolHeaderFieldsType describe una función síncrona y reentrante. Esta extrae ambos valores del encabezado de protocolo de un transformador en un búfer y devuelve un Std_ReturnType [SWS_Std_91003]. Los transformadores reciben opcionalmente dicho puntero como argumento de su función inversa ASWS TransformerGeneral p. 40. El transformador SOME/IP proporciona una implementación adecuada con SomeIpXf_ExtractProtocolHeaderFields SWS SOMEIPTransformer p. 61. Los perfiles E2E 4m, 7m, 8m y 44m evalúan ambos valores en sus funciones de comprobación 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)Interrumpir el procesamiento con finalización por erroruint8 (resultado de la transformación inversa)

Diagrama de secuencia: para los perfiles PXXm, el transformador E2E extrae el tipo y el resultado del mensaje mediante el puntero a función transmitido y solo continúa la comprobación si se cumple E_OK. Fuentes: [SWS_Std_91003], ASWS TransformerGeneral p. 40, SWS E2ETransformer p. 45, SWS SOMEIPTransformer p. 61, SWS E2ELibrary p. 108

Comportamiento en caso de error

El módulo en sí no detecta ni notifica errores. La versión a partir de R23-11 constata que los tipos estándar no prevén ningún tratamiento de errores ni admiten eventos de seguridad (Security) SWS StandardTypes p. 27; para R20-11 se asume lo mismo (interpretación). Pregunta (abierta) Por tanto, el comportamiento de error solo se origina en los módulos que utilizan los tipos. La señal básica es E_NOT_OK [SWS_Std_00006]; su significado concreto lo define la API correspondiente. En Adc_ReadGroup significa «no hay resultados disponibles o error de desarrollo» SWS ADCDriver p. 61, en CanIf_Transmit «solicitud de transmisión no aceptada» SWS CANInterface p. 87.

Los patrones de error más específicos se notifican mediante valores específicos de módulo en el rango 0x02–0x3F [SWS_Std_00011], por ejemplo CAN_BUSY SWS CANDriver p. 54. Por tanto, los llamantes deben contar con que un Std_ReturnType adopte más de dos valores. Un caso especial son las retrollamadas (callbacks) enrutadas como servicios AUTOSAR a través de la RTE: aunque el llamante puede asumir E_OK, dichas retrollamadas pueden fallar, por ejemplo, en sistemas particionados SWS BSWGeneral p. 69.

En las cadenas de transformadores, además del valor de retorno, se notifica un error mediante Std_TransformerError con el código de error y la clase de transformador [SWS_Std_00021]. La RTE solo genera el parámetro opcional transformerError si se ha configurado el tratamiento de errores transformerErrorHandling para el puerto SWS RTE p. 774. Si la extracción de los campos del encabezado falla, SomeIpXf_ExtractProtocolHeaderFields devuelve E_NOT_OK, por ejemplo en caso de una versión de protocolo incorrecta o un búfer demasiado corto SWS SOMEIPTransformer p. 61. La lógica del transformador E2E solo continúa la comprobación con E_OK SWS E2ETransformer p. 45.

Más evidencia detallada

Guía de módulo generada por IA para std (classic, R20-11), creada exclusivamente a partir del payload de autodocs. Muchos pasajes del documento proceden de otros releases; los requisitos de R20-11 son normativos. Cotejar con la especificación antes de un uso vinculante.

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

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

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 6f8f9add55f9 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El tipo Std_ReturnType sirve como tipo de retorno estandarizado para funciones API y es utilizado conjuntamente por la RTE y los módulos BSW ([SWS_Std_00005]). Está disponible a través del encabezado Std_Types.h y se define como uint8 ([SWS_Std_00005]).

Por defecto, Std_ReturnType toma los valores E_OK (valor 0) o E_NOT_OK (valor 1) ([SWS_Std_00005], [SWS_Std_00011]). Si estos dos valores de retorno estándar no son suficientes, el estándar permite la definición de valores de error específicos de módulo:

  • Rango de valores para errores de usuario: para códigos de error definidos por el usuario está disponible el rango de 0x02 a 0x3F ([SWS_Std_00005]). En este caso, se utilizan los seis bits de menor peso ([SWS_Std_00011]).
  • Convención de nomenclatura: al nombrar valores de error específicos de usuario, según las directrices de BSW es obligatorio anteponer el prefijo de módulo respectivo ([SWS_Std_00011]).
  • Reserva de la RTE: los bits 7 y 8 están reservados y vienen predeterminados por la especificación de la RTE, a la cual también se ajusta el diseño general del tipo de retorno ([SWS_Std_00011]). Interpretación: probablemente se trate de los dos bits de mayor peso de la representación de 8 bits, los cuales completan los seis bits de menor peso para formar un byte. Pregunta Q-d97256956c510f58 (abierta)

En las fuentes no se definen mecanismos específicos de tratamiento de errores como DET o DEM, ni tampoco requisitos de reentrancia para el tipo base en sí, sino que corresponden a las API respectivas que utilizan este tipo como valor de retorno.

Esta nota de uso fue creada por una IA y se basa en las especificaciones de AUTOSAR Classic Release R20-11.

Guía del implementador pendiente (complejidad I1)

tipo Std_TransformerError [SWS_Std_00021] 📄 PDF

typedef uint8 Std_TransformerError;

-

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 534a10ed1c56 Procedencia Preguntas abiertas (2)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El tipo de datos Std_TransformerError se proporciona, conforme al requisito [SWS_Std_00021], como tipo estandarizado a través del archivo de cabecera Std_Types.h para la plataforma AUTOSAR Classic. Estructuralmente, el elemento está definido en la especificación como estructura (Structure) y se compone de dos componentes: el elemento errorCode con el tipo base uint8 así como el elemento transformerClass con el tipo Std_TransformerClass [SWS_Std_00021].

En lo relativo al uso práctico, la especificación no contiene firmas de funciones concretas, descripciones de parámetros ni valores de retorno. El tipo de estructura sirve presumiblemente como contenedor de datos uniforme para la transmisión estructurada de los errores que se producen durante la transformación de datos (interpretación). Pregunta Q-6e0938f276d60fd3 (abierta) En este contexto, el campo errorCode transportaría probablemente la clave numérica de error propiamente dicha, mientras que transformerClass identifica la clase de transformador causante o asignada (interpretación). Pregunta Q-d8806698683ec00e (abierta)

En [SWS_Std_00021] no se definen mecanismos específicos para el tratamiento de errores, como mensajes DET o DEM. En el material de origen tampoco figuran directrices relativas a concurrencia, reentrancia o semántica síncrona o asíncrona. Dado que se trata de una mera definición de tipo en Std_Types.h, el propio tipo no está sujeto a restricciones de tiempo de ejecución; estas se derivan exclusivamente del contexto respectivo de los módulos que lo utilicen.

Este texto fue generado por una IA a partir de la especificación AUTOSAR R20-11.

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

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 3a61d74dd0cf Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El tipo estándar Std_MessageType se utiliza según [SWS_Std_91001] para la codificación de diferentes tipos de mensajes. En la presente especificación, esta codificación se limita a la distinción entre solicitudes (Requests) y respuestas (Responses) en el marco de la comunicación cliente/servidor ([SWS_Std_91001]).

El tipo de datos se deriva del tipo base uint8 y se pone a disposición de los componentes de software, así como de los módulos de software básico, a través del archivo de cabecera Std_Types.h ([SWS_Std_91001]). Para la asignación y evaluación se especifican los siguientes valores y constantes:

  • STD_MESSAGETYPE_REQUEST (valor 0x00): identifica un mensaje de solicitud ([SWS_Std_91001]).
  • STD_MESSAGETYPE_RESPONSE (valor 0x01): identifica un mensaje de respuesta ([SWS_Std_91001]).
  • Rango de valores 0x02 a 0x3F: este rango está reservado para futuros tipos de mensajes ([SWS_Std_91001]).

En lo relativo a la aplicación y a las condiciones límite, rige que los módulos implementadores solo deben utilizar los identificadores definidos. Dado que los valores de 0x02 a 0x3F están reservados para futuras ampliaciones de AUTOSAR, no deben emplearse arbitrariamente para otros fines ([SWS_Std_91001]). En la especificación no se definen códigos de error específicos, valores de retorno, procesos asíncronos o notificaciones a DET o DEM para este tipo de datos ([SWS_Std_91001]).

Este texto ha sido generado por un asistente de curación por IA y se basa en la especificación de AUTOSAR R20-11.

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

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 48b18d78d865 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El tipo de datos fundamental Std_MessageResultType sirve en la plataforma AUTOSAR Classic para la codificación de diferentes tipos de resultado para mensajes de respuesta (Response Messages) [SWS_Std_00019]. El tipo se suministra a través del archivo de cabecera estándar Std_Types.h y está definido como un tipo escalar basado en uint8 [SWS_Std_91002].

Uso y rango de valores

La especificación exige el uso de Std_MessageResultType para la identificación uniforme de mensajes de respuesta [SWS_Std_00019]. Actualmente, el alcance funcional previsto de esta codificación está limitado a la diferenciación básica entre respuestas exitosas y erróneas [SWS_Std_91002]. Para ello, se han definido los siguientes valores de resultado fijos:

  • STD_MESSAGERESULT_OK (valor 0x00): Identifica el resultado regular y sin errores de un mensaje de respuesta [SWS_Std_91002].
  • STD_MESSAGERESULT_ERROR (valor 0x01): Señaliza el resultado de un mensaje de respuesta erróneo (Error Response) [SWS_Std_91002].

Restricciones y ampliaciones futuras

El rango de valores de 0x02 a 0x3F está reservado explícitamente para futuros resultados de mensajes [SWS_Std_91002]. Interpretación: Dado que la especificación no prevé actualmente otros valores de retorno válidos, es de suponer que los módulos evaluadores deban programarse de manera defensiva para interceptar de forma segura valores inesperados o aún no asignados en este rango [SWS_Std_00019]. Pregunta Q-5f652f73800b7d94 (abierta)

Este texto fue creado por una IA y resume las determinaciones de la especificación AUTOSAR para desarrolladores.

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

tipo 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

tipo 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 */

tipo 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 */

tipo 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#2df85fa7
Content hash
2df85fa7
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_StandardTypes.pdf#nameddest=SWS_Std_00005

Tipos

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;