Version 11 (modified by 4 years ago) ( diff ) | ,
---|
Watchdog Manager
概要
- ウォッチドッグタイマを使って、アプリケーションが正常に動作しているかの監視を行う
- 監視方法は、アライブ監視、デッドライン監視、ロジカル監視の3種類
- すべての監視は、複数チェックポイントを設定し、各チェックポイントの通過状況によって行う
- アライブ監視
- 設定した一定時間内に、設定した範囲の回数だけチェックポイントを通過するかを監視する
- デッドライン監視
- 2つのチェックポイントを通過する間に要した時間が、設定した時間内であるかを監視する
- ロジカル監視
- 複数のチェックポイントが事前に通過した順序で通過するか監視する
- アライブ監視
- 時間管理は、WdgM_MainFunctionを周期的に呼び出すことにより実現する
- WdgM_MainFunctionは、BSW Scheduler Moduleによって周期的に呼び出される
- WdgM_MainFunctionの呼出し間隔は、WdgMSupervisionCycleに、秒単位で設定する
- アライブ監視の一定時間は、WdgM_MainFunctionの呼出し回数によって設定する
- つまり、WdgM_MainFunctionの呼出し間隔の倍数でしか設定できない
- デッドライン監視の時間は、秒単位で設定し、OSのカウンタ等を使って監視する
- R4.1系ではOSカウンタを使用することが明確化されている
- 正しく動作している状態では、WdgM_MainFunctionから定期的にWatchdog Interfaceへ、ウォッチドッグタイマがリセットされるタイムアウト値をリセットする
- タイムアウト値はミリ秒単位で、WdgMTriggerConditionValueに設定する
- 当然、WdgM_MainFunctionの呼出し間隔より短い時間をタイムアウト値に設定してしまうと、ウォッチドッグタイマがリセットされてしまう
- API一覧
API ID
[Dec]ID
[Hex]R4.0.3 R4.2.2 WdgM_Init 0 0x00 ○ ○ WdgM_DeInit 1 0x01 ○ ○ WdgM_GetVersionInfo 2 0x02 ○ ○ WdgM_SetMode 3 0x03 ○ ○ WdgM_GetMode 11 0x0B ○ ○ WdgM_CheckpointReached 14 0x0E ○ ○ WdgM_UpdateAliveCounter 4 0x04 ○ ○ WdgM_GetLocalStatus 12 0x0C ○ ○ WdgM_GetGlobalStatus 13 0x0D ○ ○ WdgM_PerformReset 15 0x0F ○ ○ WdgM_GetFirstExpiredSEID 16 0x10 ○ ○ WdgM_MainFunction 8 0x08 ○ ○
- コンフィギュレーション一覧(R4.0.3 / R4.2.2)
- WdgMConfigSet (○/○)
- WdgMInitialMode (○/○)
- WdgMDemEventParameterRefs (○/○)
- WDGM_E_IMPROPER_CALLER (○/○)
- WDGM_E_MONITORING (○/○)
- WDGM_E_SET_MODE (○/○)
- WDGM_E_SUPERVISION (-/○)
- WdgMMode (○/○)
- WdgMExpiredSupervisionCycleTol (○/○)
- WdgMModeId (○/○)
- WdgMSupervisionCycle (○/○)
- WdgMAliveSupervision (○/○)
- WdgMExpectedAliveIndications (○/○)
- WdgMMaxMargin (○/○)
- WdgMMinMargin (○/○)
- WdgMSupervisionReferenceCycle (○/○)
- WdgMAliveSupervisionCheckpointRef (○/○)
- WdgMDeadlineSupervision (○/○)
- WdgMDeadlineMax (○/○)
- WdgMDeadlineMin (○/○)
- WdgMDeadlineStartRef (○/○)
- WdgMDeadlineStopRef (○/○)
- WdgMExternalLogicalSupervision (○/○)
- WdgMLocalStatusParams (○/○)
- WdgMTrigger (○/○)
- WdgMTriggerConditionValue (○/○)
- WdgMWatchdogMode (○/○)
- WdgMTriggerWatchdogRef (○/○)
- WdgMGeneral (○/○)
- WdgMDefensiveBehavior (○/○)
- WdgMDemStoppedSupervisionReport (○/○)
- WdgMDevErrorDetect (○/○)
- WdgMImmediateReset (○/○)
- WdgMOffModeEnabled (○/○)
- WdgMVersionInfoApi (○/○)
- WdgMCallerIds (○/○)
- WdgMCallerId (○/○)
- WdgMSupervisedEntity (○/○)
- WdgMSupervisedEntityId (○/○)
- WdgMEcucPartitionRef (○/○)
- WdgMOSCounter (-/○)
- WdgMOsApplicationRef (○/○)
- WdgMInternalCheckpointInitialRef (○/○)
- WdgMInternallCheckpointFinalRef (○/○)
- WdgMCheckpoint (○/○)
- WdgMCheckpointId (○/○)
- WdgMInternalTransition (○/○)
- WdgMWatchdog (○/○)
- WdgMWatchdogName (○/○)
- WdgMWatchdogDeviceRef (○/○)
- WdgMConfigSet (○/○)
- エラーコード一覧
- "--"はDemにより決定される
エラーコード Dec Hex R4.0.3 R4.2.2 WDGM_E_NO_INIT 16 0x10 ○ ○ WDGM_E_PARAM_CONFIG 17 0x11 ○ ○ WDGM_E_PARAM_MODE 18 0x12 ○ ○ WDGM_E_PARAM_SEID 19 0x13 ○ ○ WDGM_E_INV_POINTER 20 0x14 ○ ○ WDGM_E_DISABLE_NOT_ALLOWED 21 0x15 ○ ○ WDGM_E_CPID 22 0x16 ○ ○ WDGM_E_DEPRECATED 23 0x17 ○ ○ WDGM_E_AMBIGIOUS 24 0x18 ○ ○ WDGM_E_SEDEACTIVATED 25 0x19 ○ ○ WDGM_E_SUPERVISION -- -- ○ ○ WDGM_E_SET_MODE -- -- ○ ○ WDGM_E_IMPROPER_CALLER -- -- ○ ○
API仕様
WdgM_Init
void WdgM_Init(const WdgM_ConfigType* ConfigPtr)
WdgM_DeInit
void WdgM_DeInit(void)
WdgM_GetVersionInfo
void WdgM_GetVersionInfo(Std_VersionInfoType* VersionInfo)
WdgM_SetMode
Std_ReturnType WdgM_SetMode(WdgM_ModeType Mode, uint16 CallerID)
WdgM_GetMode
Std_ReturnType WdgM_GetMode(WdgM_ModeType* Mode)
WdgM_CheckpointReached
Std_ReturnType WdgM_CheckpointReached(WdgM_SupervisedEntityIdType SEID, WdgM_CheckpointIdType CheckpointID)
WdgM_UpdateAliveCounter
Std_ReturnType WdgM_UpdateAliveCounter(WdgM_SupervisedEntityIdType SEID)
WdgM_GetLocalStatus
Std_ReturnType WdgM_GetLocalStatus(WdgM_SupervisedEntityIdType SEID, WdgM_LocalStatusType* Status)
WdgM_GetGlobalStatus
Std_ReturnType WdgM_GetGlobalStatus(WdgM_GlobalStatusType* Status)
WdgM_PerformReset
void WdgM_PerformReset(void)
WdgM_GetFirstExpiredSEID
Std_ReturnType WdgM_GetFirstExpiredSEID(WdgM_SupervisedEntityIdType* SEID)
WdgM_MainFunction
void WdgM_MainFunction(void)
コンフィギュレーション仕様
WdgMConfigSet
/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet
- 型:Container
- 多重度:1
WdgMInitialMode
/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMInitialMode
- 型:Reference
- 多重度:1
- 参照先:
/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode
WdgMDemEventParameterRefs
/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMDemEventParameterRefs
- 型:Container
- 多重度:0..1
WDGM_E_IMPROPER_CALLER
/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMDemEventParameterRefs/WDGM_E_IMPROPER_CALLER
- 型:Reference
- 多重度:0..1
- 参照先:
/AUTOSAR/EcucDefs/Dem/DemConfigSet/DemEventParameter
WDGM_E_MONITORING
/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMDemEventParameterRefs/WDGM_E_MONITORING
- 型:Reference
- 多重度:0..1
- 参照先:
/AUTOSAR/EcucDefs/Dem/DemConfigSet/DemEventParameter
WDGM_E_SET_MODE
/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMDemEventParameterRefs/WDGM_E_SET_MODE
- 型:Reference
- 多重度:0..1
- 参照先:
/AUTOSAR/EcucDefs/Dem/DemConfigSet/DemEventParameter
WDGM_E_SUPERVISION
/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMDemEventParameterRefs/WDGM_E_SUPERVISION
- 型:Reference
- 多重度:0..1
- 参照先:
/AUTOSAR/EcucDefs/Dem/DemConfigSet/DemEventParameter
WdgMMode
/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode
- 型:Container
- 多重度:1..255
WdgMExpiredSupervisionCycleTol
/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMExpiredSupervisionCycleTol
- 型:IntegerParam
- 多重度:1
- 上限値:65535
- 下限値:0
WdgMModeId
/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMModeId
- 型:IntegerParam
- 多重度:1
- 上限値:255
- 下限値:0
WdgMSupervisionCycle
/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMSupervisionCycle
- 型:FloatParam
- 多重度:1
- 上限値:Inf
- 下限値:0
WdgMAliveSupervision
/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMAliveSupervision
- 型:Container
- 多重度:0..65535
WdgMExpectedAliveIndications
/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMAliveSupervision/WdgMExpectedAliveIndications
- 型:IntegerParam
- 多重度:1
- 上限値:65535
- 下限値:0
WdgMMaxMargin
/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMAliveSupervision/WdgMMaxMargin
- 型:IntegerParam
- 多重度:1
- 上限値:255
- 下限値:0
WdgMMinMargin
/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMAliveSupervision/WdgMMinMargin
- 型:IntegerParam
- 多重度:1
- 上限値:255
- 下限値:0
WdgMSupervisionReferenceCycle
/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMAliveSupervision/WdgMSupervisionReferenceCycle
- 型:IntegerParam
- 多重度:1
- 上限値:65535
- 下限値:1
WdgMAliveSupervisionCheckpointRef
/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMAliveSupervision/WdgMAliveSupervisionCheckpointRef
- 型:Reference
- 多重度:1
- 参照先:
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMSupervisedEntity/WdgMCheckpoint
WdgMDeadlineSupervision
/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMDeadlineSupervision
- 型:Container
- 多重度:0..65535
WdgMDeadlineMax
/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMDeadlineSupervision/WdgMDeadlineMax
- 型:FloatParam
- 多重度:1
- 上限値:Inf
- 下限値:0
WdgMDeadlineMin
/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMDeadlineSupervision/WdgMDeadlineMin
- 型:FloatParam
- 多重度:1
- 上限値:Inf
- 下限値:0
WdgMDeadlineStartRef
/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMDeadlineSupervision/WdgMDeadlineStartRef
- 型:Reference
- 多重度:1
- 参照先:
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMSupervisedEntity/WdgMCheckpoint
WdgMDeadlineStopRef
/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMDeadlineSupervision/WdgMDeadlineStopRef
- 型:Reference
- 多重度:1
- 参照先:
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMSupervisedEntity/WdgMCheckpoint
WdgMExternalLogicalSupervision
/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMExternalLogicalSupervision
- 型:Container
- 多重度:0..65535
WdgMExternalCheckpointFinalRef
/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMExternalLogicalSupervision/WdgMExternalCheckpointFinalRef
- 型:Reference
- 多重度:1..65535
- 参照先:
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMSupervisedEntity/WdgMCheckpoint
WdgMExternalCheckpointInitialRef
/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMExternalLogicalSupervision/WdgMExternalCheckpointInitialRef
- 型:Reference
- 多重度:1..65535
- 参照先:
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMSupervisedEntity/WdgMCheckpoint
WdgMExternalTransition
/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMExternalLogicalSupervision/WdgMExternalTransition
- 型:Container
- 多重度:0..65535
WdgMExternalTransitionDestRef
/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMExternalLogicalSupervision/WdgMExternalTransition/WdgMExternalTransitionDestRef
- 型:Reference
- 多重度:1
- 参照先:
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMSupervisedEntity/WdgMCheckpoint
WdgMExternalTransitionSourceRef
/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMExternalLogicalSupervision/WdgMExternalTransition/WdgMExternalTransitionSourceRef
- 型:Reference
- 多重度:1
- 参照先:
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMSupervisedEntity/WdgMCheckpoint
WdgMLocalStatusParams
/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMLocalStatusParams
- 型:Container
- 多重度:0..65535
WdgMFailedAliveSupervisionRefCycleTol
/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMLocalStatusParams/WdgMFailedAliveSupervisionRefCycleTol
- 型:IntegerParam
- 多重度:1
- 上限値:255
- 下限値:0
WdgMLocalStatusSupervisedEntityRef
/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMLocalStatusParams/WdgMLocalStatusSupervisedEntityRef
- 型:Reference
- 多重度:1
- 参照先:
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMSupervisedEntity
WdgMTrigger
/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMTrigger
- 型:Container
- 多重度:0..255
WdgMTriggerConditionValue
/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMTrigger/WdgMTriggerConditionValue
- 型:IntegerParam
- 多重度:1
- 上限値:65535
- 下限値:1
WdgMWatchdogMode
/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMTrigger/WdgMWatchdogMode
- 型:EnumerationParam
- 多重度:1
- 選択肢:
- WDGIF_FAST_MODE
- WDGIF_OFF_MODE
- WDGIF_SLOW_MODE
WdgMTriggerWatchdogRef
/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMTrigger/WdgMTriggerWatchdogRef
- 型:Reference
- 多重度:1
- 参照先:
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMWatchdog
WdgMGeneral
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral
- 型:Container
- 多重度:1
WdgMDefensiveBehavior
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMDefensiveBehavior
- 型:BooleanParam
- 多重度:1
- デフォルト値:false
WdgMDemStoppedSupervisionReport
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMDemStoppedSupervisionReport
- 型:BooleanParam
- 多重度:1
WdgMDevErrorDetect
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMDevErrorDetect
- 型:BooleanParam
- 多重度:1
WdgMImmediateReset
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMImmediateReset
- 型:BooleanParam
- 多重度:1
WdgMOffModeEnabled
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMOffModeEnabled
- 型:BooleanParam
- 多重度:1
WdgMVersionInfoApi
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMVersionInfoApi
- 型:BooleanParam
- 多重度:1
WdgMCallerIds
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMCallerIds
- 型:Container
- 多重度:0..1
WdgMCallerId
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMCallerIds/WdgMCallerId
- 型:IntegerParam
- 多重度:0..255
- 上限値:65535
- 下限値:0
WdgMSupervisedEntity
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMSupervisedEntity
- 型:Container
- 多重度:0..65535
WdgMSupervisedEntityId
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMSupervisedEntity/WdgMSupervisedEntityId
- 型:IntegerParam
- 多重度:1
- 上限値:65535
- 下限値:0
WdgMEcucPartitionRef
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMSupervisedEntity/WdgMEcucPartitionRef
- 型:Reference
- 多重度:0..1
- 参照先:
/AUTOSAR/EcucDefs/EcuC/EcucPartitionCollection/EcucPartition
WdgMOSCounter
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMSupervisedEntity/WdgMOSCounter
- 型:Reference
- 多重度:0..1
- 参照先:
/AUTOSAR/EcucDefs/Os/OsCounter
WdgMOsApplicationRef
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMSupervisedEntity/WdgMOsApplicationRef
- 型:Reference
- 多重度:0..1
- 参照先:
/AUTOSAR/EcucDefs/Os/OsApplication
WdgMInternalCheckpointInitialRef
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMSupervisedEntity/WdgMInternalCheckpointInitialRef
- 型:Reference
- 多重度:1
- 参照先:
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMSupervisedEntity/WdgMCheckpoint
WdgMInternallCheckpointFinalRef
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMSupervisedEntity/WdgMInternallCheckpointFinalRef
- 型:Reference
- 多重度:1..65535
- 参照先:
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMSupervisedEntity/WdgMCheckpoint
WdgMCheckpoint
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMSupervisedEntity/WdgMCheckpoint
- 型:Container
- 多重度:1..65535
WdgMCheckpointId
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMSupervisedEntity/WdgMCheckpoint/WdgMCheckpointId
- 型:IntegerParam
- 多重度:1
- 上限値:65535
- 下限値:0
WdgMInternalTransition
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMSupervisedEntity/WdgMInternalTransition
- 型:Container
- 多重度:0..65535
WdgMInternalTransitionDestRef
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMSupervisedEntity/WdgMInternalTransition/WdgMInternalTransitionDestRef
- 型:Reference
- 多重度:1
- 参照先:
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMSupervisedEntity/WdgMCheckpoint
WdgMInternalTransitionSourceRef
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMSupervisedEntity/WdgMInternalTransition/WdgMInternalTransitionSourceRef
- 型:Reference
- 多重度:1
- 参照先:
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMSupervisedEntity/WdgMCheckpoint
WdgMWatchdog
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMWatchdog
- 型:Container
- 多重度:0..255
WdgMWatchdogName
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMWatchdog/WdgMWatchdogName
- 型:StringParam
- 多重度:1
WdgMWatchdogDeviceRef
/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMWatchdog/WdgMWatchdogDeviceRef
- 型:Reference
- 多重度:1
- 参照先:
/AUTOSAR/EcucDefs/WdgIf/WdgIfDevice
Note:
See TracWiki
for help on using the wiki.