Autosar Dem 001(7.4.8 Availability of events)

本文介绍了在AutoSAR中如何通过设置DemEventAvailableInVariant参数来控制事件的可用性,包括禁用和启用,以及如何在不同硬件变种间灵活适应。特别关注了eventsuppression的应用场景和接口Dem_SetEventAvailable的使用方法。
摘要由CSDN通过智能技术生成

7.4.8 Availability of events (visibility and computation)

介绍一种隐藏event的方法,该event隐藏之后的效果等同于Dem模块未配置该event。

应用场景

autosar中的介绍的最典型的应用场景即为一版软件适配多个硬件变种

1.每个硬件变种对应一个标定集合。

工程师通过post-build的方式控制软件适配硬件。对于需要抑制关闭的event,通过标定DemEventAvailableInVariant配置参数为FALSE来实现。

2.一个标定集合适配多个硬件变种。

DemEventAvailableInVariant参数配置为TRUE,DemEventAvailable配置一个初始值。为了适配不同硬件变种,在产线甚至硬件改变时,通过报文或者bit位编码的形式(如通过2E服务写入DID的方式控制event使能情况)控制event的使能情况。其本质是调用Dem_SetEventAvailable接口实现的。

DemEventAvailableInVariant为FALSE,则event永远禁用,相当于没配。不可通过Dem_SetEventAvailable改变使能状态。

DemEventAvailableInVariant为TRUE,则event使能情况,由DemEventAvailable决定,并且可以通过Dem_SetEventAvailable接口控制。

当event为unavailable时,调用下述接口均返回not OK,因为该event相当于未配置,

Dem_SetEventStatus
Dem_GetEventUdsStatus
Dem_ResetEventDebounceStatus
Dem_ResetEventStatus
Dem_PrestoreFreezeFrame
Dem_ClearPrestoredFreezeFrame
Dem_GetDebouncingOfEvent

Dem_GetDTCOfEvent
Dem_GetFaultDetectionCounter
Dem_GetEventFreezeFrameDataEx
Dem_GetEventExtendedDataRecordEx
Dem_ClearDTC
Dem_DcmGetDTRData
Dem_RepIUMPRFaultDetect
Dem_RepIUMPRDenRelease
Dem_SetWIRStatus
Dem_SetEventFailedWithSyncFreezeFrame

Dem_SetEventAvailable说明

参数AvailableStatus为true,使能event;参数AvailableStatus为false,禁用event。

当以下两种情况之一发生时

①event memory entry已经存在

②‘testFailed’, ’pending’, ’confirmed’ or ’warningIndicatorRequested’状态位置起

调用该函数会返回not OK。

当参数为false并返回OK时,UDS状态参数为0x00;当参数为true并返回OK时,UDS状态参数为0x50。

Dem_GetEventAvailable说明

可以通过Dem_GetEventAvailable接口获取event的使能状态。

若参数为无效的eventid,函数会返回not OK。

参考文献  :Specification of Diagnostic Event Manager   AUTOSAR CP R20-11

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值