关键词
嵌入式、C语言、autosar
平台说明
项目 | Value |
---|---|
OS | autosar OS |
芯片厂商 | Infineon ,TC234,TLF35584 |
编程语言 | C,C++ |
编译器 | tasking |
背景
基于Vector 和WDGM 模块 的checkpoint 说明和使用。
一、功能说明
1.1CheckPointAlive
用于监控一个周期功能的运行状况。与预期执行周期时间相比执行得太快或者太慢都会导致CheckPointAlive的错误。WDGMainFucion()或者WdgM_CheckPointReached()的不规范调用都会导致监控到错误。
1.2CheckPointDeadline
用于检测两个CheckPoint之间运行时间是否按照预期执行。
二、应用说明
2.1参数说明:
WdgMExpectedAliveIndications:定义在一个监控周期中有多少个checkpoint reached被检测到。
WdgMSupervisionReferenceCycle :定义一个监控周期是几个WDGMFuction的长度。
WdgMMaxMargin:定义达到的CheckPoint个数上限。
WdgMMinMargin:定义达到的CheckPoint个数下限。
所以区间为:
[WdgMExpectedAliveIndications - WdgMMinMargin,WdgMExpectedAliveIndications + WdgMMaxMargin]
2.2应用例程
WdgMExpectedAliveIndications=2
WdgMSupervisionReferenceCycle=2
WdgMMinMargin=1
WdgMMaxMargin=0
此时,在两个WDGMainFauction区间,CheckPoint到达数量为1-2个为正常。
三、相关配置及代码实现
3.1CheckPointAlive
3.1.1.建立checkpoint。ID从0起始。
3.1.2.建立checkpointalive
3.1.3开启DEM Report和Dem Supervision Report。
3.1.4配置DTC
3.1.5.打开SWC,配置服务端口映射
Rte_Call_general_DeactivateSupervisionEntity()函数可以关闭实体中的检测。
把CheckpointReached放入需要监控的地方。
3.2CheckPointDeadline
3.2.1新建监控实体和监测点。
3.2.2设置时间需求
3.2.3配置时间源,如果检测时间小于WDGMainFuction时间,则不能选用内部时间源。
3.2.4映射服务端口。
3.2.5 配置SWC的服端口。
3.2.6代码中将监测点放入需要检测的代码两端
小结
nothing
>>>>>回到总目录<<<<<<