DEENESPTFRRUARHIKOZHNL

Watchdog Manager (WdgM)

ModulWdgM (Watchdog Manager)
BSW-Modul-ID13
Standard-Header#include "WdgM.h"
SWS-SpezifikationAUTOSAR_SWS_WatchdogManager.pdf
ClusterSystem Services

모듈 가이드AI 생성

체크포인트를 통해 소프트웨어의 실행 및 타이밍을 모니터링하고, 이에 따라 워치독의 트리거링을 제어합니다.
AI 생성 미검증 모델: claude-opus-5-5 · 노력: high · 온도: 제어 불가 · 프롬프트: 112cef190a48 출처 열린 질문 (4)
인과 앵커: R20-11 R20-11부터 유효 이 사양 릴리스용으로 새로 합성되었습니다.
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

체크포인트를 통해 소프트웨어의 실행 및 타이밍을 모니터링하고, 이에 따라 워치독의 트리거링을 제어합니다.

Watchdog Manager는 소프트웨어 실행을 모니터링합니다. Supervised Entities는 WdgM_CheckpointReached을(를) 통해 체크포인트를 보고합니다 [SWS_WdgM_00263]. 주기적인 WdgM_MainFunction은(는) Alive, Deadline 및 Logical Supervision을 평가하고 그 결과를 로컬 상태 및 글로벌 상태로 통합합니다. 모든 것이 정상인 한, WdgM은 Watchdog Interface를 통해 유효한 트리거 조건을 설정합니다. 글로벌 상태가 STOPPED에 도달하면 드라이버는 더 이상 트리거하지 않으며 워치독 리셋이 뒤따릅니다 [SWS_WdgM_00360]. 모드 전환은 글로벌 상태가 OK 또는 FAILED일 때만 허용됩니다.

Watchdog Manager는 Supervised Entities의 실행을 모니터링하며, 모니터링이 정상인 동안에만 하드웨어 워치독이 계속 트리거되도록 합니다. 트리거 타이밍 자체는 워치독 드라이버에 있습니다. WdgM은 Watchdog Interface를 통해 트리거 조건(SWS WdgM 56쪽)만 설정합니다. 이를 위해 필수적으로 WdgIf_SetMode, WdgIf_SetTriggerCondition, GetElapsedValue 및 Det_ReportRuntimeError이(가) 필요합니다 [SWS_WdgM_00161].

WdgM_Init 이후 모니터링은 WdgM_MainFunction의 첫 번째 호출과 함께 시작됩니다 [SWS_WdgM_00406]. Entity들은 WdgM_CheckpointReached을(를) 통해 체크포인트를 보고합니다 [SWS_WdgM_00263]. 호출할 때마다 Alive Counter가 증가하고 Deadline 및 Logical Supervision이 즉시 확인됩니다(SWS WdgM 79쪽). 메인 함수는 주기적으로 Alive Counter와 Deadline 타임아웃을 평가합니다 [SWS_WdgM_00404].

주기적 평가를 통한 상태 전환Supervised EntityWdgMOsSchM / Os-TaskRTE (Mode-Ports)WdgIfUse Case: SE-Kontext (ereignisgesteuert)WdgM_CheckpointReached(SEID, CheckpointID)체크포인트의Alive Counter 증가GetElapsedValue(CounterID, ...)Deadline Supervision:너무 이름 / 너무 늦음?Logical Supervision:전이가 허용되는가?E_OK / E_NOT_OKUse Case: OS-Scheduler-Kontext (zyklisch)WdgM_MainFunction()loop각 Supervised Entity에 대해Alive Supervision(je Supervision Reference Cycle)Deadline-Timeout-Erkennung(falls aktiviert)Local Supervision Status bestimmenGlobal Supervision Status bestimmen체크포인트 수집 및mode_{…} / globalmodeWdgIf_SetTriggerCondition(...)

시퀀스 다이어그램: 체크포인트는 이벤트 구동 방식으로 수집되며, 평가 및 트리거링은 주기적으로 수행됩니다. 출처: SWS WdgM 32쪽, [SWS_WdgM_00263]

결과로부터 Entity별로 로컬 상태가 생성됩니다. 이때 FAILED는 복구 가능하지만 EXPIRED는 불가능합니다 [SWS_WdgM_00359]. 이로부터 WdgM은 EXPIRED를 거쳐 STOPPED로 에스컬레이션되는 글로벌 상태를 형성합니다. STOPPED에서는 드라이버가 더 이상 트리거하지 않으며 워치독 리셋이 뒤따릅니다 [SWS_WdgM_00360]. WdgM은 상태 변경을 로컬 모드 포트 및 글로벌 모드 포트를 통해 보고합니다 [SWS_WdgM_00197] [SWS_WdgM_00198].

Global_Supervision_Status stat statische Initialisierung DEACT WDGM_GLOBAL_STATUS_DEACTIVATED stat->DEACT OK WDGM_GLOBAL_STATUS_OK DEACT->OK WdgM_Init (Interpretation) FAILED WDGM_GLOBAL_STATUS_FAILED OK->FAILED 모니터링 실패, 오류 한계 이내 EXPIRED WDGM_GLOBAL_STATUS_EXPIRED OK->EXPIRED 오류 한계 초과 STOPPED WDGM_GLOBAL_STATUS_STOPPED OK->STOPPED 모드 전환 중 WdgIf_SetMode 실패 FAILED->OK Fehler behoben (Interpretation) FAILED->EXPIRED 오류 한계 초과 FAILED->STOPPED 모드 전환 중 WdgIf_SetMode 실패 EXPIRED->STOPPED WdgMExpiredSupervisionCycleTol 소진됨 RESET Watchdog-Reset STOPPED->RESET 드라이버가 더 이상 트리거하지 않음

상태 다이어그램: DEACTIVATED부터 STOPPED까지의 Global Supervision Status. 두 전이는 해석으로 표시되어 있습니다. 출처: [SWS_WdgM_00387], [SWS_WdgM_00360]

WdgM_SetMode을(를) 통한 모드 전환은 글로벌 상태가 OK 또는 FAILED일 때만 가능합니다 [SWS_WdgM_00145]. WdgMOffModeEnabled이(가) FALSE인 경우 WdgM은 Off 모드를 거부합니다 [SWS_WdgM_00031]. WdgIf_SetMode이(가) 실패하면 글로벌 상태는 STOPPED로 전환됩니다(SWS WdgM 57쪽). 리셋 후 WdgM_GetFirstExpiredSEID은(는) WdgM_Init 이전에도 가장 먼저 만료된 Entity를 제공합니다 [SWS_WdgM_00346] [SWS_WdgM_00348].

역할: Supervised Entities와 하드웨어 워치독 간의 소프트웨어 모니터링

Watchdog Manager(WdgM)는 Supervised Entities, 즉 SW-C, CDD 또는 BSW 흐름의 실행을 모니터링합니다. 결과에 따라 하드웨어 워치독의 지속적인 트리거 여부를 결정합니다. 실제 트리거 타이밍은 워치독 드라이버에 있습니다. WdgM은 Watchdog Interface를 통해 드라이버에 계속 트리거하도록 지시하는 트리거 조건만 설정합니다(SWS WdgM 56쪽). 이를 위해 필수적으로 WdgIf_SetMode, WdgIf_SetTriggerCondition, GetElapsedValue 및 Det_ReportRuntimeError이(가) 필요합니다 [SWS_WdgM_00161]. 선택적으로 Dem_SetEventStatus, Det_ReportError, Mcu_PerformReset 및 BswM_WdgM_RequestPartitionReset을(를) 사용합니다 [SWS_WdgM_00162].

Supervised Entities는 WdgM_CheckpointReached을(를) 통해 체크포인트를 보고합니다 [SWS_WdgM_00263]. 모드 관리 모듈은 WdgM_Init, WdgM_SetMode 및 WdgM_DeInit(으)로 라이프사이클을 제어합니다 [SWS_WdgM_00151] [SWS_WdgM_00154] [SWS_WdgM_00261]. 주기적 평가는 SchM_WdgM.h의 WdgM_MainFunction이(가) 수행합니다 [SWS_WdgM_00159]. 안전 개념은 WdgM에 체크포인트 및 허용된 전이를 통한 논리적 프로그램 흐름 모니터링을 할당합니다(SafetyConceptStatusReport 15쪽).

WdgM_Kontext SWC SW-Cs / CDDs (Supervised Entities) RTE RTE SWC->RTE CheckpointReached, Statusabfragen RTE->SWC Statuswechsel WdgM WdgM RTE->WdgM Service-Ports Mgr EcuM / BswM Mgr->WdgM WdgM_Init, WdgM_SetMode, WdgM_DeInit, WdgM_PerformReset SchM SchM / Os-Task SchM->WdgM WdgM_MainFunction (zyklisch) WdgM->RTE Mode-Ports (lokal / global) WdgM->Mgr BswM_WdgM_RequestPartitionReset (optional) WdgIf WdgIf WdgM->WdgIf WdgIf_SetMode, WdgIf_SetTriggerCondition Os Os WdgM->Os GetElapsedValue Det DET WdgM->Det Det_ReportRuntimeError, Det_ReportError (optional) Dem DEM WdgM->Dem Dem_SetEventStatus (optional) Mcu Mcu WdgM->Mcu Mcu_PerformReset (optional) Wdg Wdg-Treiber (intern / extern) WdgIf->Wdg HW Watchdog-Hardware Wdg->HW Triggern

컨텍스트 다이어그램: WdgM은 애플리케이션의 체크포인트 보고를 워치독 스택 및 Os, DET, DEM, Mcu, BswM과 연결합니다. 출처: [SWS_WdgM_00161], [SWS_WdgM_00162], SWS WdgM 85쪽

수명 주기: 초기화, 모드 전환 및 초기화 해제

Global Supervision Status는 정적으로 WDGM_GLOBAL_STATUS_DEACTIVATED(으)로 사전 할당됩니다 [SWS_WdgM_00387]. 이 상태에서는 서비스가 WDGM_E_UNINIT(으)로 거부하거나 아무런 동작 없이 반환됩니다 [SWS_WdgM_00253] [SWS_WdgM_00395]. WdgM_Init은(는) WdgM_ConfigType에 대한 포인터를 전달받습니다 [SWS_WdgM_00355]. 이 함수는 모든 모듈 변수를 초기화하고 초기 모드를 설정합니다(SWS WdgM 74쪽). 해석: 초기 모드에서 활성화된 Entity들이 로컬에서 OK로 시작하므로(SWS WdgM 30쪽), 그 후 글로벌 상태는 WDGM_GLOBAL_STATUS_OK이(가) 될 것으로 보입니다. 질문 Q-a1728b38f957607d (열림)

DEACTIVATED 외부에서 WdgM_Init을(를) 다시 호출해도 아무런 효과가 없습니다 [SWS_WdgM_00390]. 따라서 재초기화는 WdgM_DeInit 및 후속 WdgM_Init을(를) 통해 수행됩니다(SWS WdgM 74쪽). 감시 및 워치독 처리는 초기화 후 WdgM_MainFunction의 첫 번째 호출과 함께 비로소 시작됩니다 [SWS_WdgM_00406].

WdgM_SetMode은(는) 구성된 다른 모드로 전환하지만 [SWS_WdgM_00154], 글로벌 상태가 OK 또는 FAILED인 경우에만 전환합니다 [SWS_WdgM_00145]. 새 모드에서 비활성화된 Entity의 경우 다음이 적용됩니다:

활성 상태를 유지하는 Entity는 자신의 상태를 유지합니다 [SWS_WdgM_00182]. 각 워치독에 대해 WdgM은 WdgIf_SetMode을(를) 통해 모드 매개변수를 설정합니다 [SWS_WdgM_00186]. 전환이 진행되는 동안 WdgM_GetMode은(는) 여전히 이전 모드를 반환합니다(SWS WdgM 77쪽).

WdgM_SetMode_Ablauf start WdgM_SetMode(Mode) d1 Global Status가 OK 또는 FAILED인가? start->d1 e1 동작 없이 복귀 d1->e1 아니요 d2 새 모드가 WDGIF_OFF_MODE를 사용하고 WdgMOffModeEnabled = FALSE인가? d1->d2 예 e2 kein Moduswechsel, WDGM_E_DISABLE_NOT_ALLOWED, E_NOT_OK d2->e2 예 wechsel 모드 전환: 새 모드에서 비활성화된 SE → WDGM_LOCAL_STATUS_DEACTIVATED, 결과 올바름, 오류 카운터 0, 활성 SE는 상태 유지, 워치독별 WdgIf_SetMode (WdgMWatchdogMode) d2->wechsel 아니요 d3 WdgIf_SetMode erfolgreich? wechsel->d3 ok E_OK d3->ok 예 nok WDGM_E_SET_MODE, Global Status STOPPED, E_NOT_OK d3->nok 아니요

액티비티 다이어그램: 모드 전환은 상태 확인, Off 모드 보호 및 워치독 모드 설정을 거치며, 후자가 실패하면 STOPPED로 종료됩니다. 출처: [SWS_WdgM_00145], [SWS_WdgM_00031], [SWS_WdgM_00186], [SWS_WdgM_00139]; 확인 순서는 해석임

SLEEP(으)로 전환될 때 EcuM은 WdgM_DeInit을(를) 호출합니다. 이 함수는 먼저 통합자가 정의한 Sleep 모드로 전환합니다. 이를 통해 윈도우 기반 워치독에도 불구하고 트리거 조건이 리셋 없이 나머지 셧다운을 허용합니다. 그 후 모듈이 초기화 해제됩니다(SWS WdgM 59쪽). 이 과정에서 감시 및 워치독 처리가 중지됩니다 [SWS_WdgM_00407]. SLEEP 동안에는 BswM 또는 EcuM이 트리거링을 인계받아야 합니다.

WdgM-Lebenszyklus: Start, Moduswechsel, DeinitialisierungEcuM / BswMSchM / Os-TaskWdgMWdgIfDemUse Case: StartWdgM_Init(ConfigPtr)Modulvariablen initialisieren,Initial-Modus herstellenWdgIf_SetMode(DeviceIndex, WdgMode)erster Aufruf WdgM_MainFunction()모니터링 및Watchdog Handling startenoptWdgMDemStoppedSupervisionReport = TRUEDem_SetEventStatus(WDGM_E_SUPERVISION, PASSED)Use Case: BetriebWdgM_SetMode(Mode)WdgIf_SetMode(...) je WatchdogE_OK / E_NOT_OKUse Case: SLEEP으로 전환WdgM_DeInit()Sleep 모드를 위한 WdgIf_SetMode(...)모니터링 및Watchdog Handling stoppenSLEEP 동안 아직 활성 상태인BSW 모듈(BswM/EcuM)이 워치독을 트리거함

시퀀스 다이어그램: 시작부터 모드 전환 및 SLEEP 이전 초기화 해제까지. 출처: SWS WdgM 102쪽, [SWS_WdgM_00406], [SWS_WdgM_00408], [SWS_WdgM_00407]

체크포인트 및 세 가지 모니터링 기능

Supervised Entity는 WdgM_CheckpointReached(SEID, CheckpointID)(으)로 체크포인트를 보고합니다 [SWS_WdgM_00263]. 두 식별자는 모두 uint16 유형입니다. 체크포인트는 SE-ID와 체크포인트 ID 쌍을 통해서만 고유합니다 [SWS_WdgM_00356] [SWS_WdgM_00357]. 이 호출은 세 가지 작업을 수행합니다(SWS WdgM 79쪽):

  • 체크포인트의 Alive Counter를 증가시킵니다.
  • Deadline Supervision에서 너무 이르거나 너무 늦게 도달했는지 확인합니다.
  • Logical Supervision을 수행합니다.

Entity가 현재 모드에서 비활성화된 경우, 서비스는 E_NOT_OK을(를) 반환하고 WDGM_E_SEDEACTIVATED을(를) 보고합니다 [SWS_WdgM_00319].

Alive Supervision은 주기적인 흐름을 검사합니다. 메인 함수는 Supervision Cycle의 배수인 WdgMSupervisionReferenceCycle 주기에 맞춰 Alive Counter를 평가합니다(SWS WdgM 42쪽). Deadline Supervision은 시작 체크포인트와 종료 체크포인트 사이에서 WdgMDeadlineMin/WdgMDeadlineMax 한계가 준수되는지 검사합니다. 타임스탬프는 Entity의 OS 카운터와 함께 GetElapsedValue에서 제공하며, 스케일링은 OsSecondsPerTick [SWS_WdgM_00373] [SWS_WdgM_00374]을(를) 통해 이루어집니다. 시작 타임스탬프가 0이면 측정 없이 검사가 성공적으로 종료됩니다 [SWS_WdgM_00354]. 종료 체크포인트가 누락된 경우, WdgMEnableTimeoutDetection이(가) 설정되어 있다면 WdgM_MainFunction이(가) 타임아웃을 감지합니다 [SWS_WdgM_00403] [SWS_WdgM_00404].

Logical Supervision은 체크포인트의 순서를 검사합니다. 그래프마다 WdgM_Init이(가) false로 설정하는 Activity Flag가 하나씩 존재합니다. 그래프는 Initial Checkpoint에서 시작됩니다(SWS WdgM 51쪽). 내부 그래프는 단일 Entity에 속하며 모든 모드에서 유효합니다. 외부 그래프는 여러 Entity를 연결하며 모드별로 구성됩니다(SWS WdgM 46쪽, [SWS_WdgM_00366]).

주기적 평가를 통한 상태 전환Supervised EntityWdgMOsSchM / Os-TaskRTE (Mode-Ports)WdgIfUse Case: SE-Kontext (ereignisgesteuert)WdgM_CheckpointReached(SEID, CheckpointID)체크포인트의Alive Counter 증가GetElapsedValue(CounterID, ...)Deadline Supervision:너무 이름 / 너무 늦음?Logical Supervision:전이가 허용되는가?E_OK / E_NOT_OKUse Case: OS-Scheduler-Kontext (zyklisch)WdgM_MainFunction()loop각 Supervised Entity에 대해Alive Supervision(je Supervision Reference Cycle)Deadline-Timeout-Erkennung(falls aktiviert)Local Supervision Status bestimmenGlobal Supervision Status bestimmen체크포인트 수집 및mode_{…} / globalmodeWdgIf_SetTriggerCondition(...)

시퀀스 다이어그램: 체크포인트는 이벤트 기반으로 수집되며, 평가 및 트리거링은 메인 함수에서 주기적으로 수행됩니다. 출처: SWS WdgM 32쪽, [SWS_WdgM_00263], [SWS_WdgM_00404], [SWS_WdgM_00197]

로컬 및 글로벌 감시 상태

WdgM은 세 가지 결과로부터 각 Entity에 대한 Local Supervision Status를 생성합니다(SWS WdgM 30쪽). WDGM_LOCAL_STATUS_FAILED은(는) 복구 가능합니다. Entity가 다시 정상적으로 동작하면 OK로 복귀합니다. 실패 횟수가 한계를 초과하면 WDGM_LOCAL_STATUS_EXPIRED(으)로 전환됩니다 [SWS_WdgM_00359]. 이러한 허용 오차는 Alive Supervision에만 적용됩니다. Deadline 및 Logical 오류의 경우 첫 번째 잘못된 결과만으로도 EXPIRED로 이어집니다(SWS WdgM 30쪽).

Local_Supervision_Status init WdgM_Init OK WDGM_LOCAL_STATUS_OK init->OK 초기 모드에서 SE 활성 DEACT WDGM_LOCAL_STATUS_DEACTIVATED init->DEACT 초기 모드에서 SE 비활성 FAILED WDGM_LOCAL_STATUS_FAILED OK->FAILED Alive-Ergebnis fehlerhaft, Toleranz > 0 EXPIRED WDGM_LOCAL_STATUS_EXPIRED OK->EXPIRED Deadline/Logical 오류 또는 허용오차 없는 Alive 오류 OK->DEACT WdgM_SetMode: 새 모드에서 SE 비활성화됨 FAILED->OK 모든 결과가 다시 올바름 FAILED->EXPIRED 허용오차를 초과한 실패 FAILED->DEACT WdgM_SetMode: 새 모드에서 SE 비활성화됨

상태 다이어그램: Supervised Entity의 Local Supervision Status 수명 주기. 출처: SWS WdgM 30쪽, [SWS_WdgM_00359], [SWS_WdgM_00315]

전체 소프트웨어에 대해 DEACTIVATED, OK, FAILED, EXPIRED, STOPPED 값을 갖는 Global Supervision Status가 존재합니다(SWS WdgM 36쪽). EXPIRED는 오류 한계가 초과되었으나 드라이버가 여전히 트리거링을 수행하고 있음을 의미합니다. STOPPED에서는 드라이버가 더 이상 트리거하지 않도록 지시받으며, 워치독 리셋이 뒤따릅니다 [SWS_WdgM_00360]. WdgM이 EXPIRED에 머무르는 시간은 WdgMExpiredSupervisionCycleTol이(가) Supervision Cycle의 배수로 정의합니다(SWS WdgM 36쪽).

Global_Supervision_Status stat statische Initialisierung DEACT WDGM_GLOBAL_STATUS_DEACTIVATED stat->DEACT OK WDGM_GLOBAL_STATUS_OK DEACT->OK WdgM_Init (Interpretation) FAILED WDGM_GLOBAL_STATUS_FAILED OK->FAILED 모니터링 실패, 오류 한계 이내 EXPIRED WDGM_GLOBAL_STATUS_EXPIRED OK->EXPIRED 오류 한계 초과 STOPPED WDGM_GLOBAL_STATUS_STOPPED OK->STOPPED 모드 전환 중 WdgIf_SetMode 실패 FAILED->OK Fehler behoben (Interpretation) FAILED->EXPIRED 오류 한계 초과 FAILED->STOPPED 모드 전환 중 WdgIf_SetMode 실패 EXPIRED->STOPPED WdgMExpiredSupervisionCycleTol 소진됨 RESET Watchdog-Reset STOPPED->RESET 드라이버가 더 이상 트리거하지 않음

상태 다이어그램: 리셋까지의 Global Supervision Status 에스컬레이션; 해석으로 표시된 두 전환은 명시적으로 입증되지 않음. 출처: [SWS_WdgM_00387], [SWS_WdgM_00360], SWS WdgM 36쪽, SWS WdgM 57쪽

포트, 상태 메시지 및 조회 서비스

각 Supervised Entity에 대해 WdgM은 감시 포트를 제공합니다 [SWS_WdgM_00146]. 이 포트는 localSupervision_{SupervisedEntityCheckpointName}(이)라 불리며, 포트 정의 인수로 SE-ID 및 체크포인트 ID를 전달합니다 [SWS_WdgM_00147] [SWS_WdgM_00333]. 로컬 상태는 localSupervisonStatus_{SupervisedEntityName}을(를) 통해 조회합니다 [SWS_WdgM_91003] [SWS_WdgM_91004]. GetGlobalStatus 또는 GetFirstExpiredSEID과(와) 같은 글로벌 조회는 globalSupervision을(를) 통해 처리됩니다 [SWS_WdgM_91002] [SWS_WdgM_91001].

WdgM은 모드 포트를 통해 상태 변경을 자체적으로 보고합니다: 각 Entity별로 mode_{SupervisedEntityName}, 그리고 한 번의 globalmode [SWS_WdgM_00149] [SWS_WdgM_00150]. 두 포트 모두 SUPERVISION_OK부터 SUPERVISION_DEACTIVATED까지의 값을 갖는 Mode Declaration Group WdgM_Mode을(를) 사용합니다 [SWS_WdgM_00334]. 로컬 변경 사항은 즉시 보고되며, 글로벌 변경 사항은 각각 한 번만 보고됩니다 [SWS_WdgM_00197] [SWS_WdgM_00199]. 로컬 및 글로벌 모드 포트는 서로 다른 인터페이스를 갖습니다. 이를 통해 글로벌 포트가 해당 목록에 나타나지 않으면서 Indirect Port API를 통해 로컬 포트에 접근할 수 있습니다(SWS WdgM 101쪽).

WdgM_Ports swc1 swc1: SWC Type A (se1, se2) lsup localSupervision_{SupervisedEntityCheckpointName} WdgM_LocalSupervision swc1->lsup CheckpointReached swc2 swc2: SWC Type A (se1, se2) swc2->lsup CheckpointReached swc3 swc3: SWC Type B (se) swc3->lsup CheckpointReached lstat localSupervisonStatus_{SupervisedEntityName} WdgM_LocalSupervisionStatus swc3->lstat GetLocalStatus glob Nutzer globaler Dienste (GlobalSupervisionNeeds) gsup globalSupervision WdgM_GlobalSupervision glob->gsup GetGlobalStatus, GetMode, GetFirstExpiredSEID, ... WdgM WdgM lsup->WdgM lstat->WdgM gsup->WdgM lmode mode_{SupervisedEntityName} WdgM_LocalMode lmode->swc1 lmode->swc2 lmode->swc3 gmode globalmode WdgM_GlobalMode gmode->swc3 WdgM->lmode Local Supervision Status WdgM->gmode Global Supervision Status

협업 다이어그램: SW-C 및 글로벌 사용자가 서비스 포트 및 모드 포트를 통해 WdgM에 바인딩됩니다. 출처: SWS WdgM 99쪽, [SWS_WdgM_00147], [SWS_WdgM_00149], [SWS_WdgM_00150], [SWS_WdgM_91002]

조회 서비스와 WdgM_CheckpointReached은(는) 재진입 가능합니다. WdgM_SetMode 및 WdgM_PerformReset은(는) 재진입이 불가능합니다 [SWS_WdgM_00175] [SWS_WdgM_00263] [SWS_WdgM_00154] [SWS_WdgM_00264]. WdgM을 전역적으로 제어하거나 조회하는 BSW 모듈은 이를 GlobalSupervisionNeeds을(를) 통해 기술합니다(TPS BSWMDT 257쪽).

구성: 모드, Supervised Entity 및 워치독 트리거

WdgM은 VARIANT-PRE-COMPILE 및 VARIANT-POST-BUILD를 지원합니다(SWS WdgM 97쪽). Post-build 가능한 매개변수는 WdgM_ConfigType에 위치합니다 [SWS_WdgM_00355]. ECU 통합자는 하향식(top-down)으로 구성하며 이를 위해 ECU Extract의 ServiceNeeds을(를) 평가합니다(TR Methodology 389쪽). SupervisedEntityNeeds은(는) 각 Entity별로 시작 시 활성화, 허용된 비활성화, Alive 주기 시간 및 허용 오차 실패 주기 등을 기술합니다(SWC-Template 716쪽).

WdgMMode은(는) 다음 부분으로 구성됩니다(SWS WdgM 119쪽):

  • WdgMModeId
  • WdgMExpiredSupervisionCycleTol
  • Alive, Deadline 및 외부 Logical Supervision을 위한 컨테이너
  • 로컬 상태 매개변수를 위한 컨테이너
  • WdgMTrigger

트리거는 WdgMWatchdogMode(FAST/SLOW/OFF) 및 WdgMTriggerConditionValue을(를) 정의합니다(SWS WdgM 125쪽). WdgMGeneral에는 WdgMDevErrorDetect 및 WdgMImmediateReset과(와) 같은 스위치가 포함됩니다(SWS WdgM 107쪽). Deadline Supervision을 위해 각 Entity에는 OS 카운터가 필요합니다(SWS WdgM 46쪽).

오류가 발생한 경우의 동작

WdgMDevErrorDetect이(가) 활성화되어 있으면 WdgM은 개발 오류(예: WDGM_E_UNINIT, WDGM_E_PARAM_SEID, WDGM_E_INV_POINTER 또는 WDGM_E_CPID)를 DET에 보고합니다 [SWS_WdgM_00004]. 초기화되지 않은 모듈의 경우 고정된 패턴이 적용됩니다: 검사가 있는 경우 WDGM_E_UNINIT이(가) 보고되고, 검사가 없는 경우 서비스는 아무런 동작 없이 반환됩니다 [SWS_WdgM_00279] [SWS_WdgM_00394]. 런타임 오류로는 WDGM_E_DISABLE_NOT_ALLOWED, WDGM_E_SEDEACTIVATED, WDGM_E_SET_MODE이(가) 있습니다 [SWS_WdgM_00402].

WdgMOffModeEnabled이(가) FALSE인 경우, WdgM_SetMode은(는) WDGIF_OFF_MODE을(를) 포함하는 모드를 거부합니다. 그러면 서비스는 WDGM_E_DISABLE_NOT_ALLOWED을(를) 보고하고 E_NOT_OK을(를) 반환합니다 [SWS_WdgM_00031]. WdgM_Init은(는) 이러한 초기 모드에서 동일하게 동작합니다 [SWS_WdgM_00030]. WdgIf_SetMode이(가) 실패하면 WdgM은 WDGM_E_SET_MODE을(를) 보고하고 글로벌 상태를 STOPPED로 설정합니다 [SWS_WdgM_00139]. Immediate Reset이 구성되어 있으면 즉시 리셋이 뒤따르고, 그렇지 않으면 첫 번째 워치독이 만료될 때 리셋됩니다(SWS WdgM 57쪽).

글로벌 상태가 STOPPED에 도달하면 WdgM은 DEM 이벤트 WDGM_E_SUPERVISION을(를) 오류로 보고합니다 [SWS_WdgM_00375]. 시작 후에는 선택적으로 동일한 이벤트를 PASSED로 보고합니다 [SWS_WdgM_00408]. 재시작 후 WdgM_GetFirstExpiredSEID은(는) 가장 먼저 EXPIRED에 도달한 Entity를 제공합니다 [SWS_WdgM_00346]. 이 서비스는 이미 WdgM_Init 이전부터 사용할 수 있습니다 [SWS_WdgM_00348]. 이 서비스는 초기화되지 않은 RAM에서 값을 이중 반전(double-inverse)으로 읽고, 불일치 시 E_NOT_OK을(를) 반환합니다 [SWS_WdgM_00349]. WdgM_Init은(는) 해당 값을 삭제합니다 [SWS_WdgM_00370]. WdgM은 Entity가 EXPIRED로 처음 전환될 때 이를 기록하는 것으로 추정됩니다. 질문 Q-bb8ada25b04b0758 (열림)

WdgM_PerformReset은(는) 모든 드라이버의 트리거 조건을 0으로 설정하고 그 이후에는 더 이상 업데이트하지 않습니다(SWS WdgM 82쪽). EcuM은 이 서비스를 자체 리셋 대상 중 하나로 실행합니다(SWS EcuM 72쪽).

리셋까지의 에스컬레이션 및 원인 분석SchM / Os-TaskWdgM초기화되지 않은 RAMDemWdgIf / WdgMcuEcuM / AufruferWdgM_MainFunction()SE erreichtWDGM_LOCAL_STATUS_EXPIREDSEID doppelt-invers ablegen해석: 다음에 저장EXPIRED로의 첫 전환 시Global Status EXPIREDloopWdgMExpiredSupervisionCycleTol이 소진될 때까지WdgM_MainFunction()Global Status STOPPEDDem_SetEventStatus(WDGM_E_SUPERVISION, FAILED)(falls konfiguriert)altImmediate Reset konfiguriertMcu_PerformReset()기타더 이상 올바른 트리거 조건이 없음첫 번째 워치독 만료→ Hardware-ResetUse Case: 재시작 후WdgM_GetFirstExpiredSEID(&SEID)값 및 반전 값 읽기E_OK + SEID / E_NOT_OK + 0WdgM_Init(ConfigPtr)저장된 값 삭제

시퀀스 다이어그램: 만료된 Supervised Entity부터 리셋 및 재시작 후 원인 분석까지의 에스컬레이션. 출처: [SWS_WdgM_00360], [SWS_WdgM_00375], [SWS_WdgM_00349], [SWS_WdgM_00370], SWS WdgM 57쪽; 저장 시점은 해석임

더 자세한 증거

첨부된 사양 발췌본을 바탕으로 작성된 WdgM(Classic, R20-11)용 AI 생성 가이드입니다. 링크된 요구사항이 표준적(normative) 효력을 가집니다. 일부 문서 내용은 이후 릴리스에서 가져온 것이며, R20-11 요구사항과 모순되지 않는 범위 내에서만 사용되었습니다. 해석으로 표시된 진술은 입증되지 않았습니다.

Watchdog Manager (WdgM)

Performs alive supervision, deadline supervision, and logical program flow monitoring.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

함수 WdgM_Init [SWS_WdgM_00151] 📄 PDF

void WdgM_Init (const WdgM_ConfigType* ConfigPtr);

Initializes the Watchdog Manager.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: c034e317eda3 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용

함수 WdgM_Init은(는) Watchdog Manager를 동기적으로 초기화하며 재진입 불가능합니다 [SWS_WdgM_00151]. 유일한 전달 매개변수는 포스트 빌드 구성 데이터(WdgM_ConfigType)를 가리키는 ConfigPtr입니다 [SWS_WdgM_00151]. 이 함수는 형식상 반환값이 없습니다(void) [SWS_WdgM_00151].

오류 처리 및 제약 조건

초기화 전에 Watchdog Manager는 WDGM_GLOBAL_STATUS_DEACTIVATED 상태에 있어야 합니다. 개발 구성 매개변수 WdgMDevErrorDetect이(가) 비활성화되어 있고 모듈이 이 상태에 있지 않은 경우, WdgM_Init은(는) 아무런 동작 없이 반환됩니다 [SWS_WdgM_00390].

구성 스위치 WdgMOffModeEnabled이(가) 활성화되지 않았고 ConfigPtr을(를) 통해 지정된 초기 모드가 워치독을 비활성화하는 경우(WDGIF_OFF_MODE), 함수는 추가 작업 없이 중단되고 런타임 오류 WDGM_E_DISABLE_NOT_ALLOWED을(를) Default Error Tracer(DET)에 보고합니다 [SWS_WdgM_00030]. 사양에서 요구하는 E_NOT_OK 반환은 시그니처가 void을(를) 규정하므로 내부 오류 중단에 대한 해석으로 이해되어야 할 것으로 보입니다 [SWS_WdgM_00151]. 질문 Q-83a164f8f4669d4d (열림)

상호작용 및 순서

  • 초기화 전 오류 진단: 이전에 만료된 Supervised Entity ID(SEID)를 읽어오기 위해 WdgM_GetFirstExpiredSEID() 함수는 WdgM_Init 호출 전에 이미 사용 가능해야 합니다 [SWS_WdgM_00348].
  • RAM 정리: 초기화 중에 WdgM_Init은(는) 초기화되지 않은 RAM에 저장된, 첫 번째로 만료된 엔티티의 이중 반전된 SEID 값을 지웁니다 [SWS_WdgM_00370].
  • DEM에 상태 보고: WdgM_Init 이후 WdgM_MainFunction의 첫 번째 호출 내에서, 매개변수 WdgMDemStoppedSupervisionReport이(가) 설정된 경우 모듈은 WDGM_E_SUPERVISION에 대한 PASSED 상태를 DEM에 보고합니다 [SWS_WdgM_00408].

이 텍스트는 AUTOSAR 사양 R20-11을 기반으로 AI에 의해 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I2)

함수 WdgM_DeInit [SWS_WdgM_00261] 📄 PDF

void WdgM_DeInit (void);

De - initializes the Watchdog Manager.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: f81345e92521 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용

동기 함수 WdgM_DeInit은(는) Watchdog Manager의 초기화 해제에 사용됩니다 [SWS_WdgM_00261]. 이 인터페이스는 서비스 ID 0x01을(를) 가지며, 헤더 파일 WdgM.h을(를) 통해 제공되고, 입력 매개변수를 받지 않으며 호출자에게 반환값도 반환하지 않습니다 [SWS_WdgM_00261]. 호출 컨텍스트로는 종료 전 활성 모니터링이 제어된 방식으로 종료되는 ECU의 질서 있는 셧다운 시퀀스가 상정되어 있을 것으로 추정됩니다. 질문 Q-50d7e49c71d2dfd3 (열림)

기능 범위 및 상호 작용

초기화 해제 과정에서 WdgM 모듈은 구성된 모든 모니터링 알고리즘(Supervision Algorithms)에 걸쳐 모니터링 기능(Supervision Functions)을 완전히 중지하고, 동시에 워치독 처리(Watchdog Handling)를 종료합니다 [SWS_WdgM_00407].

오류 처리 및 제약 조건

호출 시점에 Watchdog Manager가 이미 글로벌 상태 WDGM_GLOBAL_STATUS_DEACTIVATED에 있는 경우, 동작은 구성 파라미터 WdgMDevErrorDetect에 따라 달라집니다. 이 개발 오류 감지가 비활성화되어 있으면 WdgM_DeInit은(는) 아무런 동작 없이 즉시 반환됩니다 [SWS_WdgM_00388].

동시성과 관련하여 해당 함수는 재진입 불가능(non-reentrant)으로 명시되어 있습니다 [SWS_WdgM_00261]. 따라서 어떠한 경우에도 여러 컨텍스트로부터 인터럽트 방식으로 또는 병렬로 호출해서는 안 됩니다.

이 텍스트는 AUTOSAR 사양 R20-11을 기반으로 AI에 의해 생성되었습니다.

함수 WdgM_SetMode [SWS_WdgM_00154] 📄 PDF

Std_ReturnType WdgM_SetMode (WdgM_ModeType Mode);

Sets the current mode of Watchdog Manager.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 3fd969cfebd9 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용법 및 의미론

함수 WdgM_SetMode은(는) Watchdog Manager를 구성된 작동 모드 중 하나로 동기 전환하는 데 사용됩니다([SWS_WdgM_00154]). 전달 매개변수로 WdgM_ModeType 타입의 Mode을(를) 기대합니다. 반환값 Std_ReturnType은(는) 모드 변경의 성공적 수행을 E_OK(으)로, 실패를 E_NOT_OK(으)로 알립니다([SWS_WdgM_00154]).

제약 사항 및 오류 처리

이 함수는 non-reentrant(Non Reentrant)입니다([SWS_WdgM_00154]). 실행은 Watchdog Manager의 현재 글로벌 상태에 바인딩됩니다:

  • 모듈이 WDGM_GLOBAL_STATUS_OK 상태도 WDGM_GLOBAL_STATUS_FAILED 상태도 아닌 경우, 함수는 어떠한 작업도 수행하지 않고 반환됩니다([SWS_WdgM_00145]).
  • 구성 매개변수 WdgMDevErrorDetect이(가) 비활성화된 경우, WDGM_GLOBAL_STATUS_DEACTIVATED 상태에서의 호출은 아무런 영향을 미치지 않습니다([SWS_WdgM_00392]).

상호작용 및 영향

유효한 글로벌 상태(WDGM_GLOBAL_STATUS_OK 또는 WDGM_GLOBAL_STATUS_FAILED)가 존재하는 경우, WdgM_SetMode은(는) 모니터링 대상 엔티티와 워치독을 업데이트합니다:

  • 대상 모드에서 활성화된 각 Supervised Entity에 대해 현재 상태가 유지됩니다([SWS_WdgM_00182]).
  • 대상 모드에서 비활성화된 각 Supervised Entity에 대해 로컬 상태가 WDGM_LOCAL_STATUS_DEACTIVATED(으)로 변경되고, Active, Deadline 및 Logical Supervision 결과가 올바름(correct)으로 설정되며, 실패 주기 카운터가 0으로 초기화됩니다([SWS_WdgM_00315]). 엔티티 비활성화가 포함된 모드로 전환함으로써 이전에 WDGM_GLOBAL_STATUS_FAILED(으)로 이어졌던 오류도 정리됩니다([SWS_WdgM_00182]).
  • 마지막으로, 각 하드웨어 워치독에 대해 구성된 워치독 모드 매개변수가 인터페이스 WdgIf_SetMode을(를) 통해 활성화됩니다([SWS_WdgM_00186]).

이 사용 지침은 AUTOSAR 사양 R20-11을 기반으로 하며 AI에 의해 큐레이션되었습니다.

구현자 가이드 준비 중 (복잡도 I2)

함수 WdgM_CheckpointReached [SWS_WdgM_00263] 📄 PDF

Std_ReturnType WdgM_CheckpointReached (WdgM_SupervisedEntityIdType SEID, WdgM_CheckpointIdType CheckpointID);

Indicates to the Watchdog Manager that a Checkpoint within a Supervised Entity has been reached.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 3c32ca59b4bb 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용법 및 의미론

이 동기 함수는 Supervised Entity 내의 체크포인트 도달을 Watchdog Manager에 보고합니다 [SWS_WdgM_00263]. 이 함수는 입력 매개변수로 모니터링 대상 엔티티의 식별자(SEID)와 도달한 체크포인트의 식별자(CheckpointID)를 받아 Alive 카운터 업데이트 성공 시 E_OK을(를), 오류 발생 시 E_NOT_OK을(를) 반환합니다 [SWS_WdgM_00263].

오류 처리 및 상태

Watchdog Manager가 WDGM_GLOBAL_STATUS_DEACTIVATED 상태에 있는 경우, 동작은 개발 식별자 구성에 따라 달라집니다. WdgMDevErrorDetect이(가) 활성화되어 있으면 함수는 오류 WDGM_E_UNINIT을(를) Default Error Tracer(DET)에 보고하고 추가 동작 없이 반환합니다 [SWS_WdgM_00279]. WdgMDevErrorDetect이(가) 비활성화되어 있으면 보고 및 아무런 동작 없이 반환이 이루어집니다 [SWS_WdgM_00394].

동시성 및 데드라인

이 호출은 재진입 가능하도록 지정되어 있습니다 [SWS_WdgM_00263]. 데드라인 모니터링 시 타임스탬프 및 시간 차이를 확인하기 위해, 함수는 엔티티에 대해 구성된 CounterID을(를) 사용하여 OS 함수 GetElapsedValue을(를) 활용합니다 [SWS_WdgM_00373]. 한계값에 대한 시간 차이의 스케일링은 매개변수 OsSecondsPerTick을(를) 통해 수행됩니다 [SWS_WdgM_00374]. 활성 모드에서 Deadline End Checkpoint가 호출에 도달하고 해당 Start Checkpoint의 타임스탬프가 0인 경우, 함수는 차이 측정 없이 성공적으로 종료됩니다 [SWS_WdgM_00354].

이 사용법 지침은 AUTOSAR R20-11 사양을 바탕으로 자동 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I2)

함수 WdgM_GetLocalStatus [SWS_WdgM_00169] 📄 PDF

Std_ReturnType WdgM_GetLocalStatus (WdgM_SupervisedEntityIdType SEID, WdgM_LocalStatusType* Status);

Returns the supervision status of an individual Supervised Entity.

함수 WdgM_PerformReset [SWS_WdgM_00264] 📄 PDF

void WdgM_PerformReset (void);

Instructs the Watchdog Manager to cause a watchdog reset.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 9885fefa4e38 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용법 및 호출 컨텍스트

동기 함수 WdgM_PerformReset은(는) Watchdog Manager에 워치독 리셋 트리거를 유발하도록 지시합니다 [SWS_WdgM_00264]. 이 인터페이스는 헤더 WdgM.h을(를) 통해 선언되며 서비스 ID 0x0f을(를) 갖습니다 [SWS_WdgM_00264]. 입력 파라미터와 출력 파라미터를 모두 받지 않으며 반환값도 제공하지 않습니다 [SWS_WdgM_00264].

동시성 및 제약사항

WdgM_PerformReset은(는) 재진입 불가(Non Reentrant)(으)로 정의되어 있으므로 동시 호출이나 인터럽트에 의한 다중 호출을 수행해서는 안 됩니다 [SWS_WdgM_00264]. 따라서 호출자는 호출이 동기화되거나 적절한 컨텍스트에서 배타적으로 실행되도록 보장해야 합니다.

상태 종속적 동작 및 오류 처리

실행은 Watchdog Manager의 글로벌 상태에 종속됩니다. 구성 파라미터 WdgMDevErrorDetect이(가) 비활성화되어 있고 모듈이 글로벌 상태 WDGM_GLOBAL_STATUS_DEACTIVATED에 있는 경우, 함수는 아무런 동작 없이 반환됩니다 [SWS_WdgM_00401]. 이 경우 리셋은 완전히 생략됩니다. 개발 오류 감지(WdgMDevErrorDetect)가 활성화되었을 때의 동작은 페이로드에 명시되어 있지 않습니다. Interpretation: 이 경우 비활성화된 상태에서 해당 개발 오류가 보고될 것으로 추정됩니다. 질문 Q-8a726bba4154540f (열림)

이 사용 지침은 AUTOSAR 명세 R20-11을 기반으로 자동 생성되었습니다.

함수 WdgM_GetFirstExpiredSEID [SWS_WdgM_00346] 📄 PDF

Std_ReturnType WdgM_GetFirstExpiredSEID (WdgM_SupervisedEntityIdType* SEID);

Returns SEID that first reached the stat e WDGM_ LOCAL_ STATUS_ EXPIRED.

함수 WdgM_MainFunction [SWS_WdgM_00159] 📄 PDF

void WdgM_MainFunction (void);

Performs the processing of the cyclic Watchdog Manager jobs.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 6960691f573c 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용법 및 주기적 실행

함수 WdgM_MainFunction은(는) Watchdog Manager의 주기적 태스크를 실행합니다 [SWS_WdgM_00159]. 이 함수는 시그니처 void WdgM_MainFunction(void)을(를) 가지며, 매개변수를 받지 않고, 반환값을 제공하지 않으며, 헤더 SchM_WdgM.h을(를) 통해 제공됩니다 [SWS_WdgM_00159]. 모듈 초기화 후 첫 번째 호출 시, 이 함수는 모든 모니터링 기능(기준 주기를 포함한 모든 모니터링 알고리즘 대상)과 워치독 처리를 모두 시작합니다 [SWS_WdgM_00406].

데드라인 모니터링 및 타임아웃 감지

주기적 호출에서 WdgM_MainFunction은(는) 모니터링이 활성화된 모든 단위를 대상으로 타임아웃 감지를 위한 데드라인 모니터링을 수행하고 그 결과를 업데이트합니다 [SWS_WdgM_00404]:

  • WdgMEnableTimeoutDetection을(를) 통한 감지가 활성화된 경우, 함수는 시작 체크포인트는 보고되었으나 해당 종료 체크포인트가 아직 대기 중인, 활성 모드로 구성된 모든 데드라인 모니터링을 검사합니다 [SWS_WdgM_00403].
  • 현재 타임스탬프와의 측정된 시간 차이가 최대값 WdgMDeadlineMax을(를) 초과하면, 함수는 Supervised Entity의 모니터링 결과를 오류(incorrect)(으)로 설정합니다 [SWS_WdgM_00403].

운영체제와의 상호작용

타임스탬프와 차이를 확인하기 위해 WdgM_MainFunction은(는) 해당 단위에 대해 구성된 카운터 ID(매개변수 WdgMOSCounter)를 사용하여 OS 함수 GetElapsedValue을(를) 호출합니다 [SWS_WdgM_00373]. 한계값 WdgMDeadlineMin 및 WdgMDeadlineMax에 대한 차이값의 스케일링은 매개변수 OsSecondsPerTick을(를) 기반으로 수행됩니다 [SWS_WdgM_00374].

이 텍스트는 AUTOSAR 명세 R20-11을 기반으로 자동 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I2)

타입 WdgM_ConfigType [SWS_WdgM_00355] 📄 PDF

This structure contains all post - build configurable parameters of the Watchdog Manager. A pointer to this structure is passed to the Watchdog Manager initialization function for configuration. AUTOSAR CP R20 - of D ocument ID : AUTOSAR_SWS_WatchdogManager

타입 WdgM_SupervisedEntityIdType [SWS_WdgM_00356] 📄 PDF

This type identifies an individual Supervised Entity for the Watchdog Manager.

타입 WdgM_CheckpointIdType [SWS_WdgM_00357] 📄 PDF

This type identifies a Checkpoint in the context of a Supervised Entity for the Watchdog Manager. Note that an individual Checkpoint can only be identified by the pair of Supervised Entity ID and Checkpoint ID.

타입 WdgM_Mode [SWS_WdgM_00334] 📄 PDF

The category of Mode Declaration Group Wdg M_ Mode is EXPLICIT_ ORDER, The attribute value for the Mode Declaration are set as following: "SUPERVISION_ OK" = 0 "SUPERVISION_ FAILED" = 1 "SUPERVISION_ EXPIRED" = 2 "SUPERVISION_ STOPPED" = 3 "SUP ERVISION_ DEACTIVATED" = 4 The on Transition Value is defined as 255

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: dbc1e33f878e 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

유형 WdgM_Mode은(는) EXPLICIT_ORDER 범주의 Mode Declaration Group으로 정의되며 모듈 [SWS_WdgM_00334]의 모니터링 상태를 나타내는 데 사용됩니다.

사용 및 값 범위

초기 모드로는 SUPERVISION_OK이(가) 지정되어 있습니다 [SWS_WdgM_00334]. 개별 모드에 대해 명시적인 숫자 값이 미리 정의되어 있습니다 [SWS_WdgM_00334]:

  • SUPERVISION_OK = 0
  • SUPERVISION_FAILED = 1
  • SUPERVISION_EXPIRED = 2
  • SUPERVISION_STOPPED = 3
  • SUPERVISION_DEACTIVATED = 4

모드 간 전환값(on transition value)으로는 값 255가 정의되어 있습니다 [SWS_WdgM_00334].

상호 작용

범주 EXPLICIT_ORDER(으)로의 분류 및 고정 서수 값의 할당을 통해, 이 그룹은 Watchdog Manager 내에서 정렬된 상태 매핑을 위해 마련된 것으로 보입니다 [SWS_WdgM_00334]. 질문 Q-47c55c3bc2e2a23d (열림)

이 텍스트는 사양을 기반으로 AI에 의해 작성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

타입 WdgM_LocalStatusType [SWS_WdgM_00359] 📄 PDF

This type shall be used for variables that represent the current status of supervision for individual Supervised Entitie s.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 7f77d0becca2 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

유형 WdgM_LocalStatusType은(는) Watchdog-Manager에서 개별 모니터링 대상 엔티티(Supervised Entity)의 현재 로컬 모니터링 상태를 매핑하는 변수에 사용됩니다 [SWS_WdgM_00359]. 이 데이터 유형은 기본 유형 uint8에서 파생되며 헤더 Rte_WdgM_Type.h을(를) 통해 제공됩니다 [SWS_WdgM_00359].

값 범위는 [SWS_WdgM_00359]에 따른 4가지 개별 상태로 구성됩니다:

  • WDGM_LOCAL_STATUS_OK(값 0): Supervised Entity의 모니터링에 오류가 없습니다.
  • WDGM_LOCAL_STATUS_FAILED(값 1): 모니터링이 실패했으나, 엔티티가 정상 동작으로 복귀하는 경우 복구(\"healed\")될 수 있습니다. 이는 구성 가능한 오류 한계값을 초과하지 않는 한 적용되며, 초과할 경우 상태는 WDGM_LOCAL_STATUS_EXPIRED(으)로 전환됩니다.
  • WDGM_LOCAL_STATUS_EXPIRED(값 2): 모니터링이 영구적으로 실패했습니다. 이 상태는 더 이상 벗어날 수 없습니다.
  • WDGM_LOCAL_STATUS_DEACTIVATED(값 4): Supervised Entity의 로컬 모니터링이 일시적으로 비활성화되었습니다.

Rte_WdgM_Type.h에서의 정의로 미루어 볼 때, 이 유형은 주로 소프트웨어 컴포넌트 및 RTE 전반에 걸친 모니터링 상태 교환을 목적으로 하는 것으로 보입니다 [SWS_WdgM_00359]. 질문 Q-a9e584dc4c7cfa3b (열림)

이 텍스트는 AI에 의해 작성되었습니다. 모든 정보는 AUTOSAR R20-11의 사양 데이터만을 기반으로 합니다.

구현자 가이드 준비 중 (복잡도 I1)

타입 WdgM_GlobalStatusType [SWS_WdgM_00360] 📄 PDF

This type shall be used for variables that represent the global supervision status of the Watchdog Manager module.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: f7b49aed5af1 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

데이터 유형 WdgM_GlobalStatusType은(는) Watchdog-Manager 모듈의 글로벌 모니터링 상태를 나타내는 변수를 정의하는 데 사용됩니다 [SWS_WdgM_00360]. 기본 유형 uint8에서 파생되며 헤더 Rte_WdgM_Type.h을(를) 통해 제공됩니다 [SWS_WdgM_00360].

값 범위는 정의된 5가지 모니터링 상태로 구성됩니다 [SWS_WdgM_00360]:

  • WDGM_GLOBAL_STATUS_OK(0): 모니터링에 아무런 오류가 없습니다.
  • WDGM_GLOBAL_STATUS_FAILED(1): 모니터링이 실패했으나 허용된 오류 한계 내에 있습니다.
  • WDGM_GLOBAL_STATUS_EXPIRED(2): 모니터링이 실패하고 허용된 오류 한계를 초과했으나, 워치독 드라이버에 트리거링 중단 명령이 아직 내려지지 않았습니다.
  • WDGM_GLOBAL_STATUS_STOPPED(3): 오류 한계를 초과하여 워치독 드라이버에 트리거링을 중지하도록 명령이 내려졌으므로 워치독 리셋이 임박했습니다.
  • WDGM_GLOBAL_STATUS_DEACTIVATED(4): WdgM 모듈이 초기화되지 않아 워치독을 제어하지 않습니다.

이러한 상태들을 통해 이 유형은 초기화 전 비활성화부터 정상 또는 결함 허용 작동을 거쳐 오류 지속 시 최종적인 워치독 리셋을 동반하는 다단계 에스컬레이션에 이르기까지 모니터링의 전체 주기를 매핑합니다 [SWS_WdgM_00360].

이 사용법 지침은 AUTOSAR 사양을 기반으로 AI에 의해 작성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

타입 WdgM_ModeType [SWS_WdgM_00358] 📄 PDF

This type distinguishes the different modes that were configured for the Watchdog Manager.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 991ebd8bd655 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

데이터 타입 WdgM_ModeType은(는) Watchdog Manager에 대해 구성된 다양한 모드를 명확히 구별하는 데 사용됩니다 [SWS_WdgM_00358]. 이는 소프트웨어 컴포넌트 및 기본 소프트웨어 모듈을 위해 헤더 파일 Rte_WdgM_Type.h을(를) 통해 제공됩니다 [SWS_WdgM_00358].

사양 [SWS_WdgM_00358]에 따르면 이 타입은 다음과 같은 속성을 가집니다:

  • 기본 타입: WdgM_ModeType은(는) 표준 데이터 타입 uint8에서 파생됩니다 [SWS_WdgM_00358].
  • 값 범위: 값 범위는 0부터 <Number of Modes>까지 포함합니다 [SWS_WdgM_00358].
  • 구성 의존성: 값 범위의 실제 상한은 Watchdog Manager에 대해 구성된 모드 수에 따라 결정됩니다 [SWS_WdgM_00358].

타입 정의이므로 런타임 매개변수, 오류 코드 또는 비동기 시맨틱은 존재하지 않습니다. 해석: Rte_WdgM_Type.h의 선언으로 인해 WdgM_ModeType은(는) 주로 애플리케이션 소프트웨어와 Watchdog Manager 간의 RTE 인터페이스를 통한 모드 정보 교환에 사용될 것으로 보입니다. 질문 Q-27975280bc68720e (열림)

이 사용 지침은 AUTOSAR CP R20-11 명세를 기반으로 합니다.

구현자 가이드 준비 중 (복잡도 I1)

타입 globalmode [SWS_WdgM_00150] 📄 PDF

-

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 747dfe1f1d56 출처 열린 질문 (3)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

요소 globalmode은(는) 사양 [SWS_WdgM_00150]에 따라 AUTOSAR Classic 플랫폼 릴리스 R20-11에서 Watchdog Manager(WdgM)의 제공 포트 인터페이스(Provided Port Interface)로 정의되어 있습니다. 인터페이스 유형으로는 WdgM_GlobalMode이(가) 지정되어 있습니다. 이 요소는 전체 시스템에서 모듈이 다른 소프트웨어 컴포넌트에 자신의 상태를 노출하는 공식 포트 인터페이스 역할을 합니다.

구체적인 사용법, 매개변수, 반환값 또는 데이터 구조에 대해 사양 [SWS_WdgM_00150]은(는) 더 이상의 세부 정보를 제공하지 않습니다. 해석하자면, 이 포트 인터페이스는 주로 BswM 또는 애플리케이션 SW-C와 같은 상위 인스턴스에 Watchdog Manager의 현재 글로벌 모니터링 상태를 제공하는 역할을 하는 것으로 보입니다. 질문 Q-6a0217eb1d28c1b4 (열림) 소스에 다른 언급이 없으므로, 모드 제공은 아마도 RTE를 통해 동기적으로 처리될 것으로 보입니다.

오류 처리, DET 또는 DEM 메시지, 특정 오류 코드와 관련하여 [SWS_WdgM_00150]은(는) 완전히 침묵합니다. 마찬가지로 페이로드에는 재진입성, 우선순위 또는 호출 컨텍스트에 대한 규범적 규정이 포함되어 있지 않지만, 해석상 접근은 WdgM 상태 관리의 일반적인 동시성 규칙을 따를 것으로 보입니다. 질문 Q-28fa9de4b06e3b0d (열림) 이 요소와 관련된 Requirements는 존재하지 않습니다.

이 사용 지침은 AUTOSAR 사양 R20-11을 기반으로 AI에 의해 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

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

Record
AUTOSAR/AP/record/CP_MOD_WdgM
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_WdgM@rel:R20-11#369aeb10
Content hash
369aeb10
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_WatchdogManager.pdf#nameddest=SWS_WdgM_00151

초기화 및 상태

De - initializes the Watchdog Manager.

void WdgM_DeInit (void);

Returns the version information of this module.

void WdgM_GetVersionInfo (Std_VersionInfoType* VersionInfo);
WdgM_Init 함수

Initializes the Watchdog Manager.

void WdgM_Init (const WdgM_ConfigType* ConfigPtr);

서비스

Indicates to the Watchdog Manager that a Checkpoint within a Supervised Entity has been reached.

Std_ReturnType WdgM_CheckpointReached (WdgM_SupervisedEntityIdType SEID, WdgM_CheckpointIdType CheckpointID);

Returns SEID that first reached the stat e WDGM_ LOCAL_ STATUS_ EXPIRED.

Std_ReturnType WdgM_GetFirstExpiredSEID (WdgM_SupervisedEntityIdType* SEID);

Returns the global supervision status of the Watchdog Manager.

Std_ReturnType WdgM_GetGlobalStatus (WdgM_GlobalStatusType* Status);

Returns the supervision status of an individual Supervised Entity.

Std_ReturnType WdgM_GetLocalStatus (WdgM_SupervisedEntityIdType SEID, WdgM_LocalStatusType* Status);

Returns the current mode of the Watchdog Manager.

Std_ReturnType WdgM_GetMode (WdgM_ModeType* Mode);

Instructs the Watchdog Manager to cause a watchdog reset.

void WdgM_PerformReset (void);

Sets the current mode of Watchdog Manager.

Std_ReturnType WdgM_SetMode (WdgM_ModeType Mode);

주기적

Performs the processing of the cyclic Watchdog Manager jobs.

void WdgM_MainFunction (void);

타입

globalmode 타입

-

This type identifies a Checkpoint in the context of a Supervised Entity for the Watchdog Manager. Note that an individual Checkpoint can only be identified by the pair of Supervised Entity ID and Checkpoint ID.

This structure contains all post - build configurable parameters of the Watchdog Manager. A pointer to this structure is passed to the Watchdog Manager initialization function for configuration. AUTOSAR CP R20 - of D ocument ID : AUTOSAR_SWS_WatchdogManager

This type shall be used for variables that represent the global supervision status of the Watchdog Manager module.

This type shall be used for variables that represent the current status of supervision for individual Supervised Entitie s.

WdgM_Mode 타입

The category of Mode Declaration Group Wdg M_ Mode is EXPLICIT_ ORDER, The attribute value for the Mode Declaration are set as following: "SUPERVISION_ OK" = 0 "SUPERVISION_ FAILED" = 1 "SUPERVISION_ EXPIRED" = 2 "SUPERVISION_ STOPPED" = 3 "SUP ERVISION_ DEACTIVATED" = 4 The on Transition Value is defined as 255

This type distinguishes the different modes that were configured for the Watchdog Manager.

This type identifies an individual Supervised Entity for the Watchdog Manager.