【发布时间】:2022-11-04 19:50:59
【问题描述】:
我正在尝试删除诊断信息,但我很难在 Tresos 中找到启用 ClearDTC 界面的配置。
从 SWC 的上下文中清除所有 DTC 的正确方法是什么?
【问题讨论】:
标签: autosar
我正在尝试删除诊断信息,但我很难在 Tresos 中找到启用 ClearDTC 界面的配置。
从 SWC 的上下文中清除所有 DTC 的正确方法是什么?
【问题讨论】:
标签: autosar
AUTOSAR Dem 组件有一个标准化的客户端/服务器接口“ClearDTC”,它有两个操作:
在您的创作工具(不是 Tresos)中,您必须使用您的 SWC 将这些添加到您的项目中。 (它们也可以在 AUTOSAR 蓝图中找到)
您使用该 PortInterface 添加一个新的 R-Port(例如 rDemClearDTC)。在您的可运行实体中,您应该为该接口的两个操作添加一个 SynchronousServerCallPoint。
最后,在您的实现中,您应该通过 Rte 调用通过端口调用这些操作。
void MySwc_Runnable(void) {
Std_ReturnType ret;
// sscp_SelectDTC
ret = Rte_Call_rDemClearDTC_SelectDTC(0xFFFFFFu, DEM_DTC_FORMAT_UDS, DEM_DTC_ORIGIN_PRIMARY_MEMORY);
// sscp_ClearDTC
ret = Rte_Call_rDemClearDTC_ClearDTC();
}
您可能还必须在 Dem 中配置第二个 DemClient,因为此 ClientId 应该是 Tresos 生成的 Dem ServiceSwComponent 的一部分,作为端口定义的参数。
C/S 接口 ClearDTC(根据 Dem SWS)实际上仅与 ComplexDrivers 相关,而不与普通的 ApplicationSwComponents 相关。问题还在于,您为什么要从您的 SWC 调用 ClearDTC。
【讨论】: