首页 > 解决方案 > 通过PDUR验证路由

问题描述

为了验证 COM 层是否收到消息,我们可以为 Pdu/Signal 添加一个 Ipdu 标注,并在调试时等待断点命中。

Pdu 路由不是这种情况。

如果消息通过 PduR 路由,它永远不会到达 Com 层。因此,无法验证设备是否接收到消息(即 PduR 没有标注功能)。

有没有一种方法可以验证消息是否被 PduR 接收,并成功复制到 Tx Pdu 以发送出去(即验证成功网关)?

标签: autosar

解决方案


请记住,PduR 有时可以有多个目的地,我们有这样的 ECU,它们将消息路由到例如本地到 Com,同时路由它们以在不同的网络上传输。

PduR 由 RxIndications 和 TxConfirmations(及其对应的 Tp 接口)触发。因此,对于正常的路由关系,您应该为 RxPdu 挂上 RxIndication,并且可以例如等待 TxPdu 的 TxConfirmation,它告诉 TxPdu 已传输。

请记住,即:

  • 一个 RxPdu 可以排队,这意味着它们可能不会直接被传输。如果像 XCP 这样流式传输 Pdu,这可能会很方便,以便在当前无法传输 PDU 时保持 PDU 的顺序。
  • 路由路径可能在运行时启用/禁用,例如由 BswM 规则和 ActionLists 调用处理的系统条件PduR_[Enable|Disable]Routing(<routingpathgroupId>)

推荐阅读