DEENESPTFRRUARHIKOZHNL

Diagnostic Communication Manager (DCM)

ModulDCM (Diagnostic Communication Manager)
BSW-Modul-ID53
Standard-Header#include "Dcm.h"
SWS-SpezifikationAUTOSAR_SWS_DiagnosticCommunicationManager.pdf
ClusterDiagnostic Services

Guia do móduloGERADO POR IA

Recebe requisições de diagnóstico de testadores, verifica-as e responde a elas com dados da memória de falhas e da aplicação.
GERADO POR IA não revisado Modelo: claude-opus-5-5 · Esforço: high · Temperatura: não controlável · Prompt: c4fbaab8dd0b Procedência Perguntas em aberto (3)
Â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

Recebe requisições de diagnóstico de testadores, verifica-as e responde a elas com dados da memória de falhas e da aplicação.

O DCM é o servidor de diagnóstico da unidade de controle: ele recebe requisições UDS e OBD via PduR, verifica-as e solicita sua execução pelo DSP ou por callouts da aplicação. Uma requisição só é repassada após o recebimento completo [SWS_Dcm_00111]. Previamente, o DSD verifica serviço, sessão, nível de segurança e condições de modo. Se o processamento demorar muito, o DCM cumpre os limites de tempo de P2 com NRC 0x78 [SWS_Dcm_00024]. Ele só tem permissão para transmitir nos modos de comunicação liberados pelo ComM.

O DCM processa as requisições de diagnóstico de testadores externos. Ele implementa serviços UDS como DiagnosticSessionControl, ReadDataByIdentifier e RoutineControl [SWS_Dcm_00250] [SWS_Dcm_00253] [SWS_Dcm_00257], bem como serviços OBD [SWS_Dcm_00243]. Internamente, a DSL gerencia comunicação e tempos [SWS_Dcm_00027], o DSD verifica e distribui requisições [SWS_Dcm_00178] e o DSP executa os serviços. O DCM busca dados do DEM, de callouts da aplicação e via portas RTE [SWS_Dcm_01263] [SWS_Dcm_00793].

kontext cluster_dcm Dcm Tester Diagnosetester TP Transportschicht (z. B. CanTp) Tester->TP UDS-/OBD-Anfrage PduR PduR TP->PduR DSL DSL Sitzung, Timing, Puffer PduR->DSL Dcm_StartOfReception Dcm_CopyRxData Dcm_TpRxIndication DSL->PduR PduR_DcmTransmit DSD DSD Verificação, distribuição DSL->DSD requisição completa ComM ComM DSL->ComM ComM_DCM_ActiveDiagnostic DSP DSP Execução de serviço DSD->DSP Executar serviço Dem Dem DSP->Dem Dem_SelectDTC, Dem_ClearDTC BswM BswM DSP->BswM CommunicationControl-Modus NvM NvM DSP->NvM DDDID speichern Csm Csm / KeyM DSP->Csm Verificação de certificado (0x29) SWC Anwendungs-SW-Cs (RTE / Callouts) DSP->SWC Xxx_ReadData, Xxx_Start, ... Modeswitch ComM->DSL Dcm_ComM_*ComModeEntered

Diagrama de contexto: o DCM entre PduR, ComM, DEM, NvM, BswM, CSM/KeyM e SW-Cs de aplicação. Fontes: [SWS_Dcm_00094] [SWS_Dcm_01376] SWS DCM p. 209.

Após Dcm_Init [SWS_Dcm_00037], a Default Session e o nível de segurança DCM_SEC_LEV_LOCKED estão ativos [SWS_Dcm_00033] [SWS_Dcm_00034]. Uma requisição chega por meio de Dcm_StartOfReception, Dcm_CopyRxData e Dcm_TpRxIndication. Somente após a recepção bem-sucedida ela chega ao DSD [SWS_Dcm_00111]. Este verifica o identificador de serviço, sessão, nível de segurança e condições de modo [SWS_Dcm_00196] [SWS_Dcm_00211] [SWS_Dcm_00217]. A resposta é transmitida via PduR_DcmTransmit e Dcm_CopyTxData [SWS_Dcm_00115] [SWS_Dcm_00092].

Processamento de uma requisição de diagnósticoPduRDSLDSDDSPAplicaçãoUse Case: EmpfangDcm_StartOfReception(id, info, TpSduLength)BUFREQ_OK, bufferSizePtrloopweitere SegmenteDcm_CopyRxData(id, info, bufferSizePtr)Dcm_TpRxIndication(id, E_OK)Encaminhar requisição (apenas após E_OK)SID-, Sitzungs-, Security-e verificação de modoExecutar serviçoXxx-Operation (OpStatus = DCM_INITIAL)E_OK + AusgabedatenAntwortdatenUse Case: SendenSenden anfordernPduR_DcmTransmit(DcmDslProtocolTxPduRef)loopbis Antwort kopiertDcm_CopyTxData()Dcm_TpTxConfirmation(id, E_OK)Encaminhar confirmaçãoDspInternal_DcmConfirmation()Xxx_Confirmation() (falls konfiguriert)

Diagrama de sequências: receção, verificação, execução e envio de um pedido. Fontes: [SWS_Dcm_00093] [SWS_Dcm_00351] [SWS_Dcm_00741]

Interfaces de aplicação assíncronas são chamadas repetidamente através de Dcm_OpStatusType [SWS_Dcm_00984] [SWS_Dcm_00530]. Se um processamento demorar mais do que P2ServerMax, o DCM envia NRC 0x78 [SWS_Dcm_00024]. Mudanças de sessão via 0x10 tornam-se efetivas apenas com a confirmação de envio. O timeout de S3Server ou Dcm_ResetToDefaultSession conduzem de volta à Default Session [SWS_Dcm_00311] [SWS_Dcm_00140] [SWS_Dcm_00520]. Os modos do ComM controlam se é permitido enviar. Transmissões ROE e periódicas são executadas apenas em Full Communication [SWS_Dcm_00148] [SWS_Dcm_00123].

Erros tornam-se, na sua maioria, respostas negativas. Se uma aplicação fornecer E_NOT_OK, o seu ErrorCode é enviado como NRC [SWS_Dcm_00678]. Erros do DEM são mapeados para NRC 0x22 ou 0x31 [SWS_Dcm_00704] [SWS_Dcm_00708]. Após cada confirmação de envio, o DCM liberta o buffer de envio [SWS_Dcm_00352].

Papel na stack de diagnóstico: DSL, DSD e DSP

O DCM responde a pedidos de diagnóstico de testers externos. Implementa serviços UDS como DiagnosticSessionControl (0x10), ReadDataByIdentifier (0x22) e RoutineControl (0x31) [SWS_Dcm_00250] [SWS_Dcm_00253] [SWS_Dcm_00257], bem como serviços OBD como $01 [SWS_Dcm_00243]. Internamente, é composto por três submódulos:

Para baixo, o DCM disponibiliza callbacks para o PduR (dados de transporte) e para o ComM (modos de comunicação). O diagrama SWS DCM p. 209 ainda utiliza para tal nomes mais antigos como Dcm_RxIndication. Normativos na R20-11 são os nomes Dcm_TpRxIndication e Dcm_ComM_NoComModeEntered [SWS_Dcm_00093] [SWS_Dcm_00356].

Outras ligações:

  • O DCM acede à memória de erros através da API do DEM, por exemplo com Dem_SelectDTC em ClearDiagnosticInformation [SWS_Dcm_01263].
  • Acede a dados de aplicação e rotinas através de callouts e portas configuráveis como Xxx_ReadData ou Xxx_Start [SWS_Dcm_00793] [SWS_Dcm_01203].
  • Para modos de diagnóstico como DcmDiagnosticSessionControl e DcmEcuReset, ele próprio é o Mode-Manager [SWS_Dcm_00775].
kontext cluster_dcm Dcm Tester Diagnosetester TP Transportschicht (z. B. CanTp) Tester->TP UDS-/OBD-Anfrage PduR PduR TP->PduR DSL DSL Sitzung, Timing, Puffer PduR->DSL Dcm_StartOfReception Dcm_CopyRxData Dcm_TpRxIndication DSL->PduR PduR_DcmTransmit DSD DSD Verificação, distribuição DSL->DSD requisição completa ComM ComM DSL->ComM ComM_DCM_ActiveDiagnostic DSP DSP Execução de serviço DSD->DSP Executar serviço Dem Dem DSP->Dem Dem_SelectDTC, Dem_ClearDTC BswM BswM DSP->BswM CommunicationControl-Modus NvM NvM DSP->NvM DDDID speichern Csm Csm / KeyM DSP->Csm Verificação de certificado (0x29) SWC Anwendungs-SW-Cs (RTE / Callouts) DSP->SWC Xxx_ReadData, Xxx_Start, ... Modeswitch ComM->DSL Dcm_ComM_*ComModeEntered

Diagrama de contexto: o DCM situa-se entre o PduR e os prestadores de serviços DEM, NvM, BswM, CSM/KeyM e SW-Cs de aplicação; o ComM controla a sua disponibilidade de envio. Fontes: [SWS_Dcm_00094] [SWS_Dcm_01376] [SWS_Dcm_00512] [SWS_Dcm_00868] [SWS_Dcm_01463] SWS DCM p. 209

Arranque: Dcm_Init e o ciclo periódico

Dcm_Init [SWS_Dcm_00037] recebe um apontador para Dcm_ConfigType com os parâmetros Post-Build [SWS_Dcm_00982]. A partir dele, inicializa todas as variáveis globais [SWS_Dcm_00334]. Em seguida, aplica-se o seguinte estado básico:

Outras tarefas de arranque dependem da configuração:

  • Dcm_GetProgConditions deteta um retorno a partir do bootloader [SWS_Dcm_00536].
  • Com DcmDDDIDStorage = TRUE, as definições de DDDID são restauradas a partir do NvM [SWS_Dcm_00867].
  • Contadores de tentativas falhadas são lidos através de Xxx_GetSecurityAttemptCounter [SWS_Dcm_01154].
  • Com DcmVinRef configurado, o VIN é obtido uma única vez com Dcm_GetVin [SWS_Dcm_01174].

Dcm_MainFunction [SWS_Dcm_00053] comanda todos os processos assíncronos. Se uma operação retornar DCM_E_PENDING, ela é acionada novamente, por exemplo, no próximo ciclo da MainFunction [SWS_Dcm_00760]. O mesmo se aplica a chamadas pendentes do DEM [SWS_Dcm_01412]. Interpretação: a função deve ser chamada ciclicamente pelo escalonador do BSW. Pergunta Q-2dbd09d50c66575f (aberta)

Do pedido à resposta

A receção decorre em três passos (SWS DCM p. 55):

  1. Dcm_StartOfReception notifica o comprimento total, a primeira trama e os metadados [SWS_Dcm_00094]. Se o pedido for demasiado grande, o DCM fornece BUFREQ_E_OVFL [SWS_Dcm_00444]. Com comprimento 0, fornece BUFREQ_E_NOT_OK [SWS_Dcm_00642].
  2. Dcm_CopyRxData copia os segmentos para o buffer do DCM [SWS_Dcm_00443].
  3. Apenas após Dcm_TpRxIndication com E_OK é que a DSL reencaminha o pedido para o DSD [SWS_Dcm_00111].

O DSD verifica o pedido em várias etapas:

dsd start Anfrage von DSL sid SID in aktiver Service-Tabelle? start->sid ses In aktueller Sitzung erlaubt? sid->ses sim nrc negative Antwort sid->nrc não sec Permitido no nível de segurança atual? ses->sec sim ses->nrc não mode Condição de modo atendida? sec->mode sim sec->nrc não ind Xxx_Indication (falls konfiguriert) mode->ind sim mode->nrc não nrcErr NRC = ErrorCode ind->nrcErr E_NOT_OK keine nenhuma resposta ind->keine E_REQUEST_NOT_ACCEPTED dsp O DSP executa o serviço ind->dsp E_OK spr suppressPosRspMsgIndicationBit gesetzt? dsp->spr send Antwort an DSL spr->send não nopos nenhuma resposta positiva spr->nopos ja, positives Ergebnis

Diagrama de atividades: o DSD apenas deixa passar um pedido para o DSP após verificações bem-sucedidas; E_REQUEST_NOT_ACCEPTED suprime qualquer resposta. Interpretação: ordem simplificada. Fontes: [SWS_Dcm_00197] [SWS_Dcm_00677] [SWS_Dcm_00678] [SWS_Dcm_00200] [SWS_Dcm_00827]

O envio da resposta decorre da seguinte forma:

  1. O DSD encarrega a DSL do envio [SWS_Dcm_00114].
  2. A DSL chama PduR_DcmTransmit com a PDU de Tx configurada [SWS_Dcm_00115].
  3. O PduR obtém os dados com Dcm_CopyTxData [SWS_Dcm_00092].
  4. Dcm_TpTxConfirmation conclui a transmissão [SWS_Dcm_00351].
  5. A confirmação vai para o DSP e, em seguida, para Xxx_Confirmation [SWS_Dcm_00235] [SWS_Dcm_00741].

Dois casos especiais: se o suppressPosRspMsgIndicationBit estiver ativo, a resposta positiva é omitida [SWS_Dcm_00200]. Em ligações genéricas, o DCM armazena o endereço de origem a partir dos metadados [SWS_Dcm_00848] e define-o no envio como TARGET_ADDRESS_16 [SWS_Dcm_00849].

Processamento de uma requisição de diagnósticoPduRDSLDSDDSPAplicaçãoUse Case: EmpfangDcm_StartOfReception(id, info, TpSduLength)BUFREQ_OK, bufferSizePtrloopweitere SegmenteDcm_CopyRxData(id, info, bufferSizePtr)Dcm_TpRxIndication(id, E_OK)Encaminhar requisição (apenas após E_OK)SID-, Sitzungs-, Security-e verificação de modoExecutar serviçoXxx-Operation (OpStatus = DCM_INITIAL)E_OK + AusgabedatenAntwortdatenUse Case: SendenSenden anfordernPduR_DcmTransmit(DcmDslProtocolTxPduRef)loopbis Antwort kopiertDcm_CopyTxData()Dcm_TpTxConfirmation(id, E_OK)Encaminhar confirmaçãoDspInternal_DcmConfirmation()Xxx_Confirmation() (falls konfiguriert)

Diagrama de sequências: receção, verificação, execução e envio de um pedido com os callbacks de TP e as confirmações. Fontes: [SWS_Dcm_00094] [SWS_Dcm_00556] [SWS_Dcm_00093] [SWS_Dcm_00092] [SWS_Dcm_00742] SWS DCM p. 479

Interfaces de aplicação, OpStatus e Response Pending

Interfaces assíncronas possuem um Dcm_OpStatusType [SWS_Dcm_00984]:

A configuração define se é aplicada a variante síncrona ou a assíncrona (DcmDspDataUsePort). Um exemplo é Xxx_ReadData [SWS_Dcm_00793] [SWS_Dcm_91006].

Se a aplicação necessitar de mais tempo, o DCM envia NRC 0x78 [SWS_Dcm_00024] para cumprir os limites temporais P2ServerMax e P2*ServerMax [SWS_Dcm_00027]. O número de tais respostas é limitado e configurável [SWS_Dcm_00120] [SWS_Dcm_01567]. A aplicação também pode acionar o NRC 0x78 por si própria: retorna DCM_E_FORCE_RCRRP e é chamada novamente após a confirmação de envio [SWS_Dcm_00528] [SWS_Dcm_00529]. Callouts de memória comportam-se de forma análoga [SWS_Dcm_00839].

Operação assíncrona e Response PendingTesterDcmAplicaçãoDiagnoseanfrageXxx-Operation (OpStatus = DCM_INITIAL)DCM_E_PENDINGaltP2ServerMax abgelaufenNRC 0x78 (responsePending)A aplicação retorna DCM_E_FORCE_RCRRPNRC 0x78 sofortapós confirmação de envio:OpStatus = DCM_FORCE_RCRRP_OKloopbis EndergebnisXxx-Operation (OpStatus = DCM_PENDING)no próximo ciclo da MainFunctionE_OK ou E_NOT_OK + ErrorCoderesposta positiva ou NRC = ErrorCode

Diagrama de sequências: rechamada através de OpStatus e os dois caminhos para o NRC 0x78. Fontes: [SWS_Dcm_00530] [SWS_Dcm_00528] [SWS_Dcm_91015] SWS DCM p. 470

Em InputOutputControlByIdentifier [SWS_Dcm_00256] com portas sender-receiver, o DCM escreve o IOOperationRequest e avalia o IOOperationResponse. DCM_RESPONSE_PENDING leva a NRC 0x78, um valor positivo leva a uma resposta positiva [SWS_Dcm_01441] [SWS_Dcm_01439] (SWS DCM p. 186).

Sessões, Security Access e modos de comunicação

Mudanças de sessão decorrem através do serviço 0x10:

session init Dcm_Init def Default Session (0x01) init->def nondef Non-Default Session (z. B. 0x02, 0x03) def->nondef 0x10 confirmado: definir sessão + P2, Modeswitch, ComM_DCM_ActiveDiagnostic nondef->def S3Server-Timeout nondef->def Dcm_ResetToDefaultSession() nondef->def 0x10 Default Session: parar IO-Controls e DIDs periódicos, ComM_DCM_InactiveDiagnostic nondef->nondef 0x10 anderer Typ

Diagrama de estados: ciclo de vida da sessão de diagnóstico com transições e ações associadas. Fontes: [SWS_Dcm_00034] [SWS_Dcm_00311] [SWS_Dcm_00140] [SWS_Dcm_00520] SWS DCM p. 477

SecurityAccess (0x27) [SWS_Dcm_00252] decorre em dois passos:

O nível ativo é fornecido por Dcm_GetSecurityLevel [SWS_Dcm_00338].

SecurityAccess (0x27)TesterDcm (DSP)Security-SW-C27 requestSeed (ungerade)altNível já ativopositive Antwort, Seed = 0x00Nível não ativoXxx_GetSeed(OpStatus, Seed, ErrorCode)E_OK + Seedresposta positiva com seed27 sendKey (gerade)Xxx_CompareKey(Key, OpStatus, ErrorCode)altE_OKneues Security-Level setzenModeswitch DcmSecurityAccesspositive AntwortDCM_E_COMPARE_KEY_FAILEDContar tentativa com falhainiciar temporizador de atraso, se aplicávelXxx_SetSecurityAttemptCounter() (falls aktiviert)negative Antwort

Diagrama de sequências: processo de seed/key com tratamento de tentativas falhadas. Fontes: [SWS_Dcm_00323] [SWS_Dcm_91003] [SWS_Dcm_91004] [SWS_Dcm_00660] [SWS_Dcm_01155]

Mudanças de modo do ComM determinam o que o DCM pode enviar e receber:

comm full Full Communication Recepção e envio, ROE e transmissão periódica ativas silent Silent Communication Envio bloqueado (incl. ROE e periódico) full->silent Dcm_ComM_SilentComModeEntered nocom No Communication Recepção e envio bloqueados full->nocom Dcm_ComM_NoComModeEntered silent->full Dcm_ComM_FullComModeEntered silent->nocom Dcm_ComM_NoComModeEntered nocom->full Dcm_ComM_FullComModeEntered nocom->silent Dcm_ComM_SilentComModeEntered

Diagrama de estados: permissões de envio e de receção do DCM por modo do ComM. Fontes: [SWS_Dcm_00356] [SWS_Dcm_00358] [SWS_Dcm_00360] SWS DCM p. 478.

Response On Event e salto para o bootloader

Cada evento ROE possui os estados «cleared», «stopped» e «started» [SWS_Dcm_00871] (SWS DCM p. 61):

Um evento é despoletado por Dcm_TriggerOnEvent ou Dcm_DemTriggerOnDTCStatus [SWS_Dcm_00920] [SWS_Dcm_00614]. O ServiceToRespondTo correspondente é então executado como um pedido normal [SWS_Dcm_00922].

roe init Dcm_Init cleared ROE cleared init->cleared stopped ROE stopped cleared->stopped configuração válida stopped->cleared clearResponseOnEvent (0x06) started ROE started stopped->started startResponseOnEvent (0x05) started->cleared clearResponseOnEvent (0x06) started->stopped stopResponseOnEvent (0x00) ou saída da sessão

Diagrama de estados: ciclo de vida de um RoeEvent. Fontes: [SWS_Dcm_00872] [SWS_Dcm_00873] [SWS_Dcm_00876] [SWS_Dcm_00879] SWS DCM p. 61

Se o serviço 0x10 solicitar uma sessão para um bootloader de OEM ou de fornecedor [SWS_Dcm_00532] [SWS_Dcm_00592], decorre o seguinte processo (SWS DCM p. 489):

  1. O DCM transfere o contexto (Dcm_ProgConditionsType) para Dcm_SetProgConditions [SWS_Dcm_00543] [SWS_Dcm_00988].
  2. Com E_OK, comuta o modo DcmEcuReset [SWS_Dcm_00719].
  3. Após o reinício, Dcm_GetProgConditions comunica via Dcm_EcuStartModeType se é devida uma resposta [SWS_Dcm_00544] [SWS_Dcm_00987].
Salto para o bootloaderTesterDcmDcm-Callouts (Integrator)Nutzer DcmEcuReset10 02 (Bootloader-Sitzung)NRC 0x78 (dependente da configuração)Dcm_SetProgConditions(OpStatus, ProgConditions)altE_OKModeswitch DcmEcuReset:JUMPTOBOOTLOADER / JUMPTOSYSSUPPLIERBOOTLOADERReset / salto para o bootloaderDCM_E_PENDINGnova chamada no próximo ciclo da MainFunctionE_NOT_OKkein Reset, DET-FehlerUse Case: Após o retorno do bootloaderDcm_GetProgConditions() durante Dcm_InitDCM_WARM_START + ProgConditionsoptResponseRequired = TRUEpositive Antwort ($50 / $51)

Diagrama de sequências: salto para o bootloader e resposta após o retorno. Interpretação: o utilizador de DcmEcuReset aciona o reset. Fontes: [SWS_Dcm_00720] [SWS_Dcm_01184] [SWS_Dcm_01181] [SWS_Dcm_00536] SWS DCM p. 489

Comportamento em caso de erro

Erros são traduzidos, na sua maioria, em respostas negativas. Onde não estiver previsto nenhum código especial, o DCM envia NRC 0x10 [SWS_Dcm_00271]. Os casos individuais:

Evidências mais detalhadas

Guia gerado por IA com base nos requisitos e passagens de documentos fornecidos no prompt para a R20-11; diagramas de versões posteriores servem apenas para ilustração. Apenas a especificação é normativa.

Diagnostic Communication Manager (DCM)

The DCM implements unified diagnostic services according to ISO 14229-1 (UDS) and ISO 15765-4 (OBD). It manages diagnostic sessions, security levels, and service routing.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

função Dcm_Init [SWS_Dcm_00037] 📄 PDF

void Dcm_Init (const Dcm_ConfigType* ConfigPtr);

Service for basic initialization of DCM module.

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

A função síncrona e não reentrante Dcm_Init serve para a inicialização básica do módulo DCM [SWS_Dcm_00037]. Ela recebe, por meio do parâmetro ConfigPtr, um ponteiro para o conjunto de configuração em variantes post-build e não possui valor de retorno [SWS_Dcm_00037]. Durante a execução, o módulo inicializa todas as variáveis globais do DCM com os valores da configuração [SWS_Dcm_00334].

No âmbito do fluxo de inicialização, são configurados diferentes estados e áreas funcionais:

  • Gerenciamento de DDDID: se o parâmetro de configuração DcmDDDIDStorage estiver definido como FALSE, o DCM inicializa, durante a inicialização (startup), todos os identificadores de dados definidos dinamicamente (DDDIDs) como não existentes [SWS_Dcm_00866]. Se o parâmetro estiver definido como TRUE, as definições de DDDID são restauradas a partir da NvM [SWS_Dcm_00867].
  • Response on Event (ROE): o DCM transita o estado de cada evento durante Dcm_Init para o status 'ROE cleared' [SWS_Dcm_00872].
  • Status de autenticação: se DcmDspAuthenticationPersistStateModeRuleRef não estiver configurado ou a regra de modo referenciada for avaliada como false, o módulo coloca todos os estados de autenticação no estado 'deauthenticated' [SWS_Dcm_01480].
  • Status de comunicação: após a conclusão de Dcm_Init, o DCM define o parâmetro ActiveDiagnostic como 'DCM_COMM_ACTIVE' [SWS_Dcm_01069].

Em relação ao ambiente de execução, está estabelecido que Dcm_Init não é reentrante [SWS_Dcm_00037]. Códigos de erro específicos, bem como mensagens de erro padronizadas para DET ou DEM, não são indicados para este serviço de inicialização na especificação da interface [SWS_Dcm_00037].

Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR.

Guia do implementador em breve (complexidade I2)

função Dcm_DemTriggerOnDTCStatus [SWS_Dcm_00614] 📄 PDF

Std_ReturnType Dcm_DemTriggerOnDTCStatus (uint32 DTC, Dem_UdsStatusByteType DTCStatusOld, Dem_UdsStatusByteType DTCStatusNew);

Triggers on changes of the UDS status byte. Allows to trigger on ROE Event for subservice On DTCStatusChanged.

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

usar

A interface síncrona Dcm_DemTriggerOnDTCStatus (ID de serviço 0x2B) está disponível através do cabeçalho Dcm_Dem.h e serve para reportar alterações do byte de status UDS ao DCM [SWS_Dcm_00614]. Isso permite ao DCM o disparo de eventos Response-on-Event (ROE) para o sub-serviço de diagnóstico OnDTCStatusChanged [SWS_Dcm_00614]. Na chamada, a função recebe três parâmetros de entrada: o código de falha afetado DTC (uint32), o estado anterior DTCStatusOld (Dem_UdsStatusByteType), bem como o estado atualizado DTCStatusNew (Dem_UdsStatusByteType) [SWS_Dcm_00614]. Não existem parâmetros de entrada e saída [SWS_Dcm_00614].

Valores de retorno e tratamento de erros

Como valor de retorno, a função fornece o tipo Std_ReturnType, sendo retornado E_OK sem exceção, segundo a especificação [SWS_Dcm_00614]. Códigos de erro específicos, valores de fallback ou notificações separadas para DEM ou DET não são indicados para esta chamada.

Concorrência e interação

A função é classificada como reentrante e dispõe de uma semântica de execução síncrona [SWS_Dcm_00614]. No que diz respeito à interação com requisições de diagnóstico, aplica-se uma condição limite fixa: se uma solicitação para limpar a memória de eventos (EventMemory) estiver sendo processada atualmente no DCM, o DCM deve ignorar chamadas recebidas do callback Dcm_DemTriggerOnDTCStatus [SWS_Dcm_01410].

Esta nota de uso baseia-se nas especificações do release AUTOSAR Classic R20-11.

Guia do implementador em breve (complexidade I2)

função Dcm_BndMWriteBlockFinish [SWS_Dcm_91088] 📄 PDF

void Dcm_BndMWriteBlockFinish (BndM_BlockIdType BlockId, BndM_ResultType result);

Called by BndM to indicate that a block write operation has finished.

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

A função Dcm_BndMWriteBlockFinish serve como interface de notificação do BndM ao DCM para indicar a conclusão de uma operação de escrita de bloco [SWS_Dcm_91088]. A função é declarada no ficheiro de cabeçalho Dcm.h, possui o Service-ID 0x7a, não retorna nenhum valor (void) e é executada de forma síncrona [SWS_Dcm_91088].

A interface espera dois parâmetros de passagem [SWS_Dcm_91088]:

  • BlockId (tipo: BndM_BlockIdType): Identifica o bloco cuja operação de escrita foi concluída.
  • result (tipo: BndM_ResultType): Transmite o resultado da operação de escrita ao DCM.

A interação funcional e o comportamento em caso de erro estão acoplados a operações atómicas de escrita BndM previamente desencadeadas pelo DCM:

  • Se Dcm_BndMWriteBlockFinish for chamada com o estado result = E_OK, o DCM envia uma resposta de diagnóstico positiva ao pedido pendente [SWS_Dcm_01584].
  • Se a função for chamada com result = E_NOT_OK, o DCM reage em caso de erro com uma resposta de diagnóstico negativa 0x72 (generalProgrammingFailure) [SWS_Dcm_01585].

No que diz respeito à concorrência, Dcm_BndMWriteBlockFinish está especificada como não reentrante (Non Reentrant) [SWS_Dcm_91088]. Consequentemente, os chamadores devem assegurar que a função não seja chamada em paralelo ou de forma interruptiva por múltiplos contextos.

Esta nota de uso foi gerada por uma IA e baseia-se na especificação AUTOSAR R20-11.

função Dcm_SetDeauthenticatedRole [SWS_Dcm_91069] 📄 PDF

Std_ReturnType Dcm_SetDeauthenticatedRole (uint16 connectionId, Dcm_AuthenticationRoleType deauthenticatedRole);

Sets a new role used in deauthenticated state for that connection. The set role is valid until the connection switches into authenticated state or the ECU is reset.

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

Utilização e contexto de chamada

A função Dcm_SetDeauthenticatedRole é executada de forma síncrona e reentrante ([SWS_Dcm_91069]). Ela permite que um componente de software atribua uma nova função (role) deauthenticatedRole do tipo Dcm_AuthenticationRoleType para o estado desautenticado para uma conexão identificada por connectionId ([SWS_Dcm_91069], [SWS_Dcm_01486]). Como valor de retorno, é fornecido invariavelmente E_OK ([SWS_Dcm_91069]).

Condições de estado e tratamento de erros

Uma chamada só é processada pelo DCM se a conexão estiver no estado desautenticado (deauthenticated state) ([SWS_Dcm_01487]). Como a assinatura não prevê valores de erro alternativos e retorna sempre E_OK ([SWS_Dcm_91069]), presume-se que uma chamada fora deste estado seja descartada sem mensagem de erro. Pergunta Q-6f14770eae6ce896 (aberta) Eventos DET ou DEM específicos não estão definidos na especificação.

Duração de validade e ciclo de vida

Se a função para o estado desautenticado for assumida com sucesso ([SWS_Dcm_01486]), essa atribuição permanece temporariamente:

  • A função definida é descartada assim que a conexão muda para o estado autenticado (authenticated state) ([SWS_Dcm_01488]).
  • A validade termina, no mais tardar, após um reset da unidade de controle ([SWS_Dcm_91069]).

Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR.

Guia do implementador em breve (complexidade I2)

função Dcm_GetSecurityLevel [SWS_Dcm_00338] 📄 PDF

Std_ReturnType Dcm_GetSecurityLevel (Dcm_SecLevelType* SecLevel);

This function provides the active security level value.

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

A função síncrona e reentrante Dcm_GetSecurityLevel consulta o nível de segurança atualmente ativo do DCM e o disponibiliza [SWS_Dcm_00338]. A função é declarada através do cabeçalho Dcm.h e passa o valor de status determinado ao chamador através do parâmetro de saída SecLevel do tipo Dcm_SecLevelType*. Como valor de retorno, segundo a especificação, é retornado invariavelmente E_OK [SWS_Dcm_00338].

A determinação do nível de segurança interno baseia-se no parâmetro SecurityAccessType transmitido pelo testador no âmbito do serviço SecurityAccess, de acordo com a fórmula fixa de conversão SecurityLevel = (SecurityAccessType + 1) / 2 [SWS_Dcm_00338].

Na interação com o processamento de serviço de diagnóstico de nível superior, entre outros, o submódulo DSP recorre a este valor: se o módulo recebe uma solicitação configurada com o tipo de subfunção «requestSeed» (valor ímpar) e o nível de acesso correspondente já estiver ativo segundo Dcm_GetSecurityLevel, o submódulo DSP define o conteúdo da seed para 0x00 [SWS_Dcm_00323].

Em termos de concorrência e tratamento de erros, a função é definida como reentrante [SWS_Dcm_00338]. Como não há códigos de erro específicos ou verificações de DET especificados e E_OK é sempre retornado, provavelmente não ocorre verificação de ponteiro nulo; os chamadores devem, portanto, presumivelmente sempre passar um ponteiro válido para o espaço de memória para SecLevel. Pergunta Q-5402d82ac0151b22 (aberta)

Este texto foi criado por uma IA. As informações podem estar incompletas; a especificação AUTOSAR é a referência definitiva.

Guia do implementador em breve (complexidade I1)

função Dcm_ResetToDefaultSession [SWS_Dcm_00520] 📄 PDF

Std_ReturnType Dcm_ResetToDefaultSession (void);

The call to this function allows the application to reset the current session to Default session. Example: Automatic termination of an extended diagnostic session upon exceeding of a speed limit.

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

A função síncrona Dcm_ResetToDefaultSession permite à aplicação redefinir a sessão de diagnóstico ativa para a sessão padrão (Default Session) [SWS_Dcm_00520]. Um caso de uso típico é o encerramento automático de uma sessão de diagnóstico estendida assim que um veículo ultrapassa um limite de velocidade predefinido [SWS_Dcm_00520].

Utilização e tratamento de erros

  • Interface e parâmetros: A função está disponível através de Dcm.h com o Service-ID 0x2a, possui a assinatura Std_ReturnType Dcm_ResetToDefaultSession (void) e não requer parâmetros de passagem [SWS_Dcm_00520].
  • Valor de retorno e erros: Como tipo de retorno é retornado Std_ReturnType, sendo retornado sem exceção o valor E_OK [SWS_Dcm_00520]. Códigos de erro específicos, verificações de tempo de execução DET ou eventos DEM não estão especificados nos requisitos para esta chamada.

Concorrência e interação

A execução ocorre de forma síncrona e está declarada como reentrante [SWS_Dcm_00520].

Além da mudança de sessão propriamente dita, Dcm_ResetToDefaultSession dispara obrigatoriamente uma mudança de modo para o ModeDeclarationGroupPrototype DcmDiagnosticSessionControl [SWS_Dcm_01062]. Para isso, a função chama internamente SchM_Switch_<bsnp>_DcmDiagnosticSessionControl(RTE_MODE_DcmDiagnosticSessionControl_DCM_DEFAULT_SESSION) a fim de notificar o ambiente do sistema sobre a transição para a sessão padrão [SWS_Dcm_01062].

Esta nota de uso foi gerada de forma automatizada com base na especificação do AUTOSAR Classic R20-11.

Guia do implementador em breve (complexidade I1)

função Dcm_TriggerOnEvent [SWS_Dcm_00521] 📄 PDF

Std_ReturnType Dcm_TriggerOnEvent (uint8 RoeEventId);

The call to this function allows to trigger an event linked to a ResponseOnEvent request. On the function call, the DCM will execute the associated service if the corresponding Mode of the Roe EventId is 'ROE started'.

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

A função síncrona Dcm_TriggerOnEvent (ID de serviço 0x2D), disponibilizada por meio do cabeçalho Dcm.h, serve para disparar um evento que está vinculado a uma solicitação ResponseOnEvent (ROE) [SWS_Dcm_00521].

Chamada e modo de operação

O chamador passa como único parâmetro RoeEventId (parâmetro de entrada do tipo uint8), o qual identifica o evento a ser disparado; não existem parâmetros de entrada ou saída adicionais [SWS_Dcm_00521]. Assim que a função é chamada, o DCM verifica o estado do evento: se o RoeEvent passado estiver ativo, o DCM dispara o respectivo evento [SWS_Dcm_00920]. O DCM executa o serviço associado ao evento desde que o modo correspondente do RoeEventId esteja em ‘ROE started’ [SWS_Dcm_00521].

Valores de retorno e validação

A chamada retorna sincronamente um status do tipo Std_ReturnType, que informa sobre a validade do parâmetro [SWS_Dcm_00521]:

Concorrência e propriedades

A interface é especificada como reentrante [SWS_Dcm_00521]. Ela pode, portanto, ser chamada concorrentemente para reportar eventos de forma síncrona ao DCM [SWS_Dcm_00521].

Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR CP R20-11.

Guia do implementador em breve (complexidade I1)

função Dcm_StartOfReception [SWS_Dcm_00094] 📄 PDF

BufReq_ReturnType Dcm_StartOfReception (PduIdType id, const PduInfoType* info, PduLengthType TpSduLength, PduLengthType* bufferSizePtr);

This function is called at the start of receiving an N-SDU. The N-SDU might be fragmented into multiple N-PDUs (FF with one or more following CFs) or might consist of a single N-PDU (SF). The service shall provide the currently available maximum buffer size when invoked with TpSdu Length equal to 0. This function might be called in interrupt context.

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

A função síncrona e reentrante Dcm_StartOfReception ([SWS_Dcm_00094]) é chamada por um módulo de protocolo de transporte no início da recepção de uma N-SDU – tanto em mensagens únicas (Single Frame, SF) quanto em mensagens segmentadas (First Frame, FF). Ela pode ser chamada no contexto de interrupção ([SWS_Dcm_00094]). A chamada provoca, entre outros, a parada do temporizador S3Server no início da recepção ([SWS_Dcm_00141]).

Por meio de info são transmitidos dados úteis e metadados; em conexões genéricas, são armazenados através dele, entre outros, SOURCE_ADDRESS_16 ([SWS_Dcm_00848]) e verificados TARGET_ADDRESS_16 ([SWS_Dcm_01347]). Se não houver payload nem metadado presente, é passado NULL_PTR ([SWS_Dcm_00094]). Por meio de bufferSizePtr, a função informa o buffer disponível para o cálculo do Block Size (BS) ([SWS_Dcm_00094]). Em caso de aceitação bem-sucedida, ela retorna BUFREQ_OK, após o que os dados subsequentes são copiados via Dcm_CopyRxData ([SWS_Dcm_00443]).

Casos de erro e de rejeição são sinalizados através do valor de retorno:

  • BUFREQ_E_OVFL: É retornado se o comprimento solicitado TpSduLength for maior que o buffer disponível no DCM ([SWS_Dcm_00094], [SWS_Dcm_00444]). bufferSizePtr permanece inalterado ([SWS_Dcm_00094]).
  • BUFREQ_E_NOT_OK: É retornado se TpSduLength for igual a 0 ([SWS_Dcm_00642]) ou se uma solicitação em andamento bloquear na mesma conexão ([SWS_Dcm_00557]). Em outra conexão, o parâmetro DcmDslDiagRespOnSecondDeclinedRequest decide se é rejeitado com BUFREQ_E_NOT_OK ([SWS_Dcm_00790]) ou aceito com BUFREQ_OK ([SWS_Dcm_00788]). Solicitações TesterPresent concorrentes também são confirmadas com BUFREQ_OK ([SWS_Dcm_00557]).

Este texto foi gerado por uma IA. Todas as informações baseiam-se exclusivamente no excerto da especificação AUTOSAR R20-11.

Guia do implementador em breve (complexidade I2)

função Dcm_CopyRxData [SWS_Dcm_00556] 📄 PDF

BufReq_ReturnType Dcm_CopyRxData (PduIdType id, const PduInfoType* info, PduLengthType* bufferSizePtr);

This function is called to provide the received data of an I-PDU segment (N-PDU) to the upper layer. Each call to this function provides the next part of the I-PDU data. The size of the remaining buffer is written to the position indicated by bufferSizePtr. This function might be called in interrupt context.

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

usar

A função síncrona Dcm_CopyRxData é chamada para transferir dados recebidos de um segmento de I-PDU (N-PDU) para a camada superior no DCM [SWS_Dcm_00556]. Cada chamada disponibiliza a parte seguinte dos dados da I-PDU [SWS_Dcm_00556]. A I-PDU recebida é identificada por meio do parâmetro id [SWS_Dcm_00556]. O ponteiro info disponibiliza o buffer de origem por meio de SduDataPtr, bem como a quantidade de bytes a serem copiados por meio de SduLength [SWS_Dcm_00556]. Após a conclusão do processo de cópia, o tamanho do buffer livre restante no DCM é reportado por meio de bufferSizePtr [SWS_Dcm_00556], [SWS_Dcm_00443].

Se Dcm_CopyRxData for chamada com um SduLength de 0, isso serve para uma simples consulta de buffer [SWS_Dcm_00556]. Nesse caso, SduDataPtr pode ser um NULL_PTR; a função retorna BUFREQ_OK e insere o tamanho restante do buffer de recepção em bufferSizePtr [SWS_Dcm_00556], [SWS_Dcm_00996].

Interação

Antes da cópia, Dcm_StartOfReception deve ter sido concluída com BUFREQ_OK; chamadas subsequentes de Dcm_CopyRxData copiam os dados do buffer disponibilizado para o buffer do DCM e atualizam bufferSizePtr [SWS_Dcm_00443].

Tratamento de erros

A função retorna o status como BufReq_ReturnType: BUFREQ_OK confirma a cópia bem-sucedida ou a consulta de buffer, enquanto BUFREQ_E_NOT_OK indica que nenhum dado foi copiado devido a um erro [SWS_Dcm_00556], [SWS_Dcm_00996].

Simultaneidade e restrições

Dcm_CopyRxData é especificada como reentrante e pode ser chamada no contexto de interrupção [SWS_Dcm_00556]. A interface é disponibilizada por meio de Dcm.h [SWS_Dcm_00556].

Esta nota de uso foi gerada por uma IA com base na especificação AUTOSAR CP R20-11.

Guia do implementador em breve (complexidade I1)

função Dcm_TpRxIndication [SWS_Dcm_00093] 📄 PDF

void Dcm_TpRxIndication (PduIdType id, Std_ReturnType result);

Called after an I-PDU has been received via the TP API, the result indicates whether the transmission was successful or not. This function might be called in interrupt context.

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

Utilização e contexto de chamada

A função síncrona Dcm_TpRxIndication é chamada após a recepção de uma I-PDU por meio da TP-API, tipicamente pelo módulo PduR [SWS_Dcm_00093], [SWS_Dcm_00112]. Ela transmite a identificação da PDU (id) bem como o resultado da recepção (result) e não retorna nenhum valor [SWS_Dcm_00093]. Como a função é reentrante e pode ser chamada no contexto de interrupção, o chamador e os estados do módulo devem ser projetados para a correspondente concorrência [SWS_Dcm_00093].

Comportamento em caso de recepção com erro

Se Dcm_TpRxIndication for chamado com um valor de resultado diferente de E_OK, o módulo Dcm não deve avaliar o buffer atribuído à I-PDU referenciada [SWS_Dcm_00344].

Interação dos submódulos

O submódulo DSL encaminha dados recebidos ao submódulo DSD exclusivamente se a chamada tiver ocorrido com o valor de parâmetro result = E_OK [SWS_Dcm_00111]. Para solicitações de diagnóstico, aplicam-se regras específicas:

  • Caso a solicitação recebida com sucesso (Result = E_OK) seja o comando TesterPresent com suppressPosRspMsgIndicationBit definido (SID 0x3E, subfunção 0x80), o submódulo DSL redefine o temporizador de timeout de sessão S3Server [SWS_Dcm_00112].
  • Neste caso, a solicitação não é encaminhada pelo submódulo DSL ao submódulo DSD para posterior interpretação [SWS_Dcm_00113].

Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR Classic R20-11.

Guia do implementador em breve (complexidade I2)

função Dcm_CopyTxData [SWS_Dcm_00092] 📄 PDF

BufReq_ReturnType Dcm_CopyTxData (PduIdType id, const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);

This function is called to acquire the transmit data of an I-PDU segment (N-PDU). Each call to this function provides the next part of the I-PDU data unless retry->TpDataState is TP_ DATARETRY. In this case the function restarts to copy the data beginning at the offset from the current position indicated by retry->TxTpDataCnt. The size of the remaining data is written to the position indicated by availableDataPtr. This function might be called in interrupt context.

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

Utilização e semântica

A função síncrona e reentrante Dcm_CopyTxData é chamada por módulos da camada inferior (como protocolos de transporte) para recuperar dados de um segmento de I-PDU (N-PDU) para a transmissão [SWS_Dcm_00092]. Por meio do parâmetro info, o chamador transfere o buffer de destino SduDataPtr e o comprimento em bytes desejado SduLength. Um valor de 0 para SduLength pode ser utilizado para sinalizar alterações de status via retry ou para consultar a quantidade de dados disponíveis; SduDataPtr pode, nesse caso, ser um NULL_PTR [SWS_Dcm_00092]. Por meio de availableDataPtr, o DCM reporta a quantidade restante de bytes no buffer de envio, que pode ser utilizada por módulos TP para determinar tamanhos de segmentos subsequentes e não deve exceder a quantidade de bytes ainda a serem transmitidos [SWS_Dcm_00092], [SWS_Dcm_00350].

Gerenciamento de buffer e repetição de transmissão

Por meio do parâmetro retry, controla-se a confirmação ou repetição de dados [SWS_Dcm_00092]:

  • Se retry for um NULL_PTR, os dados podem ser removidos do buffer imediatamente após o procedimento de cópia [SWS_Dcm_00092].
  • Com TP_CONFPENDING, os dados copiados anteriormente devem permanecer no buffer do TP para um eventual tratamento de erros [SWS_Dcm_00092].
  • TP_DATACONF confirma a liberação de todos os dados copiados antes desta chamada [SWS_Dcm_00092].
  • TP_DATARETRY copia novamente dados a partir do deslocamento (offset) TxTpDataCnt em relação à posição atual [SWS_Dcm_00092].

Valores de retorno e tratamento de erros

Se os dados foram copiados com sucesso e na íntegra, a função retorna BUFREQ_OK [SWS_Dcm_00092], [SWS_Dcm_00346]. Se não houver dados de envio suficientes disponíveis, nenhum procedimento de cópia será realizado e BUFREQ_E_BUSY será retornado; a camada inferior pode repetir a chamada mais tarde [SWS_Dcm_00092]. Se a requisição falhar, a função fornece BUFREQ_E_NOT_OK [SWS_Dcm_00092]. Nesse caso, a requisição de envio de PduR_DcmTransmit() ainda não está concluída; apenas uma chamada conclusiva de Dcm_TpTxConfirmation finaliza o processo e possibilita novas transmissões [SWS_Dcm_00350].

simultaneidade

A função é reentrante e também pode ser chamada no contexto de interrupção [SWS_Dcm_00092].

Esta nota de uso baseia-se nas especificações da AUTOSAR Classic Platform Release R20-11.

Guia do implementador em breve (complexidade I2)

função Dcm_TpTxConfirmation [SWS_Dcm_00351] 📄 PDF

void Dcm_TpTxConfirmation (PduIdType id, Std_ReturnType result);

This function is called after the I-PDU has been transmitted on its network, the result indicates whether the transmission was successful or not. This function might be called in interrupt context.

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

A função de callback Dcm_TpTxConfirmation ([SWS_Dcm_00351]) é chamada de forma síncrona pela camada de transporte inferior após uma I-PDU de diagnóstico ter sido transmitida na rede. Por meio do parâmetro id identifica-se a I-PDU afetada, enquanto result reporta o sucesso ou insucesso do processo de envio ([SWS_Dcm_00351]). A função não possui valor de retorno, é reentrante e pode ser executada explicitamente no contexto de interrupção ([SWS_Dcm_00351]).

Ao chamar Dcm_TpTxConfirmation, o módulo DCM realiza limpezas centrais e transições de estado:

  • O buffer de transmissão atribuído é desbloqueado ([SWS_Dcm_00352]).
  • Monitoramentos de erros em andamento, como timeouts de buffer de página bem como timeouts de P2ServerMax e P2*ServerMax, são parados ([SWS_Dcm_00353]).
  • O DcmPduId da conexão, bloqueado desde a recepção (Dcm_TpRxIndication), é liberado, de modo que solicitações subsequentes possam ser recebidas ([SWS_Dcm_00241]).
  • O protocolo atual não é encerrado pela confirmação da resposta do DSL (nenhuma chamada de xxx_StopProtocol) ([SWS_Dcm_00624]).

Em caso de erro (quando result indicar um erro ou um cancelamento após um Dcm_CopyTxData com falha for confirmado), [SWS_Dcm_00350] exige obrigatoriamente esta chamada final para concluir formalmente o job de transmissão e permitir novas transmissões via PduR_DcmTransmit(). Em caso de confirmação com erro, o submódulo DSD não deve enviar a resposta de diagnóstico novamente ([SWS_Dcm_00118]).

Adicionalmente, a confirmação de uma resposta (diferente de NRC 0x78) marca a conclusão regular de uma solicitação de diagnóstico ([SWS_Dcm_01378]). Após a confirmação de uma resposta positiva a um EcuReset, o DCM ignora todas as demais solicitações durante o processamento do reset ([SWS_Dcm_00834]).

Este texto foi criado por uma IA; a exatidão não pode ser garantida.

Guia do implementador em breve (complexidade I2)

função Dcm_TxConfirmation [SWS_Dcm_01092] 📄 PDF

void Dcm_TxConfirmation (PduIdType TxPduId, Std_ReturnType result);

The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU. This function might be called in interrupt context.

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

usar

A interface síncrona Dcm_TxConfirmation (Service-ID 0x40, declarada em Dcm.h) é chamada, de acordo com [SWS_Dcm_01092], pelo módulo de interface de comunicação subjacente para confirmar o envio de uma PDU ou reportar a falha da transmissão. A função não possui valor de retorno e processa dois parâmetros de entrada:

  • TxPduId: Identificador (PduIdType) da PDU enviada.
  • result: Status da transmissão (Std_ReturnType). Valores válidos são E_OK em caso de transmissão bem-sucedida, bem como E_NOT_OK caso a transmissão da PDU tenha falhado.

Tratamento de erros e feedback de status

O resultado da transmissão é sinalizado diretamente ao DCM por meio do parâmetro result ([SWS_Dcm_01092]). Mensagens de erro específicas de DET ou DEM não estão definidas no trecho de especificação fornecido para esta função.

Simultaneidade e contexto de chamada

Quanto à reentrância, Dcm_TxConfirmation é reentrante para chamadas com PDU-IDs diferentes, mas não é reentrante para o mesmo TxPduId ([SWS_Dcm_01092]). Deve-se observar que a chamada pelo módulo subjacente pode ocorrer no contexto de interrupção ([SWS_Dcm_01092]).

Interação

No caso de uma transmissão periódica (PeriodicTransmission), o DCM é chamado conforme [SWS_Dcm_01073] por meio de Dcm_TxConfirmation para ser notificado sobre o respectivo resultado de envio.

Esta nota de uso foi criada automaticamente com base na especificação AUTOSAR para R20-11.

Guia do implementador em breve (complexidade I1)

função Dcm_ComM_NoComModeEntered [SWS_Dcm_00356] 📄 PDF

void Dcm_ComM_NoComModeEntered (uint8 NetworkId);

This call informs the Dcm module about a ComM mode change to COMM_NO_ COMMUNICATION.

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

A função síncrona e reentrante Dcm_ComM_NoComModeEntered (Service ID 0x21) informa o módulo DCM sobre a transição de uma rede de comunicação para o estado COMM_NO_COMMUNICATION [SWS_Dcm_00356]. A interface é disponibilizada através do cabeçalho Dcm_ComM.h, não possui valor de retorno e identifica a rede afetada por meio do parâmetro de entrada NetworkId do tipo uint8 [SWS_Dcm_00356].

Com a chamada, o DCM desliga toda a comunicação na rede especificada, de modo que tanto a recepção quanto o envio de mensagens sejam completamente desativados [SWS_Dcm_00148]. Isso inclui obrigatoriamente os seguintes tipos de transmissão:

  • Supressão de transmissões ResponseOnEvent [SWS_Dcm_00149],
  • Desativação de transmissões periódicas através de ReadDataByPeriodicIdentifier (periodicId) [SWS_Dcm_00150], bem como
  • Desligamento de transmissões normais [SWS_Dcm_00151].

Como consequência, o módulo DCM não deve mais chamar a função PduR_DcmTransmit() do PduR para este contexto após a execução de Dcm_ComM_NoComModeEntered [SWS_Dcm_00152].

Se a função for chamada com um NetworkId que não corresponda a nenhum canal ComM referenciado no DCM através do parâmetro de configuração DcmDslProtocolComMChannelRef, o módulo DCM não executa nenhuma ação e retorna imediatamente [SWS_Dcm_01324].

Este texto foi criado por uma IA e passou por controle de qualidade via autodocs.

Guia do implementador em breve (complexidade I2)

função Dcm_ComM_SilentComModeEntered [SWS_Dcm_00358] 📄 PDF

void Dcm_ComM_SilentComModeEntered (uint8 NetworkId);

This call informs the Dcm module about a ComM mode change to COMM_SILENT_ COMMUNICATION.

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

A função síncrona e reentrante Dcm_ComM_SilentComModeEntered ([SWS_Dcm_00358]) serve para informar o módulo DCM sobre a transição de uma rede de comunicação para o estado COMM_SILENT_COMMUNICATION. A interface possui o Service ID 0x22, não retorna nenhum valor e espera como parâmetro de entrada NetworkId o identificador da rede afetada ([SWS_Dcm_00358]). Ela é disponibilizada através do arquivo de cabeçalho Dcm_ComM.h ([SWS_Dcm_00358]).

Assim que esta chamada ocorrer, o DCM deve cessar completamente todas as atividades de transmissão no canal de rede afetado ([SWS_Dcm_00153]). Isso inclui detalhadamente as seguintes medidas:

  • a desativação de todas as transmissões normais ([SWS_Dcm_00156]),
  • a inibição de transmissões Response-on-Event ([SWS_Dcm_00154]), bem como
  • a desativação de transmissões periódicas no âmbito de ReadDataByPeriodicIdentifier ([SWS_Dcm_00155]).

No que diz respeito ao tratamento de erros e condições-limite, está definido que o DCM deve retornar sem nenhuma ação adicional se o NetworkId passado corresponder a um canal ComM que não é referenciado no DCM através do parâmetro de configuração DcmDslProtocolComMChannelRef ([SWS_Dcm_01325]). Erros de desenvolvimento específicos ou valores de retorno de erro não estão especificados para esta chamada.

Interpretação: A chamada provavelmente deve ser efetuada pelo módulo ComM assim que a transição para o modo de comunicação silenciosa for concluída. Pergunta Q-fc9b6303ae0c0e41 (aberta)

Esta nota de utilização foi gerada por um sistema de IA e baseia-se exclusivamente na especificação AUTOSAR R20-11.

Guia do implementador em breve (complexidade I2)

função Dcm_ComM_FullComModeEntered [SWS_Dcm_00360] 📄 PDF

void Dcm_ComM_FullComModeEntered (uint8 NetworkId);

This call informs the Dcm module about a ComM mode change to COMM_FULL_ COMMUNICATION.

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

A função síncrona e reentrante Dcm_ComM_FullComModeEntered é disponibilizada através do arquivo de cabeçalho Dcm_ComM.h e informa o módulo DCM sobre a mudança de uma rede de comunicação para o estado COMM_FULL_COMMUNICATION [SWS_Dcm_00360]. Como parâmetro de entrada serve NetworkId, que identifica a rede afetada pela mudança de modo [SWS_Dcm_00360].

Através da chamada, qualquer comunicação para esta rede é ativada, de modo que tanto a recepção quanto o envio de mensagens são liberados [SWS_Dcm_00157]. Isto inclui os seguintes tipos de transmissão:

Assim que Dcm_ComM_FullComModeEntered tiver sido chamada, o DCM processa as funções internas DslInternal_ResponseOnOneDataByPeriodicId() e DslInternal_ResponseOnOneEvent() sem restrições [SWS_Dcm_00162]. Na sequência temporal, o DCM deve aguardar esta chamada antes que a transmissão de uma resposta de diagnóstico seja iniciada; o tempo de espera a partir do momento da recepção da solicitação não pode ser superior a P2ServerMax [SWS_Dcm_01142].

Em caso de erro, quando o NetworkId passado diz respeito a um canal ComM que não está configurado no DCM (parâmetro DcmDslProtocolComMChannelRef), a função retorna imediatamente e sem ações adicionais [SWS_Dcm_01326].

Esta nota de uso foi gerada por uma IA com base na especificação AUTOSAR CP R20-11.

Guia do implementador em breve (complexidade I2)

função Dcm_CsmAsyncJobFinished [SWS_Dcm_91076] 📄 PDF

Std_ReturnType Dcm_CsmAsyncJobFinished (Csm_ResultType result);

Can be called from Csm upon finishing an asynchronous job processing. The integrator will configure this name as callback function within the Csm ECUC configuration for asynchronous jobs. Only one such callback is available, the Dcm detects the job that has finished by evaluating the job parameter. API availability: This API will be available only if ({ecuc(Dcm/Dcm Dsp/DcmDspAuthentication/DcmDspAuthenticationConnection} != null).

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

Utilização e semântica

A função de callback síncrona e reentrante Dcm_CsmAsyncJobFinished é chamada pelo Crypto Service Manager (CSM) assim que um processamento de tarefa assíncrono estiver concluído [SWS_Dcm_91076]. Como parâmetro de entrada, recebe através de result do tipo Csm_ResultType o resultado do job CSM concluído [SWS_Dcm_91076]. Como valor de retorno, a função retorna sempre E_OK [SWS_Dcm_91076].

Configuração e condições de contorno

Os integradores têm de configurar o nome desta função na configuração ECUC do CSM como callback para jobs assíncronos [SWS_Dcm_91076]. Para o DCM está disponível exclusivamente um único callback deste tipo; a identificação da tarefa concluída ocorre, segundo a especificação, através da avaliação do parâmetro do job [SWS_Dcm_91076]. No entanto, como a assinatura da função C apenas passa result, o DCM deve determinar internamente a tarefa correspondente através do estado de transação da autenticação em curso. Pergunta Q-04ad1d5fb514f467 (aberta)

A interface só está disponível se o parâmetro DcmDspAuthenticationConnection estiver definido na configuração (diferente de null) [SWS_Dcm_91076]. Tratamentos de erro específicos ou mensagens DET não estão especificados para esta chamada, visto que o valor de retorno é invariavelmente E_OK [SWS_Dcm_91076].

Este texto foi gerado por uma IA com base na especificação AUTOSAR R20-11.

Guia do implementador em breve (complexidade I1)

função Dcm_KeyMAsyncCertificateVerifyFinished [SWS_Dcm_91077] 📄 PDF

Std_ReturnType Dcm_KeyMAsyncCertificateVerifyFinished (KeyM_CertificateIdType CertID, KeyM_CertificateStatusType Result);

Can be called from Key upon finishing an asynchronous certificate verification. The integrator will configure this name as callback function within the KeyM ECUC configuration for asynchronous jobs. Only one such callback is available, the Dcm detects the certificate that has finished by evaluating the certId parameter. API availability: This API will be available only if ({ecuc(Dcm/DcmDsp/DcmDspAuthentication/DcmDspAuthenticationConnection} != null).

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

A função de callback síncrona e reentrante Dcm_KeyMAsyncCertificateVerifyFinished é chamada pelo módulo KeyM após a conclusão de uma verificação de certificado assíncrona [SWS_Dcm_91077]. Informa o DCM sobre a conclusão, bem como sobre o resultado do processo de verificação e retorna sempre E_OK como valor de retorno [SWS_Dcm_91077].

Parâmetros e modo de funcionamento

  • CertID: Identificador do certificado cuja verificação foi concluída. Com base neste identificador, o DCM determina qual a tarefa de verificação que foi finalizada [SWS_Dcm_91077].
  • Result: Valor de retorno e estado da tarefa de verificação assíncrona a partir do KeyM [SWS_Dcm_91077].

Configuração e condições de contorno

Os integradores têm de configurar este nome de função na configuração ECUC do KeyM como callback para jobs assíncronos [SWS_Dcm_91077]. Dado que apenas um único callback está disponível para esta notificação, o DCM depende da resolução do respetivo certificado através do parâmetro CertID [SWS_Dcm_91077].

A interface está exclusivamente disponível se o parâmetro de configuração DcmDspAuthenticationConnection estiver configurado no caminho Dcm/DcmDsp/DcmDspAuthentication (!= null) [SWS_Dcm_91077]. Códigos de erro especiais ou mensagens DET não estão especificados para esta chamada [SWS_Dcm_91077].

Esta nota de utilização foi gerada automaticamente.

Guia do implementador em breve (complexidade I2)

função Dcm_ReadMemory [SWS_Dcm_00539] 📄 PDF

Dcm_ReturnReadMemoryType Dcm_ReadMemory (Dcm_OpStatusType OpStatus, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, uint8* MemoryData, Dcm_NegativeResponseCodeType* ErrorCode);

The Dcm_ReadMemory callout is used to request memory data identified by the parameter memoryAddress and memorySize from the UDS request message. This service is needed for the implementation of UDS services: • ReadMemoryByAddress • RequestUpload • ReadDataByIdentifier (in case of Dynamical DID defined by memory address) • TransferData

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

A função callout Dcm_ReadMemory ([SWS_Dcm_00539]), declarada em Dcm_Externals.h, serve para o DCM ler dados da memória do servidor com base no endereço inicial (MemoryAddress) e no tamanho em bytes (MemorySize). A função é necessária para os serviços UDS ReadMemoryByAddress (0x23) ([SWS_Dcm_00495]), ReadDataByIdentifier (0x22) para DIDs dinâmicos no intervalo de endereços 0xF200 a 0xF3FF ([SWS_Dcm_00653]), RequestUpload e TransferData ([SWS_Dcm_00539]). Se o parâmetro MemoryIdentifier não for utilizado, tem de ser definido como 0 ([SWS_Dcm_00539]).

A interface é assíncrona e não reentrante ([SWS_Dcm_00539]). O estado da chamada é passado através de OpStatus com os valores DCM_INITIAL, DCM_PENDING, DCM_CANCEL ou DCM_FORCE_RCRRP_OK. Enquanto o processo de leitura decorrer, a função retorna DCM_READ_PENDING ([SWS_Dcm_00985]). Se a chamada retornar DCM_READ_FORCE_RCRRP, o DCM aciona de imediato o envio de uma mensagem RCR-RP (NRC 0x78) e pausa chamadas subsequentes até à confirmação de envio ([SWS_Dcm_00839]). Após a confirmação da RCR-RP, o DCM volta a chamar a função de Dcm_MainFunction com OpStatus = DCM_FORCE_RCRRP_OK ([SWS_Dcm_00840]).

Em caso de sucesso, os dados lidos são escritos no buffer MemoryData e é retornado DCM_READ_OK ([SWS_Dcm_00539], [SWS_Dcm_00985]). Se a operação falhar, a função retorna DCM_READ_FAILED e define ErrorCode. O DCM envia então uma resposta negativa com o valor de NRC correspondente ([SWS_Dcm_00644]).

Nota de utilização gerada automaticamente com base na especificação AUTOSAR.

Guia do implementador em breve (complexidade I2)

função Dcm_WriteMemory [SWS_Dcm_00540] 📄 PDF

Dcm_ReturnWriteMemoryType Dcm_WriteMemory (Dcm_OpStatusType OpStatus, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, const uint8* MemoryData, Dcm_NegativeResponseCodeType* ErrorCode);

The Dcm_WriteMemory callout is used to write memory data identified by the parameter memoryAddress and memorySize. This service is needed for the implementation of UDS services : • WriteMemoryByAddress • RequestDownload • TransferData

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

A função callout Dcm_WriteMemory declarada em Dcm_Externals.h é chamada pelo DCM de forma assíncrona e não reentrante para escrever dados na memória com base no endereço inicial e no tamanho em bytes [SWS_Dcm_00540]. Serve para a implementação dos serviços UDS WriteMemoryByAddress (0x3D), RequestDownload e TransferData [SWS_Dcm_00540]. Ao receber WriteMemoryByAddress, o DCM só chama o callout após a verificação do pedido [SWS_Dcm_00491].

Para controlar o fluxo, é passado OpStatus (valores possíveis: DCM_INITIAL, DCM_PENDING, DCM_CANCEL ou DCM_FORCE_RCRRP_OK) [SWS_Dcm_00540]. Os parâmetros MemoryAddress e MemorySize determinam a área de memória de destino, enquanto MemoryData aponta para o buffer de diagnóstico do DCM [SWS_Dcm_00540]. Se MemoryIdentifier ou MemoryAddress (por exemplo, no caso de dados comprimidos) não forem utilizados, estes devem ser definidos como 0 [SWS_Dcm_00540].

O valor de retorno Dcm_ReturnWriteMemoryType [SWS_Dcm_00986] define o processamento posterior no DCM:

  • DCM_WRITE_OK: O processo de escrita foi bem-sucedido [SWS_Dcm_00540], [SWS_Dcm_00986].
  • DCM_WRITE_PENDING: A operação ainda não está concluída e requer chamadas subsequentes [SWS_Dcm_00540], [SWS_Dcm_00986].
  • DCM_WRITE_FORCE_RCRRP: O DCM inicia de imediato o envio de uma Response Pending (NRC 0x78) e suspende chamadas adicionais até à confirmação de envio [SWS_Dcm_00837]. Depois disso, ocorre a nova chamada a partir de Dcm_MainFunction com DCM_FORCE_RCRRP_OK [SWS_Dcm_00838].
  • DCM_WRITE_FAILED: Em caso de erro, o DCM envia uma resposta negativa com o valor de NRC passado através do parâmetro de saída ErrorCode [SWS_Dcm_00540], [SWS_Dcm_00643].

Este texto foi gerado por uma IA com base na especificação AUTOSAR Classic R20-11.

Guia do implementador em breve (complexidade I2)

função Dcm_SetProgConditions [SWS_Dcm_00543] 📄 PDF

Std_ReturnType Dcm_SetProgConditions (Dcm_OpStatusType OpStatus, const Dcm_ProgConditionsType* ProgConditions);

The Dcm_SetProgConditions callout allows the integrator to store relevant information prior to jumping to bootloader / jump due to ECUReset request. The context parameter are defined in Dcm_ProgConditionsType.

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

A função callout Dcm_SetProgConditions permite ao integrador a gravação persistente de informações relevantes antes de uma transição para o bootloader ou de um reset resultante de um pedido ECUReset [SWS_Dcm_00543]. Os dados de contexto relevantes são transmitidos através de um ponteiro para a estrutura Dcm_ProgConditionsType, a qual agrega, entre outros, endereços de conexão e de origem do tester, IDs de serviço e de subfunção, bem como flags de controlo como ReprogramingRequest e ResponseRequired [SWS_Dcm_00988]. Ao receber um serviço UDS 0x10 com a subfunção 0x02, o DCM define estas flags e chama a interface [SWS_Dcm_01182].

A chamada ocorre de forma assíncrona e não é reentrante (Non Reentrant) [SWS_Dcm_00543]. Através do parâmetro OpStatus são controlados os estados DCM_INITIAL, DCM_PENDING, DCM_CANCEL ou DCM_FORCE_RCRRP_OK [SWS_Dcm_00543]. Desde que a execução continue e a função retorne DCM_E_PENDING, o DCM volta a chamar a interface no ciclo seguinte da função principal para concluir a definição [SWS_Dcm_00543], [SWS_Dcm_01184]. Por meio de DCM_E_FORCE_RCRRP, pode ser forçada a transmissão de uma resposta Response-Pending (NRC 0x78) [SWS_Dcm_00543]. Dependendo da configuração, a chamada pelo DCM só ocorre após a transmissão bem-sucedida de NRC 0x78 [SWS_Dcm_00535].

Se as condições foram definidas sem erros e o callout retornar E_OK, o DCM inicia a mudança de modo de ModeDeclarationGroupPrototype DcmEcuReset para EXECUTE [SWS_Dcm_00719], [SWS_Dcm_01163], [SWS_Dcm_01180]. Por outro lado, se o estado não puder ser salvo e a função responder com E_NOT_OK, o reset e o salto para o bootloader não ocorrem, a mudança de modo é impedida e o DCM envia a resposta negativa NRC 0x22 (Conditions not correct) [SWS_Dcm_00715], [SWS_Dcm_01181].

Esta nota de utilização foi gerada por uma IA com base na especificação AUTOSAR Classic Release R20-11.

Guia do implementador em breve (complexidade I2)

função Dcm_GetProgConditions [SWS_Dcm_00544] 📄 PDF

Dcm_EcuStartModeType Dcm_GetProgConditions (Dcm_ProgConditionsType* ProgConditions);

The Dcm_GetProgConditions callout is called upon Dcm initialization and allows to determine if a response ($50 or $51) has to be sent. The context parameters are defined in Dcm_Prog ConditionsType.

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

A função de callout Dcm_GetProgConditions com o ID de serviço 0x62 é chamada durante a inicialização do DCM para determinar se uma resposta de diagnóstico pendente para o serviço $50 ou $51 deve ser enviada [SWS_Dcm_00544]. A declaração da interface é fornecida através do arquivo de cabeçalho Dcm_Externals.h [SWS_Dcm_00544].

Utilização e parâmetros

A execução da função ocorre de forma síncrona, não sendo passados parâmetros regulares de entrada ou de entrada/saída [SWS_Dcm_00544]:

  • Parâmetro de saída: Através do ponteiro ProgConditions do tipo Dcm_ProgConditionsType*, o callout retorna as condições sob as quais o salto anterior a partir do bootloader foi solicitado [SWS_Dcm_00544]. Os parâmetros de contexto relevantes estão armazenados no tipo de dados Dcm_ProgConditionsType [SWS_Dcm_00544].
  • Valor de retorno: A função retorna um valor de status do tipo Dcm_EcuStartModeType para o chamador [SWS_Dcm_00544].

Simultaneidade e tratamento de erros

A função é classificada como não reentrante (Non Reentrant) e, portanto, não deve ser executada de forma concorrente [SWS_Dcm_00544]. Para este callout, não estão definidos códigos de erro específicos para DET ou DEM na especificação da interface [SWS_Dcm_00544].

Esta nota de uso foi gerada por uma IA com base na especificação AUTOSAR R20-11.

Guia do implementador em breve (complexidade I1)

função Dcm_ProcessRequestAddFile [SWS_Dcm_91078] 📄 PDF

Std_ReturnType Dcm_ProcessRequestAddFile (Dcm_OpStatusType OpStatus, uint16 filePathAndNameLength, const uint8* filePathAndName, uint8 dataFormatIdentifier, uint64 fileSizeUncompressed, uint64 fileSizeCompressed, uint64* maxNumberOfBlockLength, Dcm_NegativeResponseCodeType* ErrorCode);

Callout function. DCM shall call this function to start a RequestFileTransfer process with mode OfOperation equal to 0x01 (AddFile).

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

A função de callout Dcm_ProcessRequestAddFile é chamada pelo DCM para iniciar o serviço RequestFileTransfer com o modo de operação 0x01 (AddFile) ([SWS_Dcm_91078]). Está disponível através de Dcm_Externals.h, possui o Service-ID 0x72 e está especificada como não reentrante (Non Reentrant) e assíncrona ([SWS_Dcm_91078]).

O controlo do fluxo de chamada assíncrono ocorre através do parâmetro OpStatus:

  • DCM_INITIAL: Todos os parâmetros de entrada são válidos. Entre eles contam-se o caminho e o nome do ficheiro (filePathAndName com filePathAndNameLength), o byte dataFormatIdentifier (nibble superior para compressão, nibble inferior para cifragem), bem como o tamanho do ficheiro não comprimido e comprimido (fileSizeUncompressed, fileSizeCompressed) ([SWS_Dcm_91078]).
  • DCM_PENDING, DCM_CANCEL e DCM_FORCE_RCRRP_OK: Nestas chamadas subsequentes, todos os parâmetros de entrada estão definidos como 0x00 ([SWS_Dcm_91078]).

Como valores de retorno, a função fornece E_OK em caso de execução bem-sucedida, DCM_E_PENDING em caso de processamento contínuo ou DCM_E_FORCE_RCRRP se a aplicação solicitar o envio de uma resposta provisória (NRC 0x78) ([SWS_Dcm_91078], [SWS_Dcm_91086]). Em caso de sucesso, maxNumberOfBlockLength define o comprimento de bloco máximo permitido para futuras mensagens TransferData sem SID e contador de blocos ([SWS_Dcm_91078]).

Em caso de erro, a função retorna E_NOT_OK. Neste caso, tem de ser passado através do parâmetro ErrorCode um código de resposta negativo (NRC), que o DCM envia ao cliente numa resposta de diagnóstico negativa ([SWS_Dcm_91078]). Se a configuração DcmRequestFileTransferUsePort estiver ativada, esta funcionalidade é disponibilizada alternativamente como operação de porta ProcessRequestAddFile da interface RequestFileTransfer ([SWS_Dcm_91086]).

Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR CP R20-11.

Guia do implementador em breve (complexidade I2)

função Dcm_ProcessRequestDeleteFile [SWS_Dcm_91079] 📄 PDF

Std_ReturnType Dcm_ProcessRequestDeleteFile (Dcm_OpStatusType OpStatus, uint16 filePathAndNameLength, const uint8* filePathAndName, Dcm_NegativeResponseCodeType* ErrorCode);

Callout function. DCM shall call this function to start a RequestFileTransfer process with mode OfOperation equal to 0x02 (DeleteFile). Manager

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

Uso e semântica de chamada

A função de callout Dcm_ProcessRequestDeleteFile é chamada pelo DCM para iniciar a eliminação de um ficheiro (modeOfOperation = 0x02) no servidor no âmbito do serviço de diagnóstico RequestFileTransfer [SWS_Dcm_91079]. A função está declarada em Dcm_Externals.h e opera de forma assíncrona e não reentrante (Non Reentrant) [SWS_Dcm_91079].

A passagem e a avaliação ocorrem com base no parâmetro OpStatus:

  • DCM_INITIAL: Indica o início da operação. Aqui, todos os parâmetros de entrada são válidos; filePathAndName passa a localização de armazenamento e o nome do ficheiro a eliminar, cujo comprimento em bytes está especificado através de filePathAndNameLength [SWS_Dcm_91079].
  • DCM_PENDING, DCM_CANCEL ou DCM_FORCE_RCRRP_OK: No caso de processamento contínuo ou cancelamento, todos os parâmetros de entrada estão definidos como 0x00 [SWS_Dcm_91079].

Como valores de retorno, a função retorna E_OK em caso de execução bem-sucedida, DCM_E_PENDING se a execução ainda decorrer e necessitar de mais chamadas, ou DCM_E_FORCE_RCRRP se a aplicação solicitar o envio de uma mensagem intermédia com NRC 0x78 (Response Pending) [SWS_Dcm_91079], de forma análoga ao serviço RequestFileTransfer [SWS_Dcm_91086].

Tratamento de erros

Se o processamento falhar, a função retorna E_NOT_OK. Neste caso, tem de ser fornecido um código de resposta negativo através do parâmetro de saída ErrorCode, o qual o DCM transmite ao testador como resposta negativa (NRC) [SWS_Dcm_91079].

Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR Classic R20-11.

Guia do implementador em breve (complexidade I2)

função Dcm_ProcessRequestReplaceFile [SWS_Dcm_91080] 📄 PDF

Std_ReturnType Dcm_ProcessRequestReplaceFile (Dcm_OpStatusType OpStatus, uint16 filePathAndNameLength, const uint8* filePathAndName, uint8 dataFormatIdentifier, uint64 fileSizeUncompressed, uint64 fileSizeCompressed, uint64* maxNumberOfBlockLength, Dcm_NegativeResponseCodeType* ErrorCode);

Callout function. DCM shall call this function to start a RequestFileTransfer process with mode OfOperation equal to 0x03 (ReplaceFile).

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

A função de callout Dcm_ProcessRequestReplaceFile é chamada pelo DCM para iniciar um processo de diagnóstico para RequestFileTransfer com o modo de operação 0x03 (ReplaceFile) [SWS_Dcm_91080]. A função está definida como não reentrante (Non Reentrant) e assíncrona, sendo disponibilizada através do cabeçalho Dcm_Externals.h [SWS_Dcm_91080].

O controlo do fluxo de processamento assíncrono ocorre através do parâmetro OpStatus:

  • Na chamada inicial com DCM_INITIAL, o DCM passa todos os parâmetros de entrada como válidos, incluindo caminho e nome do ficheiro (filePathAndName com indicação de comprimento filePathAndNameLength), o identificador para compressão e cifragem (dataFormatIdentifier), bem como o tamanho do ficheiro não comprimido e comprimido (fileSizeUncompressed, fileSizeCompressed) [SWS_Dcm_91080].
  • Em chamadas subsequentes ou num cancelamento (DCM_PENDING, DCM_CANCEL, DCM_FORCE_RCRRP_OK), todos os parâmetros de entrada estão definidos como 0x00 [SWS_Dcm_91080].
  • Em caso de sucesso, a função retorna ao DCM, através do parâmetro de saída maxNumberOfBlockLength, o comprimento máximo de dados úteis para pedidos TransferData subsequentes (sem SID e contador de sequência de blocos) [SWS_Dcm_91080].

Como valores de retorno estão previstos E_OK em caso de execução bem-sucedida, DCM_E_PENDING no caso de processamento ainda em curso, bem como DCM_E_FORCE_RCRRP para solicitar uma resposta de Response-Pending (NRC 0x78) [SWS_Dcm_91080], [SWS_Dcm_91086]. Se a execução falhar, a função retorna E_NOT_OK e atribui ao parâmetro ErrorCode o respetivo código de resposta de diagnóstico negativo (NRC), que o DCM transmite ao testador [SWS_Dcm_91080].

Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR CP R20-11.

Guia do implementador em breve (complexidade I2)

função Dcm_ProcessRequestReadFile [SWS_Dcm_91081] 📄 PDF

Std_ReturnType Dcm_ProcessRequestReadFile (Dcm_OpStatusType OpStatus, uint16 filePathAndNameLength, const uint8* filePathAndName, uint8 dataFormatIdentifier, uint64 fileSizeUncompressed, uint64 fileSizeCompressed, uint64* maxNumberOfBlockLength, Dcm_NegativeResponseCodeType* ErrorCode);

Callout function. DCM shall call this function to start a RequestFileTransfer process with mode OfOperation equal to 0x04 (ReadFile).

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

A função de callout Dcm_ProcessRequestReadFile é chamada pelo DCM para iniciar um processo de transferência de ficheiros (serviço RequestFileTransfer) com o modo de operação ReadFile (modeOfOperation 0x04) [SWS_Dcm_91081]. A função é declarada no cabeçalho Dcm_Externals.h, opera de forma assíncrona e é não reentrante (Non Reentrant) [SWS_Dcm_91081].

A chamada é efetuada através do parâmetro de estado OpStatus: na chamada inicial DCM_INITIAL, todos os parâmetros de entrada são válidos, enquanto em chamadas subsequentes com DCM_PENDING, DCM_CANCEL ou DCM_FORCE_RCRRP_OK são definidos como 0x00 [SWS_Dcm_91081]. A aplicação obtém o caminho e o nome do ficheiro através de filePathAndName (comprimento em filePathAndNameLength), o formato de compressão e encriptação através de dataFormatIdentifier, bem como os tamanhos de ficheiro através de fileSizeUncompressed e fileSizeCompressed [SWS_Dcm_91081]. Como parâmetro de saída, a aplicação deve preencher maxNumberOfBlockLength com o número máximo de bytes para respostas subsequentes de TransferData (excluindo SID e contador sequencial de blocos) [SWS_Dcm_91081].

Como valores de retorno de Std_ReturnType, estão definidos E_OK em caso de execução bem-sucedida, DCM_E_PENDING se o processamento assíncrono ainda estiver em curso ou DCM_E_FORCE_RCRRP para solicitar uma resposta de «Response Pending» (NRC 0x78) [SWS_Dcm_91081]. Se a operação falhar, retorna E_NOT_OK; neste caso, o DCM transmite uma resposta negativa ao tester com o valor de NRC definido no parâmetro de saída ErrorCode [SWS_Dcm_91081]. A interação corresponde ao processamento geral do serviço RequestFileTransfer, tal como é configurado analogamente para outras operações de ficheiro como ProcessRequestAddFile [SWS_Dcm_91086].

Este texto foi gerado por um sistema de IA e baseia-se exclusivamente na especificação AUTOSAR Classic R20-11.

Guia do implementador em breve (complexidade I2)

função Dcm_ProcessRequestReadDir [SWS_Dcm_91082] 📄 PDF

Std_ReturnType Dcm_ProcessRequestReadDir (Dcm_OpStatusType OpStatus, uint16 filePathAndNameLength, const uint8* filePathAndName, uint64* dirInfoLength, uint64* maxNumberOfBlockLength, Dcm_NegativeResponseCodeType* ErrorCode);

Callout function. DCM shall call this function to start a RequestFileTransfer process with mode OfOperation equal to 0x05 (ReadDir).

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

usar

A função de callout Dcm_ProcessRequestReadDir é declarada através do ficheiro de cabeçalho Dcm_Externals.h e chamada pelo DCM para iniciar de forma assíncrona o serviço RequestFileTransfer com o modo de operação 0x05 (ReadDir) [SWS_Dcm_91082]. O progresso do processamento é controlado através do parâmetro de passagem OpStatus [SWS_Dcm_91082]. Na primeira chamada com DCM_INITIAL, o DCM transmite o caminho ou nome através de filePathAndName juntamente com o comprimento em bytes filePathAndNameLength [SWS_Dcm_91082]. Em chamadas subsequentes ou em caso de cancelamento (DCM_PENDING, DCM_CANCEL, DCM_FORCE_RCRRP_OK), todos os parâmetros de entrada são definidos como 0x00 [SWS_Dcm_91082].

Como valores de saída, a aplicação deve fornecer o tamanho dos dados de diretório através de dirInfoLength e o tamanho máximo de bloco permitido para transferências subsequentes através de maxNumberOfBlockLength [SWS_Dcm_91082]. Além de E_OK em caso de execução bem-sucedida, a função pode retornar DCM_E_PENDING se a operação ainda estiver em curso, ou DCM_E_FORCE_RCRRP para desencadear o envio de uma resposta intercalar (NRC 0x78) [SWS_Dcm_91082].

Tratamento de erros

Se ocorrer um erro, a função deve retornar E_NOT_OK. Neste caso, o DCM lê o parâmetro ErrorCode e transmite o seu valor como código de resposta negativa (NRC) ao tester [SWS_Dcm_91082]. Não estão previstas notificações específicas de DET ou DEM para a interface; as verificações de erros do caminho fornecido deverão, por isso, recair inteiramente sobre a implementação específica da aplicação. Pergunta Q-278dbc3db7b4363b (aberta)

Concorrência e interação

A função está especificada como não reentrante (Non Reentrant) e, consequentemente, não pode ser chamada concorrentemente para múltiplos pedidos de diagnóstico [SWS_Dcm_91082]. Faz parte do grupo de interfaces do serviço RequestFileTransfer, cuja integração pode ser influenciada através de parâmetros de configuração [SWS_Dcm_91086].

Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR CP R20-11.

Guia do implementador em breve (complexidade I2)

função Dcm_WriteFile [SWS_Dcm_91083] 📄 PDF

Std_ReturnType Dcm_WriteFile (Dcm_OpStatusType OpStatus, uint64 DataLength, uint8* Data, Dcm_NegativeResponseCodeType* ErrorCode);

Callout function. DCM shall call this function when data is received using UDS service Transfer Data if there's an ongoing RequestFileTransfer process started with 0x01 (AddFile) or 0x03 (ReplaceFile).

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

Utilização e contexto de chamada

A função de callout Dcm_WriteFile é chamada pelo DCM quando são recebidos dados através do serviço UDS TransferData (0x36) e está ativo um processo de download previamente iniciado mediante RequestFileTransfer com os modos 0x01 (AddFile) ou 0x03 (ReplaceFile) [SWS_Dcm_01444]. A interface está disponível através de Dcm_Externals.h [SWS_Dcm_91083].

A atribuição de parâmetros depende do estado de progresso OpStatus [SWS_Dcm_91083]:

  • DCM_INITIAL: Todos os parâmetros de entrada são válidos. O ponteiro Data aponta para os dados úteis a escrever, e DataLength indica o seu comprimento em bytes. O valor de DataLength não excede o comprimento máximo de bloco previamente negociado em Dcm_ProcessRequestFileTransfer (NumberOfBlockLength).
  • DCM_PENDING, DCM_CANCEL e DCM_FORCE_RCRRP_OK: Todos os parâmetros de entrada estão definidos como 0x00.

Semântica assíncrona e valores de retorno

A função opera de forma assíncrona e não reentrante (Non Reentrant) [SWS_Dcm_91083]. Fornece os seguintes valores de estado:

  • E_OK: o processo de escrita foi concluído com sucesso.
  • DCM_E_PENDING: O processamento ainda não terminou e requer chamadas adicionais.
  • DCM_E_FORCE_RCRRP: A aplicação solicita o envio de uma resposta de espera (Response Pending, NRC 0x78).
  • E_NOT_OK: A operação falhou.

Tratamento de erros

Se Dcm_WriteFile retornar o valor E_NOT_OK, o módulo DCM envia uma resposta negativa de UDS, cujo NRC corresponde ao valor fornecido através do parâmetro de saída ErrorCode [SWS_Dcm_91083].

Este texto foi gerado por um sistema baseado em IA e está sujeito a comprovação com base na especificação AUTOSAR.

Guia do implementador em breve (complexidade I2)

função Dcm_ReadFileOrDir [SWS_Dcm_91085] 📄 PDF

Std_ReturnType Dcm_ReadFileOrDir (Dcm_OpStatusType OpStatus, uint64* DataLength, uint8* Data, Dcm_NegativeResponseCodeType* ErrorCode);

Callout function. DCM shall call this function when data shall be sent as a response to UDS service TransferData if there's an ongoing RequestFileTransfer process started with 0x04 (ReadFile) or 0x05 (ReadDir).

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

A função de callout Dcm_ReadFileOrDir é chamada pelo módulo DCM quando, no âmbito de um upload de ficheiro ou diretório em curso (previamente iniciado via serviço UDS RequestFileTransfer com modo 0x04 para ReadFile ou 0x05 para ReadDir), é recebido um pedido em conformidade com o formato para o serviço UDS TransferData (0x36) [SWS_Dcm_01445]. A função destina-se a fornecer os dados a enviar como resposta ao cliente [SWS_Dcm_91085]. A declaração da interface está disponível através do cabeçalho Dcm_Externals.h [SWS_Dcm_91085].

A execução é assíncrona e está especificada como não reentrante (Non Reentrant) [SWS_Dcm_91085]. A interação e a atribuição de parâmetros dependem do estado de operação transmitido:

  • Estado de operação (OpStatus): Na chamada inicial com DCM_INITIAL, todos os parâmetros de entrada são válidos. Em chamadas subsequentes ou de cancelamento com DCM_PENDING, DCM_CANCEL ou DCM_FORCE_RCRRP_OK, todos os parâmetros de entrada são definidos como 0x00 [SWS_Dcm_91085].
  • Buffer e comprimento de bloco: O parâmetro DataLength passa, na entrada, o comprimento de bloco máximo permitido (correspondente ao valor reportado ao cliente maxNumberOfBlockLength) e retorna, na saída, o comprimento em bytes efetivamente disponibilizado em Data, que não pode exceder o valor de entrada [SWS_Dcm_91085]. Interpretação: embora Data esteja formalmente declarado na interface como parâmetro In, presume-se que sirva para transferir os dados úteis a ler. Pergunta Q-53de8a0bdbc4a2b4 (aberta)
  • Valores de retorno: A operação fornece E_OK em caso de disponibilização bem-sucedida de dados, DCM_E_PENDING se o processamento ainda não estiver concluído ou DCM_E_FORCE_RCRRP se a aplicação pretender forçar o envio de uma mensagem intercalar (Response Pending, NRC 0x78) [SWS_Dcm_91085].

Se o processamento na aplicação falhar, é retornado E_NOT_OK. Neste caso de erro, o módulo DCM transmite ao cliente uma resposta negativa de UDS (NRC), cujo código de erro corresponde ao valor definido no parâmetro de saída ErrorCode [SWS_Dcm_91085].

Este texto foi gerado por uma IA e serve como guia de orientação. São determinantes as especificações oficiais da AUTOSAR.

Guia do implementador em breve (complexidade I2)

função Dcm_MainFunction [SWS_Dcm_00053] 📄 PDF

void Dcm_MainFunction (void);

This service is used for processing the tasks of the main loop.

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

A função Dcm_MainFunction serve para o processamento das tarefas centrais do loop principal do Diagnostic Communication Manager ([SWS_Dcm_00053]). Ela possui a assinatura void Dcm_MainFunction(void) e não fornece valores de retorno. Como é disponibilizada por meio do cabeçalho SchM_Dcm.h, sua chamada provavelmente deve ocorrer de forma cíclica no contexto de uma tarefa de escalonador (scheduler task) do software básico. Pergunta Q-e083a72aae447ab5 (aberta)

Uma tarefa essencial é o controle e a continuidade através de múltiplos ciclos de fluxos assíncronos:

  • Se uma operação com Dcm_OpStatusType retornar o valor de retorno DCM_E_PENDING, o DCM chamará a operação novamente com OpStatus = DCM_PENDING a cada chamada de Dcm_MainFunction, enquanto esse status persistir ([SWS_Dcm_00530]).
  • Se Dem_ClearDTC() retornar o status DEM_PENDING, a função será chamada novamente no próximo ciclo de Dcm_MainFunction; o DCM envia NRC 78 (ResponsePending) se necessário ([SWS_Dcm_00703]).
  • Chamadas de Dem_SetDTCFilter() com o parâmetro FilterForFault-DetectionCounter definido devem ocorrer obrigatoriamente no contexto de Dcm_MainFunction ([SWS_Dcm_00519]).
  • Após a confirmação de uma transmissão RCR-RP, o DCM chama novamente operações como Dcm_WriteMemory ou Dcm_ReadMemory a partir de Dcm_MainFunction com OpStatus = DCM_FORCE_RCRRP_OK ([SWS_Dcm_00529], [SWS_Dcm_00838], [SWS_Dcm_00840]).
  • Se o valor DCM_E_PENDING for reportado em Xxx_GetSecurityAttemptCounter, a chamada é interrompida e continuada no próximo ciclo ([SWS_Dcm_01351]); ao exceder o timeout configurado, o DCM aborta a operação pendente com OpStatus = DCM_CANCEL ([SWS_Dcm_01352]).

Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR.

Guia do implementador em breve (complexidade I2)

função Xxx_GetSeed [SWS_Dcm_01151] 📄 PDF

Std_ReturnType Xxx_GetSeed (const uint8* SecurityAccessDataRecord, Dcm_OpStatusType OpStatus, uint8* Seed, Dcm_NegativeResponseCodeType* ErrorCode);

Request to application for asynchronous provision of seed value

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

A função Xxx_GetSeed (disponibilizada por meio de Dcm_Externals.h) serve para o fornecimento assíncrono de um valor de semente (seed) pela aplicação para o módulo DCM [SWS_Dcm_01151]. Ela é chamada assim que uma requisição UDS do serviço SecurityAccess (0x27) com o tipo de subfunção “requestSeed” é recebida e o nível de segurança solicitado ainda não está ativo [SWS_Dcm_00862], [SWS_Dcm_00324].

Contexto de chamada e parâmetros

A interface é definida como não reentrante (Non Reentrant) e opera de forma assíncrona [SWS_Dcm_01151]:

  • SecurityAccessDataRecord: Ponteiro para dados de entrada adicionais para o cálculo da semente; o tamanho mínimo é de um byte de acordo com DcmDspSecurityADRSize [SWS_Dcm_01151].
  • OpStatus: Indica o status atual da operação assíncrona [SWS_Dcm_01151].
  • Seed: Ponteiro de saída por meio do qual a aplicação disponibiliza a semente calculada [SWS_Dcm_01151].
  • ErrorCode: Parâmetro de saída para retorno de um código de erro negativo (NRC) [SWS_Dcm_01151].

Valores de retorno e tratamento de erros

  • E_OK: A semente foi determinada e disponibilizada com sucesso [SWS_Dcm_01151].
  • DCM_E_PENDING: O cálculo ainda não foi concluído; cálculos ou chamadas subsequentes são necessários para a finalização [SWS_Dcm_01151].
  • E_NOT_OK: A requisição falhou. Nesse caso, o módulo DCM envia uma resposta UDS negativa com o valor de NRC passado no parâmetro ErrorCode [SWS_Dcm_01151], [SWS_Dcm_00659].

Notas de integração

Dependendo da configuração de DcmDspSecurityUsePort, a conexão ocorre como função C em USE_ASYNCH_FNC (referenciada via DcmDspSecurityGetSeedFnc) [SWS_Dcm_00862] ou como operação Rte em USE_ASYNCH_CLIENT_SERVER [SWS_Dcm_00324]. Caso não precisem ser transmitidos dados de acesso adicionais, utiliza-se a assinatura de função alternativa sem o parâmetro SecurityAccessDataRecord [SWS_Dcm_91003].

Esta nota de uso foi criada automaticamente com base na especificação AUTOSAR CP R20-11.

Guia do implementador em breve (complexidade I2)

função Xxx_GetSeed [SWS_Dcm_91003] 📄 PDF

Std_ReturnType Xxx_GetSeed (Dcm_OpStatusType OpStatus, uint8* Seed, Dcm_NegativeResponseCodeType* ErrorCode);

Request to application for asynchronous provision of seed value

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

A função Xxx_GetSeed serve como interface assíncrona do módulo DCM para a aplicação a fim de disponibilizar um valor de seed no âmbito do serviço UDS SecurityAccess (0x27) em caso de uma solicitação do tipo «requestSeed» [SWS_Dcm_91003], [SWS_Dcm_00862]. A chamada é realizada pelo submódulo DCM-DSP, desde que o nível de segurança ainda não esteja ativo e a configuração preveja USE_ASYNCH_CLIENT_SERVER ou USE_ASYNCH_FNC [SWS_Dcm_00324], [SWS_Dcm_00862].

A interface é implementada de forma assíncrona e não reentrante (Non Reentrant) [SWS_Dcm_91003]. O controle do progresso do processamento ocorre através do parâmetro de entrada OpStatus (tipo Dcm_OpStatusType) [SWS_Dcm_91003]. Como valores de retorno estão definidos E_OK em caso de disponibilização bem-sucedida, E_NOT_OK em caso de falha, bem como DCM_E_PENDING se a geração do seed ainda estiver em andamento e forem necessárias chamadas adicionais [SWS_Dcm_91003]. O valor gerado é passado através do ponteiro Seed (buffer inout/out) [SWS_Dcm_91003].

Se a operação falhar e Xxx_GetSeed retornar E_NOT_OK, o módulo DCM deve enviar uma resposta negativa (NRC) com o código de erro que foi definido através do parâmetro de saída ErrorCode (Dcm_NegativeResponseCodeType) [SWS_Dcm_91003], [SWS_Dcm_00659]. O serviço está declarado através do cabeçalho Dcm_Externals.h [SWS_Dcm_91003].

Este texto foi gerado por uma IA com base no padrão AUTOSAR R20-11.

Guia do implementador em breve (complexidade I2)

função Xxx_CompareKey [SWS_Dcm_91004] 📄 PDF

Std_ReturnType Xxx_CompareKey (const uint8* Key, Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);

Request to application for asynchronous comparing key (DcmDspSecurityUsePort = USE_ ASYNCH_CLIENT_SERVER)

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

A função Xxx_CompareKey é chamada pelo Diagnostic Communication Manager ([SWS_Dcm_91004]) de forma assíncrona e não reentrante para comparar uma chave recebida, no âmbito do serviço UDS SecurityAccess (0x27, subfunção sendKey), com a lógica interna da aplicação ([SWS_Dcm_00863]). Ela é utilizada quando o estado de acesso ainda não está ativo, a solicitação de seed foi bem-sucedida e o parâmetro de configuração DcmDspSecurityUsePort está definido como USE_ASYNCH_CLIENT_SERVER ([SWS_Dcm_00324]) ou, de acordo com [SWS_Dcm_00863], a interface de função foi configurada via USE_ASYNCH_FNC/DcmDspSecurityCompareKeyFnc. A interface está declarada em Dcm_Externals.h ([SWS_Dcm_91004]).

A passagem inclui o ponteiro da chave a ser verificada Key, o status de operação atual OpStatus (do tipo Dcm_OpStatusType), bem como o ponteiro ErrorCode para o código de resposta negativa a ser emitido em caso de erro ([SWS_Dcm_91004]). Como valores de retorno estão especificados:

  • E_OK: Verificação da chave bem-sucedida ([SWS_Dcm_91004]).
  • DCM_E_PENDING: Verificação ainda não concluída; chamadas adicionais pelo módulo DCM para conclusão são necessárias ([SWS_Dcm_91004]).
  • E_NOT_OK: Processamento malsucedido. Em seguida, o DCM envia uma resposta negativa UDS com o NRC definido em ErrorCode, sem alterar o nível de segurança interno ou incrementar o contador de tentativas incorretas (AttemptCounter) ([SWS_Dcm_01150]).
  • DCM_E_COMPARE_KEY_FAILED: A chave não coincide ([SWS_Dcm_91004]).

Se a comparação da chave falhar (DCM_E_COMPARE_KEY_FAILED), caso DcmDspSecurityNumAttDelay esteja configurado, o AttemptCounter é incrementado ([SWS_Dcm_01397]). Se o contador estiver abaixo do valor-limite, o DCM envia o NRC 0x35 (InvalidKey) ([SWS_Dcm_00660]). Se o número de tentativas incorretas atingir ou exceder o limite configurado DcmDspSecurityNumAttDelay, o DCM inicia o SecurityDelayTimer com a duração DcmDspSecurityDelayTime e envia o NRC 0x36 (exceededNumberOfAttempts) ([SWS_Dcm_01349]). Em ambos os casos, o nível de segurança permanece inalterado.

Esta nota de uso foi gerada automaticamente e baseia-se nas especificações do módulo DCM do AUTOSAR Classic R20-11.

Guia do implementador em breve (complexidade I3)

função Xxx_GetSecurityAttemptCounter [SWS_Dcm_01152] 📄 PDF

Std_ReturnType Xxx_GetSecurityAttemptCounter (Dcm_OpStatusType OpStatus, uint8* AttemptCounter);

Read the attempt counter for a specific security level from the application

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

A função assíncrona e não reentrante [SWS_Dcm_01152] lê, durante a inicialização do DCM, o contador de tentativas com falha atual para um nível de segurança configurado a partir da aplicação. A chamada ocorre para cada entrada em DcmDspSecurityRow na qual o parâmetro de configuração DcmDspSecurityAttemptCounterEnabled esteja definido como TRUE [SWS_Dcm_01154].

O controle de fluxo é conduzido por meio do parâmetro OpStatus com os valores DCM_INITIAL, DCM_PENDING ou DCM_CANCEL [SWS_Dcm_01152]. Se a função retornar DCM_E_PENDING, o DCM interrompe a cadeia de chamadas e a retoma no ciclo seguinte de Dcm_MainFunction() [SWS_Dcm_01351]. Caso o monitoramento de tempo DcmDspSecurityMaxAttemptCounterReadoutTime configurado após o primeiro ciclo seja excedido, o DCM cancela o procedimento ainda pendente com DCM_CANCEL [SWS_Dcm_01352].

Em caso de sucesso, a interface retorna E_OK e passa o valor do contador por meio do parâmetro de saída AttemptCounter [SWS_Dcm_01152]. Se a chamada retornar E_NOT_OK, o DCM define o contador automaticamente para o valor configurado para este nível de segurança DcmDspSecurityNumAttDelay [SWS_Dcm_01156].

Enquanto nem todos os valores de contador tiverem sido definitivamente determinados ou cancelados, o DCM rejeita qualquer requisição em SecurityAccess (0x27) para solicitação de uma semente com o código de resposta negativo conditionsNotCorrect (0x22) [SWS_Dcm_01354]. Após a conclusão da cadeia de consultas, o DCM verifica os valores do contador: se pelo menos um contador atingir ou exceder o valor limite DcmDspSecurityNumAttDelay, o DCM inicia o SecurityDelayTimer com o valor mais alto entre DcmDspSecurityDelayTimeOnBoot e DcmDspSecurityDelayTime [SWS_Dcm_01355].

Esta nota de uso foi criada automaticamente com base na especificação AUTOSAR R20-11.

Guia do implementador em breve (complexidade I2)

função Xxx_SetSecurityAttemptCounter [SWS_Dcm_01153] 📄 PDF

Std_ReturnType Xxx_SetSecurityAttemptCounter (Dcm_OpStatusType OpStatus, uint8 AttemptCounter);

Set the attempt counter for a specific security level in the application

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

A função Xxx_SetSecurityAttemptCounter serve para definir o contador de tentativas para um nível de segurança específico na aplicação ([SWS_Dcm_01153]). Ela é disponibilizada por meio do cabeçalho Dcm_Externals.h.

Chamada e semântica

A execução ocorre de forma assíncrona e é especificada como não reentrante (Non Reentrant) ([SWS_Dcm_01153]). A chamada controla o fluxo por meio do parâmetro OpStatus com os valores DCM_INITIAL, DCM_PENDING ou DCM_CANCEL. O novo valor do contador é passado por meio do parâmetro de entrada AttemptCounter (uint8).

Valores de retorno e tratamento de erros

Como tipo de retorno, é utilizado Std_ReturnType ([SWS_Dcm_01153]):

  • E_OK: A requisição foi concluída com sucesso.
  • E_NOT_OK: A execução não foi bem-sucedida.
  • DCM_E_PENDING: O processamento ainda não foi concluído; são necessárias chamadas adicionais para a finalização.

Se uma operação assíncrona em andamento for cancelada, o DCM passa o status DCM_CANCEL ([SWS_Dcm_01153]).

Interação e condições de contorno

O módulo DCM chama Xxx_SetSecurityAttemptCounter assim que tiver alterado o contador de tentativas, a fim de notificar a aplicação sobre a atualização ([SWS_Dcm_01155]). Isso pressupõe que o parâmetro de configuração DcmDspSecurityAttemptCounterEnabled para o respectivo DcmDspSecurityRow esteja configurado como TRUE ([SWS_Dcm_01155]). Como a interface não é reentrante, a aplicação deve excluir uma execução concorrente para a mesma instância ([SWS_Dcm_01153]).

Este texto foi gerado por uma IA com base na especificação AUTOSAR R20-11.

Guia do implementador em breve (complexidade I2)

função Xxx_ReadData [SWS_Dcm_00793] 📄 PDF

Std_ReturnType Xxx_ReadData (uint8* Data);

This function requests to the application a data value of a DID/PID if DcmDspDataUsePort is set to USE_DATA_SYNCH_CLIENT_SERVER.

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

A função síncrona Xxx_ReadData solicita da aplicação o valor de dados atual de um DID ou PID quando o parâmetro de configuração DcmDspDataUsePort está definido como USE_DATA_SYNCH_CLIENT_SERVER [SWS_Dcm_00793]. A interface é disponibilizada através do cabeçalho Dcm_Externals.h e possui o Service ID 0x34 [SWS_Dcm_00793]. A aplicação chamada copia os dados úteis solicitados diretamente no buffer passado Data [SWS_Dcm_00793].

Em relação ao valor de retorno, está definido que a chamada retorna E_OK sem exceção [SWS_Dcm_00793]. Códigos de erro específicos, retornos negativos ou mensagens de DET/DEM não estão especificados para esta assinatura. Interpretação: A falha no fornecimento de dados presumivelmente não está prevista neste nível de interface, uma vez que, ao contrário da variante assíncrona [SWS_Dcm_91005], não existem nem um parâmetro ErrorCode para códigos de resposta negativa (NRC) nem valores de retorno como E_NOT_OK ou DCM_E_PENDING. Pergunta Q-adcf0171ecfd37c4 (aberta)

No que diz respeito à concorrência e condições de contorno, a função é especificada como não reentrante (Non Reentrant) e opera de forma totalmente síncrona [SWS_Dcm_00793]. A interação com requisições de diagnóstico ocorre em vários cenários:

  • Ao receber uma requisição OBD Service $01 com PIDs de não disponibilidade, o DCM chama as respectivas funções Xxx_ReadData configuradas para todos os dados do PID, a fim de obter os valores de resposta [SWS_Dcm_00408].
  • No caso de uma requisição UDS do serviço 0x22 (ReadDataByIdentifier) com identificadores de não disponibilidade, o DCM chama as funções para todos os dados do OBDDataIdentifier [SWS_Dcm_01380] bem como do OBDInfoTypeDataIdentifier [SWS_Dcm_01389].
  • Se, por outro lado, for necessário um comportamento assíncrono, entram em ação as assinaturas separadas com OpStatus conforme [SWS_Dcm_91006] ou [SWS_Dcm_91005].

Este texto foi gerado por uma IA e baseia-se exclusivamente nas especificações da release R20-11.

Guia do implementador em breve (complexidade I2)

função Xxx_ReadData [SWS_Dcm_91006] 📄 PDF

Std_ReturnType Xxx_ReadData (Dcm_OpStatusType OpStatus, uint8* Data);

This function requests to the application a data value of a DID/PID if DcmDspDataUsePort is set to USE_DATA_ASYNCH_CLIENT_SERVER.

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

A função Xxx_ReadData serve para consultar valores de dados de um DID ou PID de forma assíncrona a partir da aplicação, desde que o parâmetro DcmDspDataUsePort esteja configurado como USE_DATA_ASYNCH_CLIENT_SERVER ([SWS_Dcm_91006]). Ela é declarada por meio do arquivo de cabeçalho Dcm_Externals.h ([SWS_Dcm_91006]).

Durante a chamada, o parâmetro OpStatus (tipo Dcm_OpStatusType) controla o progresso da operação em andamento, enquanto através do ponteiro Data (tipo uint8*) é passado o buffer de saída no qual os dados solicitados devem ser copiados ([SWS_Dcm_91006]). Como valores de retorno, estão definidos E_OK em caso de conclusão bem-sucedida e DCM_E_PENDING se o processamento ainda estiver em andamento e necessitar de chamadas adicionais para a conclusão ([SWS_Dcm_91006]).

O módulo DCM integra esta função nos seguintes fluxos de diagnóstico:

  • Ao receber um OBD Service $01, o DCM lê os valores atuais de PID (exceto PIDs de disponibilidade) por meio das funções Xxx_ReadData configuradas ([SWS_Dcm_00408]).
  • No UDS Service 0x22 (ReadDataByIdentifier), o DCM chama a função para OBDDataIdentifier ([SWS_Dcm_01380]) e OBDInfoTypeDataIdentifier ([SWS_Dcm_01389]).

Em relação à execução, a função é especificada como não reentrante (Non Reentrant) ([SWS_Dcm_91006]). Ao contrário da interface síncrona ([SWS_Dcm_00793]) ou da variante assíncrona com parâmetro ErrorCode adicional ([SWS_Dcm_91005]), esta variante da função não prevê o retorno direto de um código de resposta negativa.

Este texto foi gerado por uma IA com base na especificação AUTOSAR R20-11.

Guia do implementador em breve (complexidade I3)

função Xxx_ReadData [SWS_Dcm_91005] 📄 PDF

Std_ReturnType Xxx_ReadData (Dcm_OpStatusType OpStatus, uint8* Data, Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application a data value of a DID/PID if DcmDspDataUsePort is set to USE_DATA_ASYNCH_CLIENT_SERVER.

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

A função Xxx_ReadData solicita da aplicação assincronamente o valor de dados de um DID ou PID, desde que o parâmetro de configuração DcmDspDataUsePort esteja definido como USE_DATA_ASYNCH_CLIENT_SERVER [SWS_Dcm_91005]. A declaração da função é disponibilizada através do arquivo de interface Dcm_Externals.h [SWS_Dcm_91005].

A interface possui as seguintes características de chamada e fluxo:

  • Semântica e parâmetros: O parâmetro de entrada OpStatus controla o progresso da operação em andamento [SWS_Dcm_91005]. Em caso de conclusão bem-sucedida, os dados úteis solicitados são copiados para o buffer de saída Data e E_OK é retornado [SWS_Dcm_91005]. Se a aplicação necessitar de tempo de processamento adicional, ela sinaliza DCM_E_PENDING, após o que são necessárias conexões subsequentes [SWS_Dcm_91005].
  • Tratamento de erros: Se a operação falhar e retornar E_NOT_OK, o módulo DCM avalia o parâmetro de saída ErrorCode e envia uma resposta de diagnóstico negativa com este código NRC [SWS_Dcm_91005].
  • Simultaneidade: A função é definida como não reentrante (Non Reentrant) [SWS_Dcm_91005]. Interpretação: As chamadas repetidas durante o processamento pendente devem ocorrer sequencialmente no ciclo do processamento principal do DCM. Pergunta Q-541226d5f242f7c2 (aberta)
  • Interação: O módulo DCM chama a função em solicitações do OBD Service $01 para PIDs de não disponibilidade [SWS_Dcm_00408], bem como no UDS Service ReadDataByIdentifier (0x22) para OBDDataIdentifier [SWS_Dcm_01380] e OBDInfoTypeDataIdentifier [SWS_Dcm_01389]. Em comparação com a variante síncrona [SWS_Dcm_00793] ou interfaces assíncronas sem parâmetro NRC [SWS_Dcm_91006], esta assinatura permite uma transmissão de erro negativa específica.

Este texto foi gerado por uma IA e baseia-se exclusivamente nos requisitos de especificação do release AUTOSAR R20-11.

Guia do implementador em breve (complexidade I3)

função Xxx_WriteData [SWS_Dcm_00794] 📄 PDF

Std_ReturnType Xxx_WriteData (const uint8* Data, Dcm_NegativeResponseCodeType* ErrorCode);

This function requests the application to write a data value of a DID.

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

usar

A função Xxx_WriteData é chamada pelo Diagnostic Communication Manager (DCM) para solicitar à aplicação a escrita de um valor de dados de DID (Data Identifier) ([SWS_Dcm_00794]). A declaração é fornecida através do cabeçalho Dcm_Externals.h. A chamada ocorre de forma síncrona sob o ID de serviço 0x51 ([SWS_Dcm_00794]).

Parâmetros e valores de retorno:

  • Data (in): Ponteiro para o buffer com os dados úteis a serem escritos ([SWS_Dcm_00794]).
  • ErrorCode (out): Ponteiro para a variável na qual o código de diagnóstico negativo (NRC) deve ser inserido em caso de falha ([SWS_Dcm_00794]).
  • Valor de retorno (Std_ReturnType): E_OK sinaliza escrita bem-sucedida, E_NOT_OK a falha da operação ([SWS_Dcm_00794]).

Tratamento de erros

Se a função retornar E_NOT_OK, o módulo DCM lê o parâmetro ErrorCode e envia uma resposta de diagnóstico negativa com esse código NRC ([SWS_Dcm_00794]).

Simultaneidade e restrições

A função é especificada como não reentrante (Non Reentrant) ([SWS_Dcm_00794]) e não deve ser executada de forma concorrente.

Interação

Como não existe nenhum parâmetro de comprimento, esta variante deve ser prevista para DIDs com comprimento de dados fixo. Pergunta Q-ebc074ac1cb66aaa (aberta) Para DIDs com comprimento variável, o AUTOSAR disponibiliza a assinatura síncrona com o parâmetro DataLength ([SWS_Dcm_91007]). Além disso, existem para processos demorados variantes assíncronas com OpStatus e possível retorno de DCM_E_PENDING, tanto com comprimento de dados fixo ([SWS_Dcm_91008]) como com parâmetro de comprimento variável ([SWS_Dcm_91009]).

Este texto foi gerado por uma IA com base na especificação AUTOSAR CP R20-11.

Guia do implementador em breve (complexidade I2)

função Xxx_WriteData [SWS_Dcm_91007] 📄 PDF

Std_ReturnType Xxx_WriteData (const uint8* Data, uint16 DataLength, Dcm_NegativeResponseCodeType* ErrorCode);

This function requests the application to write a data value of a DID.

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

A função de callback Xxx_WriteData serve para solicitar à aplicação a escrita do valor de dados de um Data Identifier (DID) [SWS_Dcm_91007]. A interface é declarada por meio do cabeçalho Dcm_Externals.h e possui o Service ID 0x52 [SWS_Dcm_91007]. A chamada ocorre de forma síncrona e é especificada como não reentrante (Non Reentrant), razão pela qual não devem ocorrer chamadas concorrentes para a mesma função [SWS_Dcm_91007].

Como parâmetros, a função recebe o buffer Data com os dados úteis a serem escritos, bem como DataLength com a indicação do comprimento em bytes [SWS_Dcm_91007]. Como valor de retorno, ela fornece o tipo Std_ReturnType com E_OK em caso de execução bem-sucedida ou E_NOT_OK em caso de erro [SWS_Dcm_91007]. Se a operação falhar e retornar E_NOT_OK, o módulo DCM deve enviar uma resposta negativa ao testador de diagnóstico; nesse caso, o Negative Response Code (NRC) corresponde ao valor transmitido por meio do parâmetro de ponteiro ErrorCode [SWS_Dcm_91007].

No sistema global, [SWS_Dcm_91007] representa a variante síncrona para DIDs com indicação explícita de comprimento. Como complemento, existe com [SWS_Dcm_00794] (Service ID 0x51) uma variante síncrona sem o parâmetro DataLength. Para operações de escrita mais longas, o padrão prevê interfaces assíncronas: [SWS_Dcm_91008] (Service ID 0x35) sem indicação de comprimento, bem como [SWS_Dcm_91009] (Service ID 0x3e) com DataLength. Ambas as funções assíncronas são controladas por meio de OpStatus e podem retornar, além de E_OK e E_NOT_OK, também DCM_E_PENDING [SWS_Dcm_91008] [SWS_Dcm_91009].

Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR Classic Release R20-11.

Guia do implementador em breve (complexidade I2)

função Xxx_WriteData [SWS_Dcm_91008] 📄 PDF

Std_ReturnType Xxx_WriteData (const uint8* Data, Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);

This function requests the application to write a data value of a DID.

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

usar

A função Xxx_WriteData solicita à aplicação a escrita do valor de dados de um Data Identifier (DID) [SWS_Dcm_91008]. Ela é declarada no arquivo de cabeçalho Dcm_Externals.h e possui semântica de execução assíncrona com o Service ID 0x35 [SWS_Dcm_91008].

Os parâmetros e valores de retorno estruturam-se da seguinte forma [SWS_Dcm_91008]:

  • Data (IN): ponteiro para o buffer que contém os dados a serem escritos.
  • OpStatus (IN): status da operação atual para controle do fluxo de chamadas assíncronas.
  • ErrorCode (OUT): ponteiro para o código de erro (NRC), que é definido em caso de erro.
  • Valor de retorno (Std_ReturnType): E_OK confirma a operação de escrita bem-sucedida, E_NOT_OK reporta uma falha e DCM_E_PENDING indica que a operação ainda está em andamento e necessita de chamadas adicionais para a conclusão.

Tratamento de erros e simultaneidade

Se a chamada retornar o valor E_NOT_OK, o módulo DCM deve enviar uma resposta negativa com o valor de NRC passado no parâmetro de saída ErrorCode [SWS_Dcm_91008]. A função é especificada como não reentrante [SWS_Dcm_91008], de modo que chamadas simultâneas ou sobrepostas para a mesma instância são inadmissíveis.

Interação e variantes

Esta interface conforme [SWS_Dcm_91008] cobre o acesso de escrita assíncrono sem parâmetro de comprimento separado. A AUTOSAR define variantes relacionadas no DCM para isso: uma assinatura síncrona sem indicação de comprimento [SWS_Dcm_00794], bem como assinaturas com parâmetro DataLength adicional para fluxos síncronos [SWS_Dcm_91007] e assíncronos [SWS_Dcm_91009].

Esta nota de uso foi gerada por um sistema de IA com base na especificação AUTOSAR CP R20-11.

Guia do implementador em breve (complexidade I2)

função Xxx_WriteData [SWS_Dcm_91009] 📄 PDF

Std_ReturnType Xxx_WriteData (const uint8* Data, uint16 DataLength, Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);

This function requests the application to write a data value of a DID.

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

Utilização e semântica

A função Xxx_WriteData solicita à aplicação a escrita do valor de dados de um Data Identifier (DID) [SWS_Dcm_91009]. Ela é declarada por meio do arquivo de cabeçalho Dcm_Externals.h e possui o Service ID 0x3e [SWS_Dcm_91009]. A execução ocorre de forma assíncrona (Asynchronous), para a qual são passados os seguintes parâmetros:

  • Data (in): ponteiro para o buffer com os dados úteis a serem escritos [SWS_Dcm_91009].
  • DataLength (in): comprimento dos dados a serem escritos em bytes [SWS_Dcm_91009].
  • OpStatus (in): status da operação (Dcm_OpStatusType) para controle do progresso do processamento assíncrono [SWS_Dcm_91009].
  • ErrorCode (out): ponteiro para recepção de um código de resposta negativa (NRC) em caso de erro [SWS_Dcm_91009].

Como valores de retorno do tipo Std_ReturnType, estão definidos E_OK (requisição de escrita concluída com sucesso), E_NOT_OK (requisição falhou) bem como DCM_E_PENDING [SWS_Dcm_91009]. O status DCM_E_PENDING sinaliza que o procedimento ainda não foi finalizado e são necessárias chamadas subsequentes adicionais para a conclusão [SWS_Dcm_91009]. Interpretação: o DCM provavelmente chamará a função novamente de forma cíclica ao receber o retorno de DCM_E_PENDING com OpStatus continuado, até que um resultado final esteja disponível. Pergunta Q-fdbd734dab052f5c (aberta)

Tratamento de erros e simultaneidade

Se a função retornar o valor E_NOT_OK, o respectivo código de erro deve ser disponibilizado por meio do parâmetro ErrorCode; em seguida, o módulo DCM envia uma resposta negativa com este valor de NRC [SWS_Dcm_91009]. Mensagens específicas de DET ou DEM não estão definidas no payload para esta interface. Quanto à concorrência, a função é especificada como não reentrante (Non Reentrant) [SWS_Dcm_91009].

Interação e variantes de interface

A assinatura [SWS_Dcm_91009] cobre acessos de escrita assíncronos com indicação explícita de comprimento. No DCM existem outras variantes de Xxx_WriteData:

  • Execução síncrona sem indicação de comprimento: [SWS_Dcm_00794] (Service ID 0x51).
  • Execução síncrona com indicação de comprimento: [SWS_Dcm_91007] (Service ID 0x52).
  • Execução assíncrona sem indicação de comprimento: [SWS_Dcm_91008] (Service ID 0x35).

Nota: Esta nota de uso foi criada de forma automatizada com base na especificação AUTOSAR Classic para a release R20-11.

Guia do implementador em breve (complexidade I2)

função Xxx_ReadDataLength [SWS_Dcm_00796] 📄 PDF

Std_ReturnType Xxx_ReadDataLength (uint16* DataLength);

This function requests the application to return the data length in byte of a Data.

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

usar

Com a função Xxx_ReadDataLength, o módulo DCM solicita à aplicação que determine e retorne o comprimento dos dados de um dado em bytes [SWS_Dcm_00796]. A interface é declarada no cabeçalho Dcm_Externals.h e possui o ID de serviço 0x36 [SWS_Dcm_00796]. A consulta é executada de forma síncrona [SWS_Dcm_00796]. Por meio do parâmetro de saída DataLength do tipo uint16*, a aplicação transfere o comprimento em bytes dos dados a serem lidos para o DCM [SWS_Dcm_00796]. Parâmetros de entrada ou de entrada/saída não estão definidos [SWS_Dcm_00796]. Como valor de retorno, a função fornece sempre E_OK do tipo Std_ReturnType [SWS_Dcm_00796].

Simultaneidade e restrições

A interface é especificada como não reentrante (Non Reentrant) [SWS_Dcm_00796]. Como a função opera de forma síncrona e, de acordo com a especificação, reporta sempre E_OK, não estão previstos códigos de erro específicos ou retornos de status divergentes para esta chamada [SWS_Dcm_00796].

Interação

Além da função síncrona, existe uma variante assíncrona homônima com o ID de serviço 0x4c, que também é disponibilizada através de Dcm_Externals.h [SWS_Dcm_91010]. Enquanto a versão síncrona [SWS_Dcm_00796] dispensa o status de operação, a contraparte assíncrona exige o parâmetro de entrada OpStatus do tipo Dcm_OpStatusType [SWS_Dcm_91010]. Além disso, a interface assíncrona pode fornecer, além de E_OK, o valor de retorno DCM_E_PENDING, caso a requisição ainda não esteja concluída e necessite de chamadas adicionais para sua finalização [SWS_Dcm_91010].

Este texto foi gerado por uma IA e serve como guia de orientação. São vinculativas as diretrizes da respectiva especificação AUTOSAR.

Guia do implementador em breve (complexidade I1)

função Xxx_ReadDataLength [SWS_Dcm_91010] 📄 PDF

Std_ReturnType Xxx_ReadDataLength (Dcm_OpStatusType OpStatus, uint16* DataLength);

This function requests the application to return the data length in byte of a Data.

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

A função [SWS_Dcm_91010] (ID de serviço 0x4c) solicita que a aplicação determine o comprimento dos dados de um elemento de dados em bytes. Ela é declarada no cabeçalho Dcm_Externals.h e serve ao Diagnostic Communication Manager (DCM) para a consulta flexível de comprimento de dados de diagnóstico.

Utilização e semântica

Durante a chamada, o módulo DCM passa o progresso atual através do parâmetro de entrada OpStatus do tipo Dcm_OpStatusType ([SWS_Dcm_91010]). A aplicação grava o resultado da consulta no parâmetro de saída DataLength (tipo uint16*). Se o comprimento dos dados não estiver imediatamente disponível, a função sinaliza através do valor de retorno DCM_E_PENDING que o processamento continua em andamento e que chamadas adicionais são necessárias ([SWS_Dcm_91010]). Assim que o resultado estiver pronto, a aplicação relata a conclusão retornando E_OK.

Simultaneidade e restrições

De acordo com a especificação, a função é classificada como não reentrante ([SWS_Dcm_91010]), razão pela qual chamadas simultâneas pelo DCM devem ser excluídas. Como a especificação não prevê valores de erro específicos além de DCM_E_PENDING, assume-se que, ao retornar E_OK, o DCM sempre parte do princípio de que o tamanho em bytes foi definido de forma válida. Pergunta Q-e7ecd3a518e2cbcb (aberta)

Interação

A interface assíncrona [SWS_Dcm_91010] difere da variante síncrona relacionada [SWS_Dcm_00796] (ID de serviço 0x36). Esta última não possui o parâmetro OpStatus, é executada de forma síncrona e sempre fornece o comprimento imediatamente com E_OK. Por outro lado, [SWS_Dcm_91010] permite que a aplicação distribua cálculos de tempo intensivo de forma assíncrona ao longo de múltiplos ciclos de chamada.

Este texto foi criado por uma IA com base na especificação AUTOSAR.

Guia do implementador em breve (complexidade I2)

função Xxx_ConditionCheckRead [SWS_Dcm_00797] 📄 PDF

Std_ReturnType Xxx_ConditionCheckRead (Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application if the conditions to read the Data are correct.

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

A função de callout síncrona Xxx_ConditionCheckRead é disponibilizada através do arquivo de cabeçalho Dcm_Externals.h e serve para consultar junto à aplicação se as condições para a leitura dos dados de diagnóstico estão satisfeitas [SWS_Dcm_00797].

A interface não possui parâmetros de entrada e sinaliza o status da verificação através do valor de retorno do tipo Std_ReturnType [SWS_Dcm_00797]:

  • E_OK: A verificação foi bem-sucedida, as condições para a leitura dos dados estão satisfeitas [SWS_Dcm_00797].
  • E_NOT_OK: A verificação falhou, a leitura não é permitida [SWS_Dcm_00797].

Se a função retornar E_NOT_OK, o módulo DCM envia uma resposta negativa (Negative Response) com o código de erro que a aplicação passou através do parâmetro de saída ErrorCode (tipo Dcm_NegativeResponseCodeType*) [SWS_Dcm_00797].

No que diz respeito à concorrência, a função é especificada como não reentrante (Non Reentrant) e é executada sincronicamente com o Service-ID 0x49 [SWS_Dcm_00797]. Portanto, a verificação deve ser avaliada do lado da aplicação imediatamente e sem tempos de espera bloqueantes, a fim de evitar atrasos no chamador DCM síncrono. Pergunta Q-ada29c78c29d961e (aberta)

Em contraste com esta operação síncrona, [SWS_Dcm_91011] define uma variante assíncrona sob o Service-ID 0x37. Esta utiliza adicionalmente o parâmetro de entrada OpStatus (tipo Dcm_OpStatusType) e pode retornar, além de E_OK e E_NOT_OK, também DCM_E_PENDING se etapas subsequentes forem necessárias para a conclusão da verificação [SWS_Dcm_91011].

Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR R20-11.

Guia do implementador em breve (complexidade I1)

função Xxx_ConditionCheckRead [SWS_Dcm_91011] 📄 PDF

Std_ReturnType Xxx_ConditionCheckRead (Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application if the conditions to read the Data are correct.

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

Utilização e semântica

A função Xxx_ConditionCheckRead é disponibilizada através do arquivo de cabeçalho Dcm_Externals.h e serve para consultar o software de aplicação se as condições para leitura dos dados de diagnóstico estão satisfeitas [SWS_Dcm_91011]. A execução ocorre sob o ID de serviço 0x37 de forma assíncrona [SWS_Dcm_91011]. Através do parâmetro de entrada OpStatus (tipo Dcm_OpStatusType), é passado o status atual da operação em andamento [SWS_Dcm_91011].

Valores de retorno e tratamento de erros

Como valor de retorno a função fornece um status do tipo Std_ReturnType [SWS_Dcm_91011]:

  • E_OK: A solicitação foi bem-sucedida e as condições de leitura estão satisfeitas [SWS_Dcm_91011].
  • E_NOT_OK: A verificação falhou [SWS_Dcm_91011]. Neste caso, a aplicação deve definir um código de resposta negativa (NRC) do tipo Dcm_NegativeResponseCodeType através do parâmetro de saída ErrorCode; o módulo DCM envia subsequentemente uma resposta negativa com este NRC [SWS_Dcm_91011].
  • DCM_E_PENDING: A verificação ainda não foi concluída, de modo que chamadas adicionais para finalização são necessárias [SWS_Dcm_91011].

Concorrência e delimitação

A interface é especificada como não reentrante (Non Reentrant) [SWS_Dcm_91011]. Ao contrário desta variante assíncrona, [SWS_Dcm_00797] define sob o ID de serviço 0x49 uma assinatura síncrona sem parâmetro OpStatus, a qual retorna exclusivamente E_OK ou E_NOT_OK [SWS_Dcm_00797].

Esta nota de utilização foi gerada por uma IA com base na especificação AUTOSAR R20-11.

Guia do implementador em breve (complexidade I2)

função Xxx_GetScalingInformation [SWS_Dcm_91012] 📄 PDF

Std_ReturnType Xxx_GetScalingInformation (Dcm_OpStatusType OpStatus, uint8* ScalingInfo, Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application for the scaling information of a Data.

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

A interface assíncrona Xxx_GetScalingInformation é disponibilizada através do cabeçalho Dcm_Externals.h e serve para solicitar informações de escalonamento de um elemento de dados a partir da aplicação [SWS_Dcm_91012]. O módulo DCM chama esta função assim que uma solicitação de diagnóstico para o serviço UDS ReadScalingByIdentifier é recebida, nomeadamente para cada dado configurado para o DID solicitado [SWS_Dcm_00394].

Parâmetros e valores de retorno

A função define os seguintes parâmetros e semântica [SWS_Dcm_91012]:

  • OpStatus (in): Passa o status atual da operação em andamento.
  • ScalingInfo (out): Buffer para recepção das informações de escalonamento (scalingByte e scalingByteExtension).
  • ErrorCode (out): Recebe o código de resposta negativa caso a operação falhe.

Como valores de retorno estão especificados E_OK em caso de conclusão bem-sucedida, E_NOT_OK em caso de erro, bem como DCM_E_PENDING se o processamento ainda não estiver concluído e necessitar de chamadas adicionais para finalização [SWS_Dcm_91012].

Tratamento de erros e simultaneidade

Se a chamada retornar E_NOT_OK, o módulo DCM deve enviar uma resposta negativa cujo NRC corresponda ao valor fornecido através do parâmetro de saída ErrorCode [SWS_Dcm_91012]. A função é especificada como não reentrante (Non Reentrant) [SWS_Dcm_91012]. Interpretação: se esta função assíncrona é chamada com OpStatus ou a variante síncrona especificada alternativamente sem OpStatus [SWS_Dcm_00798], isso deve depender da configuração do respectivo DID. Pergunta Q-c4054a798f17a52c (aberta)

Este texto foi gerado por uma IA; a correção e a integridade das informações não podem ser garantidas.

Guia do implementador em breve (complexidade I2)

função Xxx_ReturnControlToECU [SWS_Dcm_01285] 📄 PDF

Std_ReturnType Xxx_ReturnControlToECU ([ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application to return control to ECU of an IOControl.

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

A função Xxx_ReturnControlToECU é disponibilizada através do cabeçalho Dcm_Externals.h e solicita à aplicação que devolva o controle sobre um controle de entrada/saída (IOControl) à ECU [SWS_Dcm_01285]. A chamada ocorre de forma síncrona e está especificada como não reentrante [SWS_Dcm_01285].

Parâmetros e variantes

A assinatura da função depende da configuração da máscara de controle externa [SWS_Dcm_01285]:

  • Se DcmDspDidControlMask estiver definido como DCM_CONTROLMASK_EXTERNAL e o tamanho da máscara for de até quatro bytes (DcmDspDidControlMaskSize <= 0x04), o parâmetro de entrada controlMask do tipo Dcm_ControlMask_{DID}Type é passado [SWS_Dcm_01285].
  • Se o tamanho da máscara for de cinco ou mais bytes (DcmDspDidControlMaskSize >= 0x05), o ponteiro controlMask2 do tipo uint8* é utilizado em seu lugar [SWS_Dcm_01285].
  • Através do parâmetro de saída ErrorCode (tipo Dcm_NegativeResponseCodeType*), a função transmite em caso de erro o código de resposta negativo específico (NRC) ao DCM [SWS_Dcm_01285].

Valores de retorno e tratamento de erros

A função retorna o status Std_ReturnType. Em caso de devolução bem-sucedida do controle, a aplicação reporta E_OK [SWS_Dcm_01285]. Se a operação falhar, a função deve retornar E_NOT_OK; nesse caso, o módulo DCM envia uma resposta negativa com o NRC registrado em ErrorCode ao testador de diagnóstico [SWS_Dcm_01285].

Interação e contexto de chamada

O DCM chama a interface de função configurada (parâmetro DcmDspDataReturnControlToEcuFnc) quando DcmDspDataUsePort estiver configurado como USE_DATA_SYNCH_FNC, USE_DATA_ASYNCH_FNC ou USE_DATA_ASYNCH_FNC_ERROR [SWS_Dcm_01435]. Além de ações regulares de diagnóstico, Xxx_ReturnControlToECU é chamado pelo DCM especialmente quando uma sequência ativa de controle de IO precisa ser interrompida [SWS_Dcm_01435].

Esta nota de utilização foi gerada automaticamente com base na especificação.

Guia do implementador em breve (complexidade I1)

função Xxx_ResetToDefault [SWS_Dcm_01286] 📄 PDF

Std_ReturnType Xxx_ResetToDefault ([ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application to reset an IOControl to default value.

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

A interface de função síncrona Xxx_ResetToDefault é disponibilizada por meio do cabeçalho Dcm_Externals.h e serve para solicitar a uma aplicação a restauração de um controle de E/S (IOControl) para o valor padrão [SWS_Dcm_01286].

Contexto de chamada e parâmetros

A função possui o ID de serviço 0x4d, opera de forma síncrona e é especificada como não reentrante [SWS_Dcm_01286]. Dependendo do tamanho configurado da máscara de controle externa, é transmitido um de dois parâmetros de entrada alternativos:

  • controlMask (tipo Dcm_ControlMask_{DID}Type) entra em ação quando DcmDspDataUsePort estiver configurado para USE_DATA_SYNCH_FNC, DcmDspDidControlMask estiver em DCM_CONTROLMASK_EXTERNAL e DcmDspDidControlMaskSize for no máximo 0x04 [SWS_Dcm_01286].
  • controlMask2 (tipo uint8*) é utilizado quando, sob condições de contorno idênticas, DcmDspDidControlMaskSize estiver configurado como maior ou igual a 0x05 [SWS_Dcm_01286].

Valores de retorno e tratamento de erros

Se o reset pôde ser realizado com sucesso, a função retorna E_OK [SWS_Dcm_01286]. Se a operação falhar, deve-se retornar E_NOT_OK. Nesse caso, a aplicação preenche o parâmetro de saída ErrorCode (tipo Dcm_NegativeResponseCodeType*) com o respectivo código de resposta negativo (NRC), o qual o módulo DCM transmite como resposta negativa ao tester [SWS_Dcm_01286].

Interação e distinção

Se o sistema for projetado para processamentos assíncronos de interface via USE_DATA_ASYNCH_FNC ou USE_DATA_ASYNCH_FNC_ERROR, utiliza-se, em vez desta função síncrona, a variante assíncrona com o parâmetro adicional OpStatus e o ID de serviço 0x3c [SWS_Dcm_01314].

Este texto foi gerado por uma IA e baseia-se nas especificações do AUTOSAR Classic R20-11.

Guia do implementador em breve (complexidade I1)

função Xxx_ResetToDefault [SWS_Dcm_01314] 📄 PDF

Std_ReturnType Xxx_ResetToDefault (Dcm_OpStatusType OpStatus, [ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application to reset an IOControl to default value.

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

A função assíncrona [SWS_Dcm_01314] solicita à aplicação a restauração de um controle de entrada/saída (IOControl) para o seu valor padrão. Ela é declarada em Dcm_Externals.h e possui o ID de serviço 0x3c. O progresso da operação é controlado por meio do parâmetro OpStatus. Em caso de processamento ainda não concluído, a função retorna DCM_E_PENDING, enquanto uma conclusão bem-sucedida é confirmada com E_OK.

Dependendo da configuração e do tamanho da máscara (DcmDspDidControlMaskSize até 4 bytes ou a partir de 5 bytes), transmite-se adicionalmente controlMask ou controlMask2 no caso de mascaramento externo [SWS_Dcm_01314]. Se a restauração falhar, a função retorna E_NOT_OK. Nesse caso, deve-se transferir um código de resposta negativo (NRC) por meio do parâmetro de saída ErrorCode, o qual o módulo DCM envia como resposta negativa ao tester [SWS_Dcm_01314].

A função é especificada como não reentrante (Non Reentrant) [SWS_Dcm_01314]. Ela entra em ação quando DcmDspDataUsePort estiver definido como USE_DATA_ASYNCH_FNC ou USE_DATA_ASYNCH_FNC_ERROR. Para configurações síncronas de interface (USE_DATA_SYNCH_FNC), existe alternativamente a variante síncrona sem OpStatus [SWS_Dcm_01286].

Este texto foi elaborado por uma IA e baseia-se na versão de especificação do AUTOSAR R20-11.

Guia do implementador em breve (complexidade I2)

função Xxx_FreezeCurrentStateManager [SWS_Dcm_01290] 📄 PDF

Std_ReturnType Xxx_FreezeCurrentState ([ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application to freeze the current state of an IOControl.

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

usar

A função síncrona Xxx_FreezeCurrentState (listada no catálogo de elementos como Xxx_FreezeCurrentStateManager) serve para solicitar a uma aplicação o congelamento do estado atual de um controle de entrada ou saída (IOControl) [SWS_Dcm_01290]. A função está disponível através do arquivo de cabeçalho Dcm_Externals.h e possui o Service ID 0x4a AUTOSAR_SWS_DiagnosticCommunicationManager p. 279. (Interpretação: o prefixo Xxx deve funcionar como um placeholder para o respectivo módulo de aplicação.) Pergunta Q-f8c864cda732acc2 (aberta)

Os parâmetros de interface dependem da configuração da máscara de controle externa (DcmDspDidControlMask em DCM_CONTROLMASK_EXTERNAL) [SWS_Dcm_01290]:

  • controlMask (entrada, tipo Dcm_ControlMask_{DID}Type): É passado quando o tamanho da máscara DcmDspDidControlMaskSize estiver configurado como menor ou igual a 4 bytes (<= 0x04).
  • controlMask2 (entrada, tipo uint8*): É utilizado em seu lugar quando o tamanho da máscara compreender pelo menos 5 bytes (=> 0x05).
  • ErrorCode (saída, tipo Dcm_NegativeResponseCodeType*): Ponteiro para recepção de um código de resposta negativo em caso de erros.

Tratamento de erros e valores de retorno

A função fornece como Std_ReturnType ou E_OK em caso de execução bem-sucedida ou E_NOT_OK se a solicitação não foi bem-sucedida [SWS_Dcm_01290]. Se ocorrer um erro e E_NOT_OK for retornado, a aplicação deve inserir no parâmetro ErrorCode um código de resposta negativo específico (NRC); o módulo DCM envia em seguida uma resposta de diagnóstico negativa com esse código NRC AUTOSAR_SWS_DiagnosticCommunicationManager p. 279.

Simultaneidade e restrições

A operação está especificada como não reentrante (Non Reentrant) [SWS_Dcm_01290]. Os chamadores devem garantir que as chamadas para a mesma instância sejam processadas de forma síncrona e sem sobreposição simultânea.

Este texto foi criado por uma IA e serve como orientação. A especificação AUTOSAR é vinculativa.

Guia do implementador em breve (complexidade I1)

função Xxx_FreezeCurrentStateManager [SWS_Dcm_01315] 📄 PDF

Std_ReturnType Xxx_FreezeCurrentState (Dcm_OpStatusType OpStatus, [ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application to freeze the current state of an IOControl.

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

Utilização e contexto de chamada

A função assíncrona Xxx_FreezeCurrentState é chamada pelo módulo DCM para solicitar ao software aplicativo o congelamento do estado atual de um controle de entrada/saída (IOControl) [SWS_Dcm_01315]. A declaração é disponibilizada através do cabeçalho Dcm_Externals.h [SWS_Dcm_01315].

Parâmetros e máscaras de controle

A chamada ocorre com os seguintes parâmetros [SWS_Dcm_01315]:

  • OpStatus: Transmite o status atual da operação assíncrona (Dcm_OpStatusType).
  • controlMask ou controlMask2: Se a máscara de controle estiver configurada externamente (DcmDspDidControlMask == DCM_CONTROLMASK_EXTERNAL) e a interface de função assíncrona for utilizada, o DCM passa, dependendo de DcmDspDidControlMaskSize, o parâmetro controlMask (do tipo Dcm_ControlMask_{DID}Type) para até 4 bytes e o ponteiro controlMask2 (uint8*) a partir de 5 bytes.
  • ErrorCode: Ponteiro para Dcm_NegativeResponseCodeType para retorno de um código de erro.

Valores de retorno e tratamento de erros

A função retorna um status do tipo Std_ReturnType [SWS_Dcm_01315]:

  • E_OK: O congelamento do estado foi concluído com sucesso.
  • DCM_E_PENDING: A solicitação ainda está em processamento e requer alimentações subsequentes.
  • E_NOT_OK: A operação falhou. Nesse caso, o DCM envia uma resposta de diagnóstico negativa com o valor de NRC definido através de ErrorCode.

simultaneidade

A interface está definida como não reentrante (Non Reentrant) e requer, portanto, um processamento sincronizado por instância de controle [SWS_Dcm_01315].

Este texto foi criado por uma IA e curado de acordo com diretrizes editoriais.

Guia do implementador em breve (complexidade I2)

função Xxx_ShortTermAdjustment [SWS_Dcm_00802] 📄 PDF

Std_ReturnType Xxx_ShortTermAdjustment (const uint8* ControlStateInfo, [ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application to adjust the IO signal.

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

A função síncrona Xxx_ShortTermAdjustment solicita à aplicação o ajuste temporário de um determinado sinal de E/S [SWS_Dcm_00802]. Ela é disponibilizada por meio do cabeçalho Dcm_Externals.h e possui o ID de serviço 0x50 [SWS_Dcm_00802].

Por meio do ponteiro ControlStateInfo, a função recebe as informações de estado de controle a partir do parâmetro ControlOptionRecord da requisição de diagnóstico InputOutputControlByIdentifier [SWS_Dcm_00802]. Se uma máscara de controle externa estiver configurada (DcmDspDidControlMask == DCM_CONTROLMASK_EXTERNAL), dependendo de DcmDspDidControlMaskSize, é transmitido adicionalmente ou controlMask (até 4 bytes) do tipo Dcm_ControlMask_{DID}Type ou controlMask2 (a partir de 5 bytes) como uint8* [SWS_Dcm_00802].

Como valor de retorno, a operação fornece Std_ReturnType [SWS_Dcm_00802]:

  • E_OK: O ajuste do sinal de E/S foi executado com sucesso [SWS_Dcm_00802].
  • E_NOT_OK: O ajuste falhou [SWS_Dcm_00802]. Nesse caso, a aplicação deve definir, por meio do parâmetro de saída ErrorCode, um código de resposta negativo específico (Dcm_NegativeResponseCodeType), que o módulo DCM retorna ao tester na resposta de diagnóstico negativa [SWS_Dcm_00802].

A função é não reentrante (Non Reentrant) e é chamada de forma síncrona [SWS_Dcm_00802]. Esta variante síncrona é utilizada quando o elemento de dados está configurado para chamadas de função síncronas (DcmDspDataUsePort == USE_DATA_SYNCH_FNC) [SWS_Dcm_00802]. Por outro lado, para portas configuradas como assíncronas (USE_DATA_ASYNCH_FNC ou USE_DATA_ASYNCH_FNC_ERROR), existe a variante assíncrona com o ID de serviço 0x55 e conjunto de parâmetros estendido, incluindo OpStatus e DataLength [SWS_Dcm_01316].

Este texto foi elaborado por uma IA e baseia-se no AUTOSAR R20-11.

Guia do implementador em breve (complexidade I2)

função Xxx_ShortTermAdjustment [SWS_Dcm_01316] 📄 PDF

Std_ReturnType Xxx_ShortTermAdjustment (const uint8* ControlStateInfo, uint16 DataLength, Dcm_OpStatusType OpStatus, [ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application to adjust the IO signal.

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

Utilização e contexto de chamada

A função [SWS_Dcm_01316] é chamada pelo Diagnostic Communication Manager (DCM) e disponibilizada por meio de Dcm_Externals.h. Ela solicita à aplicação, de forma assíncrona, o ajuste de um sinal de IO no âmbito do serviço de diagnóstico InputOutputControlByIdentifier. Os dados de controle são transmitidos por meio do ponteiro ControlStateInfo (a partir do parâmetro ControlOptionRecord), complementados pelo comprimento em bytes DataLength. O fluxo é controlado por meio de OpStatus: enquanto o ajuste continuar, a aplicação retorna DCM_E_PENDING; após a conclusão bem-sucedida, ela reporta E_OK.

Variantes e parâmetros de máscara

Em caso de configuração externa da máscara de controle (DCM_CONTROLMASK_EXTERNAL), são transmitidos parâmetros adicionais [SWS_Dcm_01316]:

  • Se o tamanho da máscara for menor ou igual a 4 bytes, é transmitido controlMask do tipo Dcm_ControlMask_{DID}Type.
  • Se o tamanho da máscara for de pelo menos 5 bytes, é transmitido, em vez disso, controlMask2 como ponteiro para uint8.

Tratamento de erros e simultaneidade

Se o controle do sinal falhar, a função retorna E_NOT_OK e define, por meio do ponteiro ErrorCode, o código de resposta negativo (NRC), o qual o DCM transmite na resposta negativa [SWS_Dcm_01316]. A função é especificada como não reentrante.

Interação e distinção

A interface é utilizada quando a porta de dados DID estiver configurada para USE_DATA_ASYNCH_FNC ou USE_DATA_ASYNCH_FNC_ERROR e o tipo de dados para UINT8_DYN [SWS_Dcm_01316]. Ela difere da variante síncrona [SWS_Dcm_00802], a qual não utiliza nem OpStatus nem DataLength e é destinada a portas síncronas com tipos de dados estáticos.

Este texto foi gerado automaticamente por um assistente de curadoria de IA com base na especificação AUTOSAR R20-11.

Guia do implementador em breve (complexidade I2)

função Xxx_IsDidAvailable [SWS_Dcm_00803] 📄 PDF

Std_ReturnType Xxx_IsDidAvailable (uint16 DID, Dcm_OpStatusType OpStatus, Dcm_DidSupportedType* supported);

This function requests if a specific DID is available within the range or not.

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

A função Xxx_IsDidAvailable serve para verificar de forma assíncrona se um Diagnostic Identifier (DID) solicitado está disponível dentro de uma faixa de DID definida [SWS_Dcm_00803]. Ela é disponibilizada por meio do cabeçalho Dcm_Externals.h e possui o ID de serviço 0x53 [SWS_Dcm_00803].

Utilização e parâmetros

A chamada ocorre com os seguintes parâmetros [SWS_Dcm_00803]:

  • DID (In): O valor identificador do DID a ser consultado [SWS_Dcm_00803].
  • OpStatus (In): O status atual da operação para controle do fluxo assíncrono [SWS_Dcm_00803].
  • supported (Out): Indica se o DID está disponível na faixa; DCM_DID_SUPPORTED significa suporte, enquanto DCM_DID_NOT_SUPPORTED indica a ausência de suporte [SWS_Dcm_00803].

Semântica assíncrona e valores de retorno

Como a função é executada de forma assíncrona, a determinação requer, sob certas circunstâncias, várias etapas de chamada [SWS_Dcm_00803]. O valor de retorno DCM_E_PENDING sinaliza que a requisição ainda não está concluída e que são necessárias chamadas adicionais para sua finalização [SWS_Dcm_00803]. O valor de retorno E_OK é reportado quando a verificação está concluída [SWS_Dcm_00803] (interpretação: presume-se que E_OK finalize a consulta, momento em que o parâmetro supported contém o resultado válido). Pergunta Q-22c62d306a7ac4f1 (aberta)

Simultaneidade e restrições

A interface é especificada como não reentrante (Non Reentrant) [SWS_Dcm_00803]. Chamadas paralelas para o mesmo DID ou outros DIDs dentro da mesma instância são, portanto, inadmissíveis.

Este texto foi elaborado por uma IA e baseia-se exclusivamente nos dados de especificação do AUTOSAR Classic R20-11.

Guia do implementador em breve (complexidade I2)

função Xxx_ReadDidData [SWS_Dcm_00804] 📄 PDF

Std_ReturnType Xxx_ReadDidData (uint16 DID, uint8* Data, Dcm_OpStatusType OpStatus, uint16 DataLength, Dcm_NegativeResponseCodeType ErrorCode);

This function requests to the application a data value of a DID

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

Utilização e interface de parâmetros

A função Xxx_ReadDidData (ID de serviço 0x40) está disponível por meio de Dcm_Externals.h e solicita da aplicação os valores de dados de um identificador de diagnóstico (DID) [SWS_Dcm_00804]. A passagem e o retorno ocorrem por meio dos seguintes parâmetros:

  • DID: identificação do Data Identifier solicitado [SWS_Dcm_00804].
  • Data: ponteiro para o buffer no qual os dados úteis lidos devem ser copiados [SWS_Dcm_00804].
  • OpStatus: status de progresso ou de operação da solicitação atual [SWS_Dcm_00804].
  • DataLength: comprimento dos dados a serem lidos [SWS_Dcm_00804].
  • ErrorCode: parâmetro de saída para recepção de um código de resposta negativo (NRC) [SWS_Dcm_00804].

Semântica assíncrona e valores de retorno

A função é definida como assíncrona (Asynchronous) e retorna um status do tipo Std_ReturnType [SWS_Dcm_00804]:

  • E_OK: a leitura dos dados foi bem-sucedida [SWS_Dcm_00804].
  • DCM_E_PENDING: a solicitação ainda não está concluída; para a finalização são necessárias outras chamadas [SWS_Dcm_00804].
  • E_NOT_OK: a operação não foi bem-sucedida [SWS_Dcm_00804].

Tratamento de erros e simultaneidade

Se a aplicação retornar para Xxx_ReadDidData o valor de retorno E_NOT_OK, o módulo DCM envia uma resposta negativa com o código NRC definido por meio do parâmetro ErrorCode para o testador de diagnóstico [SWS_Dcm_00804]. A função é especificada como não reentrante (Non Reentrant) [SWS_Dcm_00804]. Interpretação: devido ao processamento assíncrono com DCM_E_PENDING, a chamada provavelmente deve ocorrer no contexto de tarefa cíclica do DCM. Pergunta Q-5e41e9fb7dc261b9 (aberta)

Esta nota de uso foi gerada automaticamente com base na especificação em SWS_Dcm_00804.

Guia do implementador em breve (complexidade I2)

função Xxx_WriteDidData [SWS_Dcm_00805] 📄 PDF

Std_ReturnType Xxx_WriteDidData (uint16 DID, const uint8* Data, Dcm_OpStatusType OpStatus, uint16 DataLength, Dcm_NegativeResponseCodeType ErrorCode);

This function requests the application to write a data value of a DID.

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

A função Xxx_WriteDidData é chamada pelo módulo DCM para solicitar à aplicação a escrita do valor de dados de um DID [SWS_Dcm_00805]. A declaração está disponível por meio do cabeçalho Dcm_Externals.h [SWS_Dcm_00805].

Chamada e semântica

A chamada ocorre de forma assíncrona e é definida como não reentrante (Non Reentrant) [SWS_Dcm_00805]. Na chamada, são passados os seguintes parâmetros [SWS_Dcm_00805]:

  • DID: identificador do identificador de dados a ser escrito.
  • Data: Ponteiro para o buffer com os dados a serem gravados.
  • OpStatus: status da operação atual.
  • DataLength: comprimento dos dados a serem escritos em bytes.
  • ErrorCode: Parâmetro de saída para o código de resposta negativa (NRC).

Valores de retorno e tratamento de erros

Como valor de retorno, a função fornece Std_ReturnType com os seguintes significados [SWS_Dcm_00805]:

  • E_OK: a ordem de escrita foi executada com sucesso.
  • DCM_E_PENDING: A operação ainda não foi concluída; para a finalização são necessárias mais chamadas.
  • E_NOT_OK: a operação não foi bem-sucedida. Neste caso, o módulo DCM envia uma resposta negativa com o valor de NRC passado no parâmetro de saída ErrorCode.

Este texto foi gerado por uma IA com base na especificação AUTOSAR CP R20-11.

Guia do implementador em breve (complexidade I2)

função Xxx_ReadDidRangeDataLength [SWS_Dcm_01271] 📄 PDF

Std_ReturnType Xxx_ReadDidRangeDataLength (uint16 DID, Dcm_OpStatusType OpStatus, uint16* DataLength);

This function requests the application to return the data length of a DID Range.

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

A função Xxx_ReadDidRangeDataLength serve para solicitar ao software aplicativo o retorno do comprimento dos dados para uma faixa de DID (DID Range) [SWS_Dcm_01271]. Ela é parte integrante do módulo AUTOSAR Dcm, possui o Service ID 0x5e e é disponibilizada através do arquivo de cabeçalho Dcm_Externals.h [SWS_Dcm_01271].

A chamada ocorre com semântica assíncrona (Asynchronous) através dos seguintes parâmetros de interface [SWS_Dcm_01271]:

  • DID (IN, uint16): Identifica o identificador de dados concreto (Data ID value) da faixa de DID solicitada [SWS_Dcm_01271].
  • OpStatus (IN, Dcm_OpStatusType): Indica o estado de processamento atual da operação em andamento [SWS_Dcm_01271].
  • DataLength (OUT, uint16*): Ponteiro para o comprimento dos dados que devem ser lidos ou gravados [SWS_Dcm_01271].

O valor de retorno do tipo Std_ReturnType sinaliza o resultado da consulta de comprimento [SWS_Dcm_01271]:

  • E_OK: A solicitação foi bem-sucedida e o comprimento determinado está disponível [SWS_Dcm_01271].
  • E_NOT_OK: A solicitação não foi bem-sucedida [SWS_Dcm_01271].
  • DCM_E_PENDING: A execução ainda não foi concluída e requer chamadas subsequentes adicionais para finalização [SWS_Dcm_01271].

Em relação à concorrência, a interface está definida como não reentrante (Non Reentrant) [SWS_Dcm_01271].

Nota de uso gerada com base na especificação do DCM no AUTOSAR Classic R20-11.

Guia do implementador em breve (complexidade I2)

função Xxx_GetInfotypeValueData [SWS_Dcm_91014] 📄 PDF

Std_ReturnType Xxx_GetInfotypeValueData (Dcm_OpStatusType OpStatus, uint8* DataValueBuffer, uint8* DataValueBufferSize);

The function provides the data related to the requested Infotype.

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

A interface assíncrona Xxx_GetInfotypeValueData é chamada pelo módulo DCM assim que uma solicitação de diagnóstico para o OBD Service $09 é recebida e o InfoType solicitado não é um InfoType de disponibilidade (“availability InfoType”) [SWS_Dcm_00423]. Para disponibilizar os dados, o DCM chama todas as funções configuradas para esse InfoType e consolida os valores como resposta ao Service $09 [SWS_Dcm_00423]. A declaração está disponível através de Dcm_Externals.h [SWS_Dcm_91014].

A passagem e o retorno dos dados ocorrem através de parâmetros de buffer e de status definidos [SWS_Dcm_91014]:

  • OpStatus (in): Indica o status de progresso atual da operação em andamento.
  • DataValueBuffer (out): Buffer para recepção dos dados úteis específicos do InfoType.
  • DataValueBufferSize (inout): Contém na chamada o tamanho máximo gravável do buffer em bytes e é preenchido pela função chamada com o número real de bytes de dados gravados.

Como função assíncrona, ela fornece E_OK em caso de conclusão bem-sucedida, E_NOT_OK em caso de erros ou DCM_E_PENDING caso a operação ainda não esteja concluída e necessite de chamadas adicionais para finalização [SWS_Dcm_91014]. Como a função está especificada como não reentrante (Non Reentrant), nenhuma chamada concorrente deve ocorrer para a mesma função [SWS_Dcm_91014].

Este texto foi gerado por uma IA e serve como orientação. O documento determinante é a especificação oficial AUTOSAR.

Guia do implementador em breve (complexidade I2)

função Xxx_Start [SWS_Dcm_01203] 📄 PDF

Std_ReturnType Xxx_Start ([ DcmDspRoutineSignalType dataIn_1, ... DcmDspRoutineSignalType dataIn_n ], [ const uint8* dataInVar ], Manager Dcm_OpStatusType OpStatus, [ DcmDspRoutineSignalType dataOut_1, ... DcmDspRoutineSignalType dataOut_n ], [ uint8* dataOutVar ], [ uint16* currentDataLength ], Dcm_NegativeResponseCodeType ErrorCode); ⚠️

This function requests to the application to start the execution of a routine.

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

A função Xxx_Start é declarada por meio do arquivo de cabeçalho Dcm_Externals.h e solicita ao software de aplicação o início da execução de uma rotina de diagnóstico [SWS_Dcm_01203]. O módulo DCM chama essa função assim que uma requisição de serviço UDS para RoutineControl (0x31) com a subfunção startRoutine for recebida e verificada com sucesso [SWS_Dcm_00400], ou quando for recebida uma requisição RoutineControl com uma OBDTestId de não disponibilidade [SWS_Dcm_01392].

A interface suporta formatos de dados fixos e variáveis e é operada de forma assíncrona [SWS_Dcm_01203]:

  • Parâmetros de entrada: Sinais de entrada fixos dataIn_1 a dataIn_n ou dados variáveis através do campo de bytes dataInVar, bem como o status da operação OpStatus [SWS_Dcm_01203].
  • Parâmetros de saída: Sinais de saída fixos dataOut_1 a dataOut_n ou dados de saída variáveis dataOutVar, bem como o código de erro ErrorCode para mensagens de resposta negativas [SWS_Dcm_01203].
  • Parâmetros de comprimento: O parâmetro de entrada e saída currentDataLength transporta, em caso de comprimento de dados variável, a quantidade de bytes úteis em dataInVar ou dataOutVar [SWS_Dcm_01203].
  • Valores de retorno: E_OK confirma a inicialização bem-sucedida, E_NOT_OK reporta uma falha, DCM_E_PENDING sinaliza etapas de processamento ainda em andamento e DCM_E_FORCE_RCRRP solicita o envio antecipado de uma resposta de pending (NRC 0x78) [SWS_Dcm_01203].

Em relação à concorrência, Xxx_Start é definida como não reentrante (Non Reentrant) [SWS_Dcm_01203]. Em fluxos assíncronos com o valor de retorno DCM_E_PENDING, o módulo DCM chama a função novamente de forma cíclica com OpStatus continuado, até que o processo seja concluído [SWS_Dcm_01203].

Se a operação for concluída com sucesso com E_OK, o módulo DCM envia uma resposta positiva UDS com os dados fornecidos via dataOut de volta como routineStatusRecord [SWS_Dcm_00401]. Se a execução falhar com E_NOT_OK, o DCM transmite uma resposta negativa com o NRC especificado no parâmetro ErrorCode [SWS_Dcm_01203]. No contexto de rotinas de OBD, um valor de retorno diferente de E_OK leva ao envio de NRC 0x22 [SWS_Dcm_01394].

Este texto foi gerado por uma IA e serve para orientação. Apenas a especificação AUTOSAR é determinante.

Guia do implementador em breve (complexidade I2)

função Xxx_StartConfirmation [SWS_Dcm_91016] 📄 PDF

Std_ReturnType Xxx_StartConfirmation (Dcm_ConfirmationStatusType ConfirmationStatus);

This function indicates the transmission of a response to a StartRoutine request

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

usar

A função Xxx_StartConfirmation indica de forma vinculativa, de acordo com [SWS_Dcm_91016], a transmissão de uma resposta a uma solicitação StartRoutine precedente. A interface é declarada no arquivo de cabeçalho Dcm_Externals.h e possui uma semântica de execução síncrona ([SWS_Dcm_91016]). Como único parâmetro de entrada, é passado ConfirmationStatus do tipo Dcm_ConfirmationStatusType, o qual descreve o status de confirmação da transmissão da rotina. Parâmetros de entrada e saída adicionais não existem, de acordo com a especificação ([SWS_Dcm_91016]).

Tratamento de erros e valores de retorno

Como valor de retorno, a função fornece um valor de status do tipo Std_ReturnType ([SWS_Dcm_91016]). Nesse caso, o valor E_OK confirma a execução bem-sucedida da solicitação, enquanto E_NOT_OK sinaliza um processamento malsucedido. Códigos de erro específicos ou mensagens explícitas para o Development Error Tracer (DET) ou Diagnostic Event Manager (DEM) não estão definidos para esta função no payload.

Simultaneidade e restrições

Em relação à concorrência, Xxx_StartConfirmation é classificada como não reentrante (Non Reentrant) ([SWS_Dcm_91016]). Isso exige do chamador que execuções concorrentes ou sobrepostas sejam estritamente evitadas. Interpretação: a função deve ser chamada pelo DCM para notificar a implementação da rotina no lado da aplicação sobre a conclusão do processo de envio. Pergunta Q-be2dafd63bf2a9a5 (aberta)

Este texto foi gerado por uma IA e baseia-se no padrão AUTOSAR Release R20-11.

Guia do implementador em breve (complexidade I2)

função Xxx_Stop [SWS_Dcm_01204] 📄 PDF

Std_ReturnType Xxx_Stop ([ DcmDspRoutineSignalType dataIn_1, ... DcmDspRoutineSignalType dataIn_n ], [ const uint8* dataInVar ], [ DcmDspRoutineSignalType dataOut_1, ... DcmDspRoutineSignalType dataOut_n ], [ uint8* dataOutVar ], [ uint16* currentDataLength ], Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application to stop the execution of a routine

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

usar

A função [SWS_Dcm_01204] é chamada pelo DCM para encerrar a execução de uma rotina de diagnóstico em andamento na aplicação. A chamada ocorre no âmbito do serviço UDS RoutineControl (0x31) com a subfunção stopRoutine, assim que as verificações prévias necessárias forem concluídas com sucesso [SWS_Dcm_00402]. A interface possui o Service-ID 0x5c e é declarada por meio do arquivo de cabeçalho Dcm_Externals.h [SWS_Dcm_01204].

Parâmetros e valores de retorno

Dependendo da configuração da rotina, o DCM passa dados de entrada fixos ou variáveis (dataIn_1 a dataIn_n ou dataInVar) e referências de buffer para dados de saída (dataOut_1 a dataOut_n ou dataOutVar) [SWS_Dcm_01204], [SWS_Dcm_00402]. No caso de comprimento de dados variável, currentDataLength contém a quantidade de bytes dos dados de entrada ou saída [SWS_Dcm_01204]. Como valores de retorno de Std_ReturnType, estão definidos:

  • E_OK: Rotina encerrada com sucesso; o DCM transmite uma resposta UDS positiva com os dados de saída gerados como routineStatusRecord [SWS_Dcm_01204], [SWS_Dcm_00403].
  • E_NOT_OK: Falha no cancelamento da rotina; o DCM envia uma resposta UDS negativa com o NRC armazenado em ErrorCode [SWS_Dcm_01204].
  • DCM_E_PENDING: A operação ainda está em processamento; o DCM chama a função novamente para conclusão [SWS_Dcm_01204].
  • DCM_E_FORCE_RCRRP: A aplicação solicita ao DCM a transmissão de uma resposta pendente (NRC 0x78) [SWS_Dcm_01204].

Simultaneidade e restrições

A operação é especificada como assíncrona e não reentrante (Non Reentrant) [SWS_Dcm_01204]. Caso ocorra um erro durante a execução, a aplicação deve preencher o parâmetro ErrorCode com o Dcm_NegativeResponseCodeType adequado e retornar E_NOT_OK [SWS_Dcm_01204].

Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR Classic R20-11.

Guia do implementador em breve (complexidade I1)

função Xxx_StopConfirmation [SWS_Dcm_91017] 📄 PDF

Std_ReturnType Xxx_StopConfirmation (Dcm_ConfirmationStatusType ConfirmationStatus);

This function indicates the transmission of a response to a StopRoutine request

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

A função síncrona Xxx_StopConfirmation serve para indicar a transmissão de uma resposta a uma solicitação StopRoutine anterior [SWS_Dcm_91017]. Durante a chamada, o sistema passa, através do parâmetro de entrada ConfirmationStatus do tipo Dcm_ConfirmationStatusType, o status de confirmação concreto do encerramento da rotina [SWS_Dcm_91017]. Como valor de retorno, a interface fornece um valor do tipo Std_ReturnType: aqui, E_OK indica que a solicitação foi processada com sucesso, enquanto E_NOT_OK sinaliza uma solicitação malsucedida [SWS_Dcm_91017].

Em termos de concorrência e condições de chamada, a interface é especificada como não reentrante (Non Reentrant) e possui o ID de serviço 0x69 [SWS_Dcm_91017]. A declaração é disponibilizada através do arquivo de cabeçalho Dcm_Externals.h [SWS_Dcm_91017]. Interpretação: devido à disponibilização via Dcm_Externals.h e ao prefixo adaptável Xxx_, a função deve ser chamada pelo módulo DCM e implementada por um componente de software específico da aplicação ou pelo manipulador de rotinas responsável. Pergunta Q-743e69ff8cf92321 (aberta)

Códigos de erro específicos ou notificações para o gerenciamento de erros de desenvolvimento (DET) ou para o Diagnostic Event Manager (DEM) não estão indicados nos requisitos. O comportamento em caso de erro limita-se formalmente, neste nível de interface, ao retorno do valor de erro E_NOT_OK se o processamento não pôde ser concluído com sucesso [SWS_Dcm_91017].

Esta nota de uso baseia-se na especificação AUTOSAR Classic R20-11.

Guia do implementador em breve (complexidade I2)

função Xxx_RequestResults [SWS_Dcm_91013] 📄 PDF

Std_ReturnType Xxx_RequestResults (Dcm_OpStatusType OpStatus, [ DcmDspRoutineSignalType* dataIn_1, ... DcmDspRoutineSignalType* dataIn_n ], [ const uint8* dataInVar ], [ DcmDspRoutineSignalType* dataOut_1, ... DcmDspRoutineSignalType* dataOut_n ], [ uint8* dataOutVar ], [ uint16* variableDataLength ], Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application the result of a routine execution

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

A função [SWS_Dcm_91013] é chamada pelo módulo DCM para consultar da aplicação o resultado de uma execução de rotina. Isso ocorre no âmbito do serviço UDS RoutineControl (0x31) com a subfunção requestRoutineResults, assim que todas as verificações de entrada foram concluídas com sucesso [SWS_Dcm_00404]. A interface está disponível através de Dcm_Externals.h, opera de forma assíncrona e está especificada como não reentrante [SWS_Dcm_91013].

Através do parâmetro OpStatus, o módulo DCM controla o fluxo da operação. A função recebe dados de entrada fixos (dataIn_1 a dataIn_n) ou dados variáveis (dataInVar), derivados do routineControlOptionRecord [SWS_Dcm_00404]. Através de parâmetros de saída fixos (dataOut_1 a dataOut_n) ou buffers de saída variáveis (dataOutVar e variableDataLength), a aplicação transmite os dados de resultado ao DCM [SWS_Dcm_91013].

Se a consulta for concluída com sucesso com E_OK, o módulo DCM consolida os dados de saída com base no parâmetro de configuração DcmDspRequestRoutineResultsOut em um routineStatusRecord e envia uma resposta positiva [SWS_Dcm_00405]. Caso a operação ainda esteja em andamento, a aplicação pode retornar DCM_E_PENDING para chamadas subsequentes ou DCM_E_FORCE_RCRRP para o envio de uma resposta preliminar (NRC 0x78) [SWS_Dcm_91013].

Em caso de erro, a função retorna E_NOT_OK e define ErrorCode com o valor de NRC aplicável, após o que o módulo DCM transmite uma resposta negativa correspondente [SWS_Dcm_91013]. Como a função não é reentrante, ela não deve ser chamada em paralelo para a mesma rotina [SWS_Dcm_91013].

Nota de uso gerada automaticamente com base no AUTOSAR R20-11.

Guia do implementador em breve (complexidade I2)

função Xxx_RequestResultsConfirmation [SWS_Dcm_91018] 📄 PDF

Std_ReturnType Xxx_RequestResultsConfirmation (Dcm_ConfirmationStatusType ConfirmationStatus);

This function indicates the transmission of a response to a RequestRoutineResults request

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

Utilização e semântica

A função Xxx_RequestResultsConfirmation serve para confirmar uma resposta de diagnóstico transmitida referente a uma solicitação RequestRoutineResults [SWS_Dcm_91018]. Ela é declarada no arquivo de cabeçalho Dcm_Externals.h e possui o ID de serviço 0x70 [SWS_Dcm_91018]. Através do parâmetro de entrada ConfirmationStatus do tipo Dcm_ConfirmationStatusType, a implementação recebe informações sobre qual status finalizou a transmissão dos resultados da rotina [SWS_Dcm_91018]. A chamada é executada de forma síncrona e retorna um Std_ReturnType, onde E_OK indica um processamento bem-sucedido e E_NOT_OK sinaliza uma falha [SWS_Dcm_91018].

Simultaneidade e restrições

De acordo com a especificação, a função é classificada como não reentrante (Non Reentrant) [SWS_Dcm_91018]. Portanto, chamadas simultâneas para a mesma instância não devem ocorrer. Interpretação: a chamada pelo módulo DCM ocorre sequencialmente no contexto da confirmação de resposta, razão pela qual a função deve ser executada sem operações bloqueantes. Pergunta Q-935a06744e7b9af7 (aberta)

Tratamento de erros e interação

O tratamento de erros limita-se ao valor de retorno E_NOT_OK, uma vez que erros de desenvolvimento específicos (DET) ou erros de produção (DEM) não estão especificados para esta chamada [SWS_Dcm_91018]. Interpretação: a função serve como um ponto de confirmação específico da aplicação (callback) para o DCM, a fim de sincronizar a conclusão da tarefa de diagnóstico no nível do usuário após o envio dos resultados da rotina. Pergunta Q-d3dd0142a30e1363 (aberta)

Este texto foi gerado por uma IA. As informações baseiam-se no AUTOSAR CP R20-11.

Guia do implementador em breve (complexidade I2)

função Xxx_RequestControl [SWS_Dcm_01338] 📄 PDF

Std_ReturnType Xxx_RequestControl (uint8* OutBuffer, const uint8* InBuffer);

Invokes a TID-specific function taking a configured number of bytes as input and returing a fixed number of bytes as output. This is typically used to implement OBD Service $08

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

A função Xxx_RequestControl serve para a execução de uma função de controle específica de TID e é tipicamente empregada para a implementação do OBD Service $08 ([SWS_Dcm_01338]). O módulo DCM chama a função configurada de forma síncrona assim que uma solicitação de OBD Service $08 é recebida, cujo Test ID (TID) não representa um TID de disponibilidade (“availability TID”) ([SWS_Dcm_00419]). A declaração da interface é disponibilizada através do arquivo de cabeçalho Dcm_Externals.h ([SWS_Dcm_01338]).

Parâmetros e gestão de buffers

  • InBuffer: Ponteiro para os dados úteis da solicitação OBD recebida. O número de bytes desses dados de entrada deve corresponder exatamente ao tamanho configurado no módulo DCM ([SWS_Dcm_00419], [SWS_Dcm_01338]).
  • OutBuffer: Ponteiro para o buffer de saída no qual a função de controle chamada armazena seus resultados. O tamanho do buffer é fixo e é obtido da configuração do módulo DCM ([SWS_Dcm_00419], [SWS_Dcm_01338]).

Valores de retorno e tratamento de erros

A função retorna Std_ReturnType como valor de status: O valor E_OK sinaliza um processamento bem-sucedido, enquanto E_NOT_OK indica um estado de erro ([SWS_Dcm_01338]). Se Xxx_RequestControl retornar um resultado diferente de E_OK, o módulo DCM reage com o código de resposta negativo NRC 0x22 (Conditions Not Correct) perante o testador de diagnóstico ([SWS_Dcm_01192]).

Simultaneidade e restrições

A função está especificada como não reentrante (Non Reentrant) e possui o Service ID 0x63 ([SWS_Dcm_01338]).

Nota da IA: Este texto foi gerado automaticamente com base na especificação AUTOSAR Classic R20-11.

Guia do implementador em breve (complexidade I1)

função Xxx_StartProtocol [SWS_Dcm_01339] 📄 PDF

Std_ReturnType Xxx_StartProtocol (Dcm_ProtocolType ProtocolType, uint16 TesterSourceAddress, uint16 ConnectionId);

This function allows the application to examine the environment conditions and enable/disable further processing of the protocol.

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

A função de callback Xxx_StartProtocol é disponibilizada por meio do cabeçalho Dcm_Externals.h e possibilita à aplicação, na primeira requisição de um protocolo de diagnóstico, verificar as condições ambientais atuais e liberar ou recusar o processamento posterior do protocolo [SWS_Dcm_01339].

Contexto de chamada e parâmetros

A chamada é realizada pelo submódulo DSL do DCM de forma síncrona e não reentrante para todas as funções configuradas [SWS_Dcm_00036], [SWS_Dcm_01339]. Os seguintes parâmetros de entrada são transmitidos à função [SWS_Dcm_01339]:

  • ProtocolType: Tipo do protocolo de diagnóstico a ser iniciado,
  • TesterSourceAddress: Endereço de origem do testador solicitante,
  • ConnectionId: Identificador unívoco da conexão.

Valores de retorno e tratamento de erros

Como valor de retorno, a função fornece Std_ReturnType com E_OK em caso de liberação bem-sucedida, E_NOT_OK em caso de verificação malsucedida ou E_PROTOCOL_NOT_ALLOWED se o protocolo for inadmissível [SWS_Dcm_01339]. Se pelo menos uma função Xxx_StartProtocol configurada não retornar E_OK, o DCM cancela o início do protocolo e responde com NRC 0x22 [SWS_Dcm_00674].

Inicialização após liberação bem-sucedida

Somente quando todos os callbacks Xxx_StartProtocol configurados tiverem retornado E_OK, o DCM executa as etapas adicionais de inicialização:

  • Carregamento dos parâmetros de temporização padrão a partir da configuração da sessão padrão (Default Session) [SWS_Dcm_00144],
  • Ativação da tabela de serviços [SWS_Dcm_00145],
  • Redefinição do estado de segurança (Security State) [SWS_Dcm_00146],
  • Redefinição do estado da sessão para a sessão de diagnóstico padrão, bem como execução da mudança de modo via SchM_Switch_<bsnp>_DcmDiagnosticSessionControl para RTE_MODE_DcmDiagnosticSessionControl_DEFAULT_SESSION [SWS_Dcm_00147].

Esta nota de uso foi gerada automaticamente com base nos requisitos de especificação do AUTOSAR R20-11.

Guia do implementador em breve (complexidade I2)

função Xxx_StopProtocol [SWS_Dcm_01340] 📄 PDF

Std_ReturnType Xxx_StopProtocol (Dcm_ProtocolType ProtocolType, uint16 TesterSourceAddress, uint16 ConnectionId);

This function informs the application of the protocol stop.

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

A função de callback síncrona Xxx_StopProtocol informa a aplicação sobre o encerramento de um protocolo de diagnóstico ([SWS_Dcm_01340]). Ela é declarada por meio do arquivo de cabeçalho Dcm_Externals.h e é especificada como não reentrante (Non Reentrant) ([SWS_Dcm_01340]).

A chamada de todas as funções Xxx_StopProtocol configuradas (configuradas através do parâmetro DcmDslCallbackDCMRequestService) é disparada pelo submódulo DSL nos seguintes cenários de preempção:

  • Uma solicitação de diagnóstico em andamento sofre preempção por uma solicitação de prioridade mais alta de outro protocolo ([SWS_Dcm_00459]).
  • Uma solicitação com prioridade mais baixa ou igual substitui um protocolo de prioridade mais alta, desde que este esteja na Default Session e nenhuma solicitação ativa esteja na fase de execução ([SWS_Dcm_00625]).

Durante a chamada, são passados o tipo de protocolo (ProtocolType), o endereço de origem do testador (TesterSourceAddress), bem como o identificador da conexão (ConnectionId) ([SWS_Dcm_01340]). Como valor de retorno, a função fornece E_OK em caso de execução bem-sucedida ou E_NOT_OK ([SWS_Dcm_01340]). Se a função não retornar E_OK, o DCM responde com o código de resposta negativa NRC 0x22 ([SWS_Dcm_01190]).

Este texto foi gerado automaticamente e baseia-se exclusivamente nas especificações do AUTOSAR Classic R20-11.

Guia do implementador em breve (complexidade I1)

função Xxx_Indication [SWS_Dcm_01341] 📄 PDF

Std_ReturnType Xxx_Indication (uint8 SID, const uint8* RequestData, uint32 DataSize, uint8 ReqType, uint16 ConnectionId, Dcm_NegativeResponseCodeType* ErrorCode, Dcm_ProtocolType ProtocolType, uint16 TesterSourceAddress);

This function indicates to the application that a service is about to be executed and allows the application to reject the execution of the service request

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

A função síncrona e não reentrante Xxx_Indication é declarada através do cabeçalho Dcm_Externals.h [SWS_Dcm_01341]. Ela indica à aplicação a execução iminente de um serviço de diagnóstico e permite a ela rejeitar a execução da solicitação de serviço [SWS_Dcm_01341]. A chamada é efetuada sincronicamente pelo submódulo DSD em todas as portas ServiceRequestIndication configuradas, quando os contêineres de configuração DcmDsdServiceRequestManufacturerNotification [SWS_Dcm_00218] ou DcmDsdServiceRequestSupplierNotification [SWS_Dcm_00516] estiverem presentes.

Como parâmetros de entrada são passados o Service-ID (SID), os dados da solicitação sem SID (RequestData, DataSize), o tipo de endereçamento (ReqType), o ID de conexão (ConnectionId), o tipo de protocolo (ProtocolType) e o endereço de origem do tester (TesterSourceAddress) [SWS_Dcm_01341].

Através do valor de retorno do tipo Std_ReturnType, a aplicação controla a reação do submódulo DSD [SWS_Dcm_01341]:

  • E_OK: A solicitação foi bem-sucedida e continuará sendo processada regularmente [SWS_Dcm_01341].
  • E_REQUEST_NOT_ACCEPTED: A solicitação não é aceita. Se pelo menos uma função de indicação chamada retornar E_REQUEST_NOT_ACCEPTED, o submódulo DSD suprime qualquer resposta ao tester [SWS_Dcm_00462], [SWS_Dcm_00517].
  • E_NOT_OK: A solicitação não foi bem-sucedida. Neste caso, a aplicação escreve um código de resposta negativo no parâmetro de saída ErrorCode [SWS_Dcm_01341]. Desde que nenhuma chamada retorne E_REQUEST_NOT_ACCEPTED, o submódulo DSD envia uma resposta negativa com este NRC [SWS_Dcm_00463], [SWS_Dcm_00518].

Se, havendo várias notificações configuradas, múltiplas funções retornarem E_NOT_OK e nenhuma função retornar E_REQUEST_NOT_ACCEPTED, o submódulo DSD utiliza obrigatoriamente para a resposta negativa o ErrorCode da primeira função que responder com E_NOT_OK [SWS_Dcm_01321], [SWS_Dcm_01322].

Este texto foi gerado por uma IA com base na especificação AUTOSAR CP R20-11.

Guia do implementador em breve (complexidade I2)

função Xxx_Confirmation [SWS_Dcm_01342] 📄 PDF

Std_ReturnType Xxx_Confirmation (uint8 SID, uint8 ReqType, uint16 ConnectionId, Dcm_ConfirmationStatusType ConfirmationStatus, Dcm_ProtocolType ProtocolType, uint16 TesterSourceAddress);

This function confirms to the application the successful transmission or a transmission error of a diagnostic service.

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

A função de callback Xxx_Confirmation serve para comunicar sincronicamente à aplicação a conclusão de uma transmissão de diagnóstico – seja o envio bem-sucedido ou um erro de transmissão ([SWS_Dcm_01342]). A declaração é disponibilizada através do cabeçalho Dcm_Externals.h ([SWS_Dcm_01342]).

Durante a chamada pelo submódulo DCM DSD (Diagnostic Service Dispatcher), são passados dados de contexto essenciais da solicitação de diagnóstico ([SWS_Dcm_01342], [SWS_Dcm_00741]):

  • SID: Identificador do serviço de diagnóstico ([SWS_Dcm_01342]).
  • ReqType: Tipo de endereçamento (0 para físico, 1 para funcional) ([SWS_Dcm_01342]).
  • ConnectionId, ProtocolType e TesterSourceAddress: Atributos inequívocos de conexão e protocolo, bem como o endereço de origem do tester ([SWS_Dcm_01342]).
  • ConfirmationStatus: Informação de status sobre o sucesso ou erro da transmissão ([SWS_Dcm_01342]).

Como valor de retorno, a operação fornece Std_ReturnType (E_OK em caso de processamento de confirmação bem-sucedido, caso contrário E_NOT_OK) ([SWS_Dcm_01342]). O DSD chama a função em todas as portas que utilizam a interface ServiceRequestNotification (configuradas através de DcmDsdServiceRequestManufacturerNotification ou DcmDsdServiceRequestSupplierNotification) ([SWS_Dcm_00741]).

Em relação à ordem de chamada, Xxx_Confirmation é executada regularmente logo após DspInternal_DcmConfirmation() ([SWS_Dcm_00742]). No entanto, se ocorrer o caso especial conforme [SWS_Dcm_01172], o DSD chama exclusivamente Xxx_Confirmation, enquanto a chamada interna é omitida.

Como Xxx_Confirmation está especificada como não reentrante (Non Reentrant) e síncrona ([SWS_Dcm_01342]), a implementação do lado da aplicação não deve conter processos bloqueantes nem disparar chamadas de retorno reentrantes para o DCM (interpretação). Pergunta Q-58ce3e44dc61540b (aberta)

Este texto foi criado por uma IA. Todas as informações baseiam-se exclusivamente no escopo de especificação AUTOSAR do release R20-11.

Guia do implementador em breve (complexidade I2)

função Xxx_ClearDTCCheckFnc [SWS_Dcm_01270] 📄 PDF

Std_ReturnType Xxx_ClearDTCCheckFnc (uint32 GoDTC, Dcm_NegativeResponseCodeType* ErrorCode);

Callout function for condition check, manufacturer / supplier specific checks on the groupOf DTC, which is requested to clear.

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

usar

A função síncrona de callout Xxx_ClearDTCCheckFnc é disponibilizada para a aplicação por meio do arquivo de cabeçalho Dcm_Externals.h [SWS_Dcm_01270]. Ela serve para a verificação, específica do fabricante e do fornecedor, de condições antes da exclusão de um grupo solicitado de códigos de falha de diagnóstico (Group of DTC). Como parâmetro de entrada, é passado a ela o identificador GoDTC do tipo uint32, que especifica o grupo de códigos de falha a ser excluído [SWS_Dcm_01270].

Tratamento de erros e valores de retorno

A liberação da solicitação de exclusão ocorre por meio do valor de retorno do tipo Std_ReturnType em conjunto com o parâmetro de saída ErrorCode [SWS_Dcm_01270]:

  • E_OK: A aplicação permite a exclusão do grupo de códigos de falha solicitado GoDTC [SWS_Dcm_01270].
  • E_NOT_OK: A aplicação proíbe a exclusão do grupo. Nesse caso de erro, um código de resposta negativo deve ser definido através do parâmetro de saída ErrorCode do tipo Dcm_NegativeResponseCodeType*. Em seguida, o módulo DCM envia uma resposta negativa com o valor de NRC [SWS_Dcm_01270] especificado em ErrorCode.

Simultaneidade e restrições

A função é provida com o Service ID 0x5f, opera de forma síncrona e está definida como não reentrante (Non Reentrant) [SWS_Dcm_01270]. O contexto de chamada deve, portanto, garantir que as chamadas ocorram sequencialmente e sem sobreposições concorrentes.

Esta nota de uso foi gerada por uma IA com base na especificação SWS_Dcm_01270 do AUTOSAR R20-11.

função Xxx_ProcessRequestDownload [SWS_Dcm_00754] 📄 PDF

Std_ReturnType Xxx_ProcessRequestDownload (Dcm_OpStatusType OpStatus, uint8 DataFormatIdentifier, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, uint32* BlockLength, Dcm_NegativeResponseCodeType* ErrorCode);

Callout function. DCM shall call this callout function to start a download process. This service is needed for the implementation of UDS service RequestDownload.

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

A função de callout Xxx_ProcessRequestDownload ([SWS_Dcm_00754]) é chamada pelo módulo Dcm para iniciar um processo de download durante o processamento do serviço UDS RequestDownload. Ela é definida como assíncrona e não reentrante e é disponibilizada através do cabeçalho Dcm_Externals.h ([SWS_Dcm_00754]).

Utilização e parâmetros

A chamada ocorre gradualmente através do parâmetro OpStatus com os valores DCM_INITIAL, DCM_PENDING ou DCM_CANCEL ([SWS_Dcm_00754]). Como parâmetros de entrada são passados os métodos de compressão e criptografia (DataFormatIdentifier), o bloco de memória (MemoryIdentifier), o endereço inicial (MemoryAddress) e o tamanho da memória descompactada em bytes (MemorySize) ([SWS_Dcm_00754]). Antes da chamada, o Dcm escreve no parâmetro inout BlockLength com o tamanho máximo de buffer possível ([SWS_Dcm_01417]). A função ajusta esse valor para o comprimento de bloco máximo admissível para operações de escrita posteriores ([SWS_Dcm_00754]).

Valores de retorno e interação

A função retorna E_OK em caso de execução bem-sucedida, DCM_E_PENDING se o processamento ainda estiver em andamento, ou E_NOT_OK em caso de erro ([SWS_Dcm_00754]):

  • Se a chamada retornar E_OK e o valor negociado BlockLength for menor ou igual ao comprimento de buffer suportado da conexão de protocolo atual, o Dcm envia uma resposta positiva com este valor como maxNumberOfBlockLength ([SWS_Dcm_01419]).
  • Se o comprimento de buffer retornado exceder o tamanho de buffer suportado da conexão de protocolo, o Dcm reporta o erro DET DCM_E_INTERFACE_BUFFER_OVERFLOW ([SWS_Dcm_01418]).
  • Em caso de retorno de E_NOT_OK, o Dcm envia uma resposta UDS negativa (NRC) com o valor definido no parâmetro de saída ErrorCode ([SWS_Dcm_00754], [SWS_Dcm_00757]).

Esta nota de utilização foi gerada automaticamente e serve como auxílio para a especificação AUTOSAR.

Guia do implementador em breve (complexidade I2)

função Xxx_ProcessRequestTransferExit [SWS_Dcm_00755] 📄 PDF

Std_ReturnType Xxx_ProcessRequestTransferExit (Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);

Callout function. DCM shall call this callout function to terminate a download or upload process. This callout is needed for the implementation of UDS service RequestTransferExit.

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

A função de callout Xxx_ProcessRequestTransferExit é chamada pelo módulo DCM para encerrar um processo de download ou upload em andamento no âmbito do serviço UDS RequestTransferExit [SWS_Dcm_00755]. A declaração da interface é disponibilizada por meio do cabeçalho Dcm_Externals.h [SWS_Dcm_00755].

Utilização e semântica

A função opera de forma assíncrona e é definida como não reentrante [SWS_Dcm_00755]. A chamada ocorre com a transmissão do status de execução atual OpStatus (valores possíveis: DCM_INITIAL, DCM_PENDING ou DCM_CANCEL) [SWS_Dcm_00755]. Como valores de retorno do tipo Std_ReturnType, estão especificados:

  • E_OK: a transferência foi encerrada com sucesso [SWS_Dcm_00755].
  • DCM_E_PENDING: o encerramento da transferência ainda não foi concluído e requer chamadas subsequentes [SWS_Dcm_00755].
  • E_NOT_OK: o encerramento falhou ou o buffer de resposta é muito pequeno [SWS_Dcm_00755].

Tratamento de erros e interação

Se a operação Xxx_ProcessRequestTransferExit retornar o valor de erro E_NOT_OK, deve ser passado um código de resposta negativo por meio do parâmetro de saída ErrorCode. O módulo DCM envia em seguida uma resposta UDS negativa (NRC) com exatamente esse código de erro para o testador de diagnóstico [SWS_Dcm_00759]. Em caso de uma chamada de cancelamento, o módulo DCM passa o status DCM_CANCEL para a função [SWS_Dcm_00755].

Este texto foi criado automaticamente. Todas as informações baseiam-se exclusivamente na especificação AUTOSAR.

Guia do implementador em breve (complexidade I2)

função Xxx_ProcessRequestUpload [SWS_Dcm_00756] 📄 PDF

Std_ReturnType Xxx_ProcessRequestUpload (Dcm_OpStatusType OpStatus, uint8 DataFormatIdentifier, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, uint32* BlockLength, Dcm_NegativeResponseCodeType* ErrorCode);

Callout function. DCM shall call this callout function to start an upload process. This service is needed for the implementation of UDS service RequestUpload.

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

A função de callout Xxx_ProcessRequestUpload é chamada pelo módulo DCM para iniciar o serviço UDS RequestUpload ([SWS_Dcm_00756]). Ela é disponibilizada por meio de Dcm_Externals.h e é especificada como não reentrante, bem como assíncrona ([SWS_Dcm_00756]). Por meio do parâmetro OpStatus (com os estados DCM_INITIAL, DCM_PENDING, DCM_CANCEL ou DCM_FORCE_RCRRP_OK), o DCM controla o fluxo da operação ([SWS_Dcm_00756]).

Durante a chamada, o DCM passa, entre outros, o método de compressão e criptografia (DataFormatIdentifier), o bloco de memória (MemoryIdentifier), o endereço inicial (MemoryAddress), bem como o tamanho de memória descompactado em bytes (MemorySize) ([SWS_Dcm_00756]). O parâmetro In/Out BlockLength define o número máximo de bytes para uma chamada subsequente de Dcm_ReadMemory; antes da chamada, o DCM escreve o tamanho máximo possível de buffer neste parâmetro ([SWS_Dcm_00756], [SWS_Dcm_01420]).

Como valores de retorno de Xxx_ProcessRequestUpload, estão definidos E_OK em caso de solicitação bem-sucedida, E_NOT_OK em caso de erros e DCM_E_PENDING em caso de processamento ainda não concluído ([SWS_Dcm_00756]):

  • Se a função retornar E_NOT_OK, o módulo DCM envia uma resposta UDS negativa com o valor de NRC definido no parâmetro de saída ErrorCode ([SWS_Dcm_00756], [SWS_Dcm_00758]).
  • Se a função retornar um valor de buffer solicitado em BlockLength que seja menor ou igual ao comprimento de buffer suportado da conexão de protocolo atual, o DCM utiliza esse valor como maxNumberOfBlockLength na resposta positiva ([SWS_Dcm_01422]).
  • Se, por outro lado, o comprimento de buffer retornado for maior do que o comprimento de buffer suportado pela conexão de protocolo, o DCM reporta o erro DET DCM_E_INTERFACE_BUFFER_OVERFLOW ([SWS_Dcm_01421]).

Este texto foi gerado por uma IA. Baseia-se exclusivamente nas especificações do payload AUTOSAR fornecido.

Guia do implementador em breve (complexidade I2)

função Xxx_ProcessTransferDataRead [SWS_Dcm_91070] 📄 PDF

Dcm_ReturnReadMemoryType Xxx_ProcessTransferDataRead (Dcm_OpStatusType OpStatus, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, Dcm_RequestDataArrayType MemoryData, Dcm_NegativeResponseCodeType* ErrorCode);

The ProcessTransferDataRead callout is used to request memory data identified by the parameter memoryAddress and memorySize from the UDS request message. This service is needed for the implementation of UDS services: • ReadMemoryByAddress • RequestUpload • ReadDataByIdentifier (in case of Dynamical DID defined by memory address) • TransferData

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

A função callout Xxx_ProcessTransferDataRead destina-se à leitura assíncrona de dados de memória da unidade de comando com base no endereço inicial (MemoryAddress) e no comprimento (MemorySize) de acordo com [SWS_Dcm_91070]. Ela é disponibilizada através do header Dcm_Externals.h e suporta os serviços UDS ReadMemoryByAddress, RequestUpload, TransferData, bem como ReadDataByIdentifier no caso de DIDs definidos dinamicamente através de endereços de memória [SWS_Dcm_91070].

A chamada é realizada de forma não reentrante (Non Reentrant) e é controlada através do parâmetro OpStatus ([SWS_Dcm_91070]):

  • DCM_INITIAL: Inicia a operação de leitura.
  • DCM_PENDING: Continua um processo de leitura ainda não concluído.
  • DCM_CANCEL: Cancela a operação em andamento.
  • DCM_FORCE_RCRRP_OK: Confirma a transmissão de uma resposta pendente.

Para o endereçamento, é possível selecionar um bloco ou área de memória através de MemoryIdentifier; se este parâmetro não for utilizado, ele deve ser obrigatoriamente definido como 0 [SWS_Dcm_91070]. Os dados lidos são retornados através do parâmetro de saída MemoryData, que aponta diretamente para o buffer de diagnóstico do DCM [SWS_Dcm_91070].

Como valores de retorno, estão definidos DCM_READ_OK em caso de sucesso, DCM_READ_PENDING se a leitura ainda estiver em andamento, bem como DCM_READ_FORCE_RCRRP se a operação estiver pendente e uma mensagem de resposta pendente (Response Pending) deva ser enviada imediatamente [SWS_Dcm_91070]. Se a leitura falhar, a função fornece DCM_READ_FAILED; neste caso, deve ser passado através do ponteiro ErrorCode um código de resposta negativa (NRC), o qual o DCM transmite em uma resposta negativa [SWS_Dcm_91070]. (Interpretação: A nota de especificação relativa a ErrorCode menciona Dcm_ReadMemory, mas deve referir-se aqui, em termos de sentido, à falha deste callout.) Pergunta Q-fe76e2599624baf7 (aberta)

Esta nota de uso baseia-se na especificação AUTOSAR CP R20-11 e foi criada de forma automatizada.

Guia do implementador em breve (complexidade I2)

função Xxx_ProcessTransferDataWrite [SWS_Dcm_91071] 📄 PDF

Dcm_ReturnWriteMemoryType Xxx_ProcessTransferDataWrite (Dcm_OpStatusType OpStatus, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, const Dcm_RequestDataArrayType MemoryData, Dcm_NegativeResponseCodeType* ErrorCode);

The ProcessTransferDataWrite callout is used to write memory data identified by the parameter memoryAddress and memorySize. This service is needed for the implementation of UDS services : • WriteMemoryByAddress • RequestDownload • TransferData

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

Utilização e semântica

O callout assíncrono Xxx_ProcessTransferDataWrite (Service-ID 0x27) está disponível através de Dcm_Externals.h e é chamado pelo módulo DCM para escrever dados de memória para os serviços UDS WriteMemoryByAddress, RequestDownload e TransferData [SWS_Dcm_91071]. O fluxo do processo de escrita é controlado através do parâmetro OpStatus com os valores DCM_INITIAL, DCM_PENDING, DCM_CANCEL ou DCM_FORCE_RCRRP_OK [SWS_Dcm_91071].

Parâmetros e valores de retorno

A função processa os seguintes parâmetros [SWS_Dcm_91071]:

  • MemoryIdentifier: Identificador do bloco de memória; se este parâmetro não for utilizado, deve ser definido como 0 [SWS_Dcm_91071].
  • MemoryAddress: Endereço inicial da memória do servidor para a qual os dados são copiados; em caso de não utilização (por exemplo, no caso de dados comprimidos), deve ser passado o valor 0 [SWS_Dcm_91071].
  • MemorySize: Número de bytes a serem escritos em MemoryData [SWS_Dcm_91071].
  • MemoryData: Ponteiro para os dados a serem escritos no buffer de diagnóstico do DCM [SWS_Dcm_91071].
  • ErrorCode: Parâmetro de saída para o código de resposta negativa (NRC) em caso de erro [SWS_Dcm_91071].

O valor de retorno do tipo Dcm_ReturnWriteMemoryType sinaliza o resultado da operação [SWS_Dcm_91071]:

  • DCM_WRITE_OK: Operação de escrita concluída com sucesso [SWS_Dcm_91071].
  • DCM_WRITE_PENDING: O processo de escrita ainda não está concluído [SWS_Dcm_91071].
  • DCM_WRITE_FORCE_RCRRP: O processo de escrita ainda está pendente; a transmissão da resposta pendente (Response Pending) inicia-se imediatamente [SWS_Dcm_91071].
  • DCM_WRITE_FAILED: A operação de escrita falhou [SWS_Dcm_91071].

Tratamento de erros e simultaneidade

Se o callout retornar o valor DCM_WRITE_FAILED, o módulo DCM envia uma resposta negativa com o valor NRC passado no parâmetro ErrorCode [SWS_Dcm_91071]. O callout é especificado como não reentrante (Non Reentrant) e, portanto, não pode ser executado concorrentemente [SWS_Dcm_91071].

Esta nota de uso foi criada de forma automatizada com base na especificação AUTOSAR.

Guia do implementador em breve (complexidade I2)

tipo Dcm_StatusType [SWS_Dcm_00976] 📄 PDF

Base item type to transport status information.

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

O tipo Dcm_StatusType serve como tipo básico de status e retorno para a transmissão de informações de status dentro do módulo Dcm e é disponibilizado por meio do arquivo de cabeçalho Dcm.h [SWS_Dcm_00976]. Ele baseia-se no tipo padrão uint8 e define valores de status padronizados para retornos de interfaces específicas do DCM [SWS_Dcm_00976].

Valores de status definidos e tratamento de erros

A especificação define para Dcm_StatusType os seguintes códigos de status e de erro [SWS_Dcm_00976]:

  • DCM_E_OK (0x00): indica que a operação solicitada foi executada ou aceita com sucesso [SWS_Dcm_00976].
  • DCM_E_ROE_NOT_ACCEPTED (0x06): indica que uma solicitação ResponseOnOneEvent foi rejeitada pelo DCM, por exemplo, porque um processo anterior de ResponseOnOneEvent ainda não foi concluído; o valor é utilizado na interface Dcm_ResponseOnOneEvent() [SWS_Dcm_00976].
  • DCM_E_PERIODICID_NOT_ACCEPTED (0x07): sinaliza que uma solicitação de transmissão periódica não foi aceita pelo DCM, por exemplo, porque uma transmissão periódica em andamento ainda não foi finalizada; este status é utilizado na interface Dcm_ResponseOnOneDataByPeriodicId() [SWS_Dcm_00976].

Restrições e condições de chamada

Os chamadores das interfaces mencionadas devem avaliar o valor de retorno do tipo Dcm_StatusType para determinar se novas solicitações podem ser aceitas imediatamente ou se foram descartadas devido a transmissões ainda em andamento [SWS_Dcm_00976]. Uma solicitação repetida provavelmente só terá perspectiva de sucesso assim que os processos anteriores de eventos ou de envio estiverem completamente concluídos [SWS_Dcm_00976]. Pergunta Q-901ec7e3aac8901c (aberta)

Este texto foi criado por uma IA e baseia-se na especificação AUTOSAR.

Guia do implementador em breve (complexidade I1)

tipo Dcm_CommunicationModeType [SWS_Dcm_00981] 📄 PDF

– Manager

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

O tipo de dados Dcm_CommunicationModeType é um tipo enumerado declarado em Dcm.h com base em uint8 ([SWS_Dcm_00981]). Ele define os modos de comunicação para o controle seletivo dos caminhos de transmissão (Tx) e recepção (Rx). O intervalo de valores compreende os valores de 0x00 a 0x0B para dados normais de aplicação (NORM), o gerenciamento de rede (NM), bem como ambos os ramos de comunicação combinados (NORM_NM) ([SWS_Dcm_00981]).

O tipo é utilizado como parâmetro em chamadas da interface BSW BswM_Dcm_CommunicationMode_CurrentState. Por meio dela, o DCM encaminha o modo atual para o BSW Mode Manager após a confirmação de envio (Sent Confirmation) de uma requisição de serviço UDS CommunicationControl (Service 0x28) ([SWS_Dcm_00512], [SWS_Dcm_00785]). O valor concreto do modo corresponde aos parâmetros communicationType e controlType da requisição de diagnóstico recebida ([SWS_Dcm_00512]).

A interação e as redes afetadas dependem do parâmetro de sub-rede da requisição UDS:

  • Na sub-rede 0x00, a atualização é realizada para todos os canais de rede configurados em DcmDspComControlAllChannel ([SWS_Dcm_00512]).
  • Na sub-rede 0x0F, é reportado o modo de comunicação do canal atual de recepção de diagnóstico ([SWS_Dcm_00785]).
  • Em sub-redes de 0x01 a 0x0E, o suporte é verificado; sub-redes não suportadas são rejeitadas com o código de resposta negativo 0x31 ([SWS_Dcm_00786]).
  • Em subfunções com endereçamento estendido (como enableRxAndDisableTxWithEnhancedAddressInformation ou enableRxAndTxWithEnhancedAddressInformation), a chamada é realizada para o canal referenciado pelo Sub-Node-ID ([SWS_Dcm_01077], [SWS_Dcm_01079]).

Este texto foi gerado por uma IA com base na especificação AUTOSAR R20-11.

Guia do implementador em breve (complexidade I2)

tipo Dcm_ConfigType [SWS_Dcm_00982] 📄 PDF

This type defines a data structure for the post build parameters of the DCM . At initialization the DCM gets a pointer to a structure of this type to get access to its configuration data, which is necessary for initialization.

tipo Dcm_EcuStartModeType [SWS_Dcm_00987] 📄 PDF

Allows the DCM to know if a diagnostic response shall be sent in the case of a jump from bootloader

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

O tipo de dados Dcm_EcuStartModeType é derivado de uint8 e é disponibilizado através do cabeçalho Dcm.h [SWS_Dcm_00987]. Ele serve ao Diagnostic Communication Manager (DCM) para determinar o modo de inicialização e sinaliza se uma resposta de diagnóstico deve ser transmitida após uma transição a partir do bootloader [SWS_Dcm_00987].

A faixa de valores compreende dois estados definidos [SWS_Dcm_00987]:

  • DCM_COLD_START (0x00): A unidade de controle inicia regularmente em operação normal [SWS_Dcm_00987].
  • DCM_WARM_START (0x01): A unidade de controle inicia em decorrência de um salto a partir do bootloader [SWS_Dcm_00987].

Na interação entre as interfaces, Dcm_EcuStartModeType atua como valor de retorno síncrono do callout Dcm_GetProgConditions, o qual está disponível através de Dcm_Externals.h [SWS_Dcm_00544]. Essa função é chamada durante a inicialização do DCM para determinar se uma resposta positiva ($50 ou $51) precisa ser enviada [SWS_Dcm_00544]. As condições de contorno detalhadas do salto a partir do bootloader são transmitidas ao DCM por meio do parâmetro de saída ProgConditions [SWS_Dcm_00544].

Quanto à execução e tratamento de erros, o callout consultador é definido como síncrono e não reentrante [SWS_Dcm_00544]. Códigos de erro específicos ou notificações diretas para DET ou DEM não estão definidos para este tipo de dados.

Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR Classic R20-11.

Guia do implementador em breve (complexidade I1)

tipo Dcm_ProgConditionsType [SWS_Dcm_00988] 📄 PDF

Used in Dcm_SetProgConditions() to allow the integrator to store relevant information prior to jumping to bootloader / jump due to ECUReset request.

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

A estrutura Dcm_ProgConditionsType serve para o intercâmbio de dados de estado e contexto entre a aplicação e o bootloader durante sequências de programação ou um reset da ECU [SWS_Dcm_00988]. Ela agrupa informações de conexão como ConnectionId e TesterAddress, identificadores de diagnóstico como Sid e SubFncId, bem como flags de controle como ReprogramingRequest, ApplUpdated e ResponseRequired [SWS_Dcm_00988].

A utilização ocorre através de duas interfaces centrais:

  • Antes do salto para o bootloader ou durante um reset, o DCM passa a estrutura para a função assíncrona e não reentrante Dcm_SetProgConditions() [SWS_Dcm_00543]. Valores de retorno possíveis são E_OK, E_NOT_OK, DCM_E_PENDING bem como DCM_E_FORCE_RCRRP mediante solicitação de uma mensagem Response-Pending (NRC 0x78) [SWS_Dcm_00543].
  • Após a reinicialização, o DCM chama, durante sua inicialização, o callout síncrono e não reentrante Dcm_GetProgConditions() para ler as condições salvas e determinar o Dcm_EcuStartModeType [SWS_Dcm_00544]. O armazenamento desses dados pelo integrador deve ocorrer tipicamente através de RAM resistente a reset ou memória não volátil (interpretação). Pergunta Q-026bc7bc93f5502c (aberta)

Na interação adicional do sistema, o DCM avalia a estrutura: assim que o ComM reporta a capacidade total de comunicação, o DCM envia a resposta de diagnóstico pendente para o identificador de serviço armazenado em Sid [SWS_Dcm_00767]. Se ApplUpdated == True sinalizar uma atualização concluída via flash download após um salto para o bootloader, o DCM notifica o BswM através de BswM_Dcm_ApplicationUpdated() [SWS_Dcm_00768].

Esta nota de utilização foi gerada automaticamente e baseia-se exclusivamente nas especificações da versão AUTOSAR R20-11.

Guia do implementador em breve (complexidade I1)

tipo Dcm_MsgType [SWS_Dcm_00990] 📄 PDF

Base type for diagnostic message (request, positive or negative response)

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

Utilização e definição de tipo

O tipo de dados Dcm_MsgType é o tipo de ponteiro central para mensagens de diagnóstico no Diagnostic Communication Manager e está disponível por meio do cabeçalho Dcm.h [SWS_Dcm_00990]. Ele é declarado como ponteiro para Dcm_MsgItemType* e serve como base comum para a referenciação de requisições, bem como de mensagens de resposta positivas e negativas [SWS_Dcm_00990]. Interpretação: Como o tipo base Dcm_MsgItemType não é detalhado na especificação, ele provavelmente deve representar um byte de dados individual (como uint8), por meio do qual o buffer de mensagens linear é acessado sequencialmente. Pergunta Q-2b6f46b51d3cb8e0 (aberta)

Interação e contexto estrutural

O uso primário de Dcm_MsgType ocorre dentro da estrutura de contexto Dcm_MsgContextType [SWS_Dcm_00994]. Nela, o tipo referencia duas áreas de dados separadas:

  • reqData: Aponta para os dados úteis da requisição de diagnóstico, iniciando imediatamente após o Service Identifier (SID), o qual não faz parte desses dados [SWS_Dcm_00994].
  • resData: Aponta para os dados de uma resposta positiva e inicia igualmente logo após o Service Identifier [SWS_Dcm_00994].

Limites de buffer e restrições

Ao processar e preencher os buffers de resposta endereçados por meio de Dcm_MsgType, os usuários devem cumprir rigorosamente os respectivos limites de buffer [SWS_Dcm_00994]. O comprimento efetivo da resposta resDataLen não deve, sob hipótese alguma, exceder a capacidade do buffer definida por resMaxDataLen, uma vez que o tamanho máximo de resposta é estritamente restrito pela alocação do buffer atribuído [SWS_Dcm_00994].

Este texto foi gerado por uma IA com base na especificação AUTOSAR Classic Release R20-11.

tipo Dcm_MsgLenType [SWS_Dcm_00991] 📄 PDF

Length of diagnostic message (request, positive or negative response). The maximum length is dependent of the underlying transport protocol/media.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: d28165df74e2 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 Dcm_MsgLenType está disponível por meio do cabeçalho Dcm.h e é derivado do tipo base uint32 [SWS_Dcm_00991]. Ele é utilizado no Diagnostic Communication Manager (DCM) para descrever o comprimento de mensagens de diagnóstico. Isso abrange tanto requisições de diagnóstico (Requests) quanto mensagens de resposta (Responses) positivas e negativas [SWS_Dcm_00991].

Em relação aos limites do intervalo de valores, a especificação estabelece que o comprimento máximo transmissível de uma mensagem de diagnóstico depende do respectivo protocolo de transporte subjacente ou meio de transmissão [SWS_Dcm_00991]. Interpretação: Embora o tipo de dados subjacente uint32 possa representar, do lado do software, comprimentos de mensagem de até 4 GiB, na prática o comprimento máximo real provavelmente estará sempre limitado pelo meio de comunicação e pelos tamanhos de buffer. Pergunta Q-ac43639ecb32605d (aberta)

Dcm_MsgLenType desempenha um papel central na estrutura Dcm_MsgContextType, que encapsula o contexto de uma solicitação de diagnóstico [SWS_Dcm_00994]. Dentro dessa estrutura, ele tipifica várias indicações de comprimento fundamentais:

  • reqDataLen: Representa o comprimento dos dados de requisição (Request Data). A contagem inicia imediatamente após o identificador de serviço, de modo que este não é incluído na indicação de comprimento [SWS_Dcm_00994].
  • resDataLen: Indica o comprimento dos dados de resposta positiva, também excluindo o identificador de serviço [SWS_Dcm_00994].
  • resMaxDataLen: Especifica o comprimento máximo possível de uma resposta, o qual é limitado pelo tamanho do buffer alocado [SWS_Dcm_00994].

Ao implementar manipuladores de serviço, deve-se atentar rigorosamente para que os cálculos de comprimento para reqDataLen e resDataLen sejam sempre efetuados sem o identificador de serviço e que os dados de resposta não excedam o limite de buffer predeterminado por resMaxDataLen [SWS_Dcm_00994].

Esta nota de uso foi gerada por uma IA com base na especificação AUTOSAR CP R20-11.

tipo Dcm_MsgAddInfoType [SWS_Dcm_00992] 📄 PDF

Additional information on message request. Datastructure: Bitfield

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 7c8af2ec6aed 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 Dcm_MsgAddInfoType é definido como uma estrutura de campo de bits de acordo com [SWS_Dcm_00992] e serve para fornecer informações complementares de status e controle para uma mensagem de diagnóstico. No AUTOSAR clássico, o tipo é disponibilizado por meio do arquivo de cabeçalho Dcm.h e é empregado como elemento msgAddInfo dentro da estrutura de contexto de nível superior Dcm_MsgContextType ([SWS_Dcm_00994]) para agrupar de forma consistente informações adicionais sobre requisições de serviço e as respostas correspondentes.

De acordo com [SWS_Dcm_00992], a estrutura de campo de bits especifica flags de controle individuais com posições de bit precisamente definidas:

  • reqType (posição LSB+0): Identifica o tipo de endereçamento da requisição de diagnóstico. Um valor 0 sinaliza uma requisição física (physical request), enquanto um valor 1 indica uma requisição funcional (functional request).
  • suppressPosResponse (posição LSB+1): Determina o comportamento em relação a respostas positivas. Com 0, a resposta positiva não é suprimida (do not suppress), ao passo que um valor 1 estipula que nenhuma resposta positiva pode ser enviada (no positive response will be sent).

Como Dcm_MsgAddInfoType representa uma estrutura puramente de dados para passagem de parâmetros e contexto, não existem para este tipo em si semânticas de chamada síncrona ou assíncrona, valores de retorno, diretrizes de reentrância ou mensagens de erro próprias para DET ou DEM. A avaliação concreta e a consideração dos bits definidos no fluxo subsequente cabem presumivelmente às rotinas internas de processamento do Diagnostic Communication Manager quando estas acessam o contexto da mensagem de [SWS_Dcm_00994]. Pergunta Q-b27248cc452ba1b1 (aberta)

Este texto foi gerado por uma IA e serve como guia de orientação no ambiente AUTOSAR.

tipo Dcm_IdContextType [SWS_Dcm_00993] 📄 PDF

This message context identifier can be used to determine the relation between request and response confirmation.

tipo Dcm_MsgContextType [SWS_Dcm_00994] 📄 PDF

This data structure contains all information which is necessary to process a diagnostic message from request to response and response confirmation.

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

A estrutura de dados Dcm_MsgContextType fornece todas as informações necessárias para controlar uma requisição de diagnóstico, desde o processamento e a resposta até a confirmação [SWS_Dcm_00994]. Ela é passada como parâmetro de entrada/saída pMsgContext para rotinas de serviço assíncronas e reentrantes [SWS_Dcm_00763], [SWS_Dcm_00764]. Nesse processo, os ponteiros de dados úteis reqData e resData apontam sempre imediatamente após o identificador de serviço (SID), e as indicações de comprimento reqDataLen bem como resDataLen não incluem o SID [SWS_Dcm_00994]. O submódulo DSD reinsere o SID de resposta na primeira posição ao copiar para o buffer de transmissão [SWS_Dcm_00223], [SWS_Dcm_00224].

Ao utilizar, devem ser observados os seguintes aspectos:

  • Comprimento da resposta e caso de erro: Se o comprimento da resposta gerada exceder o limite do buffer definido através do campo dependente do protocolo resMaxDataLen e for DcmPagedBufferEnabled == FALSE, o DCM responde com o código de resposta negativo 0x14 (DCM_E_RESPONSETOOLONG) [SWS_Dcm_01059]. Se o processamento no manipulador de serviço falhar, a aplicação retorna E_NOT_OK com um código de erro [SWS_Dcm_00763].
  • Informações adicionais e supressão de resposta: Através de msgAddInfo é transportado, entre outros, o suppressPosRspMsgIndicationBit; se este estiver definido, o DSD suprime respostas positivas [SWS_Dcm_00202], [SWS_Dcm_00231].
  • Tempo de vida e associação de contexto: Ao atingir a confirmação, a estrutura perde sua validade e todos os dados da mensagem são perdidos [SWS_Dcm_00994]. As aplicações devem salvar o identificador idContext já no início da requisição, a fim de associar uma confirmação posterior à requisição original [SWS_Dcm_00994].
  • Relação com o protocolo: O campo dcmRxPduId identifica a PDU de recepção e permite um tratamento diferenciado dependendo do protocolo de diagnóstico, por exemplo, entre OBD e diagnóstico estendido [SWS_Dcm_00994].

Interpretação: Como o contexto se torna inválido na confirmação, o buffer de memória subjacente deve ser liberado ou sobrescrito pela DSL imediatamente após o envio da resposta para comunicações subsequentes. Pergunta Q-88e3cf2f3d8f6076 (aberta)

Este texto foi gerado por uma IA com base na especificação AUTOSAR Classic R20-11.

Guia do implementador em breve (complexidade I2)

tipo Dcm_ExtendedOpStatusType [SWS_Dcm_91015] 📄 PDF

–

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

O tipo Dcm_ExtendedOpStatusType é baseado em uint8 e é disponibilizado através do arquivo de cabeçalho Dcm.h [SWS_Dcm_91015]. Ele controla, como parâmetro de entrada OpStatus, as fases de execução e as confirmações em funções assíncronas de diagnóstico e de subserviço como <Module>_<DiagnosticService> [SWS_Dcm_00763], bem como <Module>_<DiagnosticService>_<SubService> [SWS_Dcm_00764].

Os valores de estado definidos sinalizam o progresso da operação e os retornos do DCM [SWS_Dcm_91015]:

  • DCM_INITIAL (0x00): Primeira chamada da operação.
  • DCM_PENDING (0x01): Chamada subsequente após um estado intermediário (Pending) reportado na chamada anterior.
  • DCM_CANCEL (0x02): Solicitação pelo DCM para cancelar a operação em andamento.
  • DCM_FORCE_RCRRP_OK (0x03): Confirmação da transmissão de uma resposta pendente (Response Pending).
  • DCM_POS_RESPONSE_SENT (0x04) e DCM_POS_RESPONSE_FAILED (0x05): Confirmação sobre o envio bem-sucedido ou com falha de uma resposta positiva.
  • DCM_NEG_RESPONSE_SENT (0x06) e DCM_NEG_RESPONSE_FAILED (0x07): Confirmação sobre o envio bem-sucedido ou com falha de uma resposta negativa.

No que diz respeito à concorrência, as interfaces de diagnóstico chamadas são especificadas como reentrantes e assíncronas [SWS_Dcm_00763] [SWS_Dcm_00764]. Em caso de erros, a função de serviço fornece o valor de retorno E_NOT_OK e atribui ao parâmetro de saída ErrorCode um código de resposta negativa (NRC), momento em que o módulo DCM envia uma resposta negativa com esse código [SWS_Dcm_00763] [SWS_Dcm_00764].

Este texto foi gerado por uma IA com base na especificação.

Guia do implementador em breve (complexidade I2)

tipo Dcm_OpStatusType [SWS_Dcm_00984] 📄 PDF

–

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

O tipo Dcm_OpStatusType baseia-se em uint8 e é disponibilizado por meio do arquivo de cabeçalho Rte_Dcm_Type.h [SWS_Dcm_00984]. Ele controla o estado de execução e de ciclo de vida de operações diagnósticas assíncronas do Diagnostic Communication Manager (DCM), tais como Dcm_ReadMemory [SWS_Dcm_00539], Dcm_WriteMemory [SWS_Dcm_00540] ou Dcm_SetProgConditions [SWS_Dcm_00543].

Para o controle do fluxo da operação, estão definidos quatro valores de status [SWS_Dcm_00984]:

  • DCM_INITIAL (0x00): Caracteriza a primeira chamada de uma operação pelo DCM [SWS_Dcm_00527].
  • DCM_PENDING (0x01): Sinaliza uma chamada subsequente após o retorno prévio de um estado pendente [SWS_Dcm_00984]. Se uma operação retornar o valor de erro DCM_E_PENDING, o DCM chamará essa operação novamente com OpStatus = DCM_PENDING em cada ciclo subsequente de Dcm_MainFunction, até que o processamento seja concluído [SWS_Dcm_00530].
  • DCM_CANCEL (0x02): Solicita explicitamente à entidade chamada o cancelamento de uma operação assíncrona ainda pendente [SWS_Dcm_00984].
  • DCM_FORCE_RCRRP_OK (0x03): Confirma a transmissão realizada de uma mensagem de Response-Pending (NRC 0x78) [SWS_Dcm_00984]. Se a operação responder com DCM_E_FORCE_RCRRP, o DCM inicia o envio de RCR-RP e interrompe novas chamadas da operação até que o envio seja concluído [SWS_Dcm_00528].

Em relação à concorrência e condições de contorno, as operações que recebem Dcm_OpStatusType como parâmetro de passagem são projetadas de forma assíncrona e especificadas como não reentrantes [SWS_Dcm_00539] [SWS_Dcm_00754].

Este texto foi gerado por uma IA e serve como guia de orientação para a especificação.

Guia do implementador em breve (complexidade I2)

tipo Dcm_ConfirmationStatusType [SWS_Dcm_00983] 📄 PDF

–

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

Utilização e gama de valores

O tipo de dados Dcm_ConfirmationStatusType é um tipo enumerado derivado de uint8, disponibilizado por meio do arquivo de cabeçalho Rte_Dcm_Type.h [SWS_Dcm_00983]. Ele é empregado para reportar o status de uma resposta de diagnóstico enviada – tanto em transmissões bem-sucedidas quanto em erros de transmissão – à aplicação ou a manipuladores internos de serviço [SWS_Dcm_01342]. O intervalo de valores compreende quatro estados discretos [SWS_Dcm_00983]:

  • DCM_RES_POS_OK (0x00): Interpretação: A resposta de diagnóstico positiva foi transmitida com sucesso. Pergunta (aberta)
  • DCM_RES_POS_NOT_OK (0x01): Interpretação: Ocorreu um erro durante a transmissão da resposta de diagnóstico positiva. Pergunta (aberta)
  • DCM_RES_NEG_OK (0x02): Interpretação: A resposta de diagnóstico negativa (NRC) foi transmitida com sucesso. Pergunta (aberta)
  • DCM_RES_NEG_NOT_OK (0x03): Interpretação: Ocorreu um erro durante a transmissão da resposta de diagnóstico negativa. Pergunta (aberta)

Interação e interfaces

O status de confirmação é passado como parâmetro de entrada (IN) em funções de callback síncronas. Na interface de confirmação genérica Xxx_Confirmation, o parâmetro é transmitido juntamente com o identificador de serviço (SID), o tipo de endereçamento (ReqType), o ID de conexão (ConnectionId), o tipo de protocolo e o endereço de origem do testador [SWS_Dcm_01342]. Da mesma forma, a interface ServiceRequestNotification integra esse status por meio da operação Confirmation [SWS_Dcm_00694].

Na execução de serviços de rotina, o tipo é utilizado especificamente para reportar o status de transmissão após a conclusão de operações de rotina individuais. Para essa finalidade, são utilizados os callbacks declarados em Dcm_Externals.h: Xxx_StartConfirmation [SWS_Dcm_91016], Xxx_StopConfirmation [SWS_Dcm_91017] e Xxx_RequestResultsConfirmation [SWS_Dcm_91018].

Simultaneidade e execução

As funções de confirmação retornam um Std_ReturnType (por exemplo, E_OK ou E_NOT_OK) [SWS_Dcm_01342], [SWS_Dcm_91016]. Todas as chamadas de interface mencionadas são executadas de forma síncrona e declaradas como não reentrantes (Non Reentrant) [SWS_Dcm_01342], [SWS_Dcm_91016], [SWS_Dcm_91017], [SWS_Dcm_91018].

Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR CP R20-11.

Guia do implementador em breve (complexidade I2)

tipo Dcm_SesCtrlType [SWS_Dcm_00978] 📄 PDF

Session type definition. 0, 127 and all values above 127 are reserved by ISO.

tipo Dcm_AuthenticationRoleType [SWS_Dcm_91068] 📄 PDF

–

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

O tipo de dados Dcm_AuthenticationRoleType está especificado como array de bytes (uint8), cujo tamanho é determinado pelo parâmetro de configuração DcmDspAuthenticationRoleSize [SWS_Dcm_91068]. É disponibilizado através do ficheiro de cabeçalho Rte_Dcm_Type.h e serve, no módulo DCM, para a representação formal de papéis de autenticação [SWS_Dcm_91068].

Na aplicação prática, o tipo serve como parâmetro de entrada para definir papéis para ligações de diagnóstico não autenticadas:

  • Utilização e semântica: O tipo é passado como parâmetro de entrada deauthenticatedRole na função C Dcm_SetDeauthenticatedRole (disponível através de Dcm.h) [SWS_Dcm_91069] bem como na operação SetDeauthenticatedRole da interface de serviço Authentication [SWS_Dcm_91072]. Deste modo, é atribuído de forma síncrona um papel desautenticado a uma ligação, identificada através do connectionId [SWS_Dcm_91069].
  • Concorrência e validade: A API C Dcm_SetDeauthenticatedRole está especificada como reentrante [SWS_Dcm_91069]. Um papel atribuído permanece ativo para a respetiva ligação até que esta mude para o estado autenticado ou a unidade de comando seja reiniciada [SWS_Dcm_91069], [SWS_Dcm_91072].
  • Tratamento de erros: Não existem códigos de erro específicos para o tipo e as operações associadas; por padrão, a função retorna sempre E_OK [SWS_Dcm_91069], [SWS_Dcm_91072].

Este texto foi gerado por uma IA com base na especificação.

Guia do implementador em breve (complexidade I1)

tipo DiagnosticSessionControlModeSwitchInterface [SWS_Dcm_91033] 📄 PDF

A ModeSwitchInterface PPortPrototype used to notify SW-Cs about the current Diagnostic Session

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

usar

O elemento de interface DiagnosticSessionControlModeSwitchInterface é declarado conforme [SWS_Dcm_91033] como uma porta fornecida (PPortPrototype ou ProvidedPort) do módulo DCM e utiliza a interface Dcm_DiagnosticSessionControlModeSwitchInterface. Conforme a especificação em [SWS_Dcm_91033], essa porta serve para notificar componentes de software (SW-Cs) sobre a troca e o estado atual da sessão de diagnóstico ativa (Diagnostic Session).

Interpretação: O módulo DCM assume aqui presumivelmente o papel do emissor, que encaminha alterações de estado da sessão de diagnóstico através da RTE para componentes de software interessados. Pergunta Q-6af0e97b6910087d (aberta) As SW-Cs conectadas devem receber e processar essas mudanças de modo por meio de eventos de mudança de modo configurados, a fim de adaptar sequências internas, liberações ou seu comportamento funcional à respectiva sessão de diagnóstico ativa.

Tratamento de erros e condições de contorno

Para esta porta, não estão definidos em [SWS_Dcm_91033] códigos de erro específicos, valores de retorno ou notificações para DET ou DEM. Interpretação: Quaisquer estados de erro durante a transmissão devem, portanto, ser totalmente monitorados e tratados pelos mecanismos gerais da AUTOSAR-RTE e do módulo básico DCM. Pergunta Q-a8055458432174f6 (aberta) Restrições especiais relativas à reentrância ou ao contexto de chamada não constam nos dados de especificação e, portanto, não são consideradas mais detalhadamente.

Este texto foi gerado por uma IA com base na especificação AUTOSAR R20-11.

Guia do implementador em breve (complexidade I1)

tipo EcuResetModeSwitchInterface [SWS_Dcm_91034] 📄 PDF

A ModeSwitchInterface PPortPrototype used to notify SW-Cs about an upcoming ECU Reset and its type

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

De acordo com [SWS_Dcm_91034], o elemento de porta EcuResetModeSwitchInterface está especificado como porta fornecida (ProvidedPort ou PPortPrototype) do módulo DCM. Utiliza a interface Dcm_EcuResetModeSwitchInterface e serve para informar componentes de software (SW-Cs) sobre um reset iminente da unidade de comando, bem como sobre o tipo exato de reset [SWS_Dcm_91034].

Para a utilização e a interação no sistema aplicam-se os seguintes aspetos:

  • Papel de comunicação: O DCM atua como emissor da mudança de modo. As SW-Cs interessadas conectam-se através de portas recetoras correspondentes (R-Ports) para reagir à notificação [SWS_Dcm_91034].
  • Semântica da mudança de modo: Como ModeSwitchInterface, não são transmitidos aqui valores de retorno cliente-servidor ou parâmetros de dados, mas sim sinalizadas mudanças de estado através da RTE [SWS_Dcm_91034]. A notificação ocorre, assim, por meio de declarações de modo da interface.
  • Reação dos componentes: Através do tipo de reset comunicado, as SW-Cs tomam conhecimento da natureza do reinício iminente [SWS_Dcm_91034]. Isso deve permitir às aplicações armazenar ordenadamente dados voláteis de tempo de execução na memória não volátil ou colocar o hardware periférico num estado seguro antes do reinício (interpretação). Pergunta Q-4dcf9314d84b53a0 (aberta)
  • Tratamento de erros: A própria definição da interface não contém mensagens de erro nem canais de retorno para estados de erro das SW-Cs [SWS_Dcm_91034].

Este texto foi gerado por uma IA e baseia-se na release R20-11 da AUTOSAR.

Guia do implementador em breve (complexidade I1)

tipo ModeRapidPowerShutDownModeSwitchInterface [SWS_Dcm_91035] 📄 PDF

A ModeSwitchInterface PPortPrototype used to notify SW-Cs about the rapid power shut down mode

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

Segundo [SWS_Dcm_91035], a interface ModeRapidPowerShutDownModeSwitchInterface está especificada como PPortPrototype (ProvidedPort) para a interface Dcm_ModeRapidPowerShutDownModeSwitchInterface no módulo Dcm. Serve para notificar componentes de software (SW-Cs) sobre o modo de encerramento rápido (Rapid Power Shut Down Mode).

No que diz respeito à utilização, ao comportamento e à interação, são relevantes os seguintes aspetos:

  • Utilização e semântica: Através do ModeSwitchInterface, o DCM sinaliza mudanças de modo às SW-Cs conectadas. O contexto de chamada situa-se dentro do módulo DCM que aciona a alteração de modo; a transmissão para os recetores ocorre de forma assíncrona através da RTE [SWS_Dcm_91035].
  • Tratamento de erros: A definição da porta não contém códigos de erro específicos, valores de retorno ou eventos de DET/DEM. Eventuais erros na transmissão de modo devem, portanto, ser totalmente intercetados pelos mecanismos padrão da AUTOSAR-RTE para portas de mudança de modo. Pergunta Q-16537a6a4e19e40b (aberta)
  • Concorrência e restrições: A notificação ocorre no contexto de execução do DCM. As SW-Cs recetoras são presumivelmente ativadas através de runnables acionadas por modo e devem ser concebidas de modo a executar as ações para o encerramento rápido sem atrasos bloqueantes. Pergunta Q-20f196c7af208288 (aberta)

Este texto foi gerado por uma IA com base na especificação AUTOSAR.

Guia do implementador em breve (complexidade I1)

tipo ControlDTCSettingModeSwitchInterface [SWS_Dcm_91037] 📄 PDF

A ModeSwitchInterface PPortPrototype used to notify SW-Cs about the DTC Setting mode

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

Uso e finalidade

De acordo com [SWS_Dcm_91037], o elemento ControlDTCSettingModeSwitchInterface é um ModeSwitchInterface disponibilizado como Provided-Port (PPortPrototype) do gestor de comunicação de diagnóstico (DCM). A sua tarefa principal consiste em notificar componentes de software (SW-Cs) conectados sobre o estado atual do modo de configuração de DTC (DTC Setting mode).

Como interface de porta é utilizado aqui Dcm_ControlDTCSettingModeSwitchInterface [SWS_Dcm_91037]. Uma vez que o DCM declara esta porta como Provided-Port, o módulo de diagnóstico assume o papel de gestor de modo ou emissor. Os componentes de aplicação podem conectar-se através de Required-Ports correspondentes para receber alterações de estado e adaptar o seu comportamento interno.

Interação e integração do sistema

A interação no conjunto do sistema concentra-se no desacoplamento de comandos de diagnóstico e lógica de aplicação:

  • Propagação de modo: Através da porta fornecida, o DCM informa as SW-Cs se o armazenamento e a atualização de códigos de falha de diagnóstico estão ativos ou bloqueados [SWS_Dcm_91037]. No ambiente de tempo de execução AUTOSAR, a notificação das SW-Cs deve ocorrer por meio de eventos de mudança de modo padrão da RTE. Pergunta Q-8c0918099f2aa797 (aberta)
  • Origem diagnóstica: A comutação do modo de DTC-Setting está presumivelmente no contexto direto de serviços de diagnóstico UDS, como ControlDTCSetting (serviço 0x85), através dos quais um testador externo pode suspender temporariamente o registo de erros. Pergunta Q-f2555e0641476955 (aberta)

Tratamento de erros e condições de contorno

Como a especificação em [SWS_Dcm_91037] não define códigos de erro específicos, nem mensagens DET ou valores de retorno, a transmissão de modo ocorre de forma puramente declarativa através dos mecanismos da RTE. Não estão indicados contextos especiais de chamada ou diretrizes de reentrância para a própria declaração da porta.

Este texto foi gerado por uma IA com base na especificação AUTOSAR Classic R20-11.

Guia do implementador em breve (complexidade I1)

tipo SecurityAccessModeSwitchInterface [SWS_Dcm_91039] 📄 PDF

A ModeSwitchInterface PPortPrototype used to notify SW-Cs about the current Security Level

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

No módulo DCM, o elemento de porta SecurityAccessModeSwitchInterface fornece uma Provided-Port (PPortPrototype) com base na interface Dcm_SecurityAccessModeSwitchInterface [SWS_Dcm_91039]. O objetivo desta interface é notificar componentes de software (SW-Cs) sobre o nível de segurança (Security Level) atualmente ativo [SWS_Dcm_91039].

Utilização e interação

A notificação é realizada através da porta do DCM para os componentes conectados [SWS_Dcm_91039]. A disponibilização deve ser implementada como comunicação de mudança de modo através da AUTOSAR-RTE, para que as SW-Cs conectadas possam reagir a mudanças de estado do Security Level através de eventos de mudança de modo (interpretação). Pergunta Q-d86dacdb91979b87 (aberta) Parâmetros, valores de retorno ou chamadas de função síncronas específicas não estão definidos na descrição da porta [SWS_Dcm_91039]; a transmissão deve, assim, corresponder à semântica de difusão assíncrona de um gestor de modo (interpretação). Pergunta Q-9d750df4f73b1634 (aberta)

Tratamento de erros e restrições

Tratando-se de uma comutação de modo pura, a especificação não menciona códigos de erro específicos, verificações de parâmetros ou mensagens para DET ou DEM [SWS_Dcm_91039]. Um tratamento direto de erros na notificação não deve estar previsto na própria interface (interpretação). Pergunta (aberta) Restrições relativas à reentrância ou a variantes divergentes não estão especificadas para o elemento de porta [SWS_Dcm_91039].

Esta nota de utilização foi gerada automaticamente e baseia-se nos requisitos da release R20-11 da AUTOSAR.

Guia do implementador em breve (complexidade I1)

tipo DcmDiagnosticSessionControl [SWS_Dcm_91019] 📄 PDF

ModeDeclarationGroup representing the different diagnostic sessions Further modes to be added: {ecuc(Dcm/DcmConfigSet/DcmDsp/DcmDspSession/ DcmDspSessionRow.SHORT-NAME)}

tipo DcmModeRapidPowerShutDown [SWS_Dcm_91023] 📄 PDF

ModeDeclarationGroup representing the enable/disable state of rapid power shutdown

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

O ModeDeclarationGroup DcmModeRapidPowerShutDown serve para representar o estado de ativação para o desligamento rápido (Rapid Power Shutdown) na ECU [SWS_Dcm_91023]. O elemento está associado à categoria EXPLICIT_ORDER e define dois modos concretos: o modo inicial DCM_ENABLE_RAPIDPOWERSHUTDOWN com o valor numérico 0, bem como DCM_DISABLE_RAPIDPOWERSHUTDOWN com o valor 1 [SWS_Dcm_91023]. Para transições de modo, o valor de transição 255 (On transition value) está especificado [SWS_Dcm_91023].

Interação e gerenciamento de modos

No sistema geral, o módulo DCM atua como Mode Manager para uma série de modos diagnósticos, aos quais também pertence DcmModeRapidPowerShutDown no contexto do serviço de diagnóstico 0x11 (ECU Reset) [SWS_Dcm_00775]. Dentro do software básico, o DCM define para isso o ModeDeclarationGroupPrototype DcmModeRapidPowerShutDown como provided-ModeGroup em sua instância de módulo BSW com base neste ModeDeclarationGroup [SWS_Dcm_00807].

Componentes de software (SW-Cs) que precisam ser informados sobre o estado de ativação atual do desligamento rápido conectam a interface de serviço padronizada Dcm_ModeRapidPowerShutDownModeSwitchInterface [SWS_Dcm_91024]. Através de seu grupo de modos modeRapidPowerShutDown, eles recebem as trocas de modo correspondentes do DCM em tempo de execução [SWS_Dcm_91024].

Esta nota de uso foi gerada automaticamente com base nos requisitos de especificação do AUTOSAR R20-11.

Guia do implementador em breve (complexidade I1)

tipo DcmCommunicationControl [SWS_Dcm_91025] 📄 PDF

ModeDeclarationGroup representing the different communication control states

tipo DcmControlDTCSetting [SWS_Dcm_91027] 📄 PDF

ModeDeclarationGroup representing the enable/disable state for DTC storage

tipo DcmResponseOnEvent [SWS_Dcm_91029] 📄 PDF

ModeDeclarationGroup representing the state of a Response On Event

tipo DcmSecurityAccess [SWS_Dcm_91031] 📄 PDF

ModeDeclarationGroup representing the different diagnostic security levels Further modes to be added: {ecuc(Dcm/DcmConfigSet/DcmDsp/DcmDsp Security/DcmDspSecurityRow.SHORT-NAME)}

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

O ModeDeclarationGroup DcmSecurityAccess da categoria EXPLICIT_ORDER representa os diferentes níveis de segurança diagnósticos de uma ECU para o serviço UDS 0x27 (SecurityAccess) [SWS_Dcm_91031], [SWS_Dcm_00775]. Como modo inicial, DCM_SEC_LEV_LOCKED é predefinido como padrão com o valor fixo 0 [SWS_Dcm_91031], [SWS_Dcm_01327]. Níveis de segurança adicionais de DCM_SEC_LEV_1 a DCM_SEC_LEV_63 são complementados de forma específica ao projeto e à aplicação através da configuração das linhas de segurança em DcmDspSecurityRow [SWS_Dcm_91031], [SWS_Dcm_01327].

O módulo DCM assume o papel central de Mode Manager para este modo de diagnóstico [SWS_Dcm_00775]. A cada alteração do nível de segurança, o DCM atualiza o ModeGroup DcmSecurityAccess com o novo status de segurança assumido [SWS_Dcm_01329]. Durante uma mudança de estado em andamento entre modos individuais, o sistema sinaliza o valor de transição definido 255 (On transition value) [SWS_Dcm_91031].

O repasse do status de segurança atual para componentes de software ocorre através da interface de serviço Dcm_SecurityAccessModeSwitchInterface [SWS_Dcm_91032]:

  • Para isso, o DCM disponibiliza o ModeDeclarationGroupPrototype DcmSecurityAccess como grupo de modos fornecido (provided-ModeGroup) através da interface [SWS_Dcm_01327], [SWS_Dcm_91032].
  • Cada componente de software (SW-C) que precisa ser informado sobre o Security Level atual declara uma dependência da interface ModeSwitch Dcm_SecurityAccessModeSwitchInterface e a integra como Required-Port [SWS_Dcm_91032].
  • A disponibilidade dos modos individuais na interface está sujeita às mesmas variantes de configuração das linhas de segurança subjacentes [SWS_Dcm_91032].

Este texto foi gerado por uma IA.

Guia do implementador em breve (complexidade I2)

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

Record
AUTOSAR/AP/record/CP_MOD_Dcm
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_Dcm@rel:R20-11#b7694397
Content hash
b7694397
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_DiagnosticCommunicationManager.pdf#nameddest=SWS_Dcm_00037

Mapa de temas

Inicialização e estado

2

Vista de detalhes

Selecione uma entrada no índice.

Inicialização e estado

Returns the version information of this module

void Dcm_GetVersionInfo (Std_VersionInfoType* versionInfo);
Dcm_Init função

Service for basic initialization of DCM module.

void Dcm_Init (const Dcm_ConfigType* ConfigPtr);

Serviços · Get…

This function returns the active UDS protocol details

Std_ReturnType Dcm_GetActiveProtocol (Dcm_ProtocolType* ActiveProtocolType, uint16* ConnectionId, uint16* TesterSourceAddress);

The Dcm_GetProgConditions callout is called upon Dcm initialization and allows to determine if a response ($50 or $51) has to be sent. The context parameters are defined in Dcm_Prog ConditionsType.

Dcm_EcuStartModeType Dcm_GetProgConditions (Dcm_ProgConditionsType* ProgConditions);

This function provides the active security level value.

Std_ReturnType Dcm_GetSecurityLevel (Dcm_SecLevelType* SecLevel);

This function provides the active session control type value.

Std_ReturnType Dcm_GetSesCtrlType (Dcm_SesCtrlType* SesCtrlType);
Dcm_GetVin função

Function to get the VIN (as defined in SAE J1979-DA)

Std_ReturnType Dcm_GetVin (uint8* Data);

The function provides the data related to the requested Infotype.

Std_ReturnType Xxx_GetInfotypeValueData (Dcm_OpStatusType OpStatus, uint8* DataValueBuffer, uint8* DataValueBufferSize);

This function requests to the application for the scaling information of a Data.

Std_ReturnType Xxx_GetScalingInformation (uint8* ScalingInfo, Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application for the scaling information of a Data.

Std_ReturnType Xxx_GetScalingInformation (Dcm_OpStatusType OpStatus, uint8* ScalingInfo, Dcm_NegativeResponseCodeType* ErrorCode);

Read the attempt counter for a specific security level from the application

Std_ReturnType Xxx_GetSecurityAttemptCounter (Dcm_OpStatusType OpStatus, uint8* AttemptCounter);
Xxx_GetSeed função

Request to application for asynchronous provision of seed value

Std_ReturnType Xxx_GetSeed (const uint8* SecurityAccessDataRecord, Dcm_OpStatusType OpStatus, uint8* Seed, Dcm_NegativeResponseCodeType* ErrorCode);
Xxx_GetSeed#2 função

Request to application for asynchronous provision of seed value

Std_ReturnType Xxx_GetSeed (Dcm_OpStatusType OpStatus, uint8* Seed, Dcm_NegativeResponseCodeType* ErrorCode);

Serviços · Process…

Callout function. DCM shall call this function to start a RequestFileTransfer process with mode OfOperation equal to 0x01 (AddFile).

Std_ReturnType Dcm_ProcessRequestAddFile (Dcm_OpStatusType OpStatus, uint16 filePathAndNameLength, const uint8* filePathAndName, uint8 dataFormatIdentifier, uint64 fileSizeUncompressed, uint64 fileSizeCompressed, uint64* maxNumberOfBlockLength, Dcm_NegativeResponseCodeType* ErrorCode);

Callout function. DCM shall call this function to start a RequestFileTransfer process with mode OfOperation equal to 0x02 (DeleteFile). Manager

Std_ReturnType Dcm_ProcessRequestDeleteFile (Dcm_OpStatusType OpStatus, uint16 filePathAndNameLength, const uint8* filePathAndName, Dcm_NegativeResponseCodeType* ErrorCode);

Callout function. DCM shall call this function to start a RequestFileTransfer process with mode OfOperation equal to 0x05 (ReadDir).

Std_ReturnType Dcm_ProcessRequestReadDir (Dcm_OpStatusType OpStatus, uint16 filePathAndNameLength, const uint8* filePathAndName, uint64* dirInfoLength, uint64* maxNumberOfBlockLength, Dcm_NegativeResponseCodeType* ErrorCode);

Callout function. DCM shall call this function to start a RequestFileTransfer process with mode OfOperation equal to 0x04 (ReadFile).

Std_ReturnType Dcm_ProcessRequestReadFile (Dcm_OpStatusType OpStatus, uint16 filePathAndNameLength, const uint8* filePathAndName, uint8 dataFormatIdentifier, uint64 fileSizeUncompressed, uint64 fileSizeCompressed, uint64* maxNumberOfBlockLength, Dcm_NegativeResponseCodeType* ErrorCode);

Callout function. DCM shall call this function to start a RequestFileTransfer process with mode OfOperation equal to 0x03 (ReplaceFile).

Std_ReturnType Dcm_ProcessRequestReplaceFile (Dcm_OpStatusType OpStatus, uint16 filePathAndNameLength, const uint8* filePathAndName, uint8 dataFormatIdentifier, uint64 fileSizeUncompressed, uint64 fileSizeCompressed, uint64* maxNumberOfBlockLength, Dcm_NegativeResponseCodeType* ErrorCode);

Callout function. DCM shall call this callout function to start a download process. This service is needed for the implementation of UDS service RequestDownload.

Std_ReturnType Xxx_ProcessRequestDownload (Dcm_OpStatusType OpStatus, uint8 DataFormatIdentifier, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, uint32* BlockLength, Dcm_NegativeResponseCodeType* ErrorCode);

Callout function. DCM shall call this callout function to terminate a download or upload process. This callout is needed for the implementation of UDS service RequestTransferExit.

Std_ReturnType Xxx_ProcessRequestTransferExit (Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);

Callout function. DCM shall call this callout function to start an upload process. This service is needed for the implementation of UDS service RequestUpload.

Std_ReturnType Xxx_ProcessRequestUpload (Dcm_OpStatusType OpStatus, uint8 DataFormatIdentifier, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, uint32* BlockLength, Dcm_NegativeResponseCodeType* ErrorCode);

The ProcessTransferDataRead callout is used to request memory data identified by the parameter memoryAddress and memorySize from the UDS request message. This service is needed for the implementation of UDS services: • ReadMemoryByAddress • RequestUpload • ReadDataByIdentifier (in case of Dynamical DID defined by memory address) • TransferData

Dcm_ReturnReadMemoryType Xxx_ProcessTransferDataRead (Dcm_OpStatusType OpStatus, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, Dcm_RequestDataArrayType MemoryData, Dcm_NegativeResponseCodeType* ErrorCode);

The ProcessTransferDataWrite callout is used to write memory data identified by the parameter memoryAddress and memorySize. This service is needed for the implementation of UDS services : • WriteMemoryByAddress • RequestDownload • TransferData

Dcm_ReturnWriteMemoryType Xxx_ProcessTransferDataWrite (Dcm_OpStatusType OpStatus, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, const Dcm_RequestDataArrayType MemoryData, Dcm_NegativeResponseCodeType* ErrorCode);

Serviços · Read…

Callout function. DCM shall call this function when data shall be sent as a response to UDS service TransferData if there's an ongoing RequestFileTransfer process started with 0x04 (ReadFile) or 0x05 (ReadDir).

Std_ReturnType Dcm_ReadFileOrDir (Dcm_OpStatusType OpStatus, uint64* DataLength, uint8* Data, Dcm_NegativeResponseCodeType* ErrorCode);

The Dcm_ReadMemory callout is used to request memory data identified by the parameter memoryAddress and memorySize from the UDS request message. This service is needed for the implementation of UDS services: • ReadMemoryByAddress • RequestUpload • ReadDataByIdentifier (in case of Dynamical DID defined by memory address) • TransferData

Dcm_ReturnReadMemoryType Dcm_ReadMemory (Dcm_OpStatusType OpStatus, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, uint8* MemoryData, Dcm_NegativeResponseCodeType* ErrorCode);
Xxx_ReadData função

This function requests to the application a data value of a DID/PID if DcmDspDataUsePort is set to USE_DATA_SYNCH_CLIENT_SERVER.

Std_ReturnType Xxx_ReadData (uint8* Data);

This function requests to the application a data value of a DID/PID if DcmDspDataUsePort is set to USE_DATA_ASYNCH_CLIENT_SERVER.

Std_ReturnType Xxx_ReadData (Dcm_OpStatusType OpStatus, uint8* Data);

This function requests to the application a data value of a DID/PID if DcmDspDataUsePort is set to USE_DATA_ASYNCH_CLIENT_SERVER.

Std_ReturnType Xxx_ReadData (Dcm_OpStatusType OpStatus, uint8* Data, Dcm_NegativeResponseCodeType* ErrorCode);

This function requests the application to return the data length in byte of a Data.

Std_ReturnType Xxx_ReadDataLength (uint16* DataLength);

This function requests the application to return the data length in byte of a Data.

Std_ReturnType Xxx_ReadDataLength (Dcm_OpStatusType OpStatus, uint16* DataLength);

This function requests to the application a data value of a DID

Std_ReturnType Xxx_ReadDidData (uint16 DID, uint8* Data, Dcm_OpStatusType OpStatus, uint16 DataLength, Dcm_NegativeResponseCodeType ErrorCode);

This function requests the application to return the data length of a DID Range.

Std_ReturnType Xxx_ReadDidRangeDataLength (uint16 DID, Dcm_OpStatusType OpStatus, uint16* DataLength);

Serviços · Write…

Dcm_WriteFile função

Callout function. DCM shall call this function when data is received using UDS service Transfer Data if there's an ongoing RequestFileTransfer process started with 0x01 (AddFile) or 0x03 (ReplaceFile).

Std_ReturnType Dcm_WriteFile (Dcm_OpStatusType OpStatus, uint64 DataLength, uint8* Data, Dcm_NegativeResponseCodeType* ErrorCode);

The Dcm_WriteMemory callout is used to write memory data identified by the parameter memoryAddress and memorySize. This service is needed for the implementation of UDS services : • WriteMemoryByAddress • RequestDownload • TransferData

Dcm_ReturnWriteMemoryType Dcm_WriteMemory (Dcm_OpStatusType OpStatus, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, const uint8* MemoryData, Dcm_NegativeResponseCodeType* ErrorCode);
Xxx_WriteData função

This function requests the application to write a data value of a DID.

Std_ReturnType Xxx_WriteData (const uint8* Data, Dcm_NegativeResponseCodeType* ErrorCode);

This function requests the application to write a data value of a DID.

Std_ReturnType Xxx_WriteData (const uint8* Data, uint16 DataLength, Dcm_NegativeResponseCodeType* ErrorCode);

This function requests the application to write a data value of a DID.

Std_ReturnType Xxx_WriteData (const uint8* Data, Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);

This function requests the application to write a data value of a DID.

Std_ReturnType Xxx_WriteData (const uint8* Data, uint16 DataLength, Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);

This function requests the application to write a data value of a DID.

Std_ReturnType Xxx_WriteDidData (uint16 DID, const uint8* Data, Dcm_OpStatusType OpStatus, uint16 DataLength, Dcm_NegativeResponseCodeType ErrorCode);

Serviços · Set…

Allows to activate and deactivate the call of ComM_DCM_ActiveDiagnostic() function.

Std_ReturnType Dcm_SetActiveDiagnostic (boolean active);

Sets a new role used in deauthenticated state for that connection. The set role is valid until the connection switches into authenticated state or the ECU is reset.

Std_ReturnType Dcm_SetDeauthenticatedRole (uint16 connectionId, Dcm_AuthenticationRoleType deauthenticatedRole);

The Dcm_SetProgConditions callout allows the integrator to store relevant information prior to jumping to bootloader / jump due to ECUReset request. The context parameter are defined in Dcm_ProgConditionsType.

Std_ReturnType Dcm_SetProgConditions (Dcm_OpStatusType OpStatus, const Dcm_ProgConditionsType* ProgConditions);

Set the attempt counter for a specific security level in the application

Std_ReturnType Xxx_SetSecurityAttemptCounter (Dcm_OpStatusType OpStatus, uint8 AttemptCounter);

Serviços · Com…

This call informs the Dcm module about a ComM mode change to COMM_FULL_ COMMUNICATION.

void Dcm_ComM_FullComModeEntered (uint8 NetworkId);

This call informs the Dcm module about a ComM mode change to COMM_NO_ COMMUNICATION.

void Dcm_ComM_NoComModeEntered (uint8 NetworkId);

This call informs the Dcm module about a ComM mode change to COMM_SILENT_ COMMUNICATION.

void Dcm_ComM_SilentComModeEntered (uint8 NetworkId);

Serviços · Request…

Invokes a TID-specific function taking a configured number of bytes as input and returing a fixed number of bytes as output. This is typically used to implement OBD Service $08

Std_ReturnType Xxx_RequestControl (uint8* OutBuffer, const uint8* InBuffer);

This function requests to the application the result of a routine execution

Std_ReturnType Xxx_RequestResults (Dcm_OpStatusType OpStatus, [ DcmDspRoutineSignalType* dataIn_1, ... DcmDspRoutineSignalType* dataIn_n ], [ const uint8* dataInVar ], [ DcmDspRoutineSignalType* dataOut_1, ... DcmDspRoutineSignalType* dataOut_n ], [ uint8* dataOutVar ], [ uint16* variableDataLength ], Dcm_NegativeResponseCodeType* ErrorCode);

This function indicates the transmission of a response to a RequestRoutineResults request

Std_ReturnType Xxx_RequestResultsConfirmation (Dcm_ConfirmationStatusType ConfirmationStatus);

Serviços · Reset…

The call to this function allows the application to reset the current session to Default session. Example: Automatic termination of an extended diagnostic session upon exceeding of a speed limit.

Std_ReturnType Dcm_ResetToDefaultSession (void);

This function requests to the application to reset an IOControl to default value.

Std_ReturnType Xxx_ResetToDefault ([ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application to reset an IOControl to default value.

Std_ReturnType Xxx_ResetToDefault (Dcm_OpStatusType OpStatus, [ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);

Serviços · Start…

Xxx_Start função

This function requests to the application to start the execution of a routine.

Std_ReturnType Xxx_Start ([ DcmDspRoutineSignalType dataIn_1, ... DcmDspRoutineSignalType dataIn_n ], [ const uint8* dataInVar ], Manager Dcm_OpStatusType OpStatus, [ DcmDspRoutineSignalType dataOut_1, ... DcmDspRoutineSignalType dataOut_n ], [ uint8* dataOutVar ], [ uint16* currentDataLength ], Dcm_NegativeResponseCodeType ErrorCode); ⚠️

This function indicates the transmission of a response to a StartRoutine request

Std_ReturnType Xxx_StartConfirmation (Dcm_ConfirmationStatusType ConfirmationStatus);

This function allows the application to examine the environment conditions and enable/disable further processing of the protocol.

Std_ReturnType Xxx_StartProtocol (Dcm_ProtocolType ProtocolType, uint16 TesterSourceAddress, uint16 ConnectionId);

Serviços · Stop…

Xxx_Stop função

This function requests to the application to stop the execution of a routine

Std_ReturnType Xxx_Stop ([ DcmDspRoutineSignalType dataIn_1, ... DcmDspRoutineSignalType dataIn_n ], [ const uint8* dataInVar ], [ DcmDspRoutineSignalType dataOut_1, ... DcmDspRoutineSignalType dataOut_n ], [ uint8* dataOutVar ], [ uint16* currentDataLength ], Dcm_NegativeResponseCodeType* ErrorCode);

This function indicates the transmission of a response to a StopRoutine request

Std_ReturnType Xxx_StopConfirmation (Dcm_ConfirmationStatusType ConfirmationStatus);

This function informs the application of the protocol stop.

Std_ReturnType Xxx_StopProtocol (Dcm_ProtocolType ProtocolType, uint16 TesterSourceAddress, uint16 ConnectionId);

Serviços · Outros

Called by BndM to indicate that a block write operation has finished.

void Dcm_BndMWriteBlockFinish (BndM_BlockIdType BlockId, BndM_ResultType result);

Can be called from Csm upon finishing an asynchronous job processing. The integrator will configure this name as callback function within the Csm ECUC configuration for asynchronous jobs. Only one such callback is available, the Dcm detects the job that has finished by evaluating the job parameter. API availability: This API will be available only if ({ecuc(Dcm/Dcm Dsp/DcmDspAuthentication/DcmDspAuthenticationConnection} != null).

Std_ReturnType Dcm_CsmAsyncJobFinished (Csm_ResultType result);

Triggers on changes of the UDS status byte. Allows to trigger on ROE Event for subservice On DTCStatusChanged.

Std_ReturnType Dcm_DemTriggerOnDTCStatus (uint32 DTC, Dem_UdsStatusByteType DTCStatusOld, Dem_UdsStatusByteType DTCStatusNew);

Can be called from Key upon finishing an asynchronous certificate verification. The integrator will configure this name as callback function within the KeyM ECUC configuration for asynchronous jobs. Only one such callback is available, the Dcm detects the certificate that has finished by evaluating the certId parameter. API availability: This API will be available only if ({ecuc(Dcm/DcmDsp/DcmDspAuthentication/DcmDspAuthenticationConnection} != null).

Std_ReturnType Dcm_KeyMAsyncCertificateVerifyFinished (KeyM_CertificateIdType CertID, KeyM_CertificateStatusType Result);

The call to this function allows to trigger an event linked to a ResponseOnEvent request. On the function call, the DCM will execute the associated service if the corresponding Mode of the Roe EventId is 'ROE started'.

Std_ReturnType Dcm_TriggerOnEvent (uint8 RoeEventId);

Callout function for condition check, manufacturer / supplier specific checks on the groupOf DTC, which is requested to clear.

Std_ReturnType Xxx_ClearDTCCheckFnc (uint32 GoDTC, Dcm_NegativeResponseCodeType* ErrorCode);

Request to application for asynchronous comparing key (DcmDspSecurityUsePort = USE_ ASYNCH_CLIENT_SERVER)

Std_ReturnType Xxx_CompareKey (const uint8* Key, Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application if the conditions to read the Data are correct.

Std_ReturnType Xxx_ConditionCheckRead (Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application if the conditions to read the Data are correct.

Std_ReturnType Xxx_ConditionCheckRead (Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);

This function confirms to the application the successful transmission or a transmission error of a diagnostic service.

Std_ReturnType Xxx_Confirmation (uint8 SID, uint8 ReqType, uint16 ConnectionId, Dcm_ConfirmationStatusType ConfirmationStatus, Dcm_ProtocolType ProtocolType, uint16 TesterSourceAddress);

This function requests to the application to freeze the current state of an IOControl.

Std_ReturnType Xxx_FreezeCurrentState ([ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application to freeze the current state of an IOControl.

Std_ReturnType Xxx_FreezeCurrentState (Dcm_OpStatusType OpStatus, [ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);

This function indicates to the application that a service is about to be executed and allows the application to reject the execution of the service request

Std_ReturnType Xxx_Indication (uint8 SID, const uint8* RequestData, uint32 DataSize, uint8 ReqType, uint16 ConnectionId, Dcm_NegativeResponseCodeType* ErrorCode, Dcm_ProtocolType ProtocolType, uint16 TesterSourceAddress);

This function requests if a specific DID is available within the range or not.

Std_ReturnType Xxx_IsDidAvailable (uint16 DID, Dcm_OpStatusType OpStatus, Dcm_DidSupportedType* supported);

This function requests to the application to return control to ECU of an IOControl.

Std_ReturnType Xxx_ReturnControlToECU ([ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application to adjust the IO signal.

Std_ReturnType Xxx_ShortTermAdjustment (const uint8* ControlStateInfo, [ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application to adjust the IO signal.

Std_ReturnType Xxx_ShortTermAdjustment (const uint8* ControlStateInfo, uint16 DataLength, Dcm_OpStatusType OpStatus, [ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);

Callbacks

This function is called to provide the received data of an I-PDU segment (N-PDU) to the upper layer. Each call to this function provides the next part of the I-PDU data. The size of the remaining buffer is written to the position indicated by bufferSizePtr. This function might be called in interrupt context.

BufReq_ReturnType Dcm_CopyRxData (PduIdType id, const PduInfoType* info, PduLengthType* bufferSizePtr);

This function is called to acquire the transmit data of an I-PDU segment (N-PDU). Each call to this function provides the next part of the I-PDU data unless retry->TpDataState is TP_ DATARETRY. In this case the function restarts to copy the data beginning at the offset from the current position indicated by retry->TxTpDataCnt. The size of the remaining data is written to the position indicated by availableDataPtr. This function might be called in interrupt context.

BufReq_ReturnType Dcm_CopyTxData (PduIdType id, const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);

This function is called at the start of receiving an N-SDU. The N-SDU might be fragmented into multiple N-PDUs (FF with one or more following CFs) or might consist of a single N-PDU (SF). The service shall provide the currently available maximum buffer size when invoked with TpSdu Length equal to 0. This function might be called in interrupt context.

BufReq_ReturnType Dcm_StartOfReception (PduIdType id, const PduInfoType* info, PduLengthType TpSduLength, PduLengthType* bufferSizePtr);

Called after an I-PDU has been received via the TP API, the result indicates whether the transmission was successful or not. This function might be called in interrupt context.

void Dcm_TpRxIndication (PduIdType id, Std_ReturnType result);

This function is called after the I-PDU has been transmitted on its network, the result indicates whether the transmission was successful or not. This function might be called in interrupt context.

void Dcm_TpTxConfirmation (PduIdType id, Std_ReturnType result);

The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU. This function might be called in interrupt context.

void Dcm_TxConfirmation (PduIdType TxPduId, Std_ReturnType result);

Cíclico

This service is used for processing the tasks of the main loop.

void Dcm_MainFunction (void);

Tipos

A ModeSwitchInterface PPortPrototype used to notify SW-Cs about the DTC Setting mode

This type defines a data structure for the post build parameters of the DCM . At initialization the DCM gets a pointer to a structure of this type to get access to its configuration data, which is necessary for initialization.

Allows the DCM to know if a diagnostic response shall be sent in the case of a jump from bootloader

This message context identifier can be used to determine the relation between request and response confirmation.

Additional information on message request. Datastructure: Bitfield

This data structure contains all information which is necessary to process a diagnostic message from request to response and response confirmation.

Base type for diagnostic message item

Length of diagnostic message (request, positive or negative response). The maximum length is dependent of the underlying transport protocol/media.

Base type for diagnostic message (request, positive or negative response)

Type Dcm_NegativeResponseCodeType.

Used in Dcm_SetProgConditions() to allow the integrator to store relevant information prior to jumping to bootloader / jump due to ECUReset request.

Type Dcm_ProtocolType.

Return values of Callout Dcm_ReadMemory

Return type of callout Dcm_WriteMemory

Security Level type definition

Session type definition. 0, 127 and all values above 127 are reserved by ISO.

Base item type to transport status information.

ModeDeclarationGroup representing the different communication control states

ModeDeclarationGroup representing the enable/disable state for DTC storage

ModeDeclarationGroup representing the different diagnostic sessions Further modes to be added: {ecuc(Dcm/DcmConfigSet/DcmDsp/DcmDspSession/ DcmDspSessionRow.SHORT-NAME)}

ModeDeclarationGroup representing the different ECU reset types

ModeDeclarationGroup representing the enable/disable state of rapid power shutdown

ModeDeclarationGroup representing the state of a Response On Event

ModeDeclarationGroup representing the different diagnostic security levels Further modes to be added: {ecuc(Dcm/DcmConfigSet/DcmDsp/DcmDsp Security/DcmDspSecurityRow.SHORT-NAME)}

A ModeSwitchInterface PPortPrototype used to notify SW-Cs about the current Diagnostic Session

A ModeSwitchInterface PPortPrototype used to notify SW-Cs about an upcoming ECU Reset and its type

A ModeSwitchInterface PPortPrototype used to notify SW-Cs about the rapid power shut down mode

A ModeSwitchInterface PPortPrototype used to notify SW-Cs about the current Security Level