如何使用无ComM关联的EcuMWakeupSource并标记为已验证唤醒源
无ComM关联的EcuM唤醒源验证实现方案
针对无ComM通道关联的EcuM唤醒源,要使其被标记为已验证,需遵循以下操作步骤(完全符合AUTOSAR EcuM规范[SWS_EcuM_02790]和[SWS_EcuM_02791]的约束):
配置唤醒源的验证模式
将目标唤醒源的EcuMWakeupValidationMode参数配置为无需ComM验证(对应AUTOSAR规范中的ECUM_VAL_WITHOUT_COMM枚举类型,具体命名可能因供应商实现略有差异)。该配置会告知EcuM:此唤醒源的验证不依赖ComM通道的状态,启用独立验证流程。调用
EcuM_CheckWakeupEvent()触发验证
当检测到该唤醒源的硬件唤醒信号后,调用EcuM_CheckWakeupEvent(<WakeupSourceId>)。EcuM会根据唤醒源的硬件状态、防抖配置等预定义逻辑判断唤醒事件是否有效,验证通过后自动将该唤醒源加入已验证列表,可通过EcuM_GetValidatedWakeupEvents()获取。确认基础配置正确性
- 确保
EcuMWakeupDetectionEnabled已设为启用状态,否则唤醒源的检测逻辑不会被触发。 - 检查
EcuMWakeupDebounceTime配置值是否合理,避免因信号抖动导致的验证失败。
- 确保
规范对应说明
[SWS_EcuM_02790]明确:无ComM通道关联的唤醒源,调用
EcuM_SetWakeupEvent()仅记录唤醒事件发生,不会自动标记为已验证;
[SWS_EcuM_02791]明确:EcuM_ValidateWakeupEvent()仅适用于绑定ComM通道的唤醒源,因此无ComM关联的唤醒源必须使用独立验证流程。
内容的提问来源于stack exchange,提问作者Oliver Scheid
相关产品推荐
相关产品推荐

