Automotive Software

DLT 설정 (Configuration of Diagnostics Log and Trace) 본문

아답티브 오토사 (Adaptive AUTOSAR)/기록 및 추적 (Log and Trace)

DLT 설정 (Configuration of Diagnostics Log and Trace)

AutoSW 2024. 1. 13. 00:15

아답티브에서 DLT 설정은 M2::AUTOSARTemplates::아래에 하기 매니페스트의 요소 (Manifest Elements) 들을 묘사함으로써 이루어진다.

  1. LogAndTraceExtract
    1. DltEcu
      1. LT 정보를 생산하는 ECU나 머신
      2. application::DltApplication : LT 데이터를 제공하는 애플리케이션
      3. ecuId::String : DLT 프로토콜 내에서 사용되는 ECU 명
    2. DltApplication
      1. applicationDescription::String : DLT 메시지상에서 applicationId를 설명
      2. applicationId::String : DLT 메시지상에서 SWC/BSW 모듈 구분을 위한 ID
      3. context::DltContext : 애플리케이션 Context에 대한 참조
    3. DltContext
      1. 애플리케이션에서 생성된 메시지들의 그룹화를 위한 컨텍스트
      2. contextDescription::String : DLT 메시지상에서 contextId를 설명
      3. contextId::String : 그룹화된 메시지 내의 기능 구분을 위해 사용되는 ID
      4. dltMessage::DltMessage : 해당 DltContext에 할당된 LT 메시지 그룹
    4. DltMessage
      1. dltArgument::DltArgument : DltMessage 내 DltArgument 집합
      2. messageId::PositiveInteger : 메시지별 특정 ID
      3. messageLineNumber::PositiveInteger : 로그 메시지가 호출된 소스코드상의 줄번호
      4. messageSourceFile::String : 로그 메시지가 호출된 소스코드 명
      5. messageTypeInfo::String : 메시지 타입
    5. DltArgument
      1. 메시지를 묘사하기 위한 인수들에 대한 정의
      2. dltArgumentEntry::DltArgument
      3. length::PositiveInteger
      4. networkRepresentation::SwDataDefProps
      5. optional::Boolean
      6. predefinedText::Boolean
      7. variableLength::Boolean
  2. AdaptivePlatform::PlatformModuleDeployment::LogAndTrace
    1. DltLogSink
      1. DltLogMessage들의 출력 관련 정보 정의
      2. bufferOutput::Boolean : 콘솔 출력의 경우 버퍼 사용 여부
      3. defaultLogThreshold::LogTraceDefaultLogLevelEnum : 기본 필터링 레벨 정의, fatal, error, info, verbose 등
      4. defaultTraceState::Boolean
      5. endpointConfiguration :: PlatformModuleEthernetEndpointConfiguration : DLT 메시지 전송용 이더넷 설정
      6. logChannelId::String : LT 프로토콜 내 채널별 ID
      7. nonVerboseMode::Boolean : non-Verbose 모드 지원 여부 / 비활성화 시 verbose 모드만 지원
      8. path::UriString : 출력 메시지가 파일로 저장될 장소 경로
      9. queueSize::PositiveInteger : 출력 처리 전 메시지가 저장될 큐의 크기
    2. DltLogSinkToPortPrototypeMapping
      1. dltContex::DltContext : 해당 애플리케이션의 Context ID 등을 나타내는 DltConext에의 참조
      2. dltLogSink::DltLogSink : 해당 애플리케이션에 적용될 DltLogSink에의 참조
      3. dltSessionId::PositiveInteger : LT 메시지 내에서 동일한 SWC의 다른 인스턴스를 구분용 ID
      4. pPortPrototype::PPortPrototype : LT 메시지가 발생될 Port의 Prototype에의 참조(참조의 목적)
      5. process::Process : LT 메시지가 발생될 Process에의 참조(매핑 참조의 목적)
      6. rPortPrototype::RPortPrototype : LT 메시지가 발생될 Port의 Prototype에의 참조(참조의 목적)
    3. LogAndTraceInstantiation
      1. ECU / Machine 레벨에서의 LT 설정으로 Machine별 개별 설정(그룹화)
      2. dltEcu :: DltEcu : Ecu ID 등을 나타내는 DltEcu에의 참조
      3. logSink :: DltLogSink : 해당 instance를 통해 출력될 DltLogSink(들)로의 참조
      4. sessionIdSupport :: Boolean : sessionId 사용 여부 정의
      5. timeBaseResource :: TimeBaseResource : 타임스탬프 생성을 위한 시간 자원에의 참조
    4. 그 외
      1. Executable : LT 메시지가 발생될 실행자의 버전, rootSwComponentPrototype, buildType 등을 나타냄