如何在 SWC 中检索/获取冻结帧(整个冻结帧本身,而不仅仅是数据)?
我有Event ID和DemDTC供参考。SWS让我感到困惑。
[更新]
我正在为诊断服务编写验收测试,供参考,测试场景代码为[ATS_DIAG_00247]。
在配置部分,它说:
DemDTC = 0x666666 的 Dem 事件 E06 必须配置以下属性:
- DebounceMonitorInternal
- FreezeFrame 包含变量 FreezeFrameCounter (uint32)
- DemEnvironmentDataCapture = DEM_CAPTURE_SYNCHRONOUS_TO_REPORTING
- DemAgingAllowed = FALSE
- 未定义 DemEventFailureCycleCounterThreshold
它还说:
SWC 通过 DID 端口向 DEM 提供 FreezeFrame 数据。SWC 的变量 FreezeFrameCounter 在每次定期调用 SWC 的主可运行文件(周期 << 1 秒)期间递增 1(在最大值处回绕)。FreezeFrameCounter 的初始值是任意的。
测试场景的总结是这样的
记住当前的 FreezeFrameCounter 值并预先存储一个 FreezeFrame。2 秒后,报告失败事件。然后,检查事件是否失败以及关联的 FreezeFrame 是否包含带有记忆值的 FreezeFrameCounter。
所以这是我的假设:
将为特定DTC配置一个冻结帧
配置的冻结帧有一个名为FreezeFrameCounter的成员,它属于类型(所以我假设冻结帧是一个结构)
uint32
我将检索已配置冻结帧的FreezeFrameCounter成员并将其保存到临时变量中。(如何检索冻结帧?或者我如何能够引用该冻结帧?)
真的很抱歉,我不是autosar方面的专家。谢谢!