Dem Initialization Sequence

AUTOSAR官方规范:AUTOSAR_SWS_DiagnosticCommunicationManager.pdf

  • dem在初始化的时候要有pre init和init的状态变化

  • 初始化顺序:

①NVRAM Manager init -->②Dem_PreInit --> ③the restore of NVRAM data --> ④Dem_Init

我的理解:我们会有一些具体的操作会导致Monitor检测功能的停止,这个时候就需要Monitor re-initialization了。

  • 这些具体的操作主要有:

  • Dem_RestartOperationCycle

  • Dem_ClearDTC:对应uds 14 服务

  • Dem_SetEnableCondition

  • Dem_EnableDTCSetting 对应uds 85服务 enable/disable

  • Dem_SetStorageCondition 理解:StorageCondition是dtc event的status已经得出之后存入nvm之前需要满足的条件,如果走到StorageCondition的时候,StorageCondition条件不满足,则会重新Monitor re-initialization了。❓ 按照这样的理解:意思是StorageCondition满足之后,我才能读到dtc的status?还是说没走到StorageCondition之前,dtc status出结果之后我就可以读到dtc的status了?

  • 如果同时有这些操作介入,只能re-initialization一次。并且每个操作都有一个优先级:

Vectordem文档:TechnicalReference_Dem.pdf

来看一下Vector的实现

  • 首先Vector对于多核实现定义了DemMaster和Dem Satellite

  • 初始化过程:

详细的启动流程:

  • 对于第2点:仅仅BSW的dtc error可以通过Dem_SetEventStatus函数来上报dtc的状态,不建议swc也使用这个接口,官方推荐swc使用RTE的接口来上报。(RTE接口宏定义可以用字符串拼接的方法统一处理)

  • 正常启动之后BswTask会周期调用Dem_MasterMainFunction()和Dem_SatelliteMainFunction()来遍历执行dem的操作。

  • Davinci的具体实操:

  1. dem init的流程要加到Ecuc里面

  1. 需要把Dem_MasterMainFunction()和Dem_SatelliteMainFunction()添加到bsw的周期task里面

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值