WDT

caseyzq / 2024-10-23 / 原文

参考:https://zhuanlan.zhihu.com/p/711237133

模式

1.WDGIF_FAST_MODE:mode1
2.WDGIF_OFF_MODE:mode2
3.WDGIF_SLOW_MODE:mode0
默认初始化为WDGIF_SLOW_MODE,等待初始化完成后切换成WDGIF_FAST_MODE


WDGIF_FAST_MODE设置:


问题:反复重启

WDGIF_SLOW_MODE模式下,初始化过程中未来得及喂狗导致反复重启,需要将超时时间设置的大一点。

配置:

添加BSW WDG的RTE事件:
因为BSW event事件的来源是编译生成的

所以配置完WDG后先build一次,
然后

重新生成RTE服务,会自动生成task mapping

要想在ASW中调用BSW接口,需要在SWC中添加port连接
1.
2.SWC中添加port口

3.将BSW的port与SWC的port绑定


绑定成功

对于WdgM_MainFunction 10ms运行一次
WdgM_MainFunction
--->WdgM_EvaluateGlobalStatus
----->WdgM_EvaluatePlatformGlobalStatus
------->WdgM_TriggerWdgIf
所以10ms触发一次喂狗

监控周期=10ms*reference_cylce(500)=5s
监控的task 1s运行一次,所以expected alive indications设置为5
10-1<alive indications allowed<10+1
实测

在没有触发checkpoint的情况下,5s重启一次