DEENESPTFRRUARHIKOZHNL

Watchdog Manager (WdgM)

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

模块指南人工智能生成

通过检查点监控软件的执行流程和时序,并据此控制看门狗的触发。
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]。Entities 通过 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 CounterGetElapsedValue(CounterID, ...)Deadline Supervision:过早 / 过晚?Logical Supervision:转换是否允许?E_OK / E_NOT_OKUse Case: OS-Scheduler-Kontext (zyklisch)WdgM_MainFunction()loop针对每个 Supervised EntityAlive 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]

仅在全局状态为 OK 或 FAILED 时,才可以通过 WdgM_SetMode 进行模式切换 [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页)。解读:此后全局状态应为 WDGM_GLOBAL_STATUS_OK,因为在初始模式下处于活动状态的 Entity 在局部均以 OK 启动(SWS WdgM 第30页)。 问题 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 全局状态 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。该函数首先切换到由集成商定义的休眠模式。这样,尽管存在基于窗口的看门狗,触发条件仍允许在不复位的情况下完成剩余的关机操作。随后该模块执行去初始化(SWS WdgM 第59页)。在此过程中,监控和看门狗处理均停止 [SWS_WdgM_00407]。在 SLEEP 期间,必须由 BswM 或 EcuM 接管触发。

WdgM-Lebenszyklus: Start, Moduswechsel, DeinitialisierungEcuM / BswMSchM / Os-TaskWdgMWdgIfDemUse Case: 开始WdgM_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: 转换至 SLEEPWdgM_DeInit()用于休眠模式的 WdgIf_SetMode(...)监控与Watchdog Handling stoppen在 SLEEP 期间仍处于活动状态的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 和 Checkpoint-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 检查周期性流程。主函数按照 WdgMSupervisionReferenceCycle 的节拍评估 Alive Counter,该节拍是 Supervision Cycle 的整数倍(SWS WdgM 第42页)。Deadline Supervision 检查在起始与结束检查点之间是否遵守了边界 WdgMDeadlineMin/WdgMDeadlineMax。时间戳由 GetElapsedValue 借助该 Entity 的 OS 计数器提供;定标通过 OsSecondsPerTick 进行 [SWS_WdgM_00373] [SWS_WdgM_00374]。若起始时间戳为 0,则检查成功结束且不执行测量 [SWS_WdgM_00354]。若缺少结束检查点,只要设置了 WdgMEnableTimeoutDetection,WdgM_MainFunction 就会识别出超时 [SWS_WdgM_00403] [SWS_WdgM_00404]。

Logical Supervision 检查检查点的顺序。每个图都有一个 Activity Flag,WdgM_Init 会将其设置为 false。图始于 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 CounterGetElapsedValue(CounterID, ...)Deadline Supervision:过早 / 过晚?Logical Supervision:转换是否允许?E_OK / E_NOT_OKUse Case: OS-Scheduler-Kontext (zyklisch)WdgM_MainFunction()loop针对每个 Supervised EntityAlive 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 截止时间/逻辑错误 或无容限的 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页

端口、状态消息与查询服务

WdgM 为每个 Supervised Entity 提供一个 Supervision 端口 [SWS_WdgM_00146]。它被命名为 localSupervision_{SupervisedEntityCheckpointName},并包含作为端口定义实参的 SE-ID 和 Checkpoint-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 会主动通过 Mode 端口通报状态变更:每个 Entity 一个 mode_{SupervisedEntityName},全局一个 globalmode [SWS_WdgM_00149] [SWS_WdgM_00150]。两者均使用 Mode Declaration Group WdgM_Mode,其取值范围为 SUPERVISION_OK 至 SUPERVISION_DEACTIVATED [SWS_WdgM_00334]。本地变更会被立即通报,而全局变更仅通报一次 [SWS_WdgM_00197] [SWS_WdgM_00199]。本地与全局 Mode 端口具有不同的接口。这样就可以通过 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 与全局用户通过 Service 端口和 Mode 端口绑定到 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 Integrator 采用自顶向下的方式进行配置,并为此评估来自 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 会向 DET 报告开发错误,例如 WDGM_E_UNINIT、WDGM_E_PARAM_SEID、WDGM_E_INV_POINTER 或 WDGM_E_CPID [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 中以双重反转方式读取该值,若不一致则返回 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 EXPIREDloop直至耗尽 WdgMExpiredSupervisionCycleTolWdgM_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页;存储时间点为一种解释

进一步详细证据

基于所附规范摘录由 AI 生成的 WdgM(Classic,R20-11)指南。具有规范约束力的是所链接的 Requirements。部分文档出处来自后续版本,仅在与 R20-11 的 Requirements 不冲突的情况下使用。标记为解释的表述均无确凿凭据。

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]。唯一的传入参数为 ConfigPtr,指向 Post-Build 配置数据(WdgM_ConfigType)[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 (未决)

交互与顺序

  • 初始化前的错误诊断:函数 WdgM_GetFirstExpiredSEID() 必须在调用 WdgM_Init 之前就已经可用,以读出先前超时的 Supervised Entity ID (SEID) [SWS_WdgM_00348]。
  • RAM 清理:在初始化期间,WdgM_Init 清除存储在未初始化 RAM 中的首个超时实体的双重反转 SEID 值 [SWS_WdgM_00370]。
  • 向 DEM 报告状态:在 WdgM_Init 之后的首次 WdgM_MainFunction 调用中,若参数 WdgMDemStoppedSupervisionReport 已设置,该模块会针对 WDGM_E_SUPERVISION 向 DEM 报告状态 PASSED [SWS_WdgM_00408]。

本段文本由人工智能基于 AUTOSAR 规范 R20-11 生成。

实现者指南即将推出(复杂度 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]。

关于并发性,规定该函数是不可重入的 [SWS_WdgM_00261]。因此,绝不允许从多个上下文中进行中断式或并行调用。

本段文本由人工智能基于 AUTOSAR 规范 R20-11 生成。

函数 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)([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 的结果被置为正确,且故障周期计数器被重置为 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 · 德文原文

用法与语义

该同步函数向 Watchdog Manager 报告 Supervised Entity 内某个检查点的到达 [SWS_WdgM_00263]。它接收受监督实体的标识符(SEID)以及所到达检查点的标识符(CheckpointID)作为输入参数,并在成功更新存活计数器时返回 E_OK,或在发生错误时返回 E_NOT_OK [SWS_WdgM_00263]。

错误处理与状态

若 Watchdog Manager 处于状态 WDGM_GLOBAL_STATUS_DEACTIVATED,则其行为取决于开发标识符的配置:当 WdgMDevErrorDetect 激活时,该函数向 Default Error Tracer (DET) 报告错误 WDGM_E_UNINIT 并返回,不产生其他效果 [SWS_WdgM_00279]。若 WdgMDevErrorDetect 停用,则直接返回,不报告且不产生任何效果 [SWS_WdgM_00394]。

并发性与截止时间

该调用被指定为可重入的 [SWS_WdgM_00263]。为了在截止时间监督中确定时间戳和时间差,该函数使用为该实体配置的 CounterID 调用 OS 函数 GetElapsedValue [SWS_WdgM_00373]。时间差到限值的缩放通过参数 OsSecondsPerTick 执行 [SWS_WdgM_00374]。如果在活动模式下调用时到达的是截止时间结束检查点,且相应起始检查点的时间戳为 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]。时间差值根据参数 OsSecondsPerTick 缩放到限值 WdgMDeadlineMin 和 WdgMDeadlineMax [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 (未决)

该文本由人工智能基于规范生成。

实现者指南即将推出(复杂度 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],值范围包含四个离散状态:

  • 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]。

取值范围包括五个已定义的监督状态 [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]。

本使用说明由 AI 基于 AUTOSAR 规范创建。

实现者指南即将推出(复杂度 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 · 德文原文

根据规范 [SWS_WdgM_00150],元素 globalmode 在 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] 完全未提及。同样,Payload 中也没有关于可重入性、优先级或调用上下文的规范性规定;作为解释,访问可能受 WdgM 状态管理的一般并发规则约束。 问题 Q-28fa9de4b06e3b0d (未决)此元素不存在相关需求。

本使用说明由 AI 基于 AUTOSAR 规范 R20-11 生成。

实现者指南即将推出(复杂度 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#9c91fe50
Content hash
9c91fe50
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.