(相关资料图)
嵌入式开发中,对于数组越界的Bug,想必大家碰到过。数组越界可能各式各样,而本文,想和大家聊一个大家比较容易犯迷糊的数组越界Bug,该Bug导致了某个DTC不上报(已经满足DTC上报条件)。
1知识点描述开发中,为了防止DTC误报,对应的DTC会设置去抖策略。关于DTC故障上报的去抖策略,Jump Down/Jump Up等功能描述,可以参考前文Uds诊断:不同Operation Cycle下的DTC状态位变化。
1、故障状态上报接口选择
当故障发生时,监控实体需要将对应事件的故障状态(DEM_EVENT_STATUS_PASSED、DEM_EVENT_STATUS_FAILED、DEM_EVENT_STATUS_PREPASSED、DEM_EVENT_STATUS_PREFAILED)上报给DEM(Diagnostic Event Manager)。上报的接口有两个:解释:该接口;异步:事件状态更新,同步和异步的区别如下所示:
2问题描述上层SWC对某个事件(Event)监控,该事件每发生一次故障,SWC上报一次AUTOSAR_SWS_DiagnosticEventManager.pdf