Watchdog Manager (WdgM)
Performs alive supervision, deadline supervision, and logical program flow monitoring.
Funktionen — Übersicht
void WdgM_Init (const WdgM_ConfigType* ConfigPtr);Initializes the Watchdog Manager.void WdgM_DeInit (void);De - initializes the Watchdog Manager.void WdgM_GetVersionInfo (Std_VersionInfoType* VersionInfo);Returns the version information of this module.Std_ReturnType WdgM_SetMode (WdgM_ModeType Mode);Sets the current mode of Watchdog Manager.Std_ReturnType WdgM_GetMode (WdgM_ModeType* Mode);Returns the current mode of the Watchdog Manager.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.Std_ReturnType WdgM_GetLocalStatus (WdgM_SupervisedEntityIdType SEID, WdgM_LocalStatusType* Status);Returns the supervision status of an individual Supervised Entity.Std_ReturnType WdgM_GetGlobalStatus (WdgM_GlobalStatusType* Status);Returns the global supervision status of the Watchdog Manager.void WdgM_PerformReset (void);Instructs the Watchdog Manager to cause a watchdog reset.Std_ReturnType WdgM_GetFirstExpiredSEID (WdgM_SupervisedEntityIdType* SEID);Returns SEID that first reached the stat e WDGM_ LOCAL_ STATUS_ EXPIRED.void WdgM_MainFunction (void);Performs the processing of the cyclic Watchdog Manager jobs.
Typen — Übersicht
struct WdgM_ConfigTypeThis structure contains all post - build configurable parameters of the Watchdog Manager.WdgM_SupervisedEntityIdTypeThis type identifies an individual Supervised Entity for the Watchdog Manager.WdgM_CheckpointIdTypeThis type identifies a Checkpoint in the context of a Supervised Entity for the Watchdog Manager.WdgM_ModeThe category of Mode Declaration Group Wdg M_ Mode is EXPLICIT_ ORDER, The attribute value for the Mode Declaration are set as...enum WdgM_LocalStatusTypeThis type shall be used for variables that represent the current status of supervision for individual Supervised Entitie s.enum WdgM_GlobalStatusTypeThis type shall be used for variables that represent the global supervision status of the Watchdog Manager module.enum WdgM_ModeTypeThis type distinguishes the different modes that were configured for the Watchdog Manager.globalmode-
Funktionen & Typen — Detailansicht
函数 WdgM_Init [SWS_WdgM_00151] 📄 PDF
void WdgM_Init (const WdgM_ConfigType* ConfigPtr);
Initializes the Watchdog Manager.
使用
函数 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.
使用
同步函数 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_GetVersionInfo [SWS_WdgM_00153] 📄 PDF
void WdgM_GetVersionInfo (Std_VersionInfoType* VersionInfo);
Returns the version information of this module.
函数 WdgM_SetMode [SWS_WdgM_00154] 📄 PDF
Std_ReturnType WdgM_SetMode (WdgM_ModeType Mode);
Sets the current mode of Watchdog Manager.
用法与语义
函数 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_GetMode [SWS_WdgM_00168] 📄 PDF
Std_ReturnType WdgM_GetMode (WdgM_ModeType* Mode);
Returns the current mode of the Watchdog Manager.
函数 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.
用法与语义
该同步函数向 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_GetGlobalStatus [SWS_WdgM_00175] 📄 PDF
Std_ReturnType WdgM_GetGlobalStatus (WdgM_GlobalStatusType* Status);
Returns the global supervision status of the Watchdog Manager.
函数 WdgM_PerformReset [SWS_WdgM_00264] 📄 PDF
void WdgM_PerformReset (void);
Instructs the Watchdog Manager to cause a watchdog reset.
用法与调用上下文
同步函数 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.
使用与周期性流程
函数 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
类型 WdgM_Mode 被定义为类别 EXPLICIT_ORDER 的 Mode Declaration Group,用于表示该模块的监督状态 [SWS_WdgM_00334]。
使用与取值范围
SUPERVISION_OK 被指定为初始模式 [SWS_WdgM_00334]。为各个模式指定了显式的数值 [SWS_WdgM_00334]:
SUPERVISION_OK= 0SUPERVISION_FAILED= 1SUPERVISION_EXPIRED= 2SUPERVISION_STOPPED= 3SUPERVISION_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.
类型 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.
数据类型 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.
数据类型 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
-
根据规范 [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
gemini-3.8-flash-low· 2026-10-13 · 德文原文