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

Guia do móduloGERADO POR IA

Fornece tipos padronizados de retorno, de versão, de transformer e de constantes para todos os módulos Classic.
GERADO POR IA não revisado Modelo: claude-opus-5-5 · Esforço: high · Temperatura: não controlável · Prompt: 4fcc802ced39 Procedência Perguntas em aberto (4)
Âncora causal: R20-11 Válido a partir de R20-11 Sintetizado para esta versão de especificação.
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Fornece tipos padronizados de retorno, de versão, de transformer e de constantes para todos os módulos Classic.

O módulo std fornece, por meio de Std_Types.h, tipos e constantes padronizados para toda a plataforma, mas não contém código nem configuração. Central é Std_ReturnType (uint8) com E_OK e E_NOT_OK. Os módulos só podem definir valores próprios na faixa de 0x02–0x3F com prefixo de módulo, pois o bit 7 e o bit 8 são reservados para a RTE [SWS_Std_00011]. Além disso, o módulo fornece as constantes STD_HIGH/STD_LOW, STD_ON/STD_OFF e STD_ACTIVE/STD_IDLE, o tipo Std_VersionInfoType para consulta de versão, bem como tipos de transformer e de mensagem para a comunicação cliente-servidor. Na R20-11, o header também inclui Compiler.h SRS BSWGeneral p. 62.

O módulo std é um header puramente de tipos. Por meio de Std_Types.h, ele disponibiliza tipos e símbolos, mas nenhuma função [SWS_Std_00005]. Na R20-11, o header inclui Platform_Types.h e Compiler.h e define Std_ReturnType, bem como os valores E_OK/E_NOT_OK e as constantes STD_*. Cada módulo que utiliza esses tipos o inclui SRS BSWGeneral p. 62. Configuração e tratamento de erros próprio não existem, segundo uma versão posterior da especificação; supõe-se que o mesmo se aplique à R20-11 (interpretação) SWS StandardTypes p. 27. Pergunta (aberta)

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 da RTE com Std_ReturnType / transformerError

Diagrama de contexto: Std_Types.h como base de tipos comum para módulos BSW, CDDs, RTE e transformers. Fontes: SRS BSWGeneral p. 62, CDD Guideline p. 14

O núcleo do módulo é Std_ReturnType (uint8) com os valores E_OK (0) e E_NOT_OK (1). A faixa 0x02–0x3F está prevista para erros específicos de módulos com prefixo de módulo; o bit 7 e o bit 8 são definidos pela especificação da RTE [SWS_Std_00011]. Exemplos de tais extensões são CAN_BUSY e Csm_ReturnType BSWUML Guide p. 29. E_OK é protegido por STATUSTYPEDEFINED devido ao 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 valores específicos do módulo (6 bits menos significativos, prefixo do módulo) rt->user erweiterbar rtebits Bit 7 e bit 8 reservados, definidos pela especificação da 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 (estrutura de tipos): valores padrão, faixa específica de módulos e bits reservados pela RTE de Std_ReturnType. Fontes: [SWS_Std_00005], [SWS_Std_00011], SWS StandardTypes p. 15

Somam-se a isso três pares de constantes, cada um com 0x01u/0x00u: STD_HIGH/STD_LOW para níveis físicos, STD_ON/STD_OFF como chaves e STD_ACTIVE/STD_IDLE para estados lógicos ([SWS_Std_00007], [SWS_Std_00010], [SWS_Std_00013]). Std_VersionInfoType transporta o ID do fabricante, o ID do módulo e a versão de software para a função síncrona e reentrante <Ma>_GetVersionInfo [SWS_Std_00015].

Para a transformação de dados, std define dois tipos para erros de transformer: Std_TransformerError, uma estrutura composta por código de erro e classe de transformer, e Std_TransformerClass [SWS_Std_00021]. A RTE repassa esse erro por meio do parâmetro opcional transformerError SWS RTE p. 731. Para a comunicação cliente-servidor, Std_MessageTypeType e Std_MessageResultType codificam requisição/resposta e OK/ERROR. Um ponteiro de função do tipo Std_ExtractProtocolHeaderFieldsType lê ambos os valores a partir de um header de transformer [SWS_Std_91003]. Os tipos forward ainda são rascunho na R20-11 [SWS_Std_00029].

Papel e limite do sistema: um header puramente de tipos sem comportamento em tempo de execução

O módulo std (Standard Types) não contém funções. Ele disponibiliza exclusivamente tipos e símbolos que estão disponíveis via Std_Types.h. Cada requisito do módulo menciona esse header como fonte de referência, como [SWS_Std_00005] e [SWS_Std_00015]. A especificação estabelece expressamente: o header não fornece código nem requer outros módulos BSW, não possui configuração e não possui tratamento de erros próprio SWS StandardTypes p. 27. Essas formulações originam-se da versão a partir da R23-11. Supõe-se que o mesmo se aplique à R20-11, pois os requisitos da R20-11 contêm exclusivamente definições de tipos e símbolos (interpretação). Pergunta Q-8e4c66ae80752d38 (aberta)

O objetivo é um acesso padronizado e em toda a plataforma a tipos padrão. O requisito de BSW para o header de tipos padrão exige, portanto: todo módulo que utiliza tipos inteiros AUTOSAR ou o tipo de retorno padrão inclui Std_Types.h SRS BSWGeneral p. 62. O tipo de retorno Std_ReturnType é expressamente compartilhado entre a RTE e módulos BSW [SWS_Std_00005]. Na metodologia, os tipos padrão são descritos adicionalmente como artefato 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 da RTE com Std_ReturnType / transformerError

Diagrama de contexto: Std_Types.h inclui headers de plataforma e de compilador e é utilizado por módulos BSW, CDDs, RTE e transformers como base de tipos comum. Fontes: SRS BSWGeneral p. 62, CDD Guideline p. 14, [SWS_Std_00005], [SWS_Std_00021]

Estrutura de Std_Types.h e integração na árvore de headers

Para a R20-11, o requisito de BSW estabelece o que Std_Types.h deve cumprir SRS BSWGeneral p. 62:

  • incluir o header de tipos específico da plataforma Platform_Types.h,
  • incluir o header específico do compilador Compiler.h,
  • definir Std_ReturnType,
  • estabelecer valores para E_OK, E_NOT_OK, STD_ON, STD_OFF, STD_HIGH, STD_LOW, STD_ACTIVE e STD_IDLE.

Na versão posterior do mesmo requisito, falta a inclusão de Compiler.h RS BSWGeneral p. 60. Isso condiz com o histórico de alterações: na R22-11, a abstração obsoleta de compilador foi removida de um requisito de Std, e NULL_PTR foi adicionado apenas com a R21-11 SWS StandardTypes p. 1. Para a R20-11, portanto, Compiler.h pertence à cadeia de inclusão, enquanto um NULL_PTR de Std_Types.h ainda não.

Uma particularidade diz respeito a E_OK. O símbolo já está definido no OSEK e deve, por isso, ser compartilhado. [SWS_Std_00006] prescreve uma proteção via STATUSTYPEDEFINED: dentro da proteção são definidos E_OK (0x00u) e StatusType; E_NOT_OK (0x01u) fica fora. O requisito de BSW contém a mesma nota de implementação com referência à ISO 17356-3 SRS BSWGeneral p. 62. A forma como um Complex Device Driver organiza o header em sua estrutura de includes é mostrada no diagrama da estrutura de headers de CDD CDD Guideline p. 14.

Std_ReturnType: faixa de valores, layout de bits e extensões específicas do módulo

Std_ReturnType é derivado de uint8. Os valores padrão são E_OK (0) e E_NOT_OK (1); a faixa 0x02–0x3F está disponível para erros específicos de usuário [SWS_Std_00005]. [SWS_Std_00011] detalha essa regra:

  • Normalmente, o tipo é utilizado com E_OK ou E_NOT_OK.
  • Se esses valores não forem suficientes, podem ser definidos valores próprios nos seis bits menos significativos, nomeados com o prefixo do módulo.
  • O bit 7 e o bit 8 são reservados. Eles são definidos pela especificação da RTE, assim como o layout em geral.

O diagrama sobre o layout ilustra exatamente essa divisão SWS StandardTypes p. 15.

A especificação da RTE descreve Std_ReturnType como o tipo para valores de status e erro de funções de API; o valor 0 é reservado para «nenhum erro ocorrido» SWS RTE p. 675. Segundo o guia de modelagem BSW, ele é o único tipo de retorno permitido em operações cliente-servidor de Service-Interfaces BSWUML Guide p. 28. Um exemplo de extensão específica de módulo é CAN_BUSY (0x02) do driver CAN. Can_Write() fornece esse valor quando nenhum objeto de transmissão está livre 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 do módulo (6 bits menos significativos, prefixo do módulo) rt->user erweiterbar rtebits Bit 7 e bit 8 reservados, definidos pela especificação da 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 (estrutura de tipos): Std_ReturnType divide-se em valores padrão, uma faixa específica de módulo 0x02–0x3F e dois bits reservados pela RTE; extensões de módulo como Csm_ReturnType ou CAN_BUSY ocupam apenas a faixa livre. Fontes: [SWS_Std_00005], [SWS_Std_00011], SWS StandardTypes p. 15, BSWUML Guide p. 29, SWS CANDriver p. 54

No modelo UML do BSW, tal extensão é modelada como a classe <Ma>_ReturnType com o estereótipo «extra_literals». Seus valores levam o prefixo do módulo e situam-se na faixa 0x02–0x3f BSWUML Guide p. 28. O exemplo Csm_ReturnType com CSM_E_BUSY, CSM_E_SMALL_BUFFER e CSM_E_ENTROPY_EXHAUSTION mostra o padrão BSWUML Guide p. 29. Se múltiplos módulos de uma pilha necessitarem da mesma extensão, ela não precisa ser definida separadamente para cada módulo BSWUML Guide p. 33. A versão R23-11 prevê para isso uma classe genérica com «generic_type», da qual as extensões específicas de módulo são derivadas TR BSWUML Guide p. 37.

erweiterung start Início: módulo define valores de retorno q1 E_OK / E_NOT_OK são suficientes? start->q1 std Utilizar Std_ReturnType com E_OK / E_NOT_OK q1->std sim q2 Vários módulos de uma stack necessitam da mesma extensão? q1->q2 não ende Fim: bits 7/8 permanecem reservados para a RTE std->ende gen generische Erweiterung «extra_literals» «generic_type» (Fassung R23-11) q2->gen sim own <Ma>_ReturnType als Klasse «extra_literals» modellieren q2->own não derive Derivar <Ma>_ReturnType a partir disso, se necessário adicionar literais próprios gen->derive lit Definir literais com prefixo do módulo na faixa de 0x02–0x3F derive->lit own->lit lit->ende

Diagrama de atividades: decisão sobre se e como um módulo estende Std_ReturnType com valores próprios. Fontes: [SWS_Std_00011], BSWUML Guide p. 28, BSWUML Guide p. 33, TR BSWUML Guide p. 37

Constantes simbólicas para níveis, chaves e estados

Além dos valores de retorno, Std_Types.h define três pares de constantes. Todos os três utilizam os valores numéricos 0x01u e 0x00u, mas são comentados de forma diferente ([SWS_Std_00007], [SWS_Std_00010], [SWS_Std_00013]):

ParValoresSignificado de acordo com a definição
STD_HIGH / STD_LOW0x01u / 0x00uestado físico 5 V ou 3,3 V / 0 V
STD_ON / STD_OFF0x01u / 0x00uLigado/Desligado, sem comentários adicionais
STD_ACTIVE / STD_IDLE0x01u / 0x00uestado lógico ativo / idle

Um utilizador típico de STD_HIGH/STD_LOW é o controlador DIO: o seu serviço de leitura devolve exatamente um destes dois níveis SWS DIO p. 37. STD_ON/STD_OFF servem como chaves de pré-compilação. Um exemplo é EEP_21_LDEXT_VERSION_INFO_API STD_ON na especificação geral do BSW SWS BSWGeneral p. 76, outro são as chaves opcionais de API do controlador GPT SWS GPT p. 48.

Consulta de versão via Std_VersionInfoType

Std_VersionInfoType é uma estrutura com os seguintes elementos: vendorID e moduleID (cada um uint16), bem como sw_major_version, sw_minor_version e sw_patch_version (cada um uint8). Através de <Module name>_GetVersionInfo() consulta-se, assim, a versão de um módulo BSW [SWS_Std_00015]. A especificação geral do BSW define para esta função SWS BSWGeneral p. 76:

  • Opera de forma síncrona e é reentrante.
  • Tem exatamente um parâmetro deste tipo.
  • A sua disponibilidade é configurada por módulo no tempo de pré-compilação através de <Ma>VersionInfoApi.

A regra de nomenclatura GetVersionInfo cita o requisito do BSW com o exemplo Eep_21_LDExt_GetVersionInfo SRS BSWGeneral p. 60.

Existem implementações concretas em muitos módulos. Com a deteção de erros de desenvolvimento ativada, Can_GetVersionInfo rejeita um ponteiro nulo com CAN_E_PARAM_POINTER SWS CANDriver p. 57. Adc_GetVersionInfo verifica em conformidade por ADC_E_PARAM_POINTER SWS ADCDriver p. 80. O gestor NVRAM apresenta a chamada como uma troca síncrona simples entre o utilizador e o módulo SWS NvM p. 158.

Consulta de versão com Std_VersionInfoTypeNutzerBSW-Modul <Ma>DetAPI só está presente se<Ma>VersionInfoApi = STD_ON (Pre-compile)<Ma>_GetVersionInfo(&versioninfo)altversioninfo == NULL e detecção de erros de desenvolvimento ativaEntwicklungsfehler melden(z. B. CAN_E_PARAM_POINTER)ponteiro válidovendorID, moduleID,sw_major/minor/patch_version eintragenRetorno (void; síncrono, reentrante)

Diagrama de sequência: um utilizador consulta a versão de um módulo de forma síncrona; em caso de ponteiro nulo e deteção de erros de desenvolvimento ativa, o módulo reporta um erro, caso contrário preenche Std_VersionInfoType. Fontes: [SWS_Std_00015], SWS BSWGeneral p. 76, SWS CANDriver p. 57, SWS NvM p. 158

Tipos de transformer e de mensagem para a transformação de dados

Para cadeias de transformers, std disponibiliza vários tipos. No R20-11, Std_TransformerError é uma estrutura composta por errorCode (uint8) e transformerClass do tipo Std_TransformerClass [SWS_Std_00021]. Std_TransformerClass é derivado de uint8 e reconhece cinco valores [SWS_Std_00024]: STD_TRANSFORMER_UNSPECIFIED (0x00), STD_TRANSFORMER_SERIALIZER (0x01), STD_TRANSFORMER_SAFETY (0x02), STD_TRANSFORMER_SECURITY (0x03) e STD_TRANSFORMER_CUSTOM (0xFF).

A assinatura abreviada no diretório da API lista Std_TransformerError como typedef uint8. Determinante é, contudo, a definição da estrutura do requisito. Versões posteriores tipificam errorCode como um tipo próprio Std_TransformerErrorCode, cujo significado é definido por cadeia de transformers SWS StandardTypes p. 17.

O RTE passa este tipo como parâmetro OUT opcional transformerError para as suas APIs, por exemplo em Rte_Call SWS RTE p. 731, Rte_Read SWS RTE p. 720 e Rte_Result SWS RTE p. 750. As interfaces de plug-in descrevem-no como o erro ocorrido durante a execução da cadeia de transformers SWS RTE p. 969.

Std_TransformerForward e Std_TransformerForwardCode estão marcados no R20-11 como rascunho (draft). O código de encaminhamento conhece E_OK, E_SAFETY_INVALID_REP, E_SAFETY_INVALID_SEQ e E_SAFETY_INVALID_CRC ([SWS_Std_00027], [SWS_Std_00029]). Em versões posteriores, Rte_Send aceita um forwardedCode opcional deste tipo SWS RTE p. 704. Presumivelmente, serve para remapear erros de segurança (safety) recebidos durante o encaminhamento, tal como descrevem as funções de encaminhamento E2E SWS E2ELibrary p. 107 (interpretação). Pergunta Q-f0d374b3b793c868 (aberta) De acordo com o histórico de alterações, a estrutura Std_TransformerForward foi removida no R22-11 SWS StandardTypes p. 1.

Reportar erro de transformer via Std_TransformerErrorSW-CRTETransformer-KettetransformerError só existe emerrorHandling = transformerErrorHandlingRte_Call_<p>_<o>(…, OUT transformerError)Executar cadeia de transformersaltTransformer meldet FehlerFehlercode (Interpretation)Preencher Std_TransformerError:errorCode, transformerClass (z. B. STD_TRANSFORMER_SAFETY)Std_ReturnType + transformerErrorkein Transformer-FehlerResultado sem errosStd_ReturnType (z. B. E_OK)

Diagrama de sequência: além de Std_ReturnType, um erro de transformer chega ao SW-C como Std_TransformerError com código de erro e classe de transformer. Fontes: [SWS_Std_00021], [SWS_Std_00024], SWS RTE p. 731, SwCluster Guideline p. 245, SWS RTE p. 774

Para a comunicação cliente-servidor existem dois tipos de codificação, nos quais 0x02–0x3F estão respetivamente reservados para valores futuros:

  • Std_MessageTypeType distingue entre pedido (STD_MESSAGETYPE_REQUEST, 0x00) e resposta (STD_MESSAGETYPE_RESPONSE, 0x01) ([SWS_Std_91001], [SWS_Std_00017]).
  • Std_MessageResultType codifica o resultado de uma resposta: STD_MESSAGERESULT_OK (0x00) ou STD_MESSAGERESULT_ERROR (0x01) ([SWS_Std_91002], [SWS_Std_00019]).

O tipo de ponteiro de função Std_ExtractProtocolHeaderFieldsType descreve uma função síncrona e reentrante. Esta extrai ambos os valores do cabeçalho de protocolo de um transformer num buffer e fornece um Std_ReturnType [SWS_Std_91003]. Os transformers recebem opcionalmente tal ponteiro como argumento da sua função inversa ASWS TransformerGeneral p. 40. O transformer SOME/IP disponibiliza uma implementação adequada com SomeIpXf_ExtractProtocolHeaderFields SWS SOMEIPTransformer p. 61. Os perfis E2E 4m, 7m, 8m e 44m avaliam os dois valores nas suas funções de verificação 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)Cancelar processamento com término por errouint8 (resultado da transformação inversa)

Diagrama de sequência: para perfis PXXm, o transformer E2E extrai o tipo e o resultado da mensagem através do ponteiro de função transmitido e só prossegue a verificação com E_OK. Fontes: [SWS_Std_91003], ASWS TransformerGeneral p. 40, SWS E2ETransformer p. 45, SWS SOMEIPTransformer p. 61, SWS E2ELibrary p. 108

Comportamento em caso de erro

O próprio módulo não deteta nem reporta erros. A versão a partir do R23-11 constata que os tipos padrão não preveem tratamento de erros e não suportam eventos de segurança (security) SWS StandardTypes p. 27; o mesmo deverá aplicar-se ao R20-11 (interpretação). Pergunta (aberta) O comportamento de erro surge, portanto, apenas nos módulos que utilizam os tipos. O sinal básico é E_NOT_OK [SWS_Std_00006]; o seu significado concreto é definido pela respetiva API. Em Adc_ReadGroup significa "nenhum resultado disponível ou erro de desenvolvimento" SWS ADCDriver p. 61, em CanIf_Transmit "pedido de envio não aceite" SWS CANInterface p. 87.

Padrões de erro mais detalhados são reportados através de valores específicos de módulo no intervalo 0x02–0x3F [SWS_Std_00011], por exemplo CAN_BUSY SWS CANDriver p. 54. Os chamadores devem, portanto, contar com a possibilidade de um Std_ReturnType assumir mais do que dois valores. Um caso especial são os callbacks que são encaminhados como serviços AUTOSAR através do RTE: embora o chamador possa assumir E_OK, tais callbacks podem falhar, por exemplo, em sistemas particionados SWS BSWGeneral p. 69.

Em cadeias de transformers, um erro é reportado adicionalmente ao valor de retorno através de Std_TransformerError com código de erro e classe de transformer [SWS_Std_00021]. O RTE só gera o parâmetro opcional transformerError se o tratamento de erros transformerErrorHandling estiver configurado para a porta SWS RTE p. 774. Se a extração dos campos de cabeçalho falhar, SomeIpXf_ExtractProtocolHeaderFields fornece E_NOT_OK, por exemplo no caso de versão de protocolo incorreta ou buffer demasiado curto SWS SOMEIPTransformer p. 61. A lógica do transformer E2E só prossegue a verificação em caso de E_OK SWS E2ETransformer p. 45.

Evidências mais detalhadas

Guia de módulo gerado por IA para std (classic, R20-11), criado exclusivamente com base no payload do autodocs. Muitas passagens do documento provêm de outras versões; normativos são os requisitos do R20-11. Comparar com a especificação antes de qualquer utilização vinculativa.

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;

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 6f8f9add55f9 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O tipo Std_ReturnType serve como tipo de retorno padronizado para funções de API e é compartilhado pela RTE e pelos módulos BSW ([SWS_Std_00005]). Ele está disponível por meio do cabeçalho Std_Types.h e é definido como uint8 ([SWS_Std_00005]).

Por padrão, Std_ReturnType é preenchido com os valores E_OK (valor 0) ou E_NOT_OK (valor 1) ([SWS_Std_00005], [SWS_Std_00011]). Se esses dois valores de retorno padrão não forem suficientes, o padrão permite a definição de valores de erro específicos do módulo:

  • Faixa de valores para erros do usuário: Para códigos de erro definidos pelo usuário, a faixa de 0x02 a 0x3F está disponível ([SWS_Std_00005]). Neste caso, são utilizados os seis bits menos significativos ([SWS_Std_00011]).
  • Convenção de nomenclatura: Na nomeação de valores de erro específicos do usuário, é obrigatório prefixar o respectivo prefixo do módulo de acordo com as especificações da BSW ([SWS_Std_00011]).
  • Reserva da RTE: O bit 7 e o bit 8 são reservados e definidos pela especificação da RTE, a qual também é seguida pelo layout geral do tipo de retorno ([SWS_Std_00011]). Interpretação: Trata-se provavelmente dos dois bits mais significativos da representação de 8 bits, que completam os seis bits menos significativos para formar um byte. Pergunta Q-d97256956c510f58 (aberta)

Mecanismos específicos de tratamento de erros, como DET ou DEM, bem como requisitos de reentrância não são definidos para o próprio tipo básico nas fontes, mas cabem às respectivas APIs que utilizam este tipo como valor de retorno.

Esta nota de uso foi criada por uma IA e é baseada nas especificações do AUTOSAR Classic Release R20-11.

Guia do implementador em breve (complexidade I1)

tipo Std_TransformerError [SWS_Std_00021] 📄 PDF

typedef uint8 Std_TransformerError;

-

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 534a10ed1c56 Procedência Perguntas em aberto (2)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O tipo de dados Std_TransformerError é disponibilizado, de acordo com o requisito [SWS_Std_00021], como tipo padronizado por meio do arquivo de cabeçalho Std_Types.h para a plataforma AUTOSAR Classic. Estruturalmente, o elemento é definido na especificação como uma estrutura (structure) e é composto por dois componentes: o elemento errorCode com o tipo básico uint8 e o elemento transformerClass com o tipo Std_TransformerClass [SWS_Std_00021].

Em relação ao uso prático, a especificação não contém assinaturas de função concretas, descrições de parâmetros ou valores de retorno. O tipo estruturado serve presumivelmente como um contêiner de dados uniforme para a transmissão estruturada de erros que ocorrem durante a transformação de dados (interpretação). Pergunta Q-6e0938f276d60fd3 (aberta) Presume-se que o campo errorCode transporte o código de erro numérico real, enquanto transformerClass identifica a classe de transformador causadora ou associada (interpretação). Pergunta Q-d8806698683ec00e (aberta)

Mecanismos específicos para tratamento de erros, como mensagens de DET ou DEM, não estão definidos em [SWS_Std_00021]. Requisitos sobre concorrência, reentrância ou semântica síncrona ou assíncrona também estão ausentes no material de origem. Por se tratar de uma definição de tipo pura em Std_Types.h, o tipo em si não está sujeito a restrições de tempo de execução; estas resultam exclusivamente do respectivo contexto dos módulos que o utilizam.

Este texto foi gerado por uma IA com base na especificação 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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 3a61d74dd0cf Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O tipo padrão Std_MessageType é usado, de acordo com [SWS_Std_91001], para codificar diferentes tipos de mensagem. Na presente especificação, essa codificação limita-se à distinção entre solicitações (requests) e respostas (responses) no âmbito da comunicação cliente/servidor ([SWS_Std_91001]).

O tipo de dados deriva do tipo básico uint8 e é disponibilizado a componentes de software e módulos de software básico por meio do arquivo de cabeçalho Std_Types.h ([SWS_Std_91001]). Para atribuição e avaliação, são especificados os seguintes valores e constantes:

  • STD_MESSAGETYPE_REQUEST (valor 0x00): Identifica uma mensagem de solicitação ([SWS_Std_91001]).
  • STD_MESSAGETYPE_RESPONSE (valor 0x01): Identifica uma mensagem de resposta ([SWS_Std_91001]).
  • Faixa de valores de 0x02 a 0x3F: Esta faixa é reservada para futuros tipos de mensagem ([SWS_Std_91001]).

Em relação à aplicação e às condições de contorno, aplica-se que os módulos implementadores devem usar exclusivamente os identificadores definidos. Como os valores de 0x02 a 0x3F são reservados para futuras extensões do AUTOSAR, eles não podem ser atribuídos arbitrariamente para outras finalidades ([SWS_Std_91001]). Códigos de erro específicos, valores de retorno, fluxos assíncronos ou mensagens para DET ou DEM não estão definidos para este tipo de dados na especificação ([SWS_Std_91001]).

Este texto foi gerado por um assistente de curadoria de IA e é baseado na especificação do 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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 48b18d78d865 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O tipo de dados fundamental Std_MessageResultType serve, na plataforma AUTOSAR Classic, para a codificação de diferentes tipos de resultado para mensagens de resposta (Response Messages) [SWS_Std_00019]. O tipo é disponibilizado através do ficheiro de cabeçalho padrão Std_Types.h e está definido como um tipo escalar com base em uint8 [SWS_Std_91002].

Utilização e gama de valores

A especificação exige a utilização de Std_MessageResultType para a identificação uniforme de mensagens de resposta [SWS_Std_00019]. Atualmente, o âmbito funcional previsto desta codificação está limitado à distinção básica entre respostas bem-sucedidas e com erro [SWS_Std_91002]. Para o efeito, estão definidos os seguintes valores de resultado fixos:

  • STD_MESSAGERESULT_OK (valor 0x00): identifica o resultado regular e livre de erros de uma mensagem de resposta [SWS_Std_91002].
  • STD_MESSAGERESULT_ERROR (valor 0x01): sinaliza o resultado de uma mensagem de resposta com erro (Error Response) [SWS_Std_91002].

Restrições e extensões futuras

O intervalo de valores de 0x02 a 0x3F está explicitamente reservado para futuros resultados de mensagens [SWS_Std_91002]. Interpretação: como a especificação atualmente não prevê outros valores de retorno válidos, é provável que os módulos de avaliação tenham de ser programados defensivamente para intercetar de forma segura valores inesperados ou ainda não atribuídos nesta faixa [SWS_Std_00019]. Pergunta Q-5f652f73800b7d94 (aberta)

Este texto foi criado por uma IA e resume as definições da especificação AUTOSAR para programadores.

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;